From 36a87c2dc7f302da3778bd0cff050b5c93a730c7 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 19 Jul 2015 22:55:16 +0200 Subject: [PATCH] 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 +++++++--- tests/ref/fate/dds-pal | 2 +- tests/ref/fate/dds-pal-ati | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/libavcodec/dds.c b/libavcodec/dds.c index 3f6f7f8cb73..566954ddd9a 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; } diff --git a/tests/ref/fate/dds-pal b/tests/ref/fate/dds-pal index 85414414d57..575a4bd51b9 100644 --- a/tests/ref/fate/dds-pal +++ b/tests/ref/fate/dds-pal @@ -1,2 +1,2 @@ #tb 0: 1/25 -0, 0, 0, 1, 65536, 0xbffee5cd +0, 0, 0, 1, 65536, 0x4287e5cd diff --git a/tests/ref/fate/dds-pal-ati b/tests/ref/fate/dds-pal-ati index 6b43bb4a8b8..6de8adb4454 100644 --- a/tests/ref/fate/dds-pal-ati +++ b/tests/ref/fate/dds-pal-ati @@ -1,2 +1,2 @@ #tb 0: 1/25 -0, 0, 0, 1, 16384, 0x23068060 +0, 0, 0, 1, 16384, 0x6ac18060 -- 2.39.2