[FFmpeg-devel] [PATCH 1/5] avcodec/mjpegdec: Restrict AVID MJPEG to non-SMVJPEG
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sat Dec 10 12:51:25 EET 2022
Andreas Rheinhardt:
> AVID content is not supposed to be SMVJPEG; given that
> both these codecs involve manipulating image dimensions
> and cropping dimensions, it makes sense to restrict
> the AVID codepaths to non-SMVJPEG codecs in order not
> to have to think about what if SMVJPEG happens to
> have a codec tag indicating AVID.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> libavcodec/mjpegdec.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c
> index 9b7465abe7..28e2839072 100644
> --- a/libavcodec/mjpegdec.c
> +++ b/libavcodec/mjpegdec.c
> @@ -452,7 +452,8 @@ int ff_mjpeg_decode_sof(MJpegDecodeContext *s)
> if (ret < 0)
> return ret;
>
> - if ((s->avctx->codec_tag == MKTAG('A', 'V', 'R', 'n') ||
> + if (s->avctx->codec_id != AV_CODEC_ID_SMVJPEG &&
> + (s->avctx->codec_tag == MKTAG('A', 'V', 'R', 'n') ||
> s->avctx->codec_tag == MKTAG('A', 'V', 'D', 'J')) &&
> s->orig_height < height)
> s->avctx->height = AV_CEIL_RSHIFT(s->orig_height, s->avctx->lowres);
> @@ -2927,7 +2928,8 @@ the_end:
> return ret;
> }
> }
> - if ((avctx->codec_tag == MKTAG('A', 'V', 'R', 'n') ||
> + if (avctx->codec_id != AV_CODEC_ID_SMVJPEG &&
> + (avctx->codec_tag == MKTAG('A', 'V', 'R', 'n') ||
> avctx->codec_tag == MKTAG('A', 'V', 'D', 'J')) &&
> avctx->coded_height > s->orig_height) {
> frame->height = AV_CEIL_RSHIFT(avctx->coded_height, avctx->lowres);
Will apply this patchset tonight unless there are objections.
- Andreas
More information about the ffmpeg-devel
mailing list