From patchwork Mon Apr 29 21:14:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48389 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1509:b0:1a9:af23:56c1 with SMTP id nq9csp2271684pzb; Mon, 29 Apr 2024 14:17:51 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXoB3UUMINboojOhfD2B9SKp3w9/tErkqCWjuZG1S+ITirBPFUlUOF7jf0nN6ViYTHi/JB4OpNBHYOW0cgZGuYkUlOtl8Cze3eJNg== X-Google-Smtp-Source: AGHT+IFg9VtvEz5ZurRXgtmhq+z3hFEVai8nQOsULdxYSD5LyV+05l/V/MsEjFGP3cuYYaq1RaBN X-Received: by 2002:a17:906:8312:b0:a58:be00:7e88 with SMTP id j18-20020a170906831200b00a58be007e88mr6975707ejx.2.1714425471361; Mon, 29 Apr 2024 14:17:51 -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 i10-20020a1709064fca00b00a55a8a9580fsi11420611ejw.341.2024.04.29.14.17.50; Mon, 29 Apr 2024 14:17:51 -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="X+jj3it/"; 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 26FB068D58A; Tue, 30 Apr 2024 00:16:12 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01olkn2093.outbound.protection.outlook.com [40.92.66.93]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D38F68D56D for ; Tue, 30 Apr 2024 00:16:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NTPF86ZU6CrbqJZoKWyObexAVf89xP+hrvf1vTVftZG1BP+eOXX/a/po1xuEp8es0Imc7EjvgpWn0lL00MKbP0dCajrTz0FM0DIgtWE/76wgwTUGFLJ69WZWgeUkvPIP589o+iSGPuOIChlQm4vkopbASTkpcjH/g23D8+8mdme4Rqi9MDtueOt7jEzeCan6vuSsmYW1+6RNi7pZyg2swhUAMgWaixuMoxuvKaj49FAY5KxwnNlAiOJtKXcN04SR5TZjdaNtS74pFRxkOW3wVeBomhanDyn2AIwnwYWnjimCkehuXKFdxXcMYmC4m5Y0ScZgGwGSistFG8W0SqwotQ== 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=hv8tsVcr2eesAn43yxfSJFytzjOM60rJ9DHrLgvJO0c=; b=XrMroqO/KtSATVUG6ST9xGhXo3In6sCGVX0QCKD3zZtsOCObhgu7OzTyfXtr9doErilB/mW1X1Z0SEfejf7UCYufrVkbK85NVsna/UvdxEry1O2kLZdtFiw/CUVZ3GpM4uHnPRjFvflCD6wNWVtWEgp3tYOUG7ptbmFt2z0X4MHMEF6G4yEaqDTnzQz2t2Jm1I3p33g2cnVoyUlLPSm5DG+dvbNz27sPm9/tuCqD5BGd971ziKd3L4+c5DDnipsAxnpZ3xEEEIQTD7Hdq2f9mU8YmyfEULR4BzCdmNSeOcE7TvnvdngUFZ69Fpfwwhdulqc/rzkGFFZIXJXIrObGaA== 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=hv8tsVcr2eesAn43yxfSJFytzjOM60rJ9DHrLgvJO0c=; b=X+jj3it/k5motmbV+BhjZseaujEwaTXDbM9ZOnBxhuueGBc90ygzaxxRZiwRNqopZNCE0Y2GwpIZrRT/v9LBRtB5njpvCLoJLrl/wHt0Cvy3aGIggPW5wSYKnvkRx/WSWTv5XZDdeg+QPr/wg2YRSZvUHH5TbDo8pfvxGoHArJgG2lfxQ9tXWHdZ/cuwzMdehRH6D0Z4ZHkCW2K0MyJF92/ox42g7bnOFKtuDwFKO3HsgiAsNM5LvGUgZaOA+kFmuoKCV7TMusrZfLlHY7jg9zb+VOPoGBIyL9gdk5w5wWovfO15Ioe/DbepSD2+2PKMUPOO4nn4fxwh3Ed9n5NbsQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by GVXP250MB1057.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:1b5::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7519.34; Mon, 29 Apr 2024 21:16:02 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7519.031; Mon, 29 Apr 2024 21:16:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Apr 2024 23:14:13 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [y0Btim+/0euRBT71f/7qUTJPGB96Y/WaLHM5uy/I3+Y=] X-ClientProxiedBy: ZR0P278CA0199.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::21) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240429211438.3274834-18-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|GVXP250MB1057:EE_ X-MS-Office365-Filtering-Correlation-Id: 2476a4f1-9a26-4609-3075-08dc68919314 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|440099019|3412199016|1710799017; X-Microsoft-Antispam-Message-Info: M0HxnarFBgPAokTROwo4EozvIX1pf4WRGoxD5Gd5Ia0sZm/4Kir7m1sAkj8zhWwUsLdgvFY4Ty29x4GMyaHE4d2Ub75kPq6eG/A2MHwmFxirazGUTYw8fpffuRuprNXImJQFa2nkfhW8Tp2C6XA/SfctVPwoIDoinf75H3IkuKMr/9r2S1565IIruL33egYbca75vUk0fy0pOy8CnOMWfb8X2oYKqsQ2Cows/z6n2D3bN/Z0iaNebs+WYqWR1WHtbYnJTRZI4j0nb6+Whe2nTAcjLZS0QU1VcMYtwbFmw1MbZgDtsHBmJ3NBY2faV7bz677gzNGfR2X8kPneIN+N/2qeQKxZl5ZRtGJlcr42nqo4c+TIMbRHjPsJBrQPzohnFz79sS5GMTfVuAhhlf+Am+sO6bj5fNe2IyD1kCvRMb0AvwvrgLKCL4e8g7Ditvr+/9AzXK8EwnPHW3aEx+bSoe15ShHJz4cayUKKKfGxgzOY2TdLHsPPMFjdHqfNIdMYjIXmZ6MAgC8RtR5NLPnFvlDIHnDR5lE4gei7L7d0DnRQ3AgJaau2mss+RKoj54Gawl/ZCWrnKC+P0Tapzvbv94JIwRoCmIhF2rnIZ0qMaOtsNX/IcTL2DqRn6PkP9LAV X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: WaW8RubtSbyDsY1mOo7WJ89VfqCjn/BJu/FjkDJhcHZlI9JwB36J22Z4AkE39Uj46q1FH7sJwt31nNoiyNER4RmslWsP3yuzRG7a1SbRmmp6PyjfR345EURaaawfnrzWcuHPBqRejAbnIFwYsYB4dpuqtz/ESTZQ57CNHEo+l4lWlR334XHr4Nuu6ddJg2WtZVrJfZinolkS5Q7JmBqt/uac6SLsIMqGkb67nAqwLBXakKGfhNbOu9IOj0yqfYKcNYuKORndeJefN7jy8la2BXfSMeSLi1HNLiDlcc32QQFqHrhEXulLOsWAPhdCR1MQFepdlAkTiDcla7FneCe+qITaYwN7OOKrUWhe0N+ndJSkF2HDduT1G6ZgjmZZT8+Nx6aLORxcwJ8J7vIz5r+GkJCd7VRy6kvaOf8Jxt0KpkbBht935FIX/8cBEaEUbsBU7jMon09J8JYb/Emjp4Y6YXB0BY0zAtJKxQ2bCRuF6HPIST+qFnjI9lJxdKjvuGiWf7hEkQYCqiTA1hX883mlCzehEo+F28TSlRVBBr0WrDzOkulGh0yliMuc8H0qNiKBDiJuZmTD5OPU3Lu4eJh1ex/418UIq41INN3TdQLfuqKBIfifeEU//7us6iR1n4Sq0PmN4nmI5yer99hPZnrmMdDmrvwMKXXsgDHKXrzqoll7aiQUTsqg2erhU88mTW3uSQjjJNSIv+J+BtHfGKiAbHtjYHSkB19CFhIXKCBu+1wXv74rSj42cu7kqCVWFt+biok3LEPtIjdyMZylcrrpKDHqR+U6xaJz55f+Y71kC+q0fjZJWDJQNWsWG/CLRQbURL8SefU8+eNVPli2ecVymXMF+z0Uj+M/JvGqdLkXoWKJlRweScJy6eA3vNBlQR5TASj0uiyO9ZOkv9Zn+MT/OJ3Z/5EqGmVWXr5G6nlvxt6i/TSzMg9QCwwp0OAHwz3WV+4EIJxvCO9aQoVSe7a1f3scA0TltHLMD+SP+i1bsGn2VXYDCcQ6XZH9oWk6IKgu8lcM7/FlL/PCtll+QrDfcbNmeBKipkr/hZwR8ImAJ6bOF+miJzr8AFvpFAPGV5Ig64My5FsRZmYQ6tAqzlQuDXJ+aLxfvArQKsek4lSPnwv4eqHge81XctWH+crpyUjCqZl5QsnMOnfuzKwVJXb7kp2TDLXSruj2ktWVWbBlYiRn3gC8zztenZ7iMsWh5ewx4X7Ayp/QCcUZAyMXkhJONNaKEjODPeGoDcGtTk10cNdNYetLjGzj0DxBe9t+nu7/ZOfiO85XNSfk4Ol2uNP1eg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2476a4f1-9a26-4609-3075-08dc68919314 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Apr 2024 21:16:02.8418 (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: GVXP250MB1057 Subject: [FFmpeg-devel] [PATCH 32/57] avcodec/error_resilience: Deduplicate cleanup code 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: WWrbViHIsL0T Signed-off-by: Andreas Rheinhardt --- libavcodec/error_resilience.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/libavcodec/error_resilience.c b/libavcodec/error_resilience.c index efbacb8760..66d03987b6 100644 --- a/libavcodec/error_resilience.c +++ b/libavcodec/error_resilience.c @@ -948,19 +948,10 @@ void ff_er_frame_end(ERContext *s, int *decode_error_flags) s->ref_index[i] = av_calloc(s->mb_stride * s->mb_height, 4 * sizeof(uint8_t)); s->motion_val_base[i] = av_calloc(size + 4, 2 * sizeof(uint16_t)); if (!s->ref_index[i] || !s->motion_val_base[i]) - break; + goto cleanup; s->cur_pic.ref_index[i] = s->ref_index[i]; s->cur_pic.motion_val[i] = s->motion_val_base[i] + 4; } - if (i < 2) { - for (i = 0; i < 2; i++) { - av_freep(&s->ref_index[i]); - av_freep(&s->motion_val_base[i]); - s->cur_pic.ref_index[i] = NULL; - s->cur_pic.motion_val[i] = NULL; - } - return; - } } if (s->avctx->debug & FF_DEBUG_ER) { @@ -1344,14 +1335,15 @@ void ff_er_frame_end(ERContext *s, int *decode_error_flags) s->mbintra_table[mb_xy] = 1; } + memset(&s->cur_pic, 0, sizeof(ERPicture)); + memset(&s->last_pic, 0, sizeof(ERPicture)); + memset(&s->next_pic, 0, sizeof(ERPicture)); + +cleanup: for (i = 0; i < 2; i++) { av_freep(&s->ref_index[i]); av_freep(&s->motion_val_base[i]); s->cur_pic.ref_index[i] = NULL; s->cur_pic.motion_val[i] = NULL; } - - memset(&s->cur_pic, 0, sizeof(ERPicture)); - memset(&s->last_pic, 0, sizeof(ERPicture)); - memset(&s->next_pic, 0, sizeof(ERPicture)); }