avcodec/h261dec: Fix exported MVs for skipped MBs
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Feb 2015 17:48:23 +0000 (18:48 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Feb 2015 17:48:23 +0000 (18:48 +0100)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/h261dec.c

index 9064f1a..e9a3a8b 100644 (file)
@@ -216,6 +216,13 @@ static int h261_decode_mb_skipped(H261Context *h, int mba1, int mba2)
         s->mb_skipped                  = 1;
         h->mtype                      &= ~MB_TYPE_H261_FIL;
 
+        if (s->current_picture.motion_val[0]) {
+            int b_stride = 2*s->mb_width + 1;
+            int b_xy     = 2 * s->mb_x + (2 * s->mb_y) * b_stride;
+            s->current_picture.motion_val[0][b_xy][0] = s->mv[0][0][0];
+            s->current_picture.motion_val[0][b_xy][1] = s->mv[0][0][1];
+        }
+
         ff_mpv_decode_mb(s, s->block);
     }