Commit 1d768c3c authored by Roberto Togni's avatar Roberto Togni

100l: sometime palette was not copied to output frame

Originally committed as revision 2481 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent 19d053c5
...@@ -67,6 +67,13 @@ static void msrle_decode_pal8(MsrleContext *s) ...@@ -67,6 +67,13 @@ static void msrle_decode_pal8(MsrleContext *s)
int row_ptr = (s->avctx->height - 1) * row_dec; int row_ptr = (s->avctx->height - 1) * row_dec;
int frame_size = row_dec * s->avctx->height; 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) { while (row_ptr >= 0) {
FETCH_NEXT_STREAM_BYTE(); FETCH_NEXT_STREAM_BYTE();
rle_code = stream_byte; rle_code = stream_byte;
...@@ -128,13 +135,6 @@ static void msrle_decode_pal8(MsrleContext *s) ...@@ -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 */ /* one last sanity check on the way out */
if (stream_ptr < s->size) if (stream_ptr < s->size)
av_log(s->avctx, AV_LOG_ERROR, " MS RLE: ended frame decode with bytes left over (%d < %d)\n", av_log(s->avctx, AV_LOG_ERROR, " MS RLE: ended frame decode with bytes left over (%d < %d)\n",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment