ref: 3d1fa00fce0dc040dd0107d36b9b825a9b8f2f6d
parent: 66f36f473563042f1fd8eadaf7610739328f34af
author: Jerome Jiang <[email protected]>
date: Wed Feb 22 04:49:17 EST 2017
vp9: Only compute y_sad for golden in variance partition for speed < 8. Only affects speed 8. No obvious quality regression. Systematic speed ups by ~1% on Nexus 6. Change-Id: Ia904ca28ea041c3281c532911ec38fb7d7f46a17
--- a/vp9/encoder/vp9_encodeframe.c
+++ b/vp9/encoder/vp9_encodeframe.c
@@ -1043,7 +1043,9 @@
yv12_g = get_ref_frame_buffer(cpi, GOLDEN_FRAME);
}
- if (yv12_g && yv12_g != yv12 && (cpi->ref_frame_flags & VP9_GOLD_FLAG)) {
+ // Only compute y_sad_g (sad for golden reference) for speed < 8.
+ if (cpi->oxcf.speed < 8 && yv12_g && yv12_g != yv12 &&
+ (cpi->ref_frame_flags & VP9_GOLD_FLAG)) {
vp9_setup_pre_planes(xd, 0, yv12_g, mi_row, mi_col,
&cm->frame_refs[GOLDEN_FRAME - 1].sf);
y_sad_g = cpi->fn_ptr[bsize].sdf(