shithub: libvpx

Download patch

ref: 0169a985d941cc14db9ce340b9a666eefcc7502c
parent: 66c6b4d6fc23900380853dbffa86656a2078dd8c
author: Marco <marpan@google.com>
date: Fri Mar 24 07:31:19 EDT 2017

vp9: Speed >= 8: avoid chrome check under some condition.

For non-rd variance partition, avoid the chrome check
unless y_sad is below some threshold.

Small decrease in avgPSNR (~0.3) on RTC set.
Small/negligible decrease on RTC_derf.

Change-Id: I7af44235af514058ccf9a4f10bb737da9d720866

--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -945,7 +945,9 @@
                          unsigned int y_sad, int is_key_frame) {
   int i;
   MACROBLOCKD *xd = &x->e_mbd;
-  if (is_key_frame) return;
+  // For speed >= 8, avoid the chroma check if y_sad is above threshold.
+  if (is_key_frame || (cpi->oxcf.speed >= 8 && y_sad > cpi->vbp_thresholds[1]))
+    return;
 
   for (i = 1; i <= 2; ++i) {
     unsigned int uv_sad = UINT_MAX;