]> granicus.if.org Git - libvpx/commitdiff
Skip unnecessary motion search
authorHui Su <huisu@google.com>
Tue, 28 Aug 2018 00:32:05 +0000 (17:32 -0700)
committerHui Su <huisu@google.com>
Tue, 28 Aug 2018 17:30:43 +0000 (10:30 -0700)
If a ref frame is masked out, we do not need to do motion search for it.
It makes speed 0 a little faster.

Change-Id: I68f71255b2798b24fd1d5b28ed24a2ef87251413

vp9/encoder/vp9_rdopt.c

index cf4b5d0334a7bd6a865ba10f06ff425ffbabdc25..2830b07934ab4961d27d97b3384bb15c9de7fe29 100644 (file)
@@ -3144,7 +3144,8 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
 
   for (ref_frame = LAST_FRAME; ref_frame <= ALTREF_FRAME; ++ref_frame) {
     x->pred_mv_sad[ref_frame] = INT_MAX;
-    if (cpi->ref_frame_flags & flag_list[ref_frame]) {
+    if ((cpi->ref_frame_flags & flag_list[ref_frame]) &&
+        !(is_rect_partition && (ctx->skip_ref_frame_mask & (1 << ref_frame)))) {
       assert(get_ref_frame_buffer(cpi, ref_frame) != NULL);
       setup_buffer_inter(cpi, x, ref_frame, bsize, mi_row, mi_col,
                          frame_mv[NEARESTMV], frame_mv[NEARMV], yv12_mb);