ref: 33953f310eb6a2019d25af2b9cb8382182740410
parent: 9f9d4f8dc9888d3b4d6c793d031f3ce5d407bd65
author: Marco <[email protected]>
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.