diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 7aa104a213..96055e664c 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -860,8 +860,8 @@ static void vc1_interp_mc(VC1Context *v) } if(v->rangeredfrm - || (unsigned)src_x > s->h_edge_pos - (mx&3) - 16 - s->mspel*3 - || (unsigned)src_y > s->v_edge_pos - (my&3) - 16 - s->mspel*3){ + || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel*3 + || (unsigned)(src_y - s->mspel) > s->v_edge_pos - (my&3) - 16 - s->mspel*3){ uint8_t *uvbuf= s->edge_emu_buffer + 19 * s->linesize; srcY -= s->mspel * (1 + s->linesize);