Fix valgrind error caused by NONE_FRAME in ref list
This error was reintroduced by
in an attempt to fix 91eb798b8fdac2ae7fde04a308a04c8d73ebc393
a mismatch introduced by the original bug fix at
72e2e982ee72080418e8c26adb70e34b4a2c6cb0.
BUG=aomedia:412
Change-Id: Iffc16fe0f5f3f953b0604a7cf56433350673338c
diff --git a/av1/decoder/decodemv.c b/av1/decoder/decodemv.c
index 3011ecc..3d75628 100644
--- a/av1/decoder/decodemv.c
+++ b/av1/decoder/decodemv.c
@@ -1697,16 +1697,14 @@
#else
zeromv[0].as_int = zeromv[1].as_int = 0;
#endif
- for (ref = 0; ref < 1 + is_compound; ++ref) {
+ for (ref = 0; ref < 2; ++ref) {
+ if (rf[ref] == NONE_FRAME) continue;
lower_mv_precision(&ref_mvs[rf[ref]][0].as_mv, allow_hp);
lower_mv_precision(&ref_mvs[rf[ref]][1].as_mv, allow_hp);
+ if (ref_mvs[rf[ref]][0].as_int != zeromv[ref].as_int ||
+ ref_mvs[rf[ref]][1].as_int != zeromv[ref].as_int)
+ inter_mode_ctx[ref_frame] &= ~(1 << ALL_ZERO_FLAG_OFFSET);
}
-
- if (ref_mvs[rf[0]][0].as_int != zeromv[0].as_int ||
- ref_mvs[rf[0]][1].as_int != zeromv[0].as_int ||
- (is_compound && (ref_mvs[rf[1]][0].as_int != zeromv[1].as_int ||
- ref_mvs[rf[1]][1].as_int != zeromv[1].as_int)))
- inter_mode_ctx[ref_frame] &= ~(1 << ALL_ZERO_FLAG_OFFSET);
}
}