PR #22483 opened by Ramiro Polla (ramiro) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22483 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22483.patch
(cherry picked from commit 72167e5150dfa01570118de9381f847b7e5aaf74) >From 00186719a132da993f8a5c162ac01cda6f734bff Mon Sep 17 00:00:00 2001 From: Ramiro Polla <[email protected]> Date: Mon, 19 Jan 2026 18:24:30 +0100 Subject: [PATCH] avcodec/mjpegdec: deprecate extern_huff option (cherry picked from commit 72167e5150dfa01570118de9381f847b7e5aaf74) --- libavcodec/mjpegdec.c | 8 +++++++- libavcodec/mjpegdec.h | 2 ++ libavcodec/version_major.h | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 9c8b846a76..f037d9f7aa 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -147,6 +147,7 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) if ((ret = init_default_huffman_tables(s)) < 0) return ret; +#if FF_API_MJPEG_EXTERN_HUFF if (s->extern_huff && avctx->extradata) { av_log(avctx, AV_LOG_INFO, "using external huffman table\n"); bytestream2_init(&s->gB, avctx->extradata, avctx->extradata_size); @@ -157,6 +158,7 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) return ret; } } +#endif if (avctx->field_order == AV_FIELD_BB) { /* quicktime icefloe 019 */ s->interlace_polarity = 1; /* bottom field first */ av_log(avctx, AV_LOG_DEBUG, "bottom field first\n"); @@ -2953,18 +2955,22 @@ static av_cold void decode_flush(AVCodecContext *avctx) } #if CONFIG_MJPEG_DECODER +#if FF_API_MJPEG_EXTERN_HUFF #define OFFSET(x) offsetof(MJpegDecodeContext, x) #define VD AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_DECODING_PARAM static const AVOption options[] = { { "extern_huff", "Use external huffman table.", - OFFSET(extern_huff), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VD }, + OFFSET(extern_huff), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VD | AV_OPT_FLAG_DEPRECATED }, { NULL }, }; +#endif static const AVClass mjpegdec_class = { .class_name = "MJPEG decoder", .item_name = av_default_item_name, +#if FF_API_MJPEG_EXTERN_HUFF .option = options, +#endif .version = LIBAVUTIL_VERSION_INT, }; diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h index 29fe5db03e..19ff4436e3 100644 --- a/libavcodec/mjpegdec.h +++ b/libavcodec/mjpegdec.h @@ -144,7 +144,9 @@ typedef struct MJpegDecodeContext { uint16_t (*ljpeg_buffer)[4]; unsigned int ljpeg_buffer_size; +#if FF_API_MJPEG_EXTERN_HUFF int extern_huff; +#endif AVExifMetadata exif_metadata; AVStereo3D *stereo3d; ///!< stereoscopic information (cached, since it is read before frame allocation) diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index 6c652374dd..0e6f460324 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -49,6 +49,8 @@ #define FF_API_PARSER_PRIVATE (LIBAVCODEC_VERSION_MAJOR < 63) #define FF_API_PARSER_CODECID (LIBAVCODEC_VERSION_MAJOR < 63) +#define FF_API_MJPEG_EXTERN_HUFF (LIBAVCODEC_VERSION_MAJOR < 63) + // reminder to remove the OMX encoder on next major bump #define FF_CODEC_OMX (LIBAVCODEC_VERSION_MAJOR < 63) // reminder to remove Sonic Lossy/Lossless encoders on next major bump -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
