From patchwork Thu Jun 30 08:51:56 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 36549 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp163854pzh; Thu, 30 Jun 2022 01:52:22 -0700 (PDT) X-Google-Smtp-Source: AGRyM1t9FGVDsVhnHnw/Ufd0qcX94WNkLexx8wO8O/ShMQIO9Vu8DFvKCpwa3auWVoPqHahd+EGj X-Received: by 2002:a17:907:961c:b0:726:9f09:6b3c with SMTP id gb28-20020a170907961c00b007269f096b3cmr7785728ejc.711.1656579142401; Thu, 30 Jun 2022 01:52:22 -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 hc17-20020a170907169100b007152a3ee4fesi5123383ejc.834.2022.06.30.01.52.21; Thu, 30 Jun 2022 01:52:22 -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="ECgs/ayb"; 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 967C468B78C; Thu, 30 Jun 2022 11:52:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2051.outbound.protection.outlook.com [40.92.91.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EEC5668B607 for ; Thu, 30 Jun 2022 11:52:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XhhqkC+mnOPHOnrCWHvAmpywh9a/MsDDk2runGa4mQNOuth9uJVs4ycp+JhYt4DNSUb+hrpCzsURX2+rHhMCQtVWCB8B/DlpjzjmJQeZeLLPlPTeZ1TzuSL3dg8h6ic/zgDMU10QLQbwrJwtpAAKWh8rpvXvgk13CIvuXodHvN2uejl3MfuVnKhsxkzKfTIBJGcA3IiFMPLyyrB1cZ5qTu5IiMpIhvLD9M6BrgxfSyOKNvtCsUMVJFJknigsxIFPtLfZijDcbl7Km3tJgJL+ZNt7vN2mBsa5K939ykWeVKhxglP5tRMp+YnsyEHMgJeGQUo8kgaDMhY3i0q6lI4uqg== 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=X/caccoh4UV7wCWQfWjyr6mxYu9E7wCDggWeXGpy8gs=; b=WDIbdzU+wKHZl6jhHuGt506tKsi3gOwcrwWQsHlWc0iIy/6fSyKbk9CJbpKOnig9+ksCZHSqll7hck62gxlp8UwkfOOSHHtFu372VC2DOuhJ1b0U+afYetbWil5JQQKu7ym5jICMJUxTUSCAUkiKCY10/3mc6LjCueY1wsdga7zUMB0h2uFdsUS7f3VDh4jsQVFW5X0vhdARL0NQpYpiKdwG4lAAJbgmO4u3aK5ihJO/BUwjBnnTsYkZhNdFVznpOShzxGNm7wBYs3P1WujmWJOVterzKfbfKAuVeQP4+gEiwGZZVIrQrQhYscSJb4IuNNlZNgVVHIrtICW2hocSpg== 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=X/caccoh4UV7wCWQfWjyr6mxYu9E7wCDggWeXGpy8gs=; b=ECgs/aybqAIFAcP/DueelcSZ7WkDgUr1rdGWXVAwAN78Aqf7quVQDWDXezCFkuuh4pSF0OOe/WfO/FUGIHvqSqv9pNxg9wrOmL4c8DOHUVFyTMvpJLRsOfVXUB0hZbMx09vNV9eQgKjsbjxZrHgN/gww/Tamp4t7WL4I3yLGBs167W/2svz3+cE7ifkUpZGBSsSJCjWr2XS0QJjiiz/yaQEs16qvCcsMkmT34ZZjpdxBWIoaiKEuShrUk8tkcCYgkcWelkyLlvaiiQpDkg1uMSZQitIPMF3XQ/u/n/uUOtZaDas6O2hkU3sqAWbnPI3q6dMy//XwdYkZNXVJLUOZtw== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by HE1PR0102MB3260.eurprd01.prod.exchangelabs.com (2603:10a6:7:88::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.18; Thu, 30 Jun 2022 08:52:05 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::60b9:9f29:40cc:f01c%10]) with mapi id 15.20.5373.018; Thu, 30 Jun 2022 08:52:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 30 Jun 2022 10:51:56 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [2Tc2zmo+BN5mYcZMGnKXGzZPFnn+f0Hb] X-ClientProxiedBy: AM6PR04CA0021.eurprd04.prod.outlook.com (2603:10a6:20b:92::34) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <20220630085156.2427738-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7693194f-bf4c-480d-98c4-08da5a75cebd X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiSAA+E0K/sYrB22ar4Hiv8kZJHtQFb1BUi16acaB5UqG7lDig3guLc9pTjpuqpSJ/16dxhmhhQH6v6UIfELqIhaaViPFFrKwi5h4RAn4fNxX8GRFfE2slJYIQkSo1iY7yjO3p2RvKZpOh2n7REtfzavyg+bK69ikhZ5tdfiSdj3Yi6qVpWgJXcx3cUj98Xl55TW+zJfg9J8ZWoykDBBej/6MszRRE+gMbMLQDe7Nr/RSW40w6uR8r0VMZFfkwGejVZDmLEd1TfC3UpPsNa03BeEoYdNM1kS102oVEcHJDa7B0IZecrx4W3K48JHBBcPKZAgYQRS0D5s+49SYaVRnnlUwC5swEIlnB6zKAEzBQ/QuApPBnI8s32mZQ2CehVofFpikyjRrKyKqo2LfXSqS1s9x2BZUcvTv4p6ReejXr3a4i2dKoV5xHAKuhvgyU42OOEvUG5Bd/PB0USRByrPiWXeAuogOaQxK4ffxX4cmEB5YnbQSrvVw5WysSld0/9Vyaz1a75DtlXLrg0KbWjXhgJk/dlthBS043r5/VTHrtRnrWWiMIX8Coe1I++58X/zLuzRB0UZrEF8rLdOGj/RAhMiAqOAXSLDEOuiTrwA6+hTyMNt9R0Y8a+Y9z0YRZz7GXcDvud+HE8FnLz7/EBX1W59+lcQ23+TJfG4nBnXhKr2zSeKXQQks10YJ9WwnOn/zXXWypb+K7POPEwhdqRO9QoyJojghS64MkBbcS+K2SkzzoQauWVlo39JSBn5Da/da4A= X-MS-TrafficTypeDiagnostic: HE1PR0102MB3260:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vpYLKOzeS3D6Z4LtfBkiIy01ZGF9JUzjO2AdgcNw7eE+MQfO0PJtf06wslFgwzppGv3Bco8aR27LONmfAEyxCLhiYafinwTlM5Qq0XMIQUCq0b1Z8PGbPGtx/n1tPpZQm2YvdQ3cxXwDYPwR9ilq0jez0W+rCzVMSwTEP0zLNZHe4tdpPPVgHs1e39PH6l/ucn8Sy2JXWd0CpIk6CKdsw7qhpQMYGpwh5MPnLj+BY4hOg2YWR3Z6i83poV4YMurK5b+jP/HC3pdX0HWD1+NXS8/rrazDl/eTB6gyP7D0nf/TgBHUnFfwKueLM6NRbmmVD0n2aGQ/yUmlf5itso4cIKr6j8AIJKmV62rlfOW659pqo3GJyadPPblpFaUP8iXqvqIj2ACNeNWu3mXLeUR4bYtx4t/31Jb6kcRORoKfspHGYskOP3MBdarasnThKwXShQPIQ2ft7EkIEoMggYboZSwPonpBPgskUFPFVcrglrXyq8fgYz4alsTU8rvAAMSPp3jmfU8PLR2LR5ERVq0mq9Ec+h9IQnPTTtQYJ5C2RT7oJMg2OYXAVwxTxN1uzniDZgbkXqVb2ysnpXc/NsVP0BJ6+wEPnHrXSBQc8qzUU0Zae8LTxSFC7a2jlBCuVL3C5KQ1yT5w807+W21TXTRVaA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 3YvLQ5PfRhNWyp9HEyAMfiB/3/NH+Xx05au6S8nTa+i4HQrJuxVaCD4NAYLaO9+KeCSLsNhdpGV+VjWI/juJyR+EarwdL/vUauMIqVFbkZ+IJx2qF1qpYnKEgtTBrZBMJkTFJ+MhPzg9G71ZIvE6R4hHmkVNMGlKUvMiTmWEZCghz//Ow0y93rSYWzzRSY2DSKHhwU0kfibo2C2vcmTNwaOl4Sno56KiGq45/PqzV6sfbUSNKoNZwFAjp1+j+JU36d7DWDshdBe9UgEcMyW87a+CATUBxTKaAlrOp1Y/Zn8HfCQyYYPS/+Lp1TSuqKTfIR5dgRHwDPtjwYs+TVTD9MC/fgsNS/+bWxQYY5e2r1McjSCemanxzspqxWv+7qWjgxq2R7QR9kyzx3ojGNWYMmvXft8ihM9ZROqFlEyFgfhyixOgjhbkanGA9Ndg1FtQR8z8ZVsMK4Dru0F+wzH5FEnkLRB7fcyjXzYP9/qOoJsIeG5cNCo1Uj3H8zcKCvTKWn0HLxD/xOcv/Og7wlniW7dBr9gz4hjYnpV+W8adEuDfcrqP/GXATNCvP4gN9kfbtRgLEpfPNlSOopuKzPb+gpIH65csiBg1vkoUJknzFQhvfcLEwJBHYluWiOBjagfl/n0Dr8GIuvFGa1MsS9SlSg3rxhPpG2WctkaKCbHKanzbBTxvELNkLAETAV+fSwzwarIJC6TxmKlmGzXQz2vC6tdbkRquvD5ycGbJM0R6ctOUMKPg6anbilBhqnwMgEDj5Jg/i2dbWUaKrPUDOMu/TJIncJEgbPC0XLncel1oVjEDQ066Ijrsrtpfxt/ymoBwdiPn9oEvn51YowxpUttKH23p9WNitlA3HB8wuIUDBjOItE3QNbmpuO2g/zEHE/m18hr0uv0Em1GSZBWo6xNrUYJndVC235gZmZ17BYpEIYylmkuvaf2oAbg1OZsXPf9hJVfhcHBHoBOflRmUsinXA5KxmtYJU0e7WMJmtcnwzb+bZjlrLgvSFlmqxMLX+ieG5L/MXmrMluPCfu1+GQaDzr0ie0iPAVfebjDq/DXUyefbnncDxjJQjdJEW0gz/Ui8nZXujUznVg9fBUoyvahD76ilgHo9499IhNIz+o1CZJ7aNGCCm+OJYxg0eHz7wc8hYPuyq/2Ludy1vWxny++H2SguA3+YPdLJC41gWOYyDh/YNyxyoa0aOwlMZC+1Nd2+xXG/rQHxY5I+PmpcVZcjPR5Zx/cXY4yRPJxCa47j6ATEQzMLpdJB+1ROE3/VXbo4FamYuYeDTgBetN+rQmIWV8YaA4hI0+5QKLQJjz36XoQ= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7693194f-bf4c-480d-98c4-08da5a75cebd X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2022 08:52:05.5207 (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: HE1PR0102MB3260 Subject: [FFmpeg-devel] [PATCH 3/3] avcodec/hevcdec: Return immediately upon hevc_init_context() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sdbILc+uvpgI This function is only called from the decoder's init function and given that this decoder has FF_CODEC_CAP_INIT_CLEANUP set, hevc_decode_free() is called automatically (currently it would be called twice with the second call being redundant). Signed-off-by: Andreas Rheinhardt --- libavcodec/hevcdec.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 7ab012d68f..7037048d53 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -3647,34 +3647,34 @@ static av_cold int hevc_init_context(AVCodecContext *avctx) s->HEVClcList = av_mallocz(sizeof(HEVCLocalContext*) * s->threads_number); s->sList = av_mallocz(sizeof(HEVCContext*) * s->threads_number); if (!s->HEVClc || !s->HEVClcList || !s->sList) - goto fail; + return AVERROR(ENOMEM); s->HEVClcList[0] = s->HEVClc; s->sList[0] = s; s->cabac_state = av_malloc(HEVC_CONTEXTS); if (!s->cabac_state) - goto fail; + return AVERROR(ENOMEM); s->output_frame = av_frame_alloc(); if (!s->output_frame) - goto fail; + return AVERROR(ENOMEM); for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) { s->DPB[i].frame = av_frame_alloc(); if (!s->DPB[i].frame) - goto fail; + return AVERROR(ENOMEM); s->DPB[i].tf.f = s->DPB[i].frame; s->DPB[i].frame_grain = av_frame_alloc(); if (!s->DPB[i].frame_grain) - goto fail; + return AVERROR(ENOMEM); } s->max_ra = INT_MAX; s->md5_ctx = av_md5_alloc(); if (!s->md5_ctx) - goto fail; + return AVERROR(ENOMEM); ff_bswapdsp_init(&s->bdsp); @@ -3684,10 +3684,6 @@ static av_cold int hevc_init_context(AVCodecContext *avctx) ff_hevc_reset_sei(&s->sei); return 0; - -fail: - hevc_decode_free(avctx); - return AVERROR(ENOMEM); } #if HAVE_THREADS