ref: 20a37391d95edd34bf5a8ee654854b43c1beb0a3
parent: 10c7876a8e5a638c89eb06913e7c44a756e6d35d
parent: 891793a54026315e1ef326f4caf750b94fa29e1e
author: Jingning Han <[email protected]>
date: Wed Oct 1 07:19:10 EDT 2014
Merge "Conditionally skip reference frame check"
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2975,6 +2975,13 @@
if (x->pred_mv_sad[ALTREF_FRAME] > (x->pred_mv_sad[GOLDEN_FRAME] << 1))
mode_skip_mask[ALTREF_FRAME] |= INTER_ALL;
+ if (cpi->sf.adaptive_mode_search) {
+ if (cm->show_frame && !cpi->rc.is_src_frame_alt_ref &&
+ cpi->rc.frames_since_golden >= 3)
+ if (x->pred_mv_sad[GOLDEN_FRAME] > (x->pred_mv_sad[LAST_FRAME] << 1))
+ mode_skip_mask[GOLDEN_FRAME] |= INTER_ALL;
+ }
+
if (bsize > cpi->sf.max_intra_bsize) {
ref_frame_skip_mask[0] |= (1 << INTRA_FRAME);
ref_frame_skip_mask[1] |= (1 << INTRA_FRAME);