From patchwork Fri May 17 15:25:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48956 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2951056pzb; Fri, 17 May 2024 08:26:30 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVuDjRMAKwxtLMIHxpYcJdapsCOIjqYWEBcWNZPWoMhLlGKFijI17rsk16VRPdcAV8T5ZrwssWWQ4qXYgfOvcjenwvo5eXAo3GGZQ== X-Google-Smtp-Source: AGHT+IH1vMJF9OtZQJKg1jfcKuKe246EcGpKOLP/oosFHfdIqMUZvTFp9X9crhTk4o3LToIku0SA X-Received: by 2002:a17:906:6859:b0:a59:aff8:c713 with SMTP id a640c23a62f3a-a5a2d53ae4cmr1541901666b.10.1715959589741; Fri, 17 May 2024 08:26:29 -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 a640c23a62f3a-a5ce3ab19f1si254233266b.366.2024.05.17.08.26.29; Fri, 17 May 2024 08:26:29 -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=attmCmeL; 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 2460E68D37C; Fri, 17 May 2024 18:26:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2084.outbound.protection.outlook.com [40.92.74.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id CE87468D334 for ; Fri, 17 May 2024 18:26:10 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JOia8AphiqS99mmmULMG8eiA9jSdrRA6Vny4E1UVve+oYMDKXiNllJnm1buTVE6z6PZFhwf+YkRtGTKR7ffhhucdljcRJQaHu1b6qpugCoTWqGfwpTf0yiBFFL9BOWTFbuuvReG4trA4UBy5zjO9NpN8Pdf75WD/hDozCP1wbuuuuSdZjelcy1eiDDjRAebcYsAvDKHqEYu0n5GHBCjcq/HOtxrGtuT8srADabsKQ2npwx+aB+4o8FUDtBlMuFXMhbpinUqnfrWCITkHxUZJNIKI3lEtRpC5sND5r8xHa1ja/oW8aXPb7AylKJ60GuXCzzSolKB7WXX8/b6EQHvNOA== 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=hSOCLQHwX+HU5ErDUGV7f8Um7lwRiT2HFNQSkEWN9CA=; b=XeePBDgv/9yqJy5/W5njMs4zk/mmFWa11iX/YhQxYpMfMnWeLg81K2s5cxQpqlZCvkEmlua/Zgv67aaFVYNvZvRAEduQBJ2nf7HthuYmCpP3CULrsz9GIkAJJygMKWLeTF1U2YKXZaHBIi1+1Z6LtGEoejPrG1mmX05mPC4xOPvjsuwKNWPcy9ADrPw0K73J/VODArFiSWFXfSm8Xbmu0gkx7WqCpMWY+nPSBKh/DR1T6fPaWty/DlTpUMdIYhznE6Xodrv+Y9MEHFKteIlZ+ykLqzpYaFmfTUwCeoEa3mALigrGSkzYk2VlJBcwwWaDtnBEpvHEidCv0BCTS1MkpQ== 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=hSOCLQHwX+HU5ErDUGV7f8Um7lwRiT2HFNQSkEWN9CA=; b=attmCmeLle6ChQWBBQnoSi7jG7jbmmIuOFnglXTqhbam5Ayl2Ul0w76PynazPF+PV0+VUS7A0XPpMpU19tbQnKo0HwMkghM1TNZHE8mOmzHhKC476H38E2vhIppVPtjxBQrhyjlhVtYYjHZuwiSKdKw80+VPGd0SScvo09IZNpuM0vooW0NuoR1vzB5fOlhCgjZAVBd1RfhNLIwfHX7scV9XqVtWusvmf2p/rMJvsifY7zofsPdLw2SCm4shIBvEbBlpa6RyHd83Kglqd/Q6aL+zJI524bJw3PlObo1Ypt00oJXyUQ1MIY9SgyHCM60t2gxlVIDYVN2JnBUyIWq9uw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0048.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:23b::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Fri, 17 May 2024 15:26:01 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7544.052; Fri, 17 May 2024 15:26:01 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 17 May 2024 17:25:39 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [bQRH87hhZQty6Bdg1Z5vPkLouwEgvl5PJK8n6HQwIMI=] X-ClientProxiedBy: FR0P281CA0269.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b5::7) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240517152540.3794055-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0048:EE_ X-MS-Office365-Filtering-Correlation-Id: 278324ed-e578-4adb-8555-08dc7685a8a1 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|440099019|3412199016|1710799017; X-Microsoft-Antispam-Message-Info: /cGFiiAZ/6MNB2Dh6yt0KVRLG7G+ZNIXltDhtZKWEMtK24pTGj6IC6qxn/CLbUlMmV4xWPy5j2lo/MvX5hD1UFdpWohNLJrLC3DuIZtVVfVQhWxdd7rYnfho6pjjdfVBlvhcgpfvNIIJo9Fg+UQy4gjxekkbfEm/TEsjutNZWzkOVBh24MSLXBqR9AjNzuWrL6POCImczzNa/MR8apk/VuXpzi/A2zBRlzgT+0JdkvHZ8NOQAnCslmowQ4UsXAo/UFMbN/il5z8WpE0fZr2XG4zJGCR2JA/CeHcGEQ0wzuyJGlbBgwSONSdYKKYoVBSlfgVdoRbQWnym0TLvchz5B5JMRjpW2bZYtgFjYVd2ospdTAtS0r2ohmMTL06GuYlcwhUwXmZrmVQCdxlwdsMTghmoGq5jDS5QxER/PkclJXvT2DmlLrzmOiErxW1MKYbGk/QKF0wxyweMtB3QrIgyg7CaXjwQGi3/EcrFfTjj5Fv85qudcwsGzJ+7K6yle4oZBsK20Z+UfO9UTeotZhomOXFHu0so6Zxp75U27fEdKGkw4O8wnI9c/GFtJ2fWLRM0GaueTy1P3pwenI9JipytjM32tc7GM+t7nJVtyol9IT3FU+29RbtrQsml48J71nJW X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ajBp1Jzb4QdFyrbbJivUhS/bjcVikTFOYHkHYGAmgWNS7lCZPBZZpNp26+OjLs1RjUGmExtDtZ9wVJZSGAA3qJ5BhFXT22O8monGSGaCdWYugw+0xYfoJXCdNdiHEih/ojQR7HSfh++nyvYlRNb2Cecws1QJ86Ng00iwMzXr05yxPoUmcUeR04cbpZdlZWNPSenbo0vUEnQtsyEgzgCUQmCLobWnN2mpDdKd5ZUy93mfWa2Tj9T43Pvz/GPGa340ofAP3dZHRgvB9JZUsoD5Kg1Lk09aRxnjAYLJVE99411gc66tJB2uRDqk+1WFWli9qRPWkq5zCBSpyrzYuj25i/1zTUnRziuNuxAPegn7HpQC4LqgLvkidkqZxhO3NoFjQcHYzGH5n9v4cBIlDAm5oaJ4zL0qzK30CvcEQAReime5jI+jFvaOZ6Lv+/I9I4ZcG1Ke0UG3+yr7LAtpKoxwRr99/p+NNoRADNCzlpg2mNg74Wv+eXQfba8gdqPpIsGERpqoni7q2CQSPrycpUWqVwJYBYz+w3hfkcmYmSchR33xfuO5HWjW1rGSdJn23Fl5ea8Idu2IYepXbOy4+xAJuWnlvP8Wj1YB/uZIb7HaZMI67dJYH5IOkSe+7+1PHzqbHeXOZNryVO7gFDVQCQXTTXFwKOzIt0/pU1y1oheM3HCCMezGd+AEXiW91dpSim60ejUS/GqXDY6m0FY6kGXl/0WywC+IgTV/NyheusuMSjL0D8JTktWEQyzZPtj9MIkLAq1MS2aHWJ1FCWUwjLNDpxJDO093nqqL5DqqUILMl1eoIkTlR/C5enzVenuEl9iD71DyzRoXm8NWh8zcf+/NQUqh99ajoGZYg/9BNWQDjW1gEwS81gbF4PmSzxJ7pGyjxr/whIqx5/OJ2NAzGrS4AVv2cuX2ImKNtyx9uDhVLaJDrsYre6Zt5vRh1SIpPo0K3Yb9cDDGOLQdRbSnI6YhQd9m66qdquCHx1K/gifaQKnA+kduZ8+WMABBT+uivsoCbEeI75SpLjI+Q27qo9Lk4YTP8ucQM20wo2tr/VfvKNSjtGplblm8+ezRR3qKwdNPjCwK5M+D3kgtHrOd8L6715fT189m4M0eV7Z9BpkJrE+hxEB22aSq/s81rva09fmTO2b1FF1iZazhweuYmyQDVxaCq1l9b0tM+dcR9ZeD6BEsyhwOsTMjXuepp8sqx0t8E+f3pej39zG8MUnrCABhrDLv8YSpJmoyiqBo8XBmKOfj/QpXvwzuR8Jos87+ljdn4vFKm6pHHa88g3Jkbmensw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 278324ed-e578-4adb-8555-08dc7685a8a1 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2024 15:26:01.3707 (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: DU2P250MB0048 Subject: [FFmpeg-devel] [PATCH 5/6] avcodec/lib*, avformat/tee: Simplify iterating over AVDictionary 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: CH2U5IRrdBL0 Signed-off-by: Andreas Rheinhardt --- libavcodec/libaomenc.c | 4 ++-- libavcodec/libkvazaar.c | 4 ++-- libavcodec/libsvtav1.c | 6 +++--- libavcodec/libx264.c | 4 ++-- libavcodec/libx265.c | 4 ++-- libavformat/tee.c | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c index c39853c20f..dec74ebecd 100644 --- a/libavcodec/libaomenc.c +++ b/libavcodec/libaomenc.c @@ -970,9 +970,9 @@ static av_cold int aom_init(AVCodecContext *avctx, #if AOM_ENCODER_ABI_VERSION >= 23 { - AVDictionaryEntry *en = NULL; + const AVDictionaryEntry *en = NULL; - while ((en = av_dict_get(ctx->aom_params, "", en, AV_DICT_IGNORE_SUFFIX))) { + while ((en = av_dict_iterate(ctx->aom_params, en))) { int ret = aom_codec_set_option(&ctx->encoder, en->key, en->value); if (ret != AOM_CODEC_OK) { log_encoder_error(avctx, en->key); diff --git a/libavcodec/libkvazaar.c b/libavcodec/libkvazaar.c index 0711d9ab38..cd731ae9d0 100644 --- a/libavcodec/libkvazaar.c +++ b/libavcodec/libkvazaar.c @@ -111,8 +111,8 @@ FF_ENABLE_DEPRECATION_WARNINGS if (ctx->kvz_params) { AVDictionary *dict = NULL; if (!av_dict_parse_string(&dict, ctx->kvz_params, "=", ",", 0)) { - AVDictionaryEntry *entry = NULL; - while ((entry = av_dict_get(dict, "", entry, AV_DICT_IGNORE_SUFFIX))) { + const AVDictionaryEntry *entry = NULL; + while ((entry = av_dict_iterate(dict, entry))) { if (!api->config_parse(cfg, entry->key, entry->value)) { av_log(avctx, AV_LOG_WARNING, "Invalid option: %s=%s.\n", entry->key, entry->value); diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index 9bc165f0cf..2fef8c8971 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -210,7 +210,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, { SvtContext *svt_enc = avctx->priv_data; const AVPixFmtDescriptor *desc; - AVDictionaryEntry *en = NULL; + const AVDictionaryEntry av_unused *en = NULL; // Update param from options if (svt_enc->enc_mode >= -1) @@ -326,7 +326,7 @@ FF_ENABLE_DEPRECATION_WARNINGS handle_side_data(avctx, param); #if SVT_AV1_CHECK_VERSION(0, 9, 1) - while ((en = av_dict_get(svt_enc->svtav1_opts, "", en, AV_DICT_IGNORE_SUFFIX))) { + while ((en = av_dict_iterate(svt_enc->svtav1_opts, en))) { EbErrorType ret = svt_av1_enc_parse_parameter(param, en->key, en->value); if (ret != EB_ErrorNone) { int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING; @@ -336,7 +336,7 @@ FF_ENABLE_DEPRECATION_WARNINGS } } #else - if ((en = av_dict_get(svt_enc->svtav1_opts, "", NULL, AV_DICT_IGNORE_SUFFIX))) { + if (av_dict_count(svt_enc->svtav1_opts)) { int level = (avctx->err_recognition & AV_EF_EXPLODE) ? AV_LOG_ERROR : AV_LOG_WARNING; av_log(avctx, level, "svt-params needs libavcodec to be compiled with SVT-AV1 " "headers >= 0.9.1.\n"); diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 2715f277f1..29d1a7ccbc 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -1385,8 +1385,8 @@ FF_ENABLE_DEPRECATION_WARNINGS x4->params.b_repeat_headers = 1; { - AVDictionaryEntry *en = NULL; - while (en = av_dict_get(x4->x264_params, "", en, AV_DICT_IGNORE_SUFFIX)) { + const AVDictionaryEntry *en = NULL; + while (en = av_dict_iterate(x4->x264_params, en)) { if ((ret = x264_param_parse(&x4->params, en->key, en->value)) < 0) { av_log(avctx, AV_LOG_WARNING, "Error parsing option '%s = %s'.\n", diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index c4ceffff5d..ac1dbc4f97 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -495,8 +495,8 @@ FF_ENABLE_DEPRECATION_WARNINGS } { - AVDictionaryEntry *en = NULL; - while ((en = av_dict_get(ctx->x265_opts, "", en, AV_DICT_IGNORE_SUFFIX))) { + const AVDictionaryEntry *en = NULL; + while ((en = av_dict_iterate(ctx->x265_opts, en))) { int parse_ret = ctx->api->param_parse(ctx->params, en->key, en->value); switch (parse_ret) { diff --git a/libavformat/tee.c b/libavformat/tee.c index 0c0543fa65..1a2a8ead82 100644 --- a/libavformat/tee.c +++ b/libavformat/tee.c @@ -313,7 +313,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave) } entry = NULL; - while (entry = av_dict_get(bsf_options, "", NULL, AV_DICT_IGNORE_SUFFIX)) { + while (entry = av_dict_iterate(bsf_options, NULL)) { const char *spec = entry->key; if (*spec) { if (strspn(spec, slave_bsfs_spec_sep) != 1) { @@ -390,7 +390,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave) if (options) { entry = NULL; - while ((entry = av_dict_get(options, "", entry, AV_DICT_IGNORE_SUFFIX))) + while ((entry = av_dict_iterate(options, entry))) av_log(avf2, AV_LOG_ERROR, "Unknown option '%s'\n", entry->key); ret = AVERROR_OPTION_NOT_FOUND; goto end;