]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
100l: sometime palette was not copied to output frame
authorrtognimp <rtognimp@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 5 Nov 2003 23:27:23 +0000 (23:27 +0000)
committerrtognimp <rtognimp@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 5 Nov 2003 23:27:23 +0000 (23:27 +0000)
git-svn-id: file:///var/local/repositories/ffmpeg/trunk@2481 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavcodec/msrle.c

index dffd55bbb1a834b0d430e4cedf8beacc88ed75de..ce5c4c0a2ec75dc27c1db1db0fe52325d4b92ec0 100644 (file)
@@ -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",