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 5545F40F50 for ; Fri, 11 Feb 2022 08:51:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A5F4568B1F5; Fri, 11 Feb 2022 10:51:19 +0200 (EET) Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-oln040092069068.outbound.protection.outlook.com [40.92.69.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A381868ADE6 for ; Fri, 11 Feb 2022 10:51:13 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WU6wdVEjr4QPm6J4FT/8oEsxAzUc80dZ/FRbCoAFFoEMoXmmdHeYDfZ8r8R+Q9NKFex9VU80SMp2JZlpGDLY4kTz+BACelFTV6F/0Kfhv4/isZ6bzewyDkzFLp+SPWQ10y5OTXAOZIZakVHNfrHzvSnDdmFlfhRFtrlSGCxLEVBV1Z1ZDT5Hrkx9WKS+Hl5v7T8nQWq5t0A/rtCUnozwaxDfGlMoZkk9xylkxevuZyezbVcHQeXiasgSNTgHftCOR6GDa9xvANvm6z1F2zMSEt8f6eq6D1BvtJwzqYPGZWTc/fKmhU7r76dMUULbTlKaPdeaE58/AbKpFDArRGBn7Q== 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=1Ru5qLa+cOMOTgGXIX7sVcIsytZCTMiL4+eMsHF8usc=; b=dPhXCTWc+U0pL9+yTfLLgMNZOswGfY6lKYWZkWSuo4QzNlm0xb5EfiEWz9hRmWKB+MX22FLYpwGvZV+BLu1LxPTeCBOjEg6aIzuYUkGfsE9bmTbc8m44iHLjruIvgGiH7rVL3A1rjcXBYyi0jc59Ux4dtr5PYfqJTDHhGjRJyWEVCd37OBZh6tXHnla3D2fPSvwafKxqZEAogeX5Q4p4IxPsHgYewsMkdb0wYKsGVi7eq7ljD/UTULPizm/MRhBCxBSQOJefdSp+58HnoG/T1Xzxw/3+u1fQ6JpK0pih+5pcz9Dym/JLKaTuMi9FOL+lNVY8VdiSO3dIWRJSdZQauA== 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=1Ru5qLa+cOMOTgGXIX7sVcIsytZCTMiL4+eMsHF8usc=; b=qSjMWh0frXVMHw0Sh/jxiyhcKiMtPmqTXmGd+JXwmrdo6iAMXdDGRZDMfQtheJyGOhc5Jg9TjyYk+zja3Z75TcvO+MTWcT1zMvRriackCHGEkHMWF5zY6hyQDCavdH8lIWScsHfLDJbV/+G2DstyFfztYOquamktD7X4wuwIsd4hC9KJMghICpsm4VrylLujGAfN3wWECbLcL8aDMNeNWbeelXEVH2T+yW9X0EMCshgIXZzA8ovz1ckasdNfB3RcmZjjH+zDQNcXbqduyeVqUy4tMx3FqjY9htRmubxEc/pAnGD9g2m4nq4FLL84XCB4uG2USaBX3eMFESpcdCdYVQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM0PR03MB4884.eurprd03.prod.outlook.com (2603:10a6:208:fe::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4975.11; Fri, 11 Feb 2022 08:51:10 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%5]) with mapi id 15.20.4975.011; Fri, 11 Feb 2022 08:51:10 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 11 Feb 2022 09:50:57 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [3udQYzp1dK2EYU3igjsnCyahugKmYq6M] X-ClientProxiedBy: AM5PR04CA0003.eurprd04.prod.outlook.com (2603:10a6:206:1::16) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220211085101.1588296-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a6b6cb25-579a-4f5e-54b3-08d9ed3ba668 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSJybpSSbCo5zX4av1Jyrl1daDunnxRv6n60BQHxXvogwlw68tr07uA83eaXPw1VAZy0hVK+gMbZRRXN4H4jwAdsHivwcZCxSTWT1zKxm/1DDL3T865tTPU+H19ayJ85afRq8kQSjbIsDCf6PgP3VwO2k0l4UwZjswGQRPk/E9SQQCmYsMZtkfTffCn0YKZTkbBeLtC9dEXhNgx/wNGyjVZ5Td7ebJL01a7IUya5/uNpCzsFYHzGAMTCuIWfL5V7zSoDZJbZO3kVgHFNESLl68pEeYKQEtFkqcNChPq0NkJPEfcq0KCP3D3a8kmIM/Xgd+1g8EzdeOtJGHTxFNTg/iSxA/DLAGfRsfYQSp271yO+7Lt8N1SL9wXaDm0dYz7Qq2If6ADEhUhOQ87zBwW1yVWHFdEA3qxvDYtoCoR3XMYgemAZMAjMeq5dZKywS14yoxBu3QUiiVBIURNGBHvTJxUJpbekgU1nAkPKK8cboKpZezE77xxmnl791cRDzyoXjIKB/mvgFESG5XkKXB2nTMzSRsY3AemJj1As2pJbYOOg1RGq5nSZGD5DZNV5JO480JYYQFcK+YwauYg6icbM+vIa6ndZm90bdn58uen9PTaamcZjZz+n6WX6R7XW0LICf5EgaboQaY3aZ7clyewGUN1vN/NAE5QqCQ7wow5afdVz3omW6drhxHqz4jgX8sr+cv3GhIUMqAROeGx5YgVjpPkDy9FNOrzSKVovSIsVBpD+hXbI+iq8ZXPdwWC9IHm/YA= X-MS-TrafficTypeDiagnostic: AM0PR03MB4884:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rNhyB6tGYCOXajYjGHZidajtc5cQMu2INvhu3RM8sbThHCqPyviaNttqFiY91/DFf4iqD7f1/4gKbeKSzl285sK/138FoADxQvdSFxk+F6AY7ktCCCD/F9Zxg1oM8JnwoACxyEUR5MPvU2VBEKY+wY2Z+HEeylNBNRKA+iXFd/VdA6RKea6sfZU49dOGDXy3ybO4hiUMNt+8gR0BDVO1MqGwyhplR1pZikdR0xrIi9BKCSNgiokqouzOtM8oef18FjtBaqaryd8I1SKr8D6o4vRsY71qlv/SPMqYExuW5VMh7SW/bGjuEQ3/ZNUVkXFXXnW3p1gqQybhSEk3MMYMQ8Tvx2X1Kak0MTGW7krRnXQ7UlYhKBCXB79hzE5xIugWtQBJdlrXZPC7Vg6nXOasHXAdtlCsAcBl6XNFTPZxj+sVlLUUuagjyxmhm+gFptLrh9lTM/RUonkxr1Htm0QJeUyQ7Vs35u93kKA/uvYrBJYOizT4foKXvrcsSANr1+p0oY2zqUgnVDLEncbiAR1VcHnxzAsUOKYb5Hn8VWtogd6bJm0sSEVCZfdyceyStf4IAACb2SWe7s/6XLBfSyi0NA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?thApsiQPiSQGN2QkmWm2wLOFIFluWQIpy2MZqXB7E7cAzVtoy0wFN/fU2SqE?= =?us-ascii?Q?F3HYzeHwVJwSU7TmI7UfSzpaHBJ1o7wyQTvwXiWDlBuVIcypbQg4rk93CtyU?= =?us-ascii?Q?HEmbaePq7449TfYqr/3IfUFXE8fbdZEwi9NX/LnBmjqD5U9aIj3E370k6yCd?= =?us-ascii?Q?irSwrTR4mXDvLPVvlCYIaONlxAoRyZ+98+4Zq6VyfCRImGuP2cXvF3yJz5xY?= =?us-ascii?Q?7psMxXno72BjdZ6orCzwceuxbIGOpuMQ/A7D2YsbOQSD3KWJesspWRPx4dKy?= =?us-ascii?Q?tINPd/IqcP8f+YBjKCjeuLer+eFBdTirA/XO42bR3opS66zF5+pKAGvgEGKm?= =?us-ascii?Q?6HYkiq/PAZf/q8qyyE5Oxx+lvKxsu76YGKQGSCe/9SeSCKoq6uBy6UE3W9Ml?= =?us-ascii?Q?dfCNgXqRtwgKHujpRXeP3H1WuETscuvdLY8UlW5S1J/h+NyGr5uWhQmGRiIh?= =?us-ascii?Q?ByaIgz/bweSxOeRdn8vOpQlzjsu3APsDLAjS4T0LswkTTIPcsISn/QRdxxKj?= =?us-ascii?Q?SS88do+/B53fTWM2csX3rLhRwNr9v3snB5OzCyoI8oEXmZSsjXIJ6ud+mYmM?= =?us-ascii?Q?dRAG5b0aFvG5G6jgDKuq9ng8SPg2G8ZXmqcyMuzK0B038PzYqAEAWwGksz2E?= =?us-ascii?Q?sgMqO7HzDN4B2detOZiqfdXluvxLgWaxG/k0N/kAxgCLb+AUB8tyUlqlhSX9?= =?us-ascii?Q?0HP44P8byKv2q1apRCSKd8N6jUBhFbc3RfamTSBuazIWdkwGKbctEdIM35rx?= =?us-ascii?Q?kKoqOVXrvf4omanJR3nTZJhtFlZveOe5vHAFYj8reddGXZ3lR9D8Ju0FMf1v?= =?us-ascii?Q?Cjf3/i7Zejcmmf3zCzG8cwOUx1DLJy8p2mydm8OJqF99aToR3qt0BmfZKWed?= =?us-ascii?Q?ckHW2NxS7IcRZ8VhvjOkLmUCZtg/BSxfk46jPGcmpKCFZg0ABh6tTPbiDyCT?= =?us-ascii?Q?54D10ZC7JCPTd1SbBTNurg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a6b6cb25-579a-4f5e-54b3-08d9ed3ba668 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2022 08:51:10.3312 (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: AM0PR03MB4884 Subject: [FFmpeg-devel] [PATCH 2/6] avcodec/vp56: Cleanup generically in case of init failure 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 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: Signed-off-by: Andreas Rheinhardt --- libavcodec/vp5.c | 1 + libavcodec/vp56.c | 4 +--- libavcodec/vp56.h | 4 ++++ libavcodec/vp6.c | 2 ++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/libavcodec/vp5.c b/libavcodec/vp5.c index f68c62527b..a3c3da7ba6 100644 --- a/libavcodec/vp5.c +++ b/libavcodec/vp5.c @@ -306,4 +306,5 @@ const AVCodec ff_vp5_decoder = { .close = ff_vp56_free, .decode = ff_vp56_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/vp56.c b/libavcodec/vp56.c index 695f37e972..d4184f59b4 100644 --- a/libavcodec/vp56.c +++ b/libavcodec/vp56.c @@ -800,10 +800,8 @@ av_cold int ff_vp56_init_context(AVCodecContext *avctx, VP56Context *s, for (i = 0; i < FF_ARRAY_ELEMS(s->frames); i++) { s->frames[i] = av_frame_alloc(); - if (!s->frames[i]) { - ff_vp56_free(avctx); + if (!s->frames[i]) return AVERROR(ENOMEM); - } } s->edge_emu_buffer_alloc = NULL; diff --git a/libavcodec/vp56.h b/libavcodec/vp56.h index 46090f25c9..0a9eebc7ea 100644 --- a/libavcodec/vp56.h +++ b/libavcodec/vp56.h @@ -217,6 +217,10 @@ struct vp56_context { int ff_vp56_init(AVCodecContext *avctx, int flip, int has_alpha); +/** + * Initializes an VP56Context. Expects its caller to clean up + * in case of error. + */ int ff_vp56_init_context(AVCodecContext *avctx, VP56Context *s, int flip, int has_alpha); int ff_vp56_free(AVCodecContext *avctx); diff --git a/libavcodec/vp6.c b/libavcodec/vp6.c index 95ed5eba0f..6bcbbce47b 100644 --- a/libavcodec/vp6.c +++ b/libavcodec/vp6.c @@ -720,6 +720,7 @@ const AVCodec ff_vp6_decoder = { .close = vp6_decode_free, .decode = ff_vp56_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; /* flash version, not flipped upside-down */ @@ -733,6 +734,7 @@ const AVCodec ff_vp6f_decoder = { .close = vp6_decode_free, .decode = ff_vp56_decode_frame, .capabilities = AV_CODEC_CAP_DR1, + .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; /* flash version, not flipped upside-down, with alpha channel */ -- 2.32.0 _______________________________________________ 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".