set codec bps to grayscale bits, fix 256grey.mov
Originally committed as revision 12272 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
2c62e737f4
commit
0de2157fa4
1 changed files with 3 additions and 1 deletions
|
@ -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->bits_per_sample = get_be16(pb); /* depth */
|
||||||
st->codec->color_table_id = get_be16(pb); /* colortable id */
|
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 */
|
/* figure out the palette situation */
|
||||||
color_depth = st->codec->bits_per_sample & 0x1F;
|
color_depth = st->codec->bits_per_sample & 0x1F;
|
||||||
color_greyscale = st->codec->bits_per_sample & 0x20;
|
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)) {
|
(color_depth == 8)) {
|
||||||
if (color_greyscale) {
|
if (color_greyscale) {
|
||||||
/* compute the greyscale palette */
|
/* compute the greyscale palette */
|
||||||
|
st->codec->bits_per_sample = color_depth;
|
||||||
color_count = 1 << color_depth;
|
color_count = 1 << color_depth;
|
||||||
color_index = 255;
|
color_index = 255;
|
||||||
color_dec = 256 / (color_count - 1);
|
color_dec = 256 / (color_count - 1);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue