[FFmpeg-cvslog] avformat/mov: Do not compute a grayscale palette for cinepak in mov.

Carl Eugen Hoyos git at videolan.org
Tue Dec 24 22:29:12 CET 2013


ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Dec 12 13:42:10 2013 +0100| [d63e9943615fe4a7dece768e5c91616a7f63283a] | committer: Michael Niedermayer

avformat/mov: Do not compute a grayscale palette for cinepak in mov.

This was never done for avi files, the decoder always produced
output no matter if a palette was computed or not.
Since a non-standard palette was needed, this simplifies the code.
See issue 1067 and ticket #165.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d63e9943615fe4a7dece768e5c91616a7f63283a
---

 libavformat/mov.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7ca4f92..abdea9b 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -1314,6 +1314,9 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb,
     /* figure out the palette situation */
     color_depth     = st->codec->bits_per_coded_sample & 0x1F;
     color_greyscale = st->codec->bits_per_coded_sample & 0x20;
+    /* Do not create a greyscale palette for cinepak */
+    if (color_greyscale && st->codec->codec_id == AV_CODEC_ID_CINEPAK)
+        return;
 
     /* if the depth is 2, 4, or 8 bpp, file is palettized */
     if ((color_depth == 2) || (color_depth == 4) || (color_depth == 8)) {
@@ -1329,9 +1332,6 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb,
             color_index = 255;
             color_dec   = 256 / (color_count - 1);
             for (j = 0; j < color_count; j++) {
-                if (st->codec->codec_id == AV_CODEC_ID_CINEPAK){
-                    r = g = b = color_count - 1 - color_index;
-                } else
                 r = g = b = color_index;
                 sc->palette[j] = (0xFFU << 24) | (r << 16) | (g << 8) | (b);
                 color_index -= color_dec;



More information about the ffmpeg-cvslog mailing list