From patchwork Wed Feb 14 17:25:32 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 46269 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:b819:b0:19e:cdac:8cce with SMTP id fi25csp79341pzb; Wed, 14 Feb 2024 09:24:09 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWlwqBLSy+iQersbJUiqtvDdAD3hj1jho954q3uDRzlUBs/X8eSOKZOxlZAuOg92c1UOB3Amfjz65AfLQkamV4KPeN0Zw2IImJVQg== X-Google-Smtp-Source: AGHT+IFvjNo4TwIX72EBN2qWcqRI94FrpKHrH9v4U6B4OxCqeK/ZpJhIafcpvdWhGP4/X3qRvFdN X-Received: by 2002:a17:906:acf:b0:a36:c353:952e with SMTP id z15-20020a1709060acf00b00a36c353952emr2260935ejf.41.1707931448846; Wed, 14 Feb 2024 09:24:08 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXInPX0E+NJTkb9fuxqCu5EEPzSUeKiMlWD9G7HxEnt3MCbsnm5MyA9Q4qv0m5KOiBdZ/hR88i+REiOQF2AVgrEytp+SvtkFqw+kObTzvRr936RVFlnC1nlshH0gsGdauiz00VBApW/dyQbej9PsfmemDhVBlsPNbe4Lfyeb5XE98Ua6fBfrvDGcBSL8oU2ckoKwYI7uoasoYGAyt1kshvqzdIKqK50irPS1Yv7ndvXwWXa9KEIxFTtDKIBp/oeu6pNHa+Dm9sigBNYj+dVL9Mv6bHTqsHCOpu6pLimSfyaIyAI2pthbnl4j5K2kyzB3A76p0w+h3831q+rpIvklPRB/gEfosOaqvns7ImQDlYC3YytZ4lk5I+ziaQ5DrDxe5C0Jdi/yppJqeGRKZWzjKeGbHBMy6KnEeTJWNH1BVmHlNmvnc4Eg86ChUjOze5faP5lKM/FyEe0KAbaU+CR81yX8xZ2RGn3ux+bkI4CEKIv3iaNf/w78UCF1bIhmxHQ72SBRmdXYA6m0eDQH9OnEYr52ce7bm3Z9QUrB2lgT7UyeJuVq10h8zmBQF5ZkM269H4WuZnehalWPwMlpd98vIMIFrZf3KDeOr/N2qW32deog5U+IlZ/1n7jd9eoam50QQlY09h3rSeMAcs8sNUc5GH812FiZlqUPkBbL2MOoUmRvyH2Z7dLpfWAvcw+vFxMW2Y9wlbzlJJCx+CoAgRhgZT9n77V/QbNUDkC2uKVYPf25qKMXjTVsl6SZ39B6t62qMxo4j3P39XoyZ2WKlUCnnyW5W4b9acLh8iDFwrST5IQUsNXWipygWniOtfXIIzOCHI3Qhib7dRKY3yS7jDTVWkYLXiBlI/mfQpYLqvg9iaE5E47zHHecXz5oxdlZosSPFkUUKAyULxcIvMl283FNxOwZDsAoAq40fWGTOO+2XUouyjyhA6JfZEkp+MfV/iFKVEaq6 J/EVPDNjRm3+j/07jWa9WdQvCbc0NqpQof4TWUJAli347abEXKG3Kgw0BqXliIftikhgSigOgLm6XgB21idE8ShU8md3jqpygVL3oIy3/hggrT+yGAKH0ojn3DeK4QIyd6Pko/nnN6Rlpl8LMb0jQ3aLLMOcLqzLyWhxthDzwU1jV3u7NqC6EnOubAYUiIaaaUvisOz9ZAkyRFPrNH6Ult1u79P+PZkiuzCDEGkB7ZVGnNy9tPV6BRdLFhKerkJ1rjuJfUY8HI0ZtOpm6znuU6h+30Q+BGWVuRGbYmWX5YXZ+wxmKJPLwIbHyLiup8wSLw+QVn1Z1SMnXcRXpdIAZyeINYea9S6V6t9POSDfLyAPEbT94y2Sy1+CJ82NgycAFWbco7z4+//lMhU23LRMj2C8s9cvsWtDhKp8Prr76FazrCQvEPA0wjIxbJnNfRmY4PqwCAM9/3cknlj3YczqsYJxGsOR3yUWAYSgZpmWvmwhlgC+cA/ULP/1BQzkpev/yt2pl2HJdQSQUo74IRya1u7b0Z18o9ItpYlDLq6cXxkavFROp/TdNHxzg8Xe6VmayNDrj92dngrnRIyevYuOBCW0vbU6CQ/dJLcFPr7pDW2pVmjMZwFcfG7tQdF+A= Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id lr8-20020a170906fb8800b00a3d2e89cebdsi1114497ejb.457.2024.02.14.09.24.08; Wed, 14 Feb 2024 09:24:08 -0800 (PST) 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="X3kiyO/w"; 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 EEE4768D206; Wed, 14 Feb 2024 19:24:02 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2100.outbound.protection.outlook.com [40.92.73.100]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D6A5A68D1EC for ; Wed, 14 Feb 2024 19:23:55 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NAuutHBbTvokiqeZJ84134sYaJMUJwwP5QM0CigFwgiD1MI4vH18o4CAGHdNRavjt16ptlty9FZUppLQgs4EDQR2uplOCZ8tyuhoGFGU02OJSEiAe7JxBjfHMX1tz80gIAzJg+A/B9OQ8CLN/5Q1/93jFubacy7BiIBbJGMYLdFQTL+TEWGZwbMxbB/c9qjpzMg+RzhGsFBjxoiC9XyT+TSa5K6JpmdYYJJHuLu87LpHK0krG5fLC3Ad8veXLA46UuggQ06/OxXtzU+QLOVWC4ySvUeAcwPASh81rA/6vspw9zEdxqlHzTxCs1HDBlIrnXFQaN7qYGXWf9k+ynKPPg== 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=vL56I69pnhK36P6VQdsjpjQepeEaQUBj+lRzfeJRMH8=; b=P1pOy/vr7F4M21fHXU6RLvJs8CJQPbMn2hu/voxxtymX3vuNhw+IjckELVe6qV/8oeXUUVdJccOwMwNIov4CtvvjzyTPfzqO9Qe6ZJJ6L3V9q/5QWivG8chM7bHq/ZQPbDo/sNSNl/X4g4YTheNX4MeJBaL6XsfQTVEPvLHWorG4v6CQDi/D7oLEJzLfqhk09PHtVLJSIVpy6xQMgDnXDxgVKtFcRbHM0oC2sv4vtWObvP3OUWh6EYpGMQXFvd922Qh/DBLhTu8P9oDUVgUZ5kIxJI7wjANpHxyjOg0VZAIf6TZe54pQAUAD/uIL4vPEZsZYIT7/C16d7F1t8g8gXQ== 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=vL56I69pnhK36P6VQdsjpjQepeEaQUBj+lRzfeJRMH8=; b=X3kiyO/wUcl1Fb+DPw2JFGOCzPVkC6WeK4AhJTtF8fTPOFZmIloYMLPGBr4q1n8NQBMZMSRibNpdDFvyx05zvA16Z1kZrFvyXxOeQ0UJPgoj0Ob/YqD53Q23Gye3Eh1pVyXSYaXeib9SOd/iGssJsHP26GQ7hbz31BeiFwDK0W1RtlC1GHh5t+dRPUuo0LOpXQgLoh7HAyzPanuLsjDS59NntSqQa7TY3PKsgp/Pi7lLjnxcq7gxS7qE9dXhKQNmDftG1kWmI/ru4vmTEPvEjuYC6R2Hv18P6Cp6dD8KMsXRx6cCDdyjmVDgY5DeXXblzKFR4tFrcQ3jWwU0t5c3qQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0374.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:329::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.39; Wed, 14 Feb 2024 17:23:50 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7270.036; Wed, 14 Feb 2024 17:23:50 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 14 Feb 2024 18:25:32 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [1Qs+PVJAT1d8wOFPbpzipDB/s79hY9zbzV8CN3m2qkA=] X-ClientProxiedBy: ZR0P278CA0001.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::11) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240214172537.1099404-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0374:EE_ X-MS-Office365-Filtering-Correlation-Id: d6639892-8aac-40b3-f898-08dc2d81b5af X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UdXDJBO/xmUMNHjvu5SOpR3Va8I6p/Q+kV7BCLFUzvC89d9hfWTxnkFKV1svT93NX63bhAlkjUUVD6gcstPcPptz5g68ISwzMkr4kvlbcdxl+J8en+FZRvYEWivWaMrTBUFkcIDGw8wonOC2uFJdX+GdoMH0E6E6szuTCHXQrPs7ZrRKjo9CX36EjNtsEEk0svvSQYBja6AhC/O5iLSqhcOlEi5RxBqEO7uU/B4eZeOaRYXBXPgZtN1Jc3DOJPzq8sDrVdiTAqHC3pHEQD/M3JMmK1UX/d5pJE6eExlq1YiVacp54DTyLlsNWMAEVHE0/KVYobvRP+2TweIq3/9OmRUCYiGEhAv9YaQfNHPMX7vlX89UrJqiACsr/CKuoIGZwQFw9/f20X90o1CjmnHwXJ9BLsRCt2YeuJwuy40VvxxnCpRpPUJc+3XeZVk2RhuMrQMG6g2TciHYWXastsSq6IRQW8LkjfvxNAFNSGX8EoOPlptWzQL2owRu2sfbHX3ZWyd6Tc1tcwN57QoknO1uJW70JUrPJ++4aK7ixo5Qs2DGsCqUoP776UoPZH1yEgEj7ZUjBFPJQhme82AiBAg/r+6xVaYDikV8roSRfINUfLY= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: QVDUEkMvZwgHB3jAkA+bKh7n5N4aWQY8mWOh5FzFVPnRBfoSeg14nO9h70TRQBs0xmb9xvxaNdajdBtT4NWhD2ZivNlOexmmdSxsyEcsukxt3fJkJFuda7s4zpoJKKTS0+rT//HA0f7VkF8Re4MQPNFhCa2Bg53hQdDX8EYixi62Rero5qj3LrtqMih+FVXnvD1fR0ixZrBNDSupoW/GHZsSKrmdND6VFF1b6VRGG+Tx+o5Egk3S4mYz8UOrq1F6gfRkBXO1lUbdZUkHtYvTM+/r5RjwqI7ZDgn+W8BtZ98dw6edsI8piCEbIOflVd0qh4giQlEkSsWigWXs539bI+i3CUykya7TX/v+iN7KURn3qQ+IrdnuFk+5JZ/p0OJ2CE241pIoFsvF/gUXbyDcivVv6CDbzrcb5Ti9aYvTgK6VPj8JPYZ73vJ02wO4sRjyYVVk29OtFAIAVtKTEGjvg/bK9M6fnHVCB1BtPGiUzy3uame3RRZPtm0UmoSeO1BXqqABuzdgpkpDfs51xEHoG+PBX6EMknB2e9L+hWrIudI8vI3pdI6nAhEPU0LnxxgOD327pRE36asBsXLX+lyFsS79EUL3WZFzwgkk5zVEHfYWce4XmzegbJsAhcE81KLN8fkimrAZfTvVgTzzN1Q5HvwksW+Bzr4ZNAGVTBwAktw7l5EzE2Czn80jMgMecnEN5HjAV4EZsDRzF+Rp7SWIwkxcgTh3qYfKSkdYUZl4kt31iNgtOlLtU3rWq0a1m3Ve6ByePQFTZhncQCyz5whZLhcz5AgEnVVdNXQ7KmT6xOaavFqmj4TDn+a6eli7eMsY41BU2sdnlsOmh0AJa2Zn/hXYIRwNvvnEkwo6Q+VbRyQI/dFF8h6yEqjC+3OVcLVQFM4UuCT8Pvpz3Vw+Cn1MCgPyp/F6H7Kkl40yZlaPjaPNg840c7SQwgb5YDOvmuD2x8FL3C3Legv7RjFOXq6ROwgEwjh7p8jLo7gYcNAesMIdF61DJnpHod9Sxk6OtbKpzZyyRFLc7yGghwCef9D3GIXQA8Zktva731CgE1iNot7Yec4Lv41A//lKmPvXTf8vNxCHuYJ9m85nyoSMeRFQo4GWxTANwJoJ1CIX0KG67rmEqgfaKto2r7EgLEe0dqEpCT/jsvk4h3H4qMROtLfUIinCOytjJag2UcRmKcLljPYyPrq1g6aDSE4WGCF0kl3M/VmKFR11Hg6sZMxP8gYzafwUFaCLg1+RKqvMs7DBKVEO19Dk/a/vqFXhBL3yoJbR3SxYPnw20jmrLd82829qxA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6639892-8aac-40b3-f898-08dc2d81b5af X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Feb 2024 17:23:50.4258 (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: AM8P250MB0374 Subject: [FFmpeg-devel] [PATCH 3/8] avfilter/avfiltergraph: Avoid indirection when freeing filtergraph 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: B6ZhiKuf4Ya6 Signed-off-by: Andreas Rheinhardt --- libavfilter/avfiltergraph.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index df22de03a0..a9befb954f 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -117,23 +117,25 @@ void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext *filter } } -void avfilter_graph_free(AVFilterGraph **graph) +void avfilter_graph_free(AVFilterGraph **graphp) { - if (!*graph) + AVFilterGraph *graph = *graphp; + + if (!graph) return; - while ((*graph)->nb_filters) - avfilter_free((*graph)->filters[0]); + while (graph->nb_filters) + avfilter_free(graph->filters[0]); - ff_graph_thread_free(*graph); + ff_graph_thread_free(graph); - av_freep(&(*graph)->sink_links); + av_freep(&graph->sink_links); - av_opt_free(*graph); + av_opt_free(graph); - av_freep(&(*graph)->filters); - av_freep(&(*graph)->internal); - av_freep(graph); + av_freep(&graph->filters); + av_freep(&graph->internal); + av_freep(graphp); } int avfilter_graph_create_filter(AVFilterContext **filt_ctx, const AVFilter *filt,