set codec bps to grayscale bits, fix 256grey.mov
authorBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 28 Feb 2008 16:05:19 +0000 (16:05 +0000)
committerBaptiste Coudurier <baptiste.coudurier@gmail.com>
Thu, 28 Feb 2008 16:05:19 +0000 (16:05 +0000)
Originally committed as revision 12272 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mov.c

index 0b3c0a4..a67604b 100644 (file)
@@ -725,7 +725,8 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
 
             st->codec->bits_per_sample = get_be16(pb); /* depth */
             st->codec->color_table_id = get_be16(pb); /* colortable id */
-
+            dprintf(c->fc, "depth %d, ctab id %d\n",
+                   st->codec->bits_per_sample, st->codec->color_table_id);
             /* figure out the palette situation */
             color_depth = st->codec->bits_per_sample & 0x1F;
             color_greyscale = st->codec->bits_per_sample & 0x20;
@@ -735,6 +736,7 @@ static int mov_read_stsd(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)
                 (color_depth == 8)) {
                 if (color_greyscale) {
                     /* compute the greyscale palette */
+                    st->codec->bits_per_sample = color_depth;
                     color_count = 1 << color_depth;
                     color_index = 255;
                     color_dec = 256 / (color_count - 1);