Hi Hayden

On Tue, Dec 09, 2025 at 12:57:40PM -0500, Hayden Myers via ffmpeg-devel wrote:
> Signed-off-by: Hayden Myers <[email protected]>
> ---
>  libavformat/rtpdec_jpeg.c | 22 +++++++++++++++++++---
>  1 file changed, 19 insertions(+), 3 deletions(-)
> 
> diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c
> index 4d9ee0d754..871f3a732e 100644
> --- a/libavformat/rtpdec_jpeg.c
> +++ b/libavformat/rtpdec_jpeg.c
> @@ -353,9 +353,25 @@ static int jpeg_parse_packet(AVFormatContext *ctx, 
> PayloadContext *jpeg,
>      }
>  
>      if (off != avio_tell(jpeg->frame) - jpeg->hdr_size) {
> -        av_log(ctx, AV_LOG_ERROR,
> -               "Missing packets; dropping frame.\n");
> -        return AVERROR(EAGAIN);
> +        /* The fragment offset may include the quant table data. Allow the
> +         * offset to differ by the size of the quant header and table.
> +         */
> +

> +        // Default to 2 * 64 byte tables for 8 bit precision.
> +        uint8_t qtable_len =  128;

exact length is not needed here, int tends to lead to fewer surprises


> +
> +        // Use the q table len value stored in the ctx
> +        if (q >= 127 && q < 255)
> +            qtable_len = jpeg->qtables_len[q-128];

127-128 is -1 thus results in out of array. jpeg->qtables_len[-1];

thx

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Democracy is the form of government in which you can choose your dictator

Attachment: signature.asc
Description: PGP signature

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to