From: Marco Date: Fri, 24 Mar 2017 18:31:19 +0000 (-0700) Subject: vp9: Speed >= 8: avoid chrome check under some condition. X-Git-Tag: v1.7.0~594 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0169a985d941cc14db9ce340b9a666eefcc7502c;p=libvpx 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 --- diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index b6668462b..f5f9fa9d9 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -945,7 +945,9 @@ static void chroma_check(VP9_COMP *cpi, MACROBLOCK *x, int bsize, 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;