summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Paniconi <marpan@google.com>2019-04-16 21:44:34 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2019-04-16 21:44:34 +0000
commitd310225c19d52d26241399fc7d67753f9eac0944 (patch)
treef92a36d9f9343e133484c8c58fe4d3e3e99459f5
parent16ddf82dc0395098287ec74eddc2c0f9ea3e3793 (diff)
parent972d31480fdf1575fefaf48cbef2ad2041a8092c (diff)
downloadlibvpx-d310225c19d52d26241399fc7d67753f9eac0944.tar
libvpx-d310225c19d52d26241399fc7d67753f9eac0944.tar.gz
libvpx-d310225c19d52d26241399fc7d67753f9eac0944.tar.bz2
libvpx-d310225c19d52d26241399fc7d67753f9eac0944.zip
Merge "vp9-rtc: Add speed feature to force SMOOTH filter"
-rw-r--r--vp9/encoder/vp9_pickmode.c5
-rw-r--r--vp9/encoder/vp9_speed_features.c1
-rw-r--r--vp9/encoder/vp9_speed_features.h3
3 files changed, 5 insertions, 4 deletions
diff --git a/vp9/encoder/vp9_pickmode.c b/vp9/encoder/vp9_pickmode.c
index 9ad85e355..e0806aad2 100644
--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1690,10 +1690,7 @@ void vp9_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x, TileDataEnc *tile_data,
int no_scaling = 0;
unsigned int thresh_svc_skip_golden = 500;
unsigned int thresh_skip_golden = 500;
- // TODO(marpan/jianj): forcing smooth_interpol is visually better for noisy
- // content, at low resolns. Look into adding this conditon. For now keep
- // it off.
- int force_smooth_filter = 0;
+ int force_smooth_filter = cpi->sf.force_smooth_interpol;
int scene_change_detected =
cpi->rc.high_source_sad ||
(cpi->use_svc && cpi->svc.high_source_sad_superframe);
diff --git a/vp9/encoder/vp9_speed_features.c b/vp9/encoder/vp9_speed_features.c
index 01f3fb486..b12364f6d 100644
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -453,6 +453,7 @@ static void set_rt_speed_feature_framesize_independent(
sf->nonrd_use_ml_partition = 0;
sf->variance_part_thresh_mult = 1;
sf->cb_pred_filter_search = 0;
+ sf->force_smooth_interpol = 0;
if (speed >= 1) {
sf->allow_txfm_domain_distortion = 1;
diff --git a/vp9/encoder/vp9_speed_features.h b/vp9/encoder/vp9_speed_features.h
index b1d5c8d3e..6b04a3ad4 100644
--- a/vp9/encoder/vp9_speed_features.h
+++ b/vp9/encoder/vp9_speed_features.h
@@ -608,6 +608,9 @@ typedef struct SPEED_FEATURES {
// Multiplier for base thresold for variance partitioning.
int variance_part_thresh_mult;
+
+ // Force subpel motion filter to always use SMOOTH_FILTER.
+ int force_smooth_interpol;
} SPEED_FEATURES;
struct VP9_COMP;