[FFmpeg-devel] [PATCH 2/4] mm: decode partial palette
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat Jun 8 16:47:13 EEST 2024
Peter Ross:
> ---
> 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++)
You can use loop-scope for the iterator here and save a line.
> + s->palette[start+i] = 0xFFU << 24 | (bytestream2_get_be24(&s->gb) << 2);
> }
>
> /**
More information about the ffmpeg-devel
mailing list