summaryrefslogtreecommitdiff
path: root/vp9/encoder
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2014-10-01 11:19:10 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2014-10-01 11:19:10 -0700
commit20a37391d95edd34bf5a8ee654854b43c1beb0a3 (patch)
tree2f511ae54888eba10af0a0e495e83e169e6489e4 /vp9/encoder
parent10c7876a8e5a638c89eb06913e7c44a756e6d35d (diff)
parent891793a54026315e1ef326f4caf750b94fa29e1e (diff)
downloadlibvpx-20a37391d95edd34bf5a8ee654854b43c1beb0a3.tar
libvpx-20a37391d95edd34bf5a8ee654854b43c1beb0a3.tar.gz
libvpx-20a37391d95edd34bf5a8ee654854b43c1beb0a3.tar.bz2
libvpx-20a37391d95edd34bf5a8ee654854b43c1beb0a3.zip
Merge "Conditionally skip reference frame check"
Diffstat (limited to 'vp9/encoder')
-rw-r--r--vp9/encoder/vp9_rdopt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index bf0de4b29..bd695cc71 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -2975,6 +2975,13 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
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);