summaryrefslogtreecommitdiffstats
path: root/libavcodec/h261dec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-02-01 18:48:23 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-02-01 18:48:23 +0100
commit61aca123fb30e6c99948b12a829ddf7afe1a4174 (patch)
treecfe010a58c70c88fdfa172430c05d73b97242f78 /libavcodec/h261dec.c
parent0182e5a740ff030c5384a90769c1b73ef8cede0e (diff)
downloadffmpeg-streaming-61aca123fb30e6c99948b12a829ddf7afe1a4174.zip
ffmpeg-streaming-61aca123fb30e6c99948b12a829ddf7afe1a4174.tar.gz
avcodec/h261dec: Fix exported MVs for skipped MBs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h261dec.c')
-rw-r--r--libavcodec/h261dec.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/h261dec.c b/libavcodec/h261dec.c
index 9064f1a..e9a3a8b 100644
--- a/libavcodec/h261dec.c
+++ b/libavcodec/h261dec.c
@@ -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);
}
OpenPOWER on IntegriCloud