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 4C5434A000 for ; Fri, 17 May 2024 15:44:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3F90468D2DC; Fri, 17 May 2024 18:44:36 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2048.outbound.protection.outlook.com [40.92.73.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E35C168CE33 for ; Fri, 17 May 2024 18:44:29 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B2b/dgg/pRhCZ4zKZDZ4Kxip5SatKa0R9cgW/JU8EFS3qM0uQhzCjZL1+I9x4QxATt+cqEeGB1s3Xru2DFLq+jIgFprzT03zv8w0nqzz3PysSkk5TKHC5mSuTcvKaWVkXeQUqoOzxLAi3KYV04Hvf7qe966AhQcYs8K0kbP2PudgVfDXkTbuJSH4p8dKif5g5CFSskkrJt8dy9skrNAjnHYczvwNel+h/aLcNP4L3FVMj6KsHCUphMl71a4AFzexwR91YwqdThVsg6J2IB9Dz0e2FSmYR1xz9FSlPwkB4zYfzJt+cytJGV8qKjH7OybREG5tKMlhfCJ2sQQMu2n0yg== 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=rupS1+gfzqBSh5OZRsoD7UcHdxpoBHOR8mejwzo3eKU=; b=Y0UrkR+GAQbke0rRJsp9mgmh3IgU+o4Aw0Hf+2UB+DSsF2TpsaEGQXuB2oRnzwDl7ZfNWjTuJ1q36Yd/oIFyOMK+U8eix2hf4gekhRiNc87O13UhJmKgdy8TutrFbP52Ex9yPOzAEDqSrxhy+aMMJLEokmYgndzbdqD08uUhVwcaYjX6rOyf9dA0OfceUJ8h40jyZsFix61yJeXcI2jaSxCDW9lLwBxLrv1E2KPb6y/eOrAmppxRe7I7sPK9Umt9J/Kz0Dw87wbtmPISRFzL4J2eZX4RmJenqt5Ok8qOEeWGrQEHYhy3FcXh/WGoeWgk93CxUywZBe4SV9JQJ1GpXw== 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=rupS1+gfzqBSh5OZRsoD7UcHdxpoBHOR8mejwzo3eKU=; b=Fy5gAGxAB/oOl46yfLRSS/ec2IlEg8dvBk7e+Yv+r25YdHVoVIQN0YumbZX7/6l8MOqsrJR58YY5kXDmApEed5dsuOQOxvmp/kXG14/sW9EhJiK1XeVhCnwl/5l/dNDZMgN0ZPXjhvQYlVOI5AYSkMxQFHUK6+LKVsUWWUTJTjw/u1j3J2zNytl40G+pSHndeo1GumtYzVzlr2YA8Y7gLtgiR/kPjkRZUA/RpQ59+WBqBM7s7zIox6vxkmNfnfmyeu8ZBHuH+/iFQ6eyu9jCQNaXojcuQ2GqTHg/CsKDg8qQqDG9Qs7ZznAiQWU/LB/OQ/TWfW6xIFJHU4mWUFjK5w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0216.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:327::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.30; Fri, 17 May 2024 15:44:28 +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:44:28 +0000 Message-ID: Date: Fri, 17 May 2024 17:44:26 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <001EA02E-CE53-4895-9B53-38CD3B2A4C1B@gmail.com> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <001EA02E-CE53-4895-9B53-38CD3B2A4C1B@gmail.com> X-TMN: [g2K6wouHDL7jTbt9BD3etKJgJoD0hGGFYEZQDOFalRg=] X-ClientProxiedBy: ZR0P278CA0171.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::9) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <239d0538-c696-4a55-accf-875f45f7403b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0216:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e4d6271-92e9-412d-4992-08dc76883c4c X-Microsoft-Antispam: BCL:0;ARA:14566002|461199019|3412199016|440099019; X-Microsoft-Antispam-Message-Info: A6ODX90jJP5Yv8pcbodp2Me2vxQufPYKxrhZWmYuFQGcPHfBx9HWCxxlRrwRdmm0Vb4icKXPfg4uNxVN3b9NIDN6FC30PfTDfo2GKUrnv3nMA51SOSnwOqu4LaVEqUQROmHhKAqxb8O3MttN3hyi1EJhKCozJN9jA7LS3Na+IVPaeTFicD1im7qCP9/a7KFHsVXluztP/Zt1xv2AwjhWMIjLGDXHlI7uJ5kOG0EYjjnVuASLFJDyhv6NNLD3CqUgEos7hMPW/aU+HKe9c5ySXXHeo4v1EJ8w3uEalgclTZb7TqZeoNhToeNgEbUHUX1koH8XhiVj/dAlHtORTEYnI6MfvgPygQoTQOp/OeW9uxKP/dG3meIXrqm/XFS294oc0TPjhh0xSWee2BnGbUNMgZa/N1TsSmpnSqly5TcCO/1DTviSNLOfob80q9jyERgk1CbP7pkgsswQHTVuKdtEfJ4cdO4UAVVIykXaqHM/9mxBpcBRpqcx/d6yeNV9ukuk3z7PTB2kRmt2TzZI5wx3Igjme3iLX5yxVHAIe0mldQRfZbZFc8Y6023PoIGhq/oy X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VXhjTWt4ODFtODY0NlFsbjFvTVBIVVdHTnVzaXRaMkRWdmpmMUIyM0REUjNB?= =?utf-8?B?UjVqS0pieE4wRUJvQ3czQlJtRDJ3MzBJZ0tOT1Zpc2ZWbkUwRnFQSnpqS05P?= =?utf-8?B?RnFrdVlFb2JCME53ckN5Z2IyaXJIVnZzNzRPRU94RVBZVC9GeWk2anZhTGdy?= =?utf-8?B?dDBnT3U0NlVucWVvSzZkYzZwZ2R6cnQ5REt0cXRuY3VLbmZQSHNGZTd3Y21V?= =?utf-8?B?bVoyMUtmczE4WFpyVVdFUk53dW93aXZhVVhLb3NFbWhFSFFGZ2NndGEvTWJX?= =?utf-8?B?WDdoenZoUTdBWWJWRjVVTFJCMzNONmlsZTYzRkpaZGRER29BempEQkQvN0ZD?= =?utf-8?B?NHQySFA4ejh6QkZGNndNaTI3OUJzSjZseTFad3V4Rmd2cWFhYVRPcFQwWENw?= =?utf-8?B?SGl4NlRKVkF4eXRCa0czV29WY3ZHRzIwVUpsbk8zd3Z3T1FCTzA1TUU4QjBz?= =?utf-8?B?TVY0YnQwWEx4SGszZ083QS9YSXVxWVBVT3MzS0U5dlZ6c3RjRWlzeE5QTjAz?= =?utf-8?B?OTlPblgyUTFDV0FNYW1LZXdIdG1SSmRhVVduRmJqL1hucnFoVVh0RlJKOXFL?= =?utf-8?B?NHNTblVLY2FUbWt0QjBRV3hCZDJxems0UXZ2MWJsMUFwbkxrUC85OThhYlhw?= =?utf-8?B?RmNLTncxTDc0MW8wbVlkYWJrNjdtNm1YTWRVMStCcGpFVGtoQXcwVEdXUnhJ?= =?utf-8?B?MEoweTJ6YlN3amFjTEQ2bkZOWHAvSUJKQjZxclJTaHR0N0ZHZnpTS01zSStr?= =?utf-8?B?Rms2SXVaMno4TVRCamkyN1Y1VEJWRjBsUlBZYmZqc3g2aVpQSEwxM3FxMkl3?= =?utf-8?B?S0EwQ1hBM3lzdjJIL29OdytZU0t0WTJvOGRnR0ZPWU1tVXhwSkFpU2duUXBi?= =?utf-8?B?bHhKcXZwYzVuWkRySHpUODZJb0I3cHV0ci9DaEVlZW4xaVlyZWRlcTZidHJG?= =?utf-8?B?SFlPN0EzVjZSOHd1bUdwZElxb1FnM0xYamJOQWFmRDI4L0p2N0tGQ2t5TlNj?= =?utf-8?B?NXprQXlNY216VnhmTTJQOExBbmk4djVCYmp0bEd4VEQ3WTNYeG5pRGJrdWFi?= =?utf-8?B?cjJURVVObjlhV2lKaHhKRjlaNkowQ1BwREVSOEhicERmT3FXUERINDZGVWpw?= =?utf-8?B?ZGFKSU8vL1hhSThaVld0dzY0RjhVc2hwalFZOHFTU28yUHNGSTR4UEJndnVv?= =?utf-8?B?eE9wNGpPQm94d0RBZkQwZ0VZSk1RSFowOTU4bXpKU1dKaWhBVzZxM1czc3Zn?= =?utf-8?B?RzNkZmo1NFdmeUlGd3ZDQ2d4aldqUm56VHd5RGR5Z2RVY1BHTUlETFZVWU50?= =?utf-8?B?Wi8vWU81TWxWQjIzMTRCVmYzcUhNem43d0N5MUVzMm40TUx2VmlTUjRiamJ4?= =?utf-8?B?RFNLVi8rUUxJUHQxbFpFMWw0SHpZakh5Nml1UEUyS2JJVER1WjJUbmZ1TEhn?= =?utf-8?B?Ui9ZejFaZXNaTTkzQTZ5ZndSNTkrRUxsZHJ5NGlpVUFQRTlOa2cyZjBWdUlP?= =?utf-8?B?d3VJVml5L0FFMDg2UWVadktGR0JJbGpZVG1OdEdVUlZlOEUvb3hQSldZcUdp?= =?utf-8?B?dXUySEJSc3ZjaTZZTHRzTXpVaHZucmZSc1JaYzhjSEdwaVU1NUN1TExJa29k?= =?utf-8?B?VGViTWlXdFJ6UXMxVGg5OTRVSmhETGNXT2kySnE3SDhqaTRMQWFKcG9zYmh6?= =?utf-8?B?Y3lZUXZWbll1VFpQbjdQcWFZaVVNT096R2JoZUJXcjN5cGNwemdUVm9RPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e4d6271-92e9-412d-4992-08dc76883c4c 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:44:28.0947 (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: AM8P250MB0216 Subject: Re: [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 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: epirat07@gmail.com: > > > On 17 May 2024, at 17:25, Andreas Rheinhardt wrote: > >> 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)) { > > Missing pair of braces to make the compiler not warn about assignment in check, no? > I did not change the parentheses in this patch at all as doing so would be orthogonal to the patch. We use this style without the additional pair of parentheses everywhere and actually add -Wno-parentheses in configure (line 7429). >> 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)) { > > Same as above > >> 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; >> -- >> 2.40.1 > > Otherwise LGTM, thanks! > _______________________________________________ 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".