diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-09-23 13:52:40 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-09-23 13:57:15 +0200 |
commit | 79fbd7a5c1d6308e5edb047a53f62be8484b9976 (patch) | |
tree | 9c1479d214c42f4cd0003e0d610b979a89f0b0e7 | |
parent | 8b85d9bfb6f1b5a2bbdc732f0e20f65f2eddcaad (diff) | |
parent | 5e25fdbfe01635cfc650ac4adc27d434b2df0d64 (diff) | |
download | ffmpeg-79fbd7a5c1d6308e5edb047a53f62be8484b9976.tar.gz |
Merge commit '5e25fdbfe01635cfc650ac4adc27d434b2df0d64'
* commit '5e25fdbfe01635cfc650ac4adc27d434b2df0d64':
vc1dec: Make sure last_picture is initialized in vc1_decode_skip_blocks
See: 09de0ffeab37442d1a31ee194ea6d78a67186de1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/vc1dec.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index 6b3627a93d..800b1c787a 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -5155,17 +5155,18 @@ static void vc1_decode_skip_blocks(VC1Context *v) { MpegEncContext *s = &v->s; + if (!v->s.last_picture.f.data[0]) + return; + ff_er_add_slice(&s->er, 0, s->start_mb_y, s->mb_width - 1, s->end_mb_y - 1, ER_MB_END); s->first_slice_line = 1; for (s->mb_y = s->start_mb_y; s->mb_y < s->end_mb_y; s->mb_y++) { s->mb_x = 0; init_block_index(v); ff_update_block_index(s); - if (s->last_picture.f.data[0]) { - memcpy(s->dest[0], s->last_picture.f.data[0] + s->mb_y * 16 * s->linesize, s->linesize * 16); - memcpy(s->dest[1], s->last_picture.f.data[1] + s->mb_y * 8 * s->uvlinesize, s->uvlinesize * 8); - memcpy(s->dest[2], s->last_picture.f.data[2] + s->mb_y * 8 * s->uvlinesize, s->uvlinesize * 8); - } + memcpy(s->dest[0], s->last_picture.f.data[0] + s->mb_y * 16 * s->linesize, s->linesize * 16); + memcpy(s->dest[1], s->last_picture.f.data[1] + s->mb_y * 8 * s->uvlinesize, s->uvlinesize * 8); + memcpy(s->dest[2], s->last_picture.f.data[2] + s->mb_y * 8 * s->uvlinesize, s->uvlinesize * 8); ff_mpeg_draw_horiz_band(s, s->mb_y * 16, 16); s->first_slice_line = 0; } |