Correct SPLITMV clamping
Prior to this fix, the clamping state of the last subblock partition
dominated, whereas the correct behavior is to clamp if any partition
needs clamping. This bug was introduced by v0.9.6-232-g6b25501
See also:
[1]: http://code.google.com/p/webm/issues/detail?id=371
[2]: https://bugzilla.mozilla.org/show_bug.cgi?id=696390
Change-Id: I444db492b4c4f05f039c7da6f4216da8207dc138
diff --git a/vp8/decoder/decodemv.c b/vp8/decoder/decodemv.c
index 712a597..5b913ae 100644
--- a/vp8/decoder/decodemv.c
+++ b/vp8/decoder/decodemv.c
@@ -273,6 +273,7 @@
}
}
+ mbmi->need_to_clamp_mvs = 0;
do /* for each subset j */
{
int_mv leftmv, abovemv;
@@ -289,7 +290,7 @@
blockmv = sub_mv_ref(bc, prob, abovemv, leftmv, best_mv, mvc);
- mbmi->need_to_clamp_mvs = vp8_check_mv_bounds(&blockmv,
+ mbmi->need_to_clamp_mvs |= vp8_check_mv_bounds(&blockmv,
mb_to_left_edge,
mb_to_right_edge,
mb_to_top_edge,