Refactor zero ref mv check
Unify and simplify the logic for both single and compound modes.
Change-Id: If781aac66b47c1a707f4f9a647cb8a3294477a48
diff --git a/av1/common/mvref_common.c b/av1/common/mvref_common.c
index 9c72612..40499cf 100644
--- a/av1/common/mvref_common.c
+++ b/av1/common/mvref_common.c
@@ -909,13 +909,13 @@
zero, so sets the ALL_ZERO flag.
* This leads to an encode/decode mismatch.
*/
- if (*ref_mv_count >= 2) {
- for (idx = 0; idx < AOMMIN(3, *ref_mv_count); ++idx) {
- if (ref_mv_stack[idx].this_mv.as_int != zeromv[0].as_int) all_zero = 0;
- if (ref_frame > ALTREF_FRAME)
- if (ref_mv_stack[idx].comp_mv.as_int != zeromv[1].as_int) all_zero = 0;
- }
- } else if (ref_frame <= ALTREF_FRAME) {
+
+ for (idx = 0; idx < AOMMIN(3, *ref_mv_count); ++idx) {
+ if (ref_mv_stack[idx].this_mv.as_int != zeromv[0].as_int) all_zero = 0;
+ if (ref_frame > ALTREF_FRAME)
+ if (ref_mv_stack[idx].comp_mv.as_int != zeromv[1].as_int) all_zero = 0;
+ }
+ if (*ref_mv_count < 2 && ref_frame <= ALTREF_FRAME) {
for (idx = 0; idx < MAX_MV_REF_CANDIDATES; ++idx)
if (mv_ref_list[idx].as_int != zeromv[0].as_int) all_zero = 0;
}