shithub: libvpx

Download patch

ref: d7b140487829ec81bd55774d22be6c8eba9073c0
parent: 35908928c51830751c05ff5f6ca6d8d9105331d5
author: Marco Paniconi <marpan@google.com>
date: Wed May 16 10:52:17 EDT 2018

vp9-svc: Skip find_predictors based on ref_frame_flags.

Has some effect for SVC on base spatial layers (which only
reference LAST) or on upper spatial layers when inter_layer
prediction is disabled.

Small speedup on Mac of ~1%, for 3 layer SVC with inter-layer
prediction disabled.

Change-Id: I05be5da8843e0d32e9d85f6eb951cf1894e781d8

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1689,6 +1689,10 @@
   }
 
   for (ref_frame = LAST_FRAME; ref_frame <= usable_ref_frame; ++ref_frame) {
+    // Skip find_predictor if the reference frame is not in the
+    // ref_frame_flags (i.e., not used as a reference for this frame).
+    skip_ref_find_pred[ref_frame] =
+        !(cpi->ref_frame_flags & flag_list[ref_frame]);
     if (!skip_ref_find_pred[ref_frame]) {
       find_predictors(cpi, x, ref_frame, frame_mv, const_motion,
                       &ref_frame_skip_mask, flag_list, tile_data, mi_row,