shithub: libvpx

Download patch

ref: d84bf53f607982f002f1900e4c5894ba9b470770
parent: 986b2bef7f475543a441cf9aa5a3ca55dd57ccae
author: Marco Paniconi <marpan@google.com>
date: Thu Feb 21 14:32:07 EST 2019

vp9-rtc: Adjust thresholds for noise estimation.

Lower the frame_motion and consec_zeromv thresholds,
this make the noise estimation and denoiser have more effect
on noisy clips.

Change-Id: I49cf5d78a04d00fcf8538bee6f3b2980efe6b3b5

--- a/vp9/encoder/vp9_noise_estimate.c
+++ b/vp9/encoder/vp9_noise_estimate.c
@@ -125,7 +125,7 @@
     // Tune these thresholds for different resolutions when denoising is
     // enabled.
     if (cm->width > 640 && cm->width < 1920) {
-      thresh_consec_zeromv = 4;
+      thresh_consec_zeromv = 2;
       thresh_sum_diff = 200;
       thresh_sum_spatial = (120 * 120) << 8;
       thresh_spatial_var = (48 * 48) << 8;
@@ -151,7 +151,7 @@
   } else if (frame_counter > 60 && cpi->svc.num_encoded_top_layer > 1 &&
              cpi->rc.frames_since_key > cpi->svc.number_spatial_layers &&
              cpi->svc.spatial_layer_id == cpi->svc.number_spatial_layers - 1 &&
-             cpi->rc.avg_frame_low_motion < (low_res ? 70 : 50)) {
+             cpi->rc.avg_frame_low_motion < (low_res ? 60 : 40)) {
     // Force noise estimation to 0 and denoiser off if content has high motion.
     ne->level = kLowLow;
     ne->count = 0;