From 36a87c2dc7f302da3778bd0cff050b5c93a730c7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 19 Jul 2015 22:55:16 +0200 Subject: 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 --- libavcodec/dds.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'libavcodec') diff --git a/libavcodec/dds.c b/libavcodec/dds.c index 3f6f7f8cb7..566954ddd9 100644 --- a/libavcodec/dds.c +++ b/libavcodec/dds.c @@ -629,9 +629,13 @@ static int dds_decode(AVCodecContext *avctx, void *data, int i; /* Use the first 1024 bytes as palette, then copy the rest. */ bytestream2_get_buffer(gbc, frame->data[1], 256 * 4); - if (HAVE_BIGENDIAN) - for (i = 0; i < 256; i++) - AV_WB32(frame->data[1] + i*4, AV_RL32(frame->data[1] + i*4)); + for (i = 0; i < 256; i++) + AV_WN32(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; } -- cgit v1.2.3