shithub: libvpx

Download patch

ref: 33953f310eb6a2019d25af2b9cb8382182740410
parent: 9f9d4f8dc9888d3b4d6c793d031f3ce5d407bd65
author: Marco <marpan@google.com>
date: Wed Dec 6 05:11:54 EST 2017

vp9: Nonrd-pickmode: move some early exits up.

Move the early exit checks on usable_ref_frame and
skip_ref_find_pref up before the check on flag_svc_subpel.
The code under flag_svc_subpel requires frame_mv to be set
for the golden/spatial reference, which is only set if the
both those exits don't pass.

No change in behavior.

Change-Id: Id304276c745eeb389ff85fa2dcf510d5976bc413

--- a/vp9/encoder/vp9_pickmode.c
+++ b/vp9/encoder/vp9_pickmode.c
@@ -1696,6 +1696,9 @@
       comp_pred = 1;
     }
 
+    if (ref_frame > usable_ref_frame) continue;
+    if (skip_ref_find_pred[ref_frame]) continue;
+
     if (flag_svc_subpel && ref_frame == GOLDEN_FRAME) {
       force_gf_mv = 1;
       // Only test mode if NEARESTMV/NEARMV is (svc_mv_col, svc_mv_row),
@@ -1718,9 +1721,6 @@
       // feature is in use as in this case there can only be one reference.
       if (segfeature_active(seg, mi->segment_id, SEG_LVL_REF_FRAME)) continue;
     }
-
-    if (ref_frame > usable_ref_frame) continue;
-    if (skip_ref_find_pred[ref_frame]) continue;
 
     // For SVC, skip the golden (spatial) reference search if sse of zeromv_last
     // is below threshold.