From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 222194E23B for ; Thu, 15 Jan 2026 14:31:03 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'tImaJ3OUeuHwK91xo16ywO90JA/0qtOcFZAqHf/3Fa8=', expected b'OfrRMBXQDU4jZEZR8QxWPv8wfBgLxIGrmaweYd9TEf8=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1768487452; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=tImaJ3OUeuHwK91xo16ywO90JA/0qtOcFZAqHf/3Fa8=; b=dOWAhQF/J51u0TDe2wOFWwI/aaoDKmykb7ypcZIEIzMyExMW5kbeMY/aFZDrbnqaHooKa 5K0aydQi9YKtfBIULeEOEPMGqXuZb6XrTUcl3t725zfScNObwtuFR3OX1FtEBP+nT44LGub OKODoqGhG6yN2/E0KW6yOhisK3Vj3g56Ga+YHb1p5IMJfL9Kw7sP75UsfBvyU2Se+aEQrk3 /Lyrkd8ihwE+QlYe5jgFE43l9R1NGIzQ9PojHcaIH7xoOZC5TvMuNu+bonrneSbS7vQWcJe FZao1/fMWEmKW8lDmuRZvmoyVhsnMcCz0+PLB2P03F8wRrXpdgch0z5roM5w== Received: from [172.20.0.4] (unknown [172.20.0.4]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 1069F690E48; Thu, 15 Jan 2026 16:30:52 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1768487433; b=bjkrgaVaFuB4Rr2/dL+9SZfjhhP86ZGy4D3YjPKWBN9sg0oJs5DcZEJc+PMTqiznHz8js cGmcQRhYeh+m+OYFYAX/lbDLo2NHlpaDLRih20pXmV5UvFe8SPG0335ja+pdwIeFTBVrMCH 7XZ11psmyY+3rB+1FbWYJkXFaoUhIygIO3HJaVBFOzfMDqQg9UpP2Dj+o/3CA1hfy95wzCu jgQcJHE6bH9Jkwki7q3vQtHuWWyjwK+ce3RLbVKEmVAnuwyq3Rkm0WtQABhwhq27K9tgl9h XLDOcLQA7CnOkJH5lf5xneYF9KqqJi/beIJD7DjYwYPn+1dyKfbXcO4b2qOQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1768487433; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=AANq+V2w6kpJVP5/e0uqUPWCsuCI06AwrGicMv8/9Jw=; b=DxHRjpmAEAN1jDil1aYqH2K9PPrbzLU0o8HzGGeH2NMJoGDGgHoAW9IkVDeXuLfhxqSZ0 /D2C/9zDTyUId3CQhvMrgc590IR3T9QLHpHJ9h4JHd+YkBl2uIdTcRF10WbJ4VQdhpZMe2S PafJCcnH9EOgVvDzuoaZNYoWiW26NH0JxIC8tTVM5cwR7uA1chKJ+fHZxW7PJAPQr1j+Cze cIBRcwN9PjWNlUcIFqcqnTQCfzTEVVoD8W1ZY/ZmFdqpiXfB8Algtq2vUWVD0yiYpAW49HW vsiTpASgPZjMov9jImFrR/7JSMMuLYkpZVXUxXLZOmAODqpBDygglUwD83EA== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1768487424; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=OfrRMBXQDU4jZEZR8QxWPv8wfBgLxIGrmaweYd9TEf8=; b=quRXJNu+c7yaJmrnaE5A5eoiWKjMYXgf0Ao1Wx4/O/20sCfISUlOzV9nMOmc8VMfbW7UY oZ3D0XfBobYSMJIakXiqy8Uxhqqr8Q7q/zWRDBHY4/jg8UXgqdfXHJJBMuVJdjCmq0jtT9g RHYUZzB34CvcjySZLfDAuGD/IZQNmaMuL+IFnGEQrh60wWJUFsDgNG3FdNffDJzsZFRWyVH m+o2aMxGw3nimoXKsW9gZIXFnUt5UrQpPHsRD9CQF1MvacTryT1vGKVdEJDWnr4AL80Y6Ss RWiwYGoY0UM2uQVCmvmVD/k7mwwjkKtjogZa16KV3y7tYWoL4gFC7sM5qBxQ== Received: from f7c34508609e (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 95A39690D96 for ; Thu, 15 Jan 2026 16:30:24 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Thu, 15 Jan 2026 14:30:24 -0000 Message-ID: <176848742489.25.5239041839463412403@4457048688e7> Message-ID-Hash: SMHQIU4VM5SNULZMXPWXL6P7VEKSZGYL X-Message-ID-Hash: SMHQIU4VM5SNULZMXPWXL6P7VEKSZGYL X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PR] avcodec/mjpegdec: remove extern_huff option (PR #21474) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Ramiro Polla via ffmpeg-devel Cc: Ramiro Polla Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #21474 opened by Ramiro Polla (ramiro) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21474 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21474.patch This functionality was changed from a flag to an option in 1f0c7020a1. The flag had been added in the early days of FFmpeg in e84c31dc88, and was used by mplayer since "avid mjpeg support (external huffman table)" to pass external huffman tables for AVRn and Pegasus MJPEG from AVI files. I have not been able to find files where this feature would be needed, or any other user besides mplayer (mpv removed this functionality over 10 years ago). >>From 4a55dc7f59379be420cb2294ff08c40bab48244b Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Mon, 12 Jan 2026 23:00:05 +0100 Subject: [PATCH] avcodec/mjpegdec: remove extern_huff option This functionality was changed from a flag to an option in 1f0c7020a1. The flag had been added in the early days of FFmpeg in e84c31dc88, and was used by mplayer since "avid mjpeg support (external huffman table)" to pass external huffman tables for AVRn and Pegasus MJPEG from AVI files. I have not been able to find files where this feature would be needed, or any other user besides mplayer (mpv removed this functionality over 10 years ago). --- libavcodec/mjpegdec.c | 27 --------------------------- libavcodec/mjpegdec.h | 3 --- 2 files changed, 30 deletions(-) diff --git a/libavcodec/mjpegdec.c b/libavcodec/mjpegdec.c index 3af4b05551..8ece4ad57c 100644 --- a/libavcodec/mjpegdec.c +++ b/libavcodec/mjpegdec.c @@ -36,7 +36,6 @@ #include "libavutil/imgutils.h" #include "libavutil/avassert.h" #include "libavutil/mem.h" -#include "libavutil/opt.h" #include "avcodec.h" #include "blockdsp.h" #include "codec_internal.h" @@ -145,16 +144,6 @@ av_cold int ff_mjpeg_decode_init(AVCodecContext *avctx) if ((ret = init_default_huffman_tables(s)) < 0) return ret; - if (s->extern_huff) { - av_log(avctx, AV_LOG_INFO, "using external huffman table\n"); - bytestream2_init(&s->gB, avctx->extradata, avctx->extradata_size); - if (ff_mjpeg_decode_dht(s)) { - av_log(avctx, AV_LOG_ERROR, - "error using external huffman table, switching back to internal\n"); - if ((ret = init_default_huffman_tables(s)) < 0) - return ret; - } - } 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"); @@ -2940,21 +2929,6 @@ static av_cold void decode_flush(AVCodecContext *avctx) } #if CONFIG_MJPEG_DECODER -#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 }, - { NULL }, -}; - -static const AVClass mjpegdec_class = { - .class_name = "MJPEG decoder", - .item_name = av_default_item_name, - .option = options, - .version = LIBAVUTIL_VERSION_INT, -}; - const FFCodec ff_mjpeg_decoder = { .p.name = "mjpeg", CODEC_LONG_NAME("MJPEG (Motion JPEG)"), @@ -2967,7 +2941,6 @@ const FFCodec ff_mjpeg_decoder = { .flush = decode_flush, .p.capabilities = AV_CODEC_CAP_DR1, .p.max_lowres = 3, - .p.priv_class = &mjpegdec_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | diff --git a/libavcodec/mjpegdec.h b/libavcodec/mjpegdec.h index c2f83ac949..6c934dc564 100644 --- a/libavcodec/mjpegdec.h +++ b/libavcodec/mjpegdec.h @@ -29,7 +29,6 @@ #ifndef AVCODEC_MJPEGDEC_H #define AVCODEC_MJPEGDEC_H -#include "libavutil/log.h" #include "libavutil/mem_internal.h" #include "libavutil/pixdesc.h" #include "libavutil/stereo3d.h" @@ -54,7 +53,6 @@ typedef struct ICCEntry { struct JLSState; typedef struct MJpegDecodeContext { - AVClass *class; AVCodecContext *avctx; GetBitContext gb; GetByteContext gB; @@ -139,7 +137,6 @@ typedef struct MJpegDecodeContext { uint16_t (*ljpeg_buffer)[4]; unsigned int ljpeg_buffer_size; - int extern_huff; AVExifMetadata exif_metadata; AVStereo3D *stereo3d; ///!< stereoscopic information (cached, since it is read before frame allocation) -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org