shithub: libvpx

Download patch

ref: d310225c19d52d26241399fc7d67753f9eac0944
parent: 16ddf82dc0395098287ec74eddc2c0f9ea3e3793
parent: 972d31480fdf1575fefaf48cbef2ad2041a8092c
author: Marco Paniconi <marpan@google.com>
date: Tue Apr 16 17:44:34 EDT 2019

Merge "vp9-rtc: Add speed feature to force SMOOTH filter"

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1690,10 +1690,7 @@
   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);
--- a/vp9/encoder/vp9_speed_features.c
+++ b/vp9/encoder/vp9_speed_features.c
@@ -453,6 +453,7 @@
   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;
--- a/vp9/encoder/vp9_speed_features.h
+++ b/vp9/encoder/vp9_speed_features.h
@@ -608,6 +608,9 @@
 
   // 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;