From patchwork Tue May 28 14:00:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 49313 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:142:b0:460:55fa:d5ed with SMTP id h2csp438460vqi; Tue, 28 May 2024 07:01:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUcRPSP4lsuQRkKkxKOyWpkYq9PyOgpfQ1/nzMl57+bfFh1z9LclvJbkSJs6Eb1/HAZxGOT0HOqz0xRcpFGIbZBRb39W5VyiHahJA== X-Google-Smtp-Source: AGHT+IFoWfYzmKA4NnV0yu8a4V4vpxhFcdWkmsCtzGNsWC5m7rLu2dRUhiOiD7JL58Y6Lc1rDwpi X-Received: by 2002:a17:906:3b88:b0:a63:41f7:d47 with SMTP id a640c23a62f3a-a6341f7167dmr151709466b.39.1716904871378; Tue, 28 May 2024 07:01:11 -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-a626cdd2ec0si506706266b.1002.2024.05.28.07.01.10; Tue, 28 May 2024 07:01:11 -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=vRrALdgB; 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 4FD1768D428; Tue, 28 May 2024 17:01:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2045.outbound.protection.outlook.com [40.92.90.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 395DA68C4C8 for ; Tue, 28 May 2024 17:01:00 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nnFLTbHYGfoFIRAtBPwyi1svCCrBE4I72oZJQy0wkrBKv/lt0zjMvk+rKluIOJSZ/ozGDbVz09BQynDbJWj0RFZKSV7lH+Cnc6kTgfyFCd95Kriqr7icO3MoN8f76QoWSV1LnSEYkf3F9Y96qTRGd1aqKovzwdIHXgEVOGUpFiOfQrcnCMhTWwnP1J9tAfZbhW8RF7os3doLIuF1ZT+xrjymGIF0TONptYl2ewonQ2KO3mzbgHGtyBGt6tf7uNphC8QNjAiiR+z2cD1eOdrxJ6DenqsuCBmA7Mf1uTvFMLoRlfwZxM7HGi+qyRmEbrEXCjbzMzGXPMOCzwpt5FoSIw== 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=BXCywy1GMIX6c+Gjb8Daon8EKRGvxQ2i0Ad+G0vHVJU=; b=UyCpk4bjXqmx/mfGywwgVvUx0rodRXHz9FAGomwl9x6/9al8FLNBOmai08pASeQLjGFVkOjirK/suG5F9ZnWNTVkxTzG807gZgITxJQcsLzU22TBSVpkiovnKuthNoZh7qlBb68PMqhASMoQJPauzMuOIiXkv4WeEQm8gSLjRN0CkQmv0nBzdTloIi9HPIlT3m+Efm15WyvrwS52hL8N95363T069p3Y/Xngoj1ynCX7JpfS3pQqdlTmy5XmT5aqGUIlgioBrG1Mw7eOTgCy/8qWUUwnX5xFWPGWI0twd95GCihQA+LN3n6cujkmf90tT7JRvFvDc8Az+Dnv++McYA== 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=BXCywy1GMIX6c+Gjb8Daon8EKRGvxQ2i0Ad+G0vHVJU=; b=vRrALdgBPsmvMqoCoIBCBviBd3hvmficF9YwYzuQCwZkTmBIivnKsdms+62q/YIktsLX+ngDbL94+Y0WUaSe84H9rr3IeCJH73DQ2LFjpr+Ii7sSzz3BxkbF+h3L3IiOLd2npoS2YoeBRc7FFAU30bkpqNs3MaJS91X4l2kmX5WuO1//fB+McxVDkITp47EA7sqaVRNjtMpWu71/ApDUfDLcMvh6gC1KE24QIHdsl+wlnfaIpeXf7fnz68ewYPYoVuw43x66pxGlG/PtFiw5vP3qlxeMG9lMJ1HJGsJQt8+iBCa/Fo97PbehIBkGipqTodrhtLDK2SgbWiD8Kn58+Q== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PRAP250MB0489.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:29a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7611.29; Tue, 28 May 2024 14:00:58 +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.7611.025; Tue, 28 May 2024 14:00:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 28 May 2024 16:00:49 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [148wseoV1jR79+EqN5AzwNU1OJfN18RdyKC4vSKzgIw=] X-ClientProxiedBy: FR4P281CA0421.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:d1::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240528140051.3508252-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PRAP250MB0489:EE_ X-MS-Office365-Filtering-Correlation-Id: c35ddac7-09e6-4ae0-a91a-08dc7f1e9948 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|3412199016|440099019|1710799017; X-Microsoft-Antispam-Message-Info: bpS/BmyJxKZ7/upMXKqTWhDs77WuDD9MtDNWAFTRvHY5gNtYbkKvnML8/a74JTv4273YIIjum/THdXsrIgvDzlfz1JFhbkFWAabLPbENnaB6gV6F0lTsC/+SpBocqDjyMDTf8mCGXOrKHefNqF+lLU9CurTjdWGHs3b2XeYXbYQnv2sh4Lo+j/idmp0/3yUyoISKYBT5mZv10C8HuX96DJiogNkfpvmMJmxj1a8eTRsR51+WD4/+KyXUZgqzpM8+/VPdsw5nmWRzVKqFE+2IIDVYvMPcgk/BCxBL31iYneUSiWiBIyrN1liZ4dX7dUWGy5dPqgpQLQp878NGrGhCohvqbR0u0uszEbPAzje02VMOr0AXSVV6dBpLhowEmVGLyhPUPzM+XNyZEQWiLDOoKBvKKTDz9o1h+w8FNsYwrnray9ST3zNJWv1/ACf3kYGDpWZ+7u4DuWJX/or7fJJFzkkJVG12oYhRMOajO1UVWmRIUDZU9XLpKJ0aFms/qvDfeTtRj48WmOWOQV60EWQnKHCPiQYfdW2Gb2Ln6fwZ6KYkHch+t1n7jELoSVNjhvSk8/hxALjQgXgIHDqQ/NrhrYLW4fZMpP0E2D7+d5Yw4FNqFTeVSozqmruLS8iRbax0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0kecJsRygl2WO9L3dQQN/r+pTd/Dj2uU06ZNQ9IniB4GpmX4BdeB0KoSrUg8Kag+6SSJGFd9/uVLkXZFLqS/UgZJMhHBuQ+6DJxgq2gRf1uo+gorH9leuprf/0nFuqFjTnIYhaQJ3J6jDKLt0R0hqnYC9ZHtjDnyOSG2SsEocuv7rzgK+juMgGkePcG5KQr/3+6woSXmloamJ+QFCsURSDXlCARhMxjI3VbA7X13QtoR/CZZssLOQstWaOUX7wYqSPNXYHT6GhCQnUAJvqdXDUbGK4tjo8zeNbyu8B9N3+qxYHayw+R/FguU01LKwLU85C5GWMzoMomqEkSkYiqA6InaERDTOcR7xKIfg/mfP3dfzuZ4BZoSVuJx3qlJBp42jYYOk57qgJK20GQldHFavQXEnm8cVzD0ld075Ywup83voMWHPsdFjEoYYaSez6NOe1FJHA+1rUkNAcaITFt15RGGEOXKE53y6DZxanRLFJ9kFc+PlcmKTkJBW9W3NN5Kh+Q2IZALY9dKnusltiZC9PCFiFAo7uiXyx9eMI6N4RZ9Lze9KO4wYp3TB9+EQpwbUR9mmnZAuVNKiUM+DHc848cRWVi3/llSMlVz1avtqQrOdWiwvxVK4pyLlf2w7gcbw4/M6tnfVKa4WaiFOCWykfcLoVygIpM0+BB0/qg9ANOltAxegA1/bZ/PxCwPQMmGyRyV+phtQB9hhwv7dHs0djYlQFhN/F/e1eY/BuFMgdeWVhGcjFNACwA0OZ6ldEAoP+vvrYJtdqOPJxZWbyVXqQ3fmHnFcvI6IgFJSsMRZAISLerCrCH0fbr3z1vAflgCoEiaFBWeLRLLETtK2vlFRXrEUlGUzVrGqT1r3sz7N/HVpA049F0E28HwWQOHPZIvDXQlZ/RoyP7AFoycmghclTfFfUdOrU6uKqo2neo1+atxHoD3GX3fiZ8EZ+ky2TqMjJJfvHrIhffA4uBoYLHdgFSVsJ6WuuNj0nb72EV78A8YnncKhsBipAoCyGHMqc8Evz5/8RLsADp1LYIqXjQNiaAQ/99WNS0LZlbk8wRTpFz9zLaJT9DfcgcklHl3IJ7kIYg/h0CWjhrxXdRaB/c/YqIbaE0J71IjfOM3vDXkRNZ71RnjRDxrQkaJ7W4ofcjLwGUOMCjmT6U4pfUSfWhUkgXxOoY8/LhNqFPDPDkbgVsUi9F/peShjbjcvHM9oV4vpaqEqKPi260EKGPEi8oWAM/FA5o2tpc1Otdo6VQ8JrFvgIHYzjenKAdSRsNkWDo9bDxN/G6lw0QpPZUDxCgfSg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c35ddac7-09e6-4ae0-a91a-08dc7f1e9948 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 May 2024 14:00:57.9111 (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: PRAP250MB0489 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/diracdec: Use FF_CODEC_CAP_INIT_CLEANUP 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: q00FbfM1fFJL This was one of the few decoders incompatible with the flag. Also only call free_sequence_buffers(), dirac_decode_flush() in dirac_decode_end(). Signed-off-by: Andreas Rheinhardt --- libavcodec/diracdec.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libavcodec/diracdec.c b/libavcodec/diracdec.c index 3a36479c59..5bf0dcc2db 100644 --- a/libavcodec/diracdec.c +++ b/libavcodec/diracdec.c @@ -403,11 +403,8 @@ static av_cold int dirac_decode_init(AVCodecContext *avctx) for (i = 0; i < MAX_FRAMES; i++) { s->all_frames[i].avframe = av_frame_alloc(); - if (!s->all_frames[i].avframe) { - while (i > 0) - av_frame_free(&s->all_frames[--i].avframe); + if (!s->all_frames[i].avframe) return AVERROR(ENOMEM); - } } ret = ff_thread_once(&dirac_arith_init, ff_dirac_init_arith_tables); if (ret != 0) @@ -429,7 +426,9 @@ static av_cold int dirac_decode_end(AVCodecContext *avctx) DiracContext *s = avctx->priv_data; int i; - dirac_decode_flush(avctx); + // Necessary in case dirac_decode_init() failed + if (s->all_frames[MAX_FRAMES - 1].avframe) + free_sequence_buffers(s); for (i = 0; i < MAX_FRAMES; i++) av_frame_free(&s->all_frames[i].avframe); @@ -2371,4 +2370,5 @@ const FFCodec ff_dirac_decoder = { FF_CODEC_DECODE_CB(dirac_decode_frame), .p.capabilities = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_DR1, .flush = dirac_decode_flush, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, };