This is very close to 8379ea5e9f6bf3d50663ffb655ba5dd6a11652b4 and same
description applies. The issue probably warrants further investigation,
but for now this fix seems to work without breaking anything else.
---
 libavcodec/vc1dec.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 5f709ed..871c033 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -429,8 +429,8 @@ static void vc1_mc_1mv(VC1Context *v, int dir)
 
     if (v->rangeredfrm || (v->mv_mode == MV_PMODE_INTENSITY_COMP)
         || s->h_edge_pos < 22 || v_edge_pos < 22
-        || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - 
s->mspel * 3
-        || (unsigned)(src_y - s->mspel) > v_edge_pos    - (my&3) - 16 - 
s->mspel * 3) {
+        || (unsigned)(src_x - 1) > s->h_edge_pos - (mx&3) - 16 - 3
+        || (unsigned)(src_y - 1) > v_edge_pos    - (my&3) - 16 - 3) {
         uint8_t *uvbuf = s->edge_emu_buffer + 19 * s->linesize;
 
         srcY -= s->mspel * (1 + s->linesize);
-- 
1.7.4

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to