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;