Modify assigning of second_best_mv
Minor adjustment.
BUG=aomedia:2629
STATS_CHANGED
Change-Id: I22b1b10623141a1dd3616abd1eb017760ee6f2f9
diff --git a/av1/encoder/motion_search_facade.c b/av1/encoder/motion_search_facade.c
index abfbad7..0219bc4 100644
--- a/av1/encoder/motion_search_facade.c
+++ b/av1/encoder/motion_search_facade.c
@@ -222,17 +222,16 @@
smv, &full_ms_params, step_param, cond_cost_list(cpi, cost_list),
&x->best_mv.as_fullmv, &second_best_mv.as_fullmv);
- // Use first search's second_best_mv
- // TODO(yunqing): second_best_mv decision will be improved later.
- if (!m) second_best_mv0 = second_best_mv.as_fullmv;
-
if (!m || bestsme < cur_bestsme) {
cur_bestsme = bestsme;
best_mv = x->best_mv.as_fullmv;
+ second_best_mv0 = second_best_mv.as_fullmv;
}
sum_weight += cand[m].weight;
if (m >= 2 || 4 * sum_weight > 3 * total_weight) break;
+ // Reset MVs
+ x->best_mv.as_int = second_best_mv.as_int = INVALID_MV;
}
x->best_mv.as_fullmv = best_mv;
bestsme = cur_bestsme;