From 74a30595b276403f2af5ca1a0235c41509b84784 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Tue, 23 Jun 2009 07:41:38 +0000 Subject: [PATCH] Edge emulation should be used in B-frame MC in mspel mode with mv_x < 1 or mv_y < 1. Originally committed as revision 19255 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vc1dec.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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);