Limit new motion vector size
This commit adds clamp of new vectors similar to the logic in RD loop.
Such clamp is not necessary from the perspective of VP8 bitstream, but
is added to improve ChromeCast mirroring's robustness.
Change-Id: I42f6adbc60ffce283b994869364230858632d6fa
diff --git a/vp8/encoder/pickinter.c b/vp8/encoder/pickinter.c
index f3443db..5ce98ad 100644
--- a/vp8/encoder/pickinter.c
+++ b/vp8/encoder/pickinter.c
@@ -1240,7 +1240,10 @@
}
mode_mv[NEWMV].as_int = d->bmi.mv.as_int;
-
+ // The clamp below is not necessary from the perspective
+ // of VP8 bitstream, but is added to improve ChromeCast
+ // mirroring's robustness. Please do not remove.
+ vp8_clamp_mv2(&mode_mv[this_mode], xd);
/* mv cost; */
rate2 += vp8_mv_bit_cost(&mode_mv[NEWMV], &best_ref_mv,
cpi->mb.mvcost, 128);
@@ -1248,7 +1251,6 @@
case NEARESTMV:
case NEARMV:
-
if (mode_mv[this_mode].as_int == 0)
continue;