]> granicus.if.org Git - libvpx/commitdiff
vp9: SVC: fix condition for partition/skip threshold when denoising.
authorMarco <marpan@google.com>
Thu, 20 Apr 2017 23:32:46 +0000 (16:32 -0700)
committerMarco <marpan@google.com>
Thu, 20 Apr 2017 23:36:55 +0000 (16:36 -0700)
The more aggressive settings should only be used when denoise_svc
condition is satisfied (which means top spatial layer).

Change-Id: Ia8e3515b27f31bf21b1976ca80a2fa826daece3a

vp9/encoder/vp9_encodeframe.c
vp9/encoder/vp9_pickmode.c

index 481f5a0fdac2a1a2274d39bbfab404ee21f90b31..783a633735ca98e17611b604207e047ef5bab9a7 100644 (file)
@@ -536,8 +536,8 @@ static void set_vbp_thresholds(VP9_COMP *cpi, int64_t thresholds[], int q,
         threshold_base = (7 * threshold_base) >> 3;
     }
 #if CONFIG_VP9_TEMPORAL_DENOISING
-    if (cpi->oxcf.noise_sensitivity > 0 && cpi->oxcf.speed > 5 &&
-        cpi->denoiser.denoising_level >= kDenLow)
+    if (cpi->oxcf.noise_sensitivity > 0 && denoise_svc(cpi) &&
+        cpi->oxcf.speed > 5 && cpi->denoiser.denoising_level >= kDenLow)
       threshold_base = vp9_scale_part_thresh(
           threshold_base, cpi->denoiser.denoising_level, content_state);
     else
index f177814d6f0226a86d0750f6bf95c8c4d96f49c7..ab05e94bddc8f9c1c3f068fc37cac5bbe9a6623b 100644 (file)
@@ -354,7 +354,8 @@ static void model_rd_for_sb_y_large(VP9_COMP *cpi, BLOCK_SIZE bsize,
   *sse_y = sse;
 
 #if CONFIG_VP9_TEMPORAL_DENOISING
-  if (cpi->oxcf.noise_sensitivity > 0 && cpi->oxcf.speed > 5)
+  if (cpi->oxcf.noise_sensitivity > 0 && denoise_svc(cpi) &&
+      cpi->oxcf.speed > 5)
     ac_thr = vp9_scale_acskip_thresh(ac_thr, cpi->denoiser.denoising_level,
                                      (abs(sum) >> (bw + bh)));
   else