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 67F0E476D6 for ; Fri, 20 Oct 2023 15:41:38 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 08E0B68C486; Fri, 20 Oct 2023 18:41:37 +0300 (EEST) Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2075.outbound.protection.outlook.com [40.92.64.75]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 69D8868C9F2 for ; Fri, 20 Oct 2023 18:41:30 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=POn9W5ESObiOCdeZPqtCmq6K1QX3omAU8KxDFJBPLRydRsJuudHSd1Kcc5zcSXECci0P1uDHNgnkvMyzEyhN8NKsfl0k27YrNcWIx/KspGYboACQMhavt+AghbxMmSryjFx+WJMPv2aF2Ffm3COkHHQAEa+RUmYNRyWYnee46A91f9ioziYQaD9gLcZ0de/myho3MeevutyGatVbpmf1mN3t6SZcaxif5/2iZJlL6te07RNR5iAviBOvmCkkiDGRIY7OCYP6f94bt9lLCVnViVIoAYQvzwxobj2oPCXJLLZXmxHq5GFFNlqAAXuVh7/dX0KkZ8EzuRminPGp7n5Bfw== 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=01/mLa+dSLn61SpRR43ARbODCqSQxld5IhUMbmNSA6I=; b=FhcSGWeY1niqkSHENguSJrjVcjcmYycRugR9dTvVsaahGAKK6xsb341LW00ycU6IeYFo9EDe4lC5aWwO4p4NVoiv6wxjrvTEQCY4pcuKOWvqvuFucnrMbqyaz2Pgtwdpwrr+Yljx4NgglHIXRJb5ZhFjzkuk9TkKWuusyFLj8zcukXB/tmNgMYrKibrmJmlVmC4iIp+M8fQNvOIWmGls1jhgFySdGWvnSUICEFdGNYXypEoq4208VSHA8i+g+4u4sjULuK/SzAfhL3llK2/6PsObNIpD1FMnM2EO6n2Gf87FUmfRnmLuqgS4SzdW7T5nU9rAyQGOr6o49dG1G7nnxw== 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=01/mLa+dSLn61SpRR43ARbODCqSQxld5IhUMbmNSA6I=; b=mgSN6BtXJz1KhoTK/Fv69ABlP4AYV76Oe6zXZHxyox3uI/tF6E5APpsSm2gZV9nmsUgS3Smrcbn++d4x3F+8EUWvC7VaV2ZnLdkMhMkd4Bm+EWRWWw/OFW3+iO9tcg1ejnekcwD8RfYbDLz51u3vwjR+TMqSZWgTVVyAZJiN+ao4TKxApnrc4aKZVFUd5jyhDXVsD3Iea5FJRCcyxg1Qp3YFLyFpxViVr9j/om1T9lTW+wB+yTZSjwnz+49NcIagr6q8ynjzByUs/hott4dWk5zzGgfltmHkb7J/0qe1uLL4dJ6E8HmBJPN+v1+Z2g2H8PAS7s25K48iRMbibAKvkA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0348.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.24; Fri, 20 Oct 2023 15:41:28 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::3126:4823:194e:6f86]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::3126:4823:194e:6f86%5]) with mapi id 15.20.6907.022; Fri, 20 Oct 2023 15:41:27 +0000 Message-ID: Date: Fri, 20 Oct 2023 17:42:46 +0200 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20230501114456.13898-1-epirat07@gmail.com> <20230625104907.53071-1-epirat07@gmail.com> <7D4C10CB-A3F9-4ECD-916B-417F3F538913@gmail.com> <169778989751.30698.15022276759252509666@lain.khirnov.net> <169781243953.23937.14914348831533735500@lain.khirnov.net> From: Andreas Rheinhardt In-Reply-To: <169781243953.23937.14914348831533735500@lain.khirnov.net> X-TMN: [XO9qTWQyOsmgEFRbk3VEPFtpcvYOp+Qr] X-ClientProxiedBy: ZR0P278CA0142.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:40::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <3607ec6e-6bda-403a-b10e-7e8c34f3513e@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0348:EE_ X-MS-Office365-Filtering-Correlation-Id: bc00dfd5-4015-466e-2011-08dbd18305b3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: deIpB8Ka3875cUUrc0+M2Joybc5NAayS+E/D0sTIM/ttYcEn1rIfCzoMv4+xJjST6yRNqTz0930v6E4w+gUFujhjjPdOyjzk60oExSCNoNuDk+7rSYONeZza6+jkJ1S+tX2D8JRdhZo+YH5La+JjmaGU5BdTt66SUNsr9cStqQeRKcG7nyvyal2TEMggkUEwpQHcHRIlkzZEOyy/0HSCr5233XExEt1owKd38Rf5l7rBm5NVfyTcsv5Ug5IhvK28AVs00VOloZi/vuwHYgkc0eSddvrC14M40qkbwg8DeV+z21OQg0iZgfUM/kmqje9y7d+pmOGX8mC0KfzgfT18EK6la9nHMad9EIpinVpB8QLXMat+AySVgRxfjhSFIGWnu0gcwIBK3tPLBI15AyQ1PAxMc8o4r6xJueRFisZ0ZQlwZXCZIJ3BPVSjbhXXWuX6rVij3fuQTPN9roYmToRk9jzagL4PFkeb32UMZNAphkf8wwxcCIPBrcuusDl7tZD5CUccyzTk0iYdAIHxUUxd77qSa6yHXBEz5bYfw12XGfGeQ/p3XyMSk/82WMPXr1tN X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?QTQvMDc4NGJQVW5RNkkxNURwaTV2WjNDck5zWENsRTNtNXlpSm4yQUF1dVRK?= =?utf-8?B?THExbWs5Yk5ISlkzQmEwRTVObzR4aEZMV3BFTGRJNVVOM0dDVHpib0VKa0Ew?= =?utf-8?B?V2c4SGhlaFVhcDFwR0haQ3ltcUt2cVZOSFNUNm0xeXdRT3FLbVk2aTlKWGZY?= =?utf-8?B?ekd6eEhva3BNeWNaK2Z0c0hlK1drbFhuU3Bhc2pSWHYrdkZoOG53MzE2d2xZ?= =?utf-8?B?WTlvaVV4aVdTdmxLVmgrSitFYkg0b0ZqVUptN1FhT2lOYUNlcklRTGl3Vkl2?= =?utf-8?B?SUZRU2FGaUVFUGJ3ZFNCYmVObWlqSDY5K2o3dUIwa2orQ1BjY1R1OGZDcVhG?= =?utf-8?B?RGk0YVkzdFhTRFBLOGh6c2FXdjFJeitmZ2UvSTlPdmsrQ1RyRExtKy9hTGtZ?= =?utf-8?B?cnpTUU5mb2w2VExTR3NKclE5TEdOWnlweTU5MjR4TW8yT21sWWpDMExlLzZJ?= =?utf-8?B?YlhrRlZJaUZ5VTI3ZEoxUXVtTjRSOTRvSndQRVpsTGtQR0x4N3pSRGdoN0VJ?= =?utf-8?B?R2tWWk9xdTFUQzVJckZEbENXQlg2cjBZUkJYNmtNRk9mVnRQMHpXNnlKK0tI?= =?utf-8?B?VHpIVy83L3d5YlcyU2FmYkpXOGV3YUNySDVYNnBDaThuczlORW8zWjErVVFM?= =?utf-8?B?bytxckNSR0MzcEJTMnFud2E2ZUh4c0dTd3RtRmJxUGJIc3laYXlCL2YyRUQx?= =?utf-8?B?TXdaRlJUNjJ3TjE3ZjE4b1cwQkw5Q1NKbjFIWG54TGhuWTlZRHZkNFM2SGRy?= =?utf-8?B?cGJSVVNndFlYSXI3cVc0aTVXNWgxclFnVGVXMnlpWUlrY1NlWDdLc3NPQi80?= =?utf-8?B?Z2RRaDRxU3RYenNGbVB1MERuMy84OExKaVJ6K3VzS2RsMEJTeU1xTU5VR1Nn?= =?utf-8?B?NnBpaUNHdkpYSWJBYTE3aHpBdFFUVUpDek5iZ3BmcXlIa1pJS2Z1N0srYmZo?= =?utf-8?B?Q2NVRTUxOVBwbms1Q2pCMWNpZGxVc2hDWUoxQVhHbXIzQkZuVldWMTFuUDB4?= =?utf-8?B?NG5QdWd3bzB0dUJtZGVmMERlbS8wS0R1bmdPaTB0cjhkOGxwVWhLSGNlOGFt?= =?utf-8?B?L1JZNVRQcGJtSEtiKzFDck9CWFZ6RXo3Z0F0QjcwZHZtQlpjSjErR3F6YklN?= =?utf-8?B?YVFJdEFxSG9wbFBpYW9lQmRPS2RSVExtK2g0Q0VkazhyRlYzOVJtNjZHSXQz?= =?utf-8?B?WEVlNmQxQjc2YStERkVSaWRwSGFRblVCTlZadXRxWUVVUEEreUV1anRXZEps?= =?utf-8?B?T3o2RXBsN2kwR3V4cWZhUVVTYnNxNkRRaHJJMzczL0hCQUJmMkdxeU9ZREoy?= =?utf-8?B?VlJsc2NUeXduaUxnN1NHakl5NGQ5cGlXSWJSQ0ZXaXNRMm5IdmNZUTRNaUll?= =?utf-8?B?dWNEMVFDbFdmN0FBYVFpd1ErajlhL3h4UG1JczJYUk1XTU5MQVlqZFdLWWJJ?= =?utf-8?B?V2doVElCaUJNNzBPcktIWXVQbFJJTUlRb0RYY1hYZktvYnhiNkYxeTNENmJu?= =?utf-8?B?L2lxTjdQRGo5bVBaMlJXS2dzeDByYmJyN0w1dTE2djVJdWNaNE50V0c4SVhV?= =?utf-8?B?TWZkN3NnUTdiV2UzRS94VlpzbW1mdTBQOGwvT0tMMUVLRFE4RjFmejdnNFRz?= =?utf-8?B?VjNmRExCdlBBYkd4TklTV2hacGg1VXJzZ3F1RSsvUDlCei9mbk03SmM5YVJu?= =?utf-8?Q?jMYVTRMVuuhNYVC+8qkl?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc00dfd5-4015-466e-2011-08dbd18305b3 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2023 15:41:27.1832 (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: AS8P250MB0348 Subject: Re: [FFmpeg-devel] [PATCH v2 1/3] avutil/dict: add av_dict_pop 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: Anton Khirnov: > Quoting Andreas Rheinhardt (2023-10-20 16:00:45) >> Anton Khirnov: >>> Quoting Andreas Rheinhardt (2023-07-03 20:02:25) >>>> Marvin Scholz: >>>>> I honestly can't think of a sensible API design for this, >>>>> if you have any idea feel free to share. >>>>> >>>> >>>> The only way I can think of that allows this is for the user to pass a >>>> pointer to a (const) AVDictionaryEntry, namely the entry that the user >>>> wishes to pop. This is of course cumbersome, because it would be two >>>> function calls. >>> >>> We could start guaranteeing that entries with the same key are always >>> returned in insertion order. Now that I think of it there's some code in >>> ffmpeg CLI that relies on that. >>> >> >> IIRC this is not true correctly, because removing an entry changes the >> order of the remaining entries (we don't memmove the remaining entries >> into the new position; instead we move the last entry to the now vacant >> slot). > > I am aware - that code is strictly speaking incorrect. It happens to > work because nothing ever gets removed from the option dicts. We could > consider changing the internal representation somehow, so that all > values for a key are grouped together. > We could also just memmove the remaining entries. - Andreas _______________________________________________ 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".