mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/dds: fix paletted files
Fixes Ticket4664 The changed fate tests lack red/blue shades and thus look correct either way Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
4ebe31abf1
commit
36a87c2dc7
|
@ -629,9 +629,13 @@ static int dds_decode(AVCodecContext *avctx, void *data,
|
||||||
int i;
|
int i;
|
||||||
/* Use the first 1024 bytes as palette, then copy the rest. */
|
/* Use the first 1024 bytes as palette, then copy the rest. */
|
||||||
bytestream2_get_buffer(gbc, frame->data[1], 256 * 4);
|
bytestream2_get_buffer(gbc, frame->data[1], 256 * 4);
|
||||||
if (HAVE_BIGENDIAN)
|
for (i = 0; i < 256; i++)
|
||||||
for (i = 0; i < 256; i++)
|
AV_WN32(frame->data[1] + i*4,
|
||||||
AV_WB32(frame->data[1] + i*4, AV_RL32(frame->data[1] + i*4));
|
(frame->data[1][2+i*4]<<0)+
|
||||||
|
(frame->data[1][1+i*4]<<8)+
|
||||||
|
(frame->data[1][0+i*4]<<16)+
|
||||||
|
(frame->data[1][3+i*4]<<24)
|
||||||
|
);
|
||||||
|
|
||||||
frame->palette_has_changed = 1;
|
frame->palette_has_changed = 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#tb 0: 1/25
|
#tb 0: 1/25
|
||||||
0, 0, 0, 1, 65536, 0xbffee5cd
|
0, 0, 0, 1, 65536, 0x4287e5cd
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
#tb 0: 1/25
|
#tb 0: 1/25
|
||||||
0, 0, 0, 1, 16384, 0x23068060
|
0, 0, 0, 1, 16384, 0x6ac18060
|
||||||
|
|
Loading…
Reference in New Issue