[FFmpeg-devel] [PATCH] JPEG-LS Decoder: Update

Carl Eugen Hoyos ceffmpeg at gmail.com
Sat Apr 10 18:01:58 EEST 2021


Am Sa., 10. Apr. 2021 um 14:35 Uhr schrieb Spyros Theoharis
<s.theoharis at alma-tech.com>:
>
> - 8 up to 16 bits
> - 444/422/420/411
> - fixed restart mechanism support
> - RGB/YUV 444 images (via -rgb444 input option)

This typically indicates that you should send four patches
instead of one.

How can we create samples / please provide samples.

[...]

> + * Skip bitstream for the next restart marker
> + */

Was this completely missing so far or what is the
reason for this change?

> +static int exp_mk = 0;

You cannot use a static variable, add it to the context instead.

> +static inline int ls_decode_skip_restart_marker(MJpegDecodeContext *s, int
> init)
> +{
> +    int mk = 0, t = 0;
> +
> +    if (init) exp_mk = 0;
> +
> +    while (mk != 0xff && t++ < 16) { /* skip 0xFF */
> +        mk = (mk<<1) + get_bits1(&s->gb);
> +    }
> +    mk  &= 0xff;
> +    mk <<= 8;
> +    mk  += get_bits(&s->gb, 8); /* skip RSTn */
> +

> +    if (mk != 0xffd0 + (exp_mk % 8)) {

Use "&" instead of "%".

> +        av_log(s->avctx, AV_LOG_WARNING, "ERROR: Invalid restart marker
> 0x%.4X, expected is 0x%.4X\n", mk, 0xffd0 + (exp_mk % 8));

This line does not make sense...

Please split your patch and resend, Carl Eugen


More information about the ffmpeg-devel mailing list