]> granicus.if.org Git - libvpx/commitdiff
vp9-rtc: Adjust thresholds for noise estimation.
authorMarco Paniconi <marpan@google.com>
Fri, 22 Feb 2019 03:32:07 +0000 (19:32 -0800)
committerMarco Paniconi <marpan@google.com>
Fri, 22 Feb 2019 03:34:37 +0000 (19:34 -0800)
Lower the frame_motion and consec_zeromv thresholds,
this make the noise estimation and denoiser have more effect
on noisy clips.

Change-Id: I49cf5d78a04d00fcf8538bee6f3b2980efe6b3b5

vp9/encoder/vp9_noise_estimate.c

index fc189dbb1f98cb43671291c63b8616565dd9c8f8..fdafefd3384f4a78411bfe8233a9be597874ec72 100644 (file)
@@ -125,7 +125,7 @@ void vp9_update_noise_estimate(VP9_COMP *const cpi) {
     // 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 @@ void vp9_update_noise_estimate(VP9_COMP *const cpi) {
   } 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;