shithub: libvpx

Download patch

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);