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 ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".