[FFmpeg-devel] [PATCH 2/4] mm: decode partial palette
Peter Ross
pross at xvid.org
Sat Jun 8 12:05:20 EEST 2024
---
palette decoding now conforms to description at https://wiki.multimedia.cx/index.php/IBM_PhotoMotion
libavcodec/mmvideo.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/libavcodec/mmvideo.c b/libavcodec/mmvideo.c
index 3038d9ea92..b5b6ffd25b 100644
--- a/libavcodec/mmvideo.c
+++ b/libavcodec/mmvideo.c
@@ -79,12 +79,10 @@ static av_cold int mm_decode_init(AVCodecContext *avctx)
static void mm_decode_pal(MmContext *s)
{
int i;
-
- bytestream2_skip(&s->gb, 4);
- for (i = 0; i < 128; i++) {
- s->palette[i] = 0xFFU << 24 | bytestream2_get_be24(&s->gb);
- s->palette[i+128] = s->palette[i]<<2;
- }
+ int start = bytestream2_get_le16(&s->gb);
+ int count = bytestream2_get_le16(&s->gb);
+ for (i = 0; i < count; i++)
+ s->palette[start+i] = 0xFFU << 24 | (bytestream2_get_be24(&s->gb) << 2);
}
/**
--
2.43.0
-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
More information about the ffmpeg-devel
mailing list