summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Jager <t.jager@gmx.de>2014-06-18 22:53:55 +0200
committerTorsten Jager <t.jager@gmx.de>2014-06-18 22:53:55 +0200
commit5580a0349c0785598b0bf606855dac796bc295e7 (patch)
tree701d90e2083565eb862654c03e1f2b29b5b38933
parent8320f0e3e49d06d80b25d60627908d488ce47214 (diff)
downloadxine-lib-5580a0349c0785598b0bf606855dac796bc295e7.tar.gz
xine-lib-5580a0349c0785598b0bf606855dac796bc295e7.tar.bz2
spuhdmv: palette endian safety.
-rw-r--r--src/spu_dec/spuhdmv_decoder.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/spu_dec/spuhdmv_decoder.c b/src/spu_dec/spuhdmv_decoder.c
index 2d457b85a..58b7d31c7 100644
--- a/src/spu_dec/spuhdmv_decoder.c
+++ b/src/spu_dec/spuhdmv_decoder.c
@@ -374,7 +374,11 @@ static subtitle_clut_t *segbuf_decode_palette(segment_buffer_t *buf)
uint8_t Cr = segbuf_get_u8 (buf);
uint8_t Cb = segbuf_get_u8 (buf);
uint8_t alpha = segbuf_get_u8 (buf);
+#ifdef WORDS_BIGENDIAN
+ clut->color[index] = (Y << 8) | (Cr << 16) | (Cb << 24);
+#else
clut->color[index] = (Y << 16) | (Cr << 8) | Cb;
+#endif
clut->trans[index] = alpha >> 4;
}