]> granicus.if.org Git - libvpx/commitdiff
vp9: Condition lighting change detection on CBR mode.
authorMarco <marpan@google.com>
Tue, 22 Aug 2017 21:46:39 +0000 (14:46 -0700)
committerMarco <marpan@google.com>
Tue, 22 Aug 2017 21:59:37 +0000 (14:59 -0700)
This feature is used for the CBR RTC encoding mode
at speed >= 6. This change will exclude it for VBR mode.

For speed 6 live encoding (VBR):
avgPSNR/SSIM metrics on ytlive set up by ~1% (few clips up by 2/3%).
No change in speed.

Change-Id: I1a0dd94c334f7df309ab5a48d477d7e25355b798

vp9/encoder/vp9_encodeframe.c

index 175856b8b62323e5e07a8985f74092e782366daf..a0a7ff51d3d607bd933879fd8c2d138fd85e6070 100644 (file)
@@ -1012,7 +1012,8 @@ static uint64_t avg_source_sad(VP9_COMP *cpi, MACROBLOCK *x, int shift,
 
   // Detect large lighting change.
   if (cpi->oxcf.content != VP9E_CONTENT_SCREEN &&
-      tmp_variance < (tmp_sse >> 3) && (tmp_sse - tmp_variance) > 10000)
+      cpi->oxcf.rc_mode == VPX_CBR && tmp_variance < (tmp_sse >> 3) &&
+      (tmp_sse - tmp_variance) > 10000)
     x->content_state_sb = kLowVarHighSumdiff;
   else if (tmp_sad > (avg_source_sad_threshold << 1))
     x->content_state_sb = kVeryHighSad;