]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/yop.c
lavc: Check CODEC_CAP_VARIABLE_FRAME_SIZE && !frame
[ffmpeg] / libavcodec / yop.c
index 87a91f28d7b00ff90590d945a5caff767905c734..e5333db2fdb243ea93966d33797c597f9c96f7db 100644 (file)
@@ -217,10 +217,13 @@ static int yop_decode_frame(AVCodecContext *avctx, void *data, int *data_size,
     firstcolor   = s->first_color[is_odd_frame];
     palette      = (uint32_t *)s->frame.data[1];
 
-    for (i = 0; i < s->num_pal_colors; i++, s->srcptr += 3)
+    for (i = 0; i < s->num_pal_colors; i++, s->srcptr += 3) {
         palette[i + firstcolor] = (s->srcptr[0] << 18) |
                                   (s->srcptr[1] << 10) |
                                   (s->srcptr[2] << 2);
+        palette[i + firstcolor] |= 0xFF << 24 |
+                                   (palette[i + firstcolor] >> 6) & 0x30303;
+    }
 
     s->frame.palette_has_changed = 1;