Edge emulation should be used in B-frame MC in mspel mode with
authorKostya Shishkov <kostya.shishkov@gmail.com>
Tue, 23 Jun 2009 07:41:38 +0000 (07:41 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Tue, 23 Jun 2009 07:41:38 +0000 (07:41 +0000)
mv_x < 1 or mv_y < 1.

Originally committed as revision 19255 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/vc1dec.c

index 7aa104a..96055e6 100644 (file)
@@ -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);