On Thu, Oct 17, 2024 at 01:00:12PM +0200, Ramiro Polla wrote:
> Consider APPx fields that are too short to contain an id field (32-bit)
> as stubs, and silently ignore them.
>
> This has been seen in the MJPEG output from some webcams (such as the
> Logitech C270 and C920) and the JPEG images embedded in DNG images
> from the Pentax K-1 camera.
> ---
> libavcodec/mjpegdec.c | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
> index a775fdca30..3cd9904595 100644
> --- a/libavcodec/mjpegdec.c
> +++ b/libavcodec/mjpegdec.c
> @@ -1856,20 +1856,22 @@ static int mjpeg_decode_app(MJpegDecodeContext *s)
> int len, id, i;
>
> len = get_bits(&s->gb, 16);
> - if (len < 6) {
> - if (s->bayer) {
> - // Pentax K-1 (digital camera) JPEG images embedded in DNG
> images contain unknown APP0 markers
> - av_log(s->avctx, AV_LOG_WARNING, "skipping APPx (len=%"PRId32")
> for bayer-encoded image\n", len);
> - skip_bits(&s->gb, len);
> - return 0;
> - } else
> - return AVERROR_INVALIDDATA;
> + if (len < 2)
> + return AVERROR_INVALIDDATA;
> + len -= 2;
> +
> + if (len < 4) {
> + /* Silently ignore APPx stubs */
> + if (show_bits(&s->gb, 8 * len) == 0)
> + goto out;
> + return AVERROR_INVALIDDATA;this silently errors on the ones it doesnt ignore, it was more informative before thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Some people wanted to paint the bikeshed green, some blue and some pink. People argued and fought, when they finally agreed, only rust was left.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
