From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 67E7A49CC1 for ; Mon, 8 Apr 2024 13:02:36 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7264168D30F; Mon, 8 Apr 2024 16:00:14 +0300 (EEST) Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 437AD68D255 for ; Mon, 8 Apr 2024 15:59:58 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1712581194; bh=sKdtiDQwwgEKlIaS8/m7JAezUoOww1eQUk5SMvYGgP4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E+5H3u23f7QwaymDXbke1ec416Wd9ftW9Rw6sRFCdwf21b96CoJqOEPl+WWR2meVR VGz9OOAODiTssqv8MsHBM6Kx2jhyJ3wieVd+cKQW3GeDDUW51ZocB254y3KnkN45r8 kQmd0JmB9KAbV3mgXEZ2zZE3b0ovvKXjMk8ItmvY= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 2CB514684B; Mon, 8 Apr 2024 14:59:54 +0200 (CEST) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 8 Apr 2024 14:57:12 +0200 Message-ID: <20240408125950.53472-9-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240408125950.53472-1-ffmpeg@haasn.xyz> References: <20240408125950.53472-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 08/17] avcodec/mjpegenc: switch to get_supported_config() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Niklas Haas Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Niklas Haas This codec's capabilities should be set dynamically based on the value of strict_std_compliance, when available. This will allow us to finally get rid of the strictness hack in ffmpeg_filter.c. --- libavcodec/mjpegenc.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/libavcodec/mjpegenc.c b/libavcodec/mjpegenc.c index 137b68a98db..0473ad132ba 100644 --- a/libavcodec/mjpegenc.c +++ b/libavcodec/mjpegenc.c @@ -640,7 +640,24 @@ static const AVClass mjpeg_class = { .version = LIBAVUTIL_VERSION_INT, }; -const FFCodec ff_mjpeg_encoder = { +static int mjpeg_get_supported_config(const AVCodecContext *avctx, + const AVCodec *codec, + enum AVCodecConfig config, + unsigned flags, const void **out) +{ + if (config == AV_CODEC_CONFIG_COLOR_RANGE) { + static const enum AVColorRange mjpeg_ranges[] = { + AVCOL_RANGE_MPEG, AVCOL_RANGE_JPEG, AVCOL_RANGE_UNSPECIFIED, + }; + int strict = avctx ? avctx->strict_std_compliance : 0; + *out = &mjpeg_ranges[strict > FF_COMPLIANCE_UNOFFICIAL ? 1 : 0]; + return 0; + } + + return ff_default_get_supported_config(avctx, codec, config, flags, out); +} + +FFCodec ff_mjpeg_encoder = { .p.name = "mjpeg", CODEC_LONG_NAME("MJPEG (Motion JPEG)"), .p.type = AVMEDIA_TYPE_VIDEO, @@ -657,9 +674,9 @@ const FFCodec ff_mjpeg_encoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_NONE }, - .color_ranges = AVCOL_RANGE_MPEG | AVCOL_RANGE_JPEG, .p.priv_class = &mjpeg_class, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mjpeg_profiles), + .get_supported_config = mjpeg_get_supported_config, }; #endif -- 2.44.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".