From patchwork Wed Aug 2 12:54:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43094 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c11f:b0:130:ccc6:6c4b with SMTP id bh31csp628290pzb; Wed, 2 Aug 2023 05:54:24 -0700 (PDT) X-Google-Smtp-Source: APBJJlFSb7Tj0qGYClb6LcnN5s9GyofdqaBbqWiuLBbcymlKoKZ0rubMPbFLbhRvmzSSfQ/M2/Ok X-Received: by 2002:a05:6512:3b89:b0:4f9:5580:1894 with SMTP id g9-20020a0565123b8900b004f955801894mr6341882lfv.15.1690980863668; Wed, 02 Aug 2023 05:54:23 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id e25-20020a056402089900b0052237401c5csi10609414edy.153.2023.08.02.05.54.23; Wed, 02 Aug 2023 05:54:23 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b="Ww4Ru/S5"; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id F162368C630; Wed, 2 Aug 2023 15:54:03 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2052.outbound.protection.outlook.com [40.92.58.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 538BC68C630 for ; Wed, 2 Aug 2023 15:53:57 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iHJP991cZA21jgdzjUWgOh0cPrnCGgu9eVo9DHLT/Oiwxyi7c+gU4biK4qHTVSVz/9UQ7wuJ5C5YtfEY9/FIOcfxAMz01H1NKddNDnJaHg6cvbrBHMdCrBGlVJJEVO3763+22ADe7EWX+vhO9jgAilyB2BD0+cI/yTZEVspDCJ5LfXolQ+jv0M06GqUC9XzjRtXwdzJTT5M6U+dP002ksAokjuUyQ5Y/FV9qPt/MCwlvu0ffAJUHUWgOK9Mqu3+dLCHmjJVYEJPLuDZcgQ9uh63pxcEtsDoRG3muopvA4ylZnFoDicXJkapsVFbdz7YNT2ZvgIA+jd3g4eKaK6iEXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qm6X0XVcPq2/Sc6R+Vj7CXNHeqhlINvSU4+L40ktY8k=; b=N44LC7qRir0ZtAN360SkIUI3UtSSXpV8emykQCCesijewCNWDhiITU1UZN2KCUoG4AA8b1EuFRSY/6NP2KrBimphgW1J0t7J1eP2XCkmJ1kwE7TnoSQCte3GivB2zDhOvqqc0Eg3HLo9PQXmBTnRtbk9WuwrjVYKhIcR8TK2IJnHAPfbFR10rOeN1XjsqhEbqSyaB0gwtJtTpPz9Bp7wrWwNOWG2iZctHwkLaT+Z00vs1ULT/gQShnUSri9xRYaTS8PCc+TLJQ0K1kzBWN3dnn6n3NEwU7rHJPr3IfIalrczPkyrcBvXT+bhz5QRcR93daonROogn48w75y4wwej3A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qm6X0XVcPq2/Sc6R+Vj7CXNHeqhlINvSU4+L40ktY8k=; b=Ww4Ru/S5Acl74LsFZCB4EAGK78Jd0S+Fd0o01qr5PuLXovdRDqOJUo96sesn7tSpK8ogKYuZhNoI/rXsybQYTSA3Nd/XXCT45tZrRE+cj7iqxNDbI5XIq9tkPaBpMF/5ZU2CjxccXNQZYnFQKaeU2gLoP7dIYx8hQSaOLGb7bNSAfXIrbGBCqakbCpWs5inRmoBiqcWDMjVg4j6qPGMqpMVhIYoPw+7oY/62926dlhy7QAQP++DmfnYQztX4PP3q4ljGHL/NaB1ahjrFu5d2qDmk7Q4hE/b7+a9Jh/61KhW/VxhHzbzneQyMcRmx7nwkrn4W9M+/Hi+q8JuZtG1IUw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0037.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6631.45; Wed, 2 Aug 2023 12:53:51 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4d3a:7ca6:cf28:9e8c]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4d3a:7ca6:cf28:9e8c%7]) with mapi id 15.20.6631.045; Wed, 2 Aug 2023 12:53:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 2 Aug 2023 14:54:49 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [kY6d6vf4lGde/lnmQaKZLjCh0X6lMuaG+k6uwQMvoaU=] X-ClientProxiedBy: ZR2P278CA0056.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:53::8) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230802125450.439724-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0037:EE_ X-MS-Office365-Filtering-Correlation-Id: 195a08db-44eb-41d6-97bd-08db93578565 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmrpbvZQFz99JXWGN3jXDJ2POijgFxaUwGchnOfJXc5Omto57p40GWIm+wMyyK66stQ5HYrqv4fKXQGfA4O7lL5cGLWJRORNWBqMdsqI1YEH1aCd/LBp+mutZ+l+8LaMcRUpa3extWz1nV8v4pxR/+rk1+0wVX0q7DiHnxqwZ/4yBZdCV6fgqRh7pgxphXm918SEx4b3HNrjYMPa3kusgS5u8CqAEmkeOzrMY3xwu+lQeLGW6yXWcJD4yfRFvId93MXpH1QFvIUnNB3ffoa+jx/wqFfzGYvy0UAAJkpaUtG+oQqeymxVMKKenX8LkGWt4wZRQzeUmTi+6fY5iomOqt0Hr1cVItsUwO/dPwSxRm0D7c2d1m5A7E2dMYv5yHPokGJ71gsCAnmR8pW21PwdT8oHlQ7aeoin3F/cR4aoEEOF7E5USAdTlanWuiYK4mTm8D1K78PRdmXMPyH+dPyi30A8AmrIgTAzEItpIRcuSOlsvayNTf5mPaR2an381cMzdLOWnxwlCE5Nr7n5aeUS9d1VSyhxnOJqBFQc6usVDq8RJeYa0GwlVnHpHN9xJ+rHtbL7woiHk99lOGdL77QyDMQYqwiC2HmCPHAJwG2z9hJdmZTzXN1XXZzOnorGlZGlfBFhrqiTM4iMhCa7ZZ1DbNnTfsEZrDSyLpfTwwC/Z+QYKJSDLoijTHmpbQEjArX0FaDnjUGs6A/0vJUFPPNYnt0ukLU0CKjYVtrV40RngyZjCRvrRoN0sUmPHHx4Mvg+uNs= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Y4Fn8jQkdO6FiG7w4+Brvcq2hDIFCkdn0XepQIKqv0zzixie5mHWuPn6LdZkOasAV39QFm71o7J30+ca+r7p7xHYroZLR54GU71htSGxgYQO8XhDYgg8bnLDz+pHfWMGoemmAzXUlagOgp4jFN9h4wEFv0Wk5MdFZknirTEeoMi4OTMR8YMN7H/TFR1qRu4okUQWB+uY5dh0o7h6MYq4e8kV7S7+5X7/dV3QOQLx7G5ehjg3xlrB9jYaKBxllNITi5+VFcB2h6NtYj9EY0gdgBZVuyiwP3HdCfgCeuYWZ+kRhS1pVU3mUgMLHQA1kwqC3Clt+E7p2pUNXlm3w5vrdtPM2CQAcMk3pDYa5o+qXR2TlCI6R+4Bd01jVdk5ZdX3R+5DbHulMAmE4qwBNQiRsB/Lq3KGe2fZDWhKQKaUBQniWcQjF2EjfewniLytv/HWIcOX3CMKO2ARFIWqgGWMqh8eVwn0CMgiaRV+FNQ+nZ8gmAYs00Dyi8HvevzpmDU6kIJqxE9VV3U5tPJVThIaydxitUxlkBZ5DaLAdkIMIZ9seoF9UdiHEhpCvcL5609qA08iFPBJ2pCMKgMIWxpWx7tFPMOr0EA2SDTykbtabLBcJUivs9GUXx9AbuFaZlz1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1TZU4N6v1h8qK2k/15grFto+7sBpgHrjoMhdluOCBx0+yOivpopbSHf+GR+Cx2iBHoAAfkuN9PttXXs2nCEZHgvw6taTIk9oi9xxRv5GUUX1g6zGpgaUfYHZ0YD2ag8Kl6wvKH5fUBI0D3VGjlF+ygr87L0D/qw2AzwSFqWqdl84idH7dHNrh3uj47DMwX/qAzCpZGIq9Ze/1AoVjVsR71/i/2iiHxKUyVdH+hSsR63xxwpT8+I+ndBufzhWGjSvT/kKVGvW/eCq5XlEzX1VonzjOVPummAFce+1IsytrQXXsuozJYwopcWy58kjVWg7uUqR94enEocwrUFiY/lhzlzF30bBVTeZtPQSGH99yHhiMeQMqd5t/fJa9+YuHgq7ReWRwr9xxmS1ACjXghV+umwleNmVDImJ4zhP4Bfs6WgN+CZ0hD7uUHHYcREADwXsRU7BNtp4xgdKyQcfEEdKv3iZ0FxFk5uoiOsA4mpyQpuT63sKDqJBKvfAijahAX6amaQOYJg2pjGkbliRmxVoLVQqdqY048B+d0MoL5k5CIzj8aOqjNFpWPgN6EPltLw/bir9Mvp8rwDiG3/v8VPMUl3oO8F1MEqh9yoGXi72J+Nj3p56M0IAt6moHFW4E4WsZaZceWCUUzey7FJL8WHjiUsP6lV6TC31bSYq4kitu2QmXsRmXXC6AAL+94LwTSgt1pM3c2VpPVSm32/t4PbOzeg5rkIBVgRe+HXfACTftTTU9zSqEB7M7WLJAeqQD5RN7PtYZwrbE10A7MGLwSEoS2uPhS3fbus6dpjKGkkaIWwTPIuqqXFUhB5Hb92fUl88AyTGLs06j2vDQhqfqVBG/FfVSdgQynma8dNmv8XG/C412IiHknoH0zWkxSPQAjO2yaSfCYmYbVnq+w+tSl6JGi8w8/nGb03/AU8VRiVYdEarDZre6ZrHdAfv9WtjDsIe887bHqaObEg4VEB1gjohPQrNg6193qhhv55zhrQq8dJvRltJRBEptRD0kGQ1URejgs1alPqwIWluSyM0uA3G6rQZfCG6k8yNouzkbnckZ/+oF95zW3BoAg6WPdZPqotN3uqywHlcOBlvy21szry2tvJW5UVrFgGNSGbwwFkl51X1thI6AkxScy6KdQXQRbAMbdYehTAoNABDyhzA/82OU8NXPYh+SPnIenmW86ytJ+1mToZjKPMoAM4JVh5JrCbzB7HCQX7tDxF6awouTVkb2W1YxJEwu3LMfKAkxyvcB82gzZRyiAkveaYRBdHN0Jzf X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 195a08db-44eb-41d6-97bd-08db93578565 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Aug 2023 12:53:51.4833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0037 Subject: [FFmpeg-devel] [PATCH 18/19] avcodec/utils: Move ff_int_from_list_or_default() to its only user 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: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 4hQEOXN+YCOu Namely proresenc_anatoliy.c. Signed-off-by: Andreas Rheinhardt --- libavcodec/internal.h | 12 ---------- libavcodec/proresenc_anatoliy.c | 39 +++++++++++++++++++++++++++++---- libavcodec/utils.c | 19 ---------------- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/libavcodec/internal.h b/libavcodec/internal.h index 7de6c577fe..a67cf713ca 100644 --- a/libavcodec/internal.h +++ b/libavcodec/internal.h @@ -207,16 +207,4 @@ int ff_alloc_timecode_sei(const AVFrame *frame, AVRational rate, size_t prefix_l */ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx); -/** - * Check if a value is in the list. If not, return the default value - * - * @param ctx Context for the log msg - * @param val_name Name of the checked value, for log msg - * @param array_valid_values Array of valid int, ended with INT_MAX - * @param default_value Value return if checked value is not in the array - * @return Value or default_value. - */ -int ff_int_from_list_or_default(void *ctx, const char * val_name, int val, - const int * array_valid_values, int default_value); - #endif /* AVCODEC_INTERNAL_H */ diff --git a/libavcodec/proresenc_anatoliy.c b/libavcodec/proresenc_anatoliy.c index fc48c97d5b..c701275e5d 100644 --- a/libavcodec/proresenc_anatoliy.c +++ b/libavcodec/proresenc_anatoliy.c @@ -32,7 +32,6 @@ #include "avcodec.h" #include "codec_internal.h" #include "encode.h" -#include "internal.h" #include "profiles.h" #include "proresdata.h" #include "put_bits.h" @@ -198,6 +197,35 @@ typedef struct { char *vendor; } ProresContext; +/** + * Check if a value is in the list. If not, return the default value + * + * @param ctx Context for the log msg + * @param val_name Name of the checked value, for log msg + * @param array_valid_values Array of valid int, ended with INT_MAX + * @param default_value Value return if checked value is not in the array + * @return Value or default_value. + */ +static int int_from_list_or_default(void *ctx, const char *val_name, int val, + const int *array_valid_values, int default_value) +{ + int i = 0; + + while (1) { + int ref_val = array_valid_values[i]; + if (ref_val == INT_MAX) + break; + if (val == ref_val) + return val; + i++; + } + /* val is not a valid value */ + av_log(ctx, AV_LOG_DEBUG, + "%s %d are not supported. Set to default value : %d\n", + val_name, val, default_value); + return default_value; +} + static void encode_codeword(PutBitContext *pb, int val, int codebook) { unsigned int rice_order, exp_order, switch_bits, first_exp, exp, zeros; @@ -761,9 +789,12 @@ static int prores_encode_frame(AVCodecContext *avctx, AVPacket *pkt, *buf++ = frame_flags; *buf++ = 0; /* reserved */ /* only write color properties, if valid value. set to unspecified otherwise */ - *buf++ = ff_int_from_list_or_default(avctx, "frame color primaries", pict->color_primaries, valid_primaries, 0); - *buf++ = ff_int_from_list_or_default(avctx, "frame color trc", pict->color_trc, valid_trc, 0); - *buf++ = ff_int_from_list_or_default(avctx, "frame colorspace", pict->colorspace, valid_colorspace, 0); + *buf++ = int_from_list_or_default(avctx, "frame color primaries", + pict->color_primaries, valid_primaries, 0); + *buf++ = int_from_list_or_default(avctx, "frame color trc", + pict->color_trc, valid_trc, 0); + *buf++ = int_from_list_or_default(avctx, "frame colorspace", + pict->colorspace, valid_colorspace, 0); if (avctx->profile >= FF_PROFILE_PRORES_4444) { if (avctx->pix_fmt == AV_PIX_FMT_YUV444P10) { *buf++ = 0xA0;/* src b64a and no alpha */ diff --git a/libavcodec/utils.c b/libavcodec/utils.c index da652d4db1..bd4131db62 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -1142,22 +1142,3 @@ int64_t ff_guess_coded_bitrate(AVCodecContext *avctx) return bitrate; } - -int ff_int_from_list_or_default(void *ctx, const char * val_name, int val, - const int * array_valid_values, int default_value) -{ - int i = 0, ref_val; - - while (1) { - ref_val = array_valid_values[i]; - if (ref_val == INT_MAX) - break; - if (val == ref_val) - return val; - i++; - } - /* val is not a valid value */ - av_log(ctx, AV_LOG_DEBUG, - "%s %d are not supported. Set to default value : %d\n", val_name, val, default_value); - return default_value; -}