Correct MV prediction for B-frame blocks in RV4 decoder
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 15 Mar 2009 08:21:42 +0000 (08:21 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sun, 15 Mar 2009 08:21:42 +0000 (08:21 +0000)
Originally committed as revision 17974 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/rv34.c

index ee10528..6603641 100644 (file)
@@ -533,7 +533,7 @@ static void rv34_pred_mv_b(RV34DecContext *r, int block_type, int dir)
         B[1] = cur_pic->motion_val[dir][mv_pos - s->b8_stride][1];
         has_B = 1;
     }
-    if((r->avail_cache[5-2] & type) & mask){
+    if(r->avail_cache[5-4] && (r->avail_cache[5-2] & type) & mask){
         C[0] = cur_pic->motion_val[dir][mv_pos - s->b8_stride + 2][0];
         C[1] = cur_pic->motion_val[dir][mv_pos - s->b8_stride + 2][1];
         has_C = 1;