mirror of https://git.ffmpeg.org/ffmpeg.git
100l: sometime palette was not copied to output frame
Originally committed as revision 2481 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
19d053c5ba
commit
1d768c3c16
|
@ -67,6 +67,13 @@ static void msrle_decode_pal8(MsrleContext *s)
|
|||
int row_ptr = (s->avctx->height - 1) * row_dec;
|
||||
int frame_size = row_dec * s->avctx->height;
|
||||
|
||||
/* make the palette available */
|
||||
memcpy(s->frame.data[1], s->avctx->palctrl->palette, AVPALETTE_SIZE);
|
||||
if (s->avctx->palctrl->palette_changed) {
|
||||
s->frame.palette_has_changed = 1;
|
||||
s->avctx->palctrl->palette_changed = 0;
|
||||
}
|
||||
|
||||
while (row_ptr >= 0) {
|
||||
FETCH_NEXT_STREAM_BYTE();
|
||||
rle_code = stream_byte;
|
||||
|
@ -128,13 +135,6 @@ static void msrle_decode_pal8(MsrleContext *s)
|
|||
}
|
||||
}
|
||||
|
||||
/* make the palette available */
|
||||
memcpy(s->frame.data[1], s->avctx->palctrl->palette, AVPALETTE_SIZE);
|
||||
if (s->avctx->palctrl->palette_changed) {
|
||||
s->frame.palette_has_changed = 1;
|
||||
s->avctx->palctrl->palette_changed = 0;
|
||||
}
|
||||
|
||||
/* one last sanity check on the way out */
|
||||
if (stream_ptr < s->size)
|
||||
av_log(s->avctx, AV_LOG_ERROR, " MS RLE: ended frame decode with bytes left over (%d < %d)\n",
|
||||
|
|
Loading…
Reference in New Issue