summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
Diffstat (limited to 'vp9')
-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;