Move intra block size skip outside mode search loop
authorJingning Han <jingning@google.com>
Thu, 11 Sep 2014 16:54:19 +0000 (09:54 -0700)
committerJingning Han <jingning@google.com>
Thu, 11 Sep 2014 16:54:19 +0000 (09:54 -0700)
Unify this speed feature in the ref_frame_skip_mask scheme.

Change-Id: I7ea5646da02d3ea643680c22d50dabd448d55a27

vp9/encoder/vp9_rdopt.c

index 7435c09..602b09b 100644 (file)
@@ -2685,6 +2685,11 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
     }
   }
 
+  if (bsize > cpi->sf.max_intra_bsize) {
+    ref_frame_skip_mask[0] |= (1 << INTRA_FRAME);
+    ref_frame_skip_mask[1] |= (1 << INTRA_FRAME);
+  }
+
   for (mode_index = 0; mode_index < MAX_MODES; ++mode_index) {
     int mode_excluded = 0;
     int64_t this_rd = INT64_MAX;
@@ -2729,10 +2734,6 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
       }
     }
 
-    if (bsize > cpi->sf.max_intra_bsize)
-      if (ref_frame == INTRA_FRAME)
-        continue;
-
     if (ref_frame_skip_mask[0] & (1 << ref_frame) &&
         ref_frame_skip_mask[1] & (1 << MAX(0, second_ref_frame)))
       continue;