From patchwork Sat Dec 11 18:37:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32290 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3354583iog; Sat, 11 Dec 2021 10:37:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJyWBRr1tF3N8jqBPjk+ohHPAmi4n2NMZXWlG/W9ubQcfT45JufSx/jHJxqVS2Jml3C2fW7Y X-Received: by 2002:a50:d68e:: with SMTP id r14mr48857787edi.5.1639247878947; Sat, 11 Dec 2021 10:37:58 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b10si12934696edz.201.2021.12.11.10.37.58; Sat, 11 Dec 2021 10:37:58 -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=oLkfLaPe; 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 6D5D868AE9A; Sat, 11 Dec 2021 20:37:54 +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-oln040092073037.outbound.protection.outlook.com [40.92.73.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8982C68A87B for ; Sat, 11 Dec 2021 20:37:47 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NyTaYwOF0CW/w4KOf1aoRCgeAvcbo4dcJRXXMkFG8EcjYoRUKYKmkWHABqTrybP5iBmtfpzlSjai+B/0zSso4ViFB4//DguGl4t3KLdEY9gCPM4AVthUHZB3Iacbds1XqtdZ3oKqgJTIcxD54OffdLzte2CD+2czm9POT5yDP+8EyQrO+ByKlFaUgjSai2fhOSxMCBTCP8HOcmEnhKcVHaSGJ9rtOxcqjrMcrbGdObBLbCN1boVmKSCANiucnu14ABP/ggdwd2C6q4Az3F71x+0t3a0KZxVvIddQvWXbS5qOWDgsN39z6vM5gT9fsgp3ujkuxVtlibhhHcOb3NpGJw== 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=xHLjxNLw3gVlutLiz+H3H3/4V58iTeFmLuLxq8D42GI=; b=BrCtU1vj9MOKOIQ8rgi75ZohFU/nee+x+AFdb/5iJ47TQF1isdIMH3VjmbSAA1Vdnk2fZZ4DSljrAKPoHh5cMa5ahcZ66QzFEKMN8lWv2APtFe7eDvo8+om6FIIghImLUYVgN1VpdofUpvI774fJPjaRtD3XN7b0zDDC2Qzk828BvKswliK3tTjN7cIGUU2V4CgV2kmoSBq4hTWyKj3VSJcN7uIdnMzf5IA2LOI8MdzxLnWoieQPYsAbWf7DA+hblGa4/qsAU3UDsuBdoKhULiHr8I3JFtKP49KB0VUSf8nZcjDQ882qQDeZaIFppTd3CbT+VUbz3pL1NaivBVKSow== 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=xHLjxNLw3gVlutLiz+H3H3/4V58iTeFmLuLxq8D42GI=; b=oLkfLaPedJWl8ITM94jTz0I+jIdxc8pgrhQVPtGn5GfJaE5H/q194rLKNfM9w5KyR4CVLUgu3yX6io+VkeDNDV4fDWeGOSTWktR5BY3MYUzgSc953bL/DS0pRlV8wuWTRUNMnR7oPZKQIopjFnk+FfpWt0ftIAw1CaEtNLCFD4XWgzPc+sOPLgQzjiI0179RYFEZCSvwVkA+E+M966xyLZiNI9wremBCOlD4C0hqFXQdblmN0nLYfHxq3N8H5wGGxJdEtyg/UTyiqjriCCLuxe4NvZaJHYLRYv7qIBIE2VlHnI5Zi5gXPzEdnNrhipVS0Cw73RhBofJLHf2l6XY1cw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:37:46 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:37:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:37:28 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 X-TMN: [be1NOXH6ytVJw3WGiOzyUWheV0/9lqLr] X-ClientProxiedBy: AM0PR04CA0014.eurprd04.prod.outlook.com (2603:10a6:208:122::27) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211183739.1430700-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0926a53e-54ff-4853-b885-08d9bcd55323 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS9msLST/hR/FDB3IPfXlmi7UEzxfWRSPyhICK8BNYEA0ulUvS4fvXi2ERe92uwNWtXphtTeAfCzPE3cm55ghNZfg5V0UhMeeZaji1rTH8NW8hZAs1wt9bgdXldH/nW9HuSqQzbn0iih0wjnna2MBBxZAxbxKZb2Lluo8b+HH88teJGnT59n/Hw27gJ7vBPnmWOEXFJFyiJIgvBmO2bhwh3ZaIXg+2syvqfErMVv62a4fuX9nodcUbfxvhE6+ISrJD0ZgGEEw7EELstLjxrxSRw7Y0Z27Cl7s3ucJGqA64o94atUb4EqC1ifOzv6CE8X+Z2JVMEVmvdawb8TW3G6u+4/WMmClBDhwG3n9G+GXv14VQZeqRs06k2Y96qtpBc5CLvsvdE0AyoMv5Vu9DMtmPbkDntWwQtEl+ERpTw9NoBc59wUwqY0djgSjCuKsN8BBZp87wBJr0nVFGM07CpYbcEtDylMISr2hnHyYwk992nmUOeXB34R/kyOp/0dqosio+H2p85tKVAKU1lpaJqlFkF9YyMCDfQkdXbXpHO8vYrxa62DG6yECSdI/a/H5PDHdfWd83NhCF7A+Mi2yGS4sryU67oKtwJET3Xv3p0vHEeKB/bABJpA5vHgTy/2AkmQdYFDd10BbZmalXolkaVt4AoR2f6I7/rszAGVsj6T/DT0IEMkJYY4akvmooTvmbaIoXwo7moLl45DI/hpNfZ8cbrH26ipcEz0qO1rLGKBqgsaYo9ACILBM4ILZ7lHWqDq0A= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GQWik/UYCZvxEcy4Lvh/DXcIvW2Lzy1gNlpewnWLmfS3zWi/BIh6CnxH5UCVwwi6gyfyPZArRwglj+9wHNKfIAQ99XpY1fiE5GH+98Q7+5a2LIgktCSb56XUzqhettezF5//MGt7e8p+F6xYj51vlpHKZSAC9LE1TH+xNvyaQHrmPlweOETATIpDa7ngcbHiyxqMeN9U0PFkJ70MDFMNyZ/cA8DTtphonL1LWnP1aFPO591lhPwWnSh+zVo0G0K9sFkRhuCK1W/Pn2Pn0zfUNvAiN8AyOX2ulhwQRX5ozzZedvKt0pXguuMs345flSPbw/ApgTVBhwomFHia7Qbdk6YPMBg9f3iMIpI6d9NuQdZUZ+2ID246qi6kBlWGm8sjdHJK5AFBxZ+vSY0rIbg3ppqlxUPc8iJWtWR4FvZm9pixic6xGQtDXaKbprUg8CudAhvmgQTk4HDms/3IPsEcTHPq1bLQTOn6EpbWA/GNKsTch9Et1iIShAqhgKh4RTdV5cQoUPx0AYiGpwMSg3Y6jDAAuLMIScH4TWBV/9ZleYFxuOTsQXVK4htgEtqS82HbnA2onpCWOvpTte1BSL+csw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KkewchTU7ldrWqwEFmzVwA2Ngc+vJxlcTIe0GEWVjEu0MTqS5qKxbfDhee2UytB3I7zUTI2iwPG1qHRdhCj5iPj5KA8wetIUcMPlk4BE5z75pL3773mrhecczirYD+lFR8UjW9c0v1k9IJ30vvL6jVeSOnVqdTpeHFcXECrcxR8uR3zX7OvyPvJrikrhJAgMInTERQzq7B2HNbCYw1beHapL9m29atMsEsUyFoUPZDB3hoFFgGV7tuPtVSfAOR0MGWS65A50oZuVnR2JfY6aWFKDB1olIZe9WuZoQBvPCC3wKjXofZel/O93SVGo0EjhyjOJr3ILsBbtEvkz/pIj8X7Rxv21B2LfOlw+JiQXSw2SrTi+jObq/Jv0WNqQqDYoBIUs3Iv8uyvKIBTBAxpkmHZMayHvHmn2czMt0dpVJkvDeZyE2K9DkFQzFgo1zm6swGVVj0oPkxkjNwPxLxvknUdYOo+HCpKI99UtvKP/qtJYsrzZMnR+bZGyHNuPjrms5FwXrnZIwAEh68btjpQHLpEXzHwXO8Gl37YvHBRScPVLTeu9xSiia2WitiFup2DiizUNUv55pZxw+3gOxeqZOUO6U0yMGjnndINSiXdchvxGaijlQl681UDVAC96OM5w71gJBPxT+XKCd0ZjBmKkA8+H/g8l51wlISw/OjymG4ZMu4QZD6kRct8PipRrPgeSDXjPpfWUM/xLya8N4luM02efIGmBxUVmBm3+f6KobZ/tcPxhB3nM5A6rtd0gDeREoPGg2CCn1pjhRwajgC4nwlSihzm3PmO56yzLXQwJIKFq7fdTma50lxzi4i8OPC6vA/mSbItGadcNcdVU/JraYjbVX1K5GpXrDuhdQO5UvTqTTwd+kqwZxZWnPYbvmG8vwgf6K7j7ExdGNuI2Fu7JpK/pxxHMCxuSTGFZENH72umh94ya4+VaTdGe1t1a5UcyLth8WFOamxuceQD+RkFIFw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0926a53e-54ff-4853-b885-08d9bcd55323 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:37:46.1366 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 01/12] avcodec/h2645_parse: Remove H2645NAL.rbsp_buffer 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: 0rxe05ZaQLqi Forgotten in 03b82b3ab9883cef017e513c7d0b3b986b3b3e7b. (Moving data to the front is only done to make existing initializations like H2645NAL nal = { NULL } not emit int->pointer conversion warnings.) Signed-off-by: Andreas Rheinhardt --- libavcodec/h2645_parse.c | 3 +-- libavcodec/h2645_parse.h | 4 +--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/h2645_parse.c b/libavcodec/h2645_parse.c index 6fbe97ad4a..03780680c6 100644 --- a/libavcodec/h2645_parse.c +++ b/libavcodec/h2645_parse.c @@ -92,8 +92,7 @@ int ff_h2645_extract_rbsp(const uint8_t *src, int length, } else if (i > length) i = length; - nal->rbsp_buffer = &rbsp->rbsp_buffer[rbsp->rbsp_buffer_size]; - dst = nal->rbsp_buffer; + dst = &rbsp->rbsp_buffer[rbsp->rbsp_buffer_size]; memcpy(dst, src, i); si = di = i; diff --git a/libavcodec/h2645_parse.h b/libavcodec/h2645_parse.h index 20a9d355f2..3a13ba248a 100644 --- a/libavcodec/h2645_parse.h +++ b/libavcodec/h2645_parse.h @@ -32,10 +32,8 @@ #define MAX_MBPAIR_SIZE (256*1024) // a tighter bound could be calculated if someone cares about a few bytes typedef struct H2645NAL { - uint8_t *rbsp_buffer; - - int size; const uint8_t *data; + int size; /** * Size, in bits, of just the data, excluding the stop bit and any trailing From patchwork Sat Dec 11 18:40:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32291 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3356879iog; Sat, 11 Dec 2021 10:40:44 -0800 (PST) X-Google-Smtp-Source: ABdhPJxCBkRDGBKEVJ7FcXDyHrhDkRNg+cWJ1tHidTUEKw8nSnV7Qsyot9T3Y7dOXFOYlbNO52UH X-Received: by 2002:a17:907:3c7:: with SMTP id su7mr33053265ejb.87.1639248044745; Sat, 11 Dec 2021 10:40:44 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 8si9992024edv.30.2021.12.11.10.40.44; Sat, 11 Dec 2021 10:40:44 -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=jUsjknmp; 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 AA05768AF1F; Sat, 11 Dec 2021 20:40:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2035.outbound.protection.outlook.com [40.92.89.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 77BE768057D for ; Sat, 11 Dec 2021 20:40:35 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DaUPI3YGM8mBqx+F4A3DtpTfW/xOxi8m1hqQbFd6T72h4xnlUMlALWEFEWfFygYN+pFuIcdol6FlhvkOR2DjLCHtydf5t2PQD9MToIPyTWuwfyvNM2i/fqBUS1rP8OIunI9+VzfAgdQxjx8+T/XISjHf/QEVKRKOIWMQsB9MypQMpxI+sRvJ51eZZOkhd06GKYHBqJnsOToN5FjfPuSjr4zcFuJ8sTGmG3BXZ5Qi0AB88cfb93b+AiL3fnGz+q66/cf91spNRnAT85HQBoc9Q4C4BN0cEzL+1GD5WnYme37CQXTl58jKmdlgbQO+KCq9iFAVqpLSDGmkxelABuwypA== 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=TkrhhxRIXj+5nn2lr9OVz9tt84BnYjyJ/LmNTlFV7zU=; b=X61Xn3i9ZI8MdOHp0dLmRIjGS4uRh6lQNWEpdI8CrXMq46ndKnSh1WzGVml/jQiX/R2sdlMXCQPRfQKbs0BlW7ypy/hhUCbOTsBc3nV17gLyA2T0He9DLxxndjDLkaF7F2UFq3OID7S3hhEjl1OC2URFTgF3wI+/S0NwxsU86hojP3GaIqbhlin19vNJ+GEG8FvQVzK9U5O9+gmpCGweCUSeHSaL6JgALGX5NYKQxdZ+oFtyQmXYAltlptI8041udvqZhYy3KuLk52/+u3a+QI1tGYevbO40ArT6qnzH7hIK80RcJNggiKgJSUssyCpoNeIZTcXgpi6sLi3uVVWOhg== 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=TkrhhxRIXj+5nn2lr9OVz9tt84BnYjyJ/LmNTlFV7zU=; b=jUsjknmpa5qiYrBDEBtfzx/08WHhEsTeZGIoot5yw3eIh2GyNcOJTKD1+9PmrLUR31WisATgfWeiDnzhOyacaVySH8B06yMANAPt69oLdgqzpL0e9DFkgylliyEpdGfNjmmYFbSIDSmh/SnQgES/awUXR7byxbWCOCFdFP2Mw7BYknyEYTA/geVUIvNXk8omjr43VA1vmii0ExmpHUqQzewIw5uxCmXsBegrKGU1Bp6t5xvlC1tc1SjzPGAEr94LsmZv/jcHNCra6InCo6I6qdGtnu057SuTUrHr/dWmKZreRgvV1lDyjE/fdbmHkLwhPV714bOrLYlvFkHeweZCmw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:34 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:33 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:15 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [/hPiDlpLdWuvz2GLrCmvsD8RJxTruZ1N] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 243e952a-3dea-44df-b602-08d9bcd5b72f X-MS-Exchange-SLBlob-MailProps: +LiGfBxqLEs2/OlovTS5GS5NKB19LZeb+8r+GyvlqDFDQUgYn9trBy9Kod29sNILHJ/ScxpcoaFxu0s5tKDn0MTGl9iKDHF00iqh+SOvMX/9/1dFnN3orisARGWiUwnxQSYq15eNYIkLia6JWl94Ctug+DV//zz8isbrCNLxcQYBmkZW3PwfxVSOrrBTPsPrEviAKGnyr4A9iDGvJszUQcj2PzzWHmr/DdNPjoPbq8XH6N4MTDA4KTKbDuXaxIvW40aHW2RkgnxiBaRpeFFX3TnEz+l0MeiKWEynrgrq+9fjDR8E7/tzyB9ZtJDnAgSuOqEyw2FLIWVWuL50qm1o1yi5vMjufaDxUfrikBt36/XVlpv7Z+++Yo5+mPNPJlPSXoJZUf4bGWgwKSQ4/iYoLnP281o5vA7QsPvQdhfcrNE8wP6cFD/F++aGkBYX0g8//gNiXevfwVP58Mb+K2XxzMZbREUEI51eu7+Mr6UMyZagQCvv1ICK0NWCNuPVR28b94Nyz/SnXtpAn/rQor5QY2XCmIDf7YssaqPzKCdZ+ZTlAyC4vOX5l0pE3OgTt/2H7hR5Zhnz5lV5ZPK62AN8bO7JHkiwTh9AyFrPhM9saWIm5kolvGmWBNE1PuI4RH9t0hIQIkBOwNbGCvNKTTcVgIpvIgTbOLJM+Y1YShSRO71ZZ2kCs93FqEpEHl3sddtTnfOvexXA3k4jNujFd2OOyK7eSyv+zzKEdynHfYYIZTP6d2HfYYO1LIvXnCkQOXGfALHmQpRHlFZ2m3FnihF2UJS2h8lhMY/C X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: sOo6zoT8raRu/gUZ6Gqk9Qkv3zInT54EDpBBUmaJm3sjMV7Gg2XgAK4xQnCA4ajBqG76WuH0RD7f6fxVWeLXT5WkzW/bh1rOCaeiOQ1E4O1VvKgHZYF6l10D5n9evyTG+g1CwMf94/HTkSg9lxTwPcuX7PEJ+P8XpX9rW/cWrwRMx8x5HTey7N53veMEqo/zEGrarC94rfkEnEMBTpvLxl9E/btUl7kVVPRUr0UQZUu6S03TdENwvuLKuET5BL2najZFg9Cxfs4OrpX39EOUnbTwTW+aUhY4zTCzXS4nB4lRVLg/5pwMCWOkD4/xuPm1X1FjNogA4x6ELlhon+inqIwiyJ12kR3uSz5TR5DJcFj/2wXfBkO+oWCgc6LLsZ+hfhn6tCL8lbMFDRQCjXhpPEuzEwO4FY9ddUq/9Js3nNLo1Pf7WTmW83gBA1gNu/dMNdf2ujmYSnt0Fq3VMqYKBSTz958K4zQ4XqfnKeK5A6gz0wH7h2zZISg58rqMp0oxa+jDXNGotFwX3o8nj3YMwLD8KogaGCPDG+7AksG65kuHC2K/lM2X2QN22SaER7kBV5JFFytAYib3d47ifBR1cQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9L8wAlCD7wAEZPkLAsKfAwx1PAAuX/Pefs2smLai4njWrm0s8i0rhEPSmvQU/lj548I11CvS+sqyNRY0zpqVDkl8MRAG8edTnp5SqWPrpgXj/v4b5BeAvvZSHRB19HxrwLv6+sS0lmZMSJvNbRwjXJFzEE7JOMjL3S2LVcSCgu7HYkXL11dWcf9L36xQe/54V0rH1WHzr4YxrDSfJWKloIoNr0YTZ9RxgwOOWqXUYa/mKyE0Lc3LXBLddf97/BQxT+a+kZ1YXgc5ko65yF+4tEoC67WO8vXNblP6WBtt8DhZzkUVO/vsoJSDt/p5U9H3i/JAQWDm0Cbq8UO78axcXLJyrcBAgZ9ft9T/skUUQmoFQRR2Xfe/wCIISvAGOhoBtj1OJ1k3ZUAfej6EZclpwxJrCp20HdAadhPkbe8Lp5c+34k0X7B5GHvRULFbfoLc1Hk6nveR52lnpoE3sVsbb9cx2VrrET0qJsn3aSVfsbuh7eWPr2n+L0Q3iwtrmbpm0KiciTm3ZwnWL2+0x+3cwCONMfH1jJRR07ALPQHA4KFfINfjLqzFGhgCo20G5wxLVUKC/zsuzSzO7ABR0Ceo8QcEjaNQM2ovwMqpFJB70y9Pc3kxvWw8DgazRxP2J/aSRzMq82P+9GvoC/IL1/Dcf3HQLMhOuOOcd8R2wayj5623fkwnXHJqH9+UIgSFjMadi1tHitT6ASHuOLt2MLcXoNbM/o3t9edId9m/5YR+K+MJLSoIRVQ6Tiw0YNWoirHrdZj2wuXqZltNS1qLg8uGMuiYdM6jWDqoaBS4GMLdmxTkOu4MUmS0O5I1Afbn5KLz+e2MUDcS5dsyYmBwglJKj1/n9v4/M2nGGSKVVzbmO7DvZUxYQrOiSl6EiTDsvtta35+LKWgX5ZSDgp9u8g8/aH4C9iW3Td3wst14LJKLi9oVMY/nfn1i1jPbat/EMAub+OdAjWV2hCYtqTNHXvtCVg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 243e952a-3dea-44df-b602-08d9bcd5b72f X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:33.9392 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 02/12] avcodec/h2645_parse: Move ref_idc further up in H2645NAL 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: IMZ2wyPrsGrD This puts it directly near the NALU type which is more natural and furthermore reduces the size of the structure because it can be placed in padding (on 64-bit systems). Signed-off-by: Andreas Rheinhardt --- libavcodec/h2645_parse.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/h2645_parse.h b/libavcodec/h2645_parse.h index 3a13ba248a..787ce971ee 100644 --- a/libavcodec/h2645_parse.h +++ b/libavcodec/h2645_parse.h @@ -51,6 +51,11 @@ typedef struct H2645NAL { */ int type; + /** + * H.264 only, nal_ref_idc + */ + int ref_idc; + /** * HEVC only, nuh_temporal_id_plus_1 - 1 */ @@ -64,10 +69,6 @@ typedef struct H2645NAL { int skipped_bytes; int skipped_bytes_pos_size; int *skipped_bytes_pos; - /** - * H.264 only, nal_ref_idc - */ - int ref_idc; } H2645NAL; typedef struct H2645RBSP { From patchwork Sat Dec 11 18:40:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32292 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3356999iog; Sat, 11 Dec 2021 10:40:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJwhX4R9IDqxKXZ4nu+xx9CLtsLGyrFoAoXxpqxPPPd8MLNn+kboUQulfrclE1ixKXFgvN+P X-Received: by 2002:a50:9ec9:: with SMTP id a67mr48423644edf.238.1639248052782; Sat, 11 Dec 2021 10:40:52 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id x22si12460854edd.196.2021.12.11.10.40.52; Sat, 11 Dec 2021 10:40:52 -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=HLcBNjl7; 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 C1CBC68AF2B; Sat, 11 Dec 2021 20:40:46 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2035.outbound.protection.outlook.com [40.92.89.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 99A4D680113 for ; Sat, 11 Dec 2021 20:40:40 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QbqADzbujKKIgKN71flQmDuptKZ+BbRy1UubaCQ+XwOx1DrG95lF1jv8cVZGB7dRShIU8phXMp/P6pYZiSvqoxZA5IOZu0kAWyvraNeJtaPi2lGXKzEnaQwxGEAUkdONY025mQiZm1rrZ730ds+WY6WVZeG4yoCFtjFS4XULTiuO8Wp1H2YlstFT5B/mr9zIbfraf+sRnU3PEs+VL7A2ItYVeIaPWph3WHN+pY557zbV0LYcnhDemMxRPLU7GxXdZ6QsDdli7kGHZ7HPmWQf/xK/y+LIzqVU0iVA5qe84yZKcyJJeWBeoih7S/Rj7YZ34eRHEkKQaadxVa3q53rEcw== 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=4eQy3KtWmb7i6BWBbxaaGDb/NMp+CqIg3uZ1zGtCSl8=; b=FP9jjVYVzC7If59ot082QcBIBtGg2VvgobnG5fRDvYWT8f2nmaA86lV4AnnnGNtiaJ+jigdBk/cKNth5SyU0MuUsuN75TkbQeYVIsguvGaxQolHCl1EEGHFhfVnDNpJqLQmJcCYCb9Ril0DV/bX7ZRk+USkneiqEXZJVK6feCYysRaNUbCUlTc+eUnERQEBG/q/JgfaEdDg59WfkjUiXW+S4hvo+mBw25nKA2tVjEvzmKkaoB89myv1U+NtSwk3vudSVXeuJSmmJIvNIDlM29yt3HfYfL0qY45phlhg1zg9a/PM8ogOnvx9+o3iM5EK+WfHhuzgdUWmlF0MYQtEHgg== 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=4eQy3KtWmb7i6BWBbxaaGDb/NMp+CqIg3uZ1zGtCSl8=; b=HLcBNjl78kXGOiVJaYmxiHLyUjEh6eGkPEwWih1Q2CkCOeJcOkTlZ5l0EmQiLS8iFpdx3ixdztRm7EdZUNy8MxB8DG44mpE87tRPsmW+YY81WZVx6jNkXzIqo4Xyt82pQ6k/ni7ZduU7VO1SJmkQB0ak5GnJhlMo83syzcrW4HHYHF0P4oKmzYUCMiglVUJqlfFI8TbBKeAVst+gTq4Lnjo95SB0GGnSZRgMn7kVLay2KukuGHLPHp8CbUMMLdqWMYnQmt1+lBz1DUeB1SwvcnHqi0GZR2HY0FpR7pevgdTi6z/VYuvYFnftJaIOGFRGKsbw5ArKFTYoUVvUlhbzcg== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:36 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:36 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:16 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bnFZBhd0IbBhfHrApiealjsQxW5YZIxR] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dd91227f-b845-4ac1-b0a8-08d9bcd5b8af X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UImNawVT7mOnSn1qXfdKikY7q6Q2vfk9WeQqxjbz0adBsUfT6c+hfcYsJ7QeWoDr3br3xZIt+HiE1tWY+X3s9cVOjLMVFBzMkzCBP0N9VRXGAzrJUbxMQ9Zf8kvCIsDn2cyVzw6sA9Tam3emWtrGj9o2QIOA+gz9HBXiT9f8a9BuXzYN7zBOegaokNU/c5NFRrGLqWCEnmg+3tCHzGuBgfpA+ORYdzsgFEkEFmxXoAGnZyyzwP45trjT/p75hTnbtr8VJgGqHixzVybsgfrX/lGR12kjrBfxLe0yM7g0soMIYluvqOJtFL5KXuY9ksEnhMC9JLjwTtRFHYzU5KVtM43mQNToVScT4no8emWMdvq7CI61UbK+EmYv3ke5puXmK1N0YfuVaLsmm4xtymQbA3mCoJJgGnthCWbx4JAHPXNXtntB/SGDolX1M15e45x8o6K3vV1EKsl2xTbg+ZXX/sXs4O1MHEAqdz5SAVC+49rKgQVIAdIN3yYIo8+JcF9V2KhH3qAt9moqeKgXpu8Q+M+DTQ8h4Kdiie3EhuxwVcb39Qgf/iHG7jRuGjevpsMGNCe3UA1qVjtOPuV7XQjZv3Hnrqe/Z96UHj1uBOCRMU+/JzvgfeWjcmc2KiGSukRDyr3yaL5x+zB8c54SqqVV8lXNXYLtSEuAZFs2W6TO4Ak/6s0iCY9JDIk/zmmd104d2nvgcoe325fMg== X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vSFWkJJ6hdikaQ+b2LkyO9IUXLNNjjnOG2qn2opWkNGUoSOjN0KadYAkyvp1XxRvkQ7jZmKMlRhbFawkEMHsHXXOUoRjrU8vNVxp3RI7+p5VAS0K7o6RLotCHrdi+6ObBt70jAAA+h0hj+RYxOxwnXUE/YyJgXofoAlIDeg+zdpBgNSr5hf6qOTGpWeG6SeRnbf/pFXpYESkt5/xaZDfWOnhfbx4l+Lw2mv9iQN8gdKcpnI5kS45kQOiq5F09hW2zb0q8YbluWkdtUR+28t+PVcfZ6ob/oD2IKPQSecHqS45D0T8yHLbQMvXnkfcSPE1EautYqFvsDu4mZ4JVbqu+0ek6HrQr9eYcnbqETqs50WevxOgQOi6zAND/9E4tiNDTZDomDEWZArIymN4q7wBEIrBZ6mCXyQZlrpfzlsP2TiXyX8MtEr1TmcYbj8zpgkz6bmszp4JqQmg3dcGPFwhjaVK6s+48ENEYKxDLjNVwKnRBO7fUSD71j0kM+JLfVox45wGMy7DZl0aWGSfqYVy3vShG2CZ+tKlZOKlAKBUPVSOFOfQIGzG6heJIRm4UNtKVpd/k0nqAFVGX4q9dZivig== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: P80PccgtHoM0zbubmP8qyrxDzI6c/rGxATXdKhmAZr09OG9y7nvQGJE8xxCOa5C95JJf2+KZQYMzYFeBZcyInwx4tbNcr/63X4OUfoFIpaCQE07kw6coCBxKiOIW8usIxB/x/IrimYE10fiHIL7T6cpEbUeIPqeu0rZlkTTu523stFOdUjsj/deOcgiL3jLUVFjWnayXAoda1evfo8WhjhHOV05pckRgpqIbj4kdqzYzhxSk6YCj2lPHte90GHxEPrKC5ZHVT8Dpx4yQ0J14BRo+HpOu6zk3ySNYT/nWPMO9rw3YKUPX5394Di6JERwEqzToDfPAviSsWod7BiFfUQgVOyC+buc3yLg8r91jX7socmsL8VHEBGg7ojM+nJtBOSOYmr2l02UbD1SrZSn3CoI7VVGsw1IK6yFQEDCbuVoJHSW2eDuQkYaKdIUjlC+iMP9EN0oqomx2jmctm1m6cyhebdT05MnGPT2TPi6kYpwiWJ1LOjgpP/ZeFFOSEV4QQXaf61kRdjnBXfvQh22uCJu5UdIy1bS3MA2BRgRDTABIiqcP9TCkUH7xQQDJR98dzh05LVVLgpfuv8mvJnUC1RCfvWz1I3iGvmwFc8HHLkSt9SiDr/B0poGD3+k9KH99Egx1qlgyaC0R09T6SpBduuopRPEn6B4/TlxevVJth9EiYYgX117FKTPzhb4cBpjjC9prXKygikRvl/kH1oN2K+Voyhhx+YJ42vea/KZZOYJZJY58plkNIDWWuKCdvnr3VILelzT/Bsy5aPErXmsE1jd4X/HTsAZk9THCA8mIr9KEPfZXkWdHIbV6K1ysV4KIyYvgstY4a1ssjMrTSspTaQ9lcHmiZd2jwbPNPQnxTTTVkUCZw5uIdQlbgZXKsg3x7nXkBUOkMenFhgYA8JJ2DW7XK9HLeK1a8cPYmV+Rf54jGOhFSw14cw5jTTCC/qaGkDB4b9eoha/ngWRTjKoVLg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd91227f-b845-4ac1-b0a8-08d9bcd5b8af X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:36.3931 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 03/12] avformat/demux: Remove fake-loop 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: C/p/gpj8RR0x When flushing, try_decode_frame() itself loops until the desired properties have been found or the decoder is drained. Signed-off-by: Andreas Rheinhardt --- libavformat/demux.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/libavformat/demux.c b/libavformat/demux.c index 745dc8687c..87dbd53a0f 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -2771,11 +2771,9 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) /* flush the decoders */ if (sti->info->found_decoder == 1) { - do { - err = try_decode_frame(ic, st, empty_pkt, - (options && i < orig_nb_streams) - ? &options[i] : NULL); - } while (err > 0 && !has_codec_parameters(st, NULL)); + err = try_decode_frame(ic, st, empty_pkt, + (options && i < orig_nb_streams) + ? &options[i] : NULL); if (err < 0) { av_log(ic, AV_LOG_INFO, From patchwork Sat Dec 11 18:40:17 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32293 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357156iog; Sat, 11 Dec 2021 10:41:02 -0800 (PST) X-Google-Smtp-Source: ABdhPJz/ct4InteTpT29mggvyk7I6OMwPl0kFpytp6aRasfzDwkqfgO8HeKxJE+P85jaQVBw3uvJ X-Received: by 2002:a05:6402:516c:: with SMTP id d12mr48219261ede.391.1639248062344; Sat, 11 Dec 2021 10:41:02 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p2si9238307edq.79.2021.12.11.10.41.01; Sat, 11 Dec 2021 10:41:02 -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=PqE4IK7j; 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 C6CD868AF3B; Sat, 11 Dec 2021 20:40:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2035.outbound.protection.outlook.com [40.92.89.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BB8C5689BFF for ; Sat, 11 Dec 2021 20:40:45 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d6y4TsKZRieb5bH6UkQU+DbWaU97Vh7YKwcIlOAi2I0hH/GfHD3DWlckJF2wOnLcE9gFb/E+ibkF/EUb431EfFL3dssaUbqLEI2yIzCFJglVHreHIMHea0rzx5L8iQx+tz8FNftJ8CL/x6am3vxANBS/j+oNRPAEEicmRNeKFAJ5fRz4C8H8djrjrW9GDHQBmjXvxnNpIWx+bp3snKClUMBCE13+Jmh5PuDoqm0EekCV1SeVY/HLMysWQqqXCvV9WsdvLg0AUe1Kd8VmwrKQIJB0tqpoWWd+Jd5+st59OYNwv9FQg4zFgw/58Mj/iq9xnK2ZDRVTgXvAXKKBLSf8dw== 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=+Mzrx1pHd4pHMKWmvtuh0Lz8Zwn7b8ccqZNYpoNj9zQ=; b=hSEiOVmFJyzyxYo2QdERYJXWTTDCktvkx3dEeHyEBriMEJjB3fj2qwUwrsTbF2+WzokcBwL6plNHoLHfa65draRq+5QJpHOWETlRUH6YPTYKUeZbREapHWIYJwrHr4HeDP3yiMho4bUWClSXlNavbhmcbO5LRatG2VBtmnlyj0fL2jaKj2y1HhKVAigeprlXBDAZ7pLnO+qscuYHFhD5cXKrmCkKn0qQq09zEB3beFuIZpqF5vawQq4KC/762uBcLfZB60+JWU5vn8D38yQsD3WLLEMMXOpL6gQlZIq04UCBfR6OtusMId2bUkIsZQOR4pL2lcaOKeUnPWrZ/kfwMw== 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=+Mzrx1pHd4pHMKWmvtuh0Lz8Zwn7b8ccqZNYpoNj9zQ=; b=PqE4IK7jRXMw73neC0lG3E1qQv1ZYdhLJteLakbw+LoLiV4ByAEaWz7kV7XDAXHDCU9E0dcJXIvQe7E5i0bME379S07uTCmI8nYSpCtJx+a1pKrnc7s5jQtRFfgjNE9i0MGr+PSqr4peWiqffA79rWnhsj6T2+8fkN8INUtZWNCcIVhl6l8ZOuV7vu30fwj4vj407JtJfQzzEeXJer7EdP13nl1dtQEZntc0r9kXnrcdeVvweMf9NGjGuZkxX70MqXQPh0pgXAEWrZtR0njnwZbQY4l5nd1bo1g/lgHd3KCH+EOWvGbNYKmFg3oD4TzwC2rTQeR5KoGgQiapktg0fw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:40 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:40 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:17 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [PFpXVWy98igSGjEjLPBwF4v498aeBCyj] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-3-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e494d4d2-148b-4baf-1b61-08d9bcd5bb12 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrGqEGMDh6H/uT78iMSw3HXMTjUydiD8NjjrNdyQoikqNQjGTrBvOsbZ7qpXU21heClAVgX1E0HdIPnzCvSF4IYCjgavYlAeGnEgJ/HlWBxY3kHr+mcRqvZegcv1gUYmfudCp7EAwoVrYjjj7XMBstsqfs+YfViBYB1OSCpGCA61U7Kmxx29zCDgzofCXmpuD0Age57JsfP7sq5Rt+BO6SA9bziKovl2QSIxhE4urdbitNu9sISFig1ZaVZLdhOWBFlg5urlmAp5Y1YS0535gUg4lfYpp6L908DEJzeG5ihHY8/X5VgGj7a6DIy3izWaf8y9+252FePsP7OLI/iSPyxnsOBhwxXEZvYutVEA+JHfVwtl44Xx8KQ/95kDGqh2cCuQQXouyg5HCIqDSupfSW85HEiPp/LBQKAMH2qb/206aBR+tFAo5QiLoebbhNfs7ENdVGWovxCEwq/sstwFRJK4EEbeeFmz7ddXviVn9nV7lnYP1GOY9qTuD04S7aTS6dy5SskSQSiOhAXL87GwP7pXVM2o4eLPKtwfu0N6uIVHXxRdJwnc0MyHOJ7Mv187hQr1GRmd3eeeX+s2IGJpUe+f9g5n/YF/K6sOmlBXzDPwIiYr1sTTxfov0iNBFRt8MnhXa4A08L4fp9bBLjXFf/xg0zTYpF3vvlnJFiaF7y7f4MH4AnNWst28FjmTfWzBjQZD2g0stnFgB2ISWEasi43w= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 710f/ZfrtvX3O1HTrnEvXVuoS0XJXHWERb7LY5YhjPMLyyeWPbD101nDo1V1fGH4zvra27bL+EzNODQa1liuISKgVVNvHk1V+b5tY5r3pMF+ygcgbLRsWjLGa+ksZzmZBbIXk5WLcRijhZqzaUo9ss/N+WyaFkiP3THyhPV/RQ0nD6mpxWt4le6tN/5IDO6mM/JDv0mI/DcyD1BZLXpQb4gjbuNIhc7Q7FPwkIJiIvoADHNSVVYHLvR46kJe62MoGUd/lpTxJ3kwG1mMHbLzKYJK3TNqL1VwKyhkPGMBLVkiU+Z6WnY9tf75LN0gh7FARA3IEsxLX1++HNk+tSPRDnPvQNCG8Vcv22LuO4VLjpIETjQ9UXmBZEzuH4euC52PYkXNCDJDRHU2Q2tfNm4oQrvvs4p/lf23PB1Sp2ScZofO2D7SlEWbCKMKZlAgbHPuLQorEjiPSoFZAbk1OFi1U5+LGd3WmM/G7K5UUdHcJxe/g7nq9rknJHdFFLUxXf+e1zvghwZhLMFLshGlTdPULqOB11M2mHytIzNxfrHW7prZaU31vM5tkmHAmZvB/jGqMonI3cl4d/qXPHFjY5xcOQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: z6Q812hoUKghjZJgGGncq8YHawZqdYpq7vo8EqyNKyYzYAX8kWSR6ft6B35OZIA0wTLXBiLeVd5eUJ43CK2EUue65CTBBRLxJu+Wo5hgmQqYi1+wIIwbsDY+oJbG31Dg3Hc8jGub9qBUZVaDGfpvAbrN7GgMRKn8Bo2ig+bUGnaCz/vs3UA9tAolg/uWnzNVGfCzSBa5KdvphMzCDTroE8wmguUPZyii6ZeMZxiAgtzD0xQatSHWwxnohIlOXsf4f1GFflcspkAKvw4eBnd6VVKjmt3CHY6WXlCW5x/8Q6qnYSinbZlonLOshyxl841eqfhBPVvBt3JRTtdL5QtL0D3kviehLkAmw+dcbibIoZ3/cf0x81HU3wn9MKsrO9+ar1FXfEPiztXh44lBZHKgQz7m2D3kc3l77hPHxs1PqhBamh2iwpgruWvA3KLJJtRb+6YijoLwwiIFj+BAH52I4ltxdhgViaw2NSKv/ETfLBgAFgH2tLuo86a36buORzE7TKbCbsib++f5TSdTe4Xmoc8TB1rPmOiPAA8B4N9qmh7+J6U9xYmv8qj8pEQYtXTQp1FdXfcop+1cqqgI5nxirD3mVy1a2UlWK9ZGYvNm444yLxS4xFP5wEvwYbwPwIjxCXAFCamLFxuP6v7KJrJzq5KD3vhCVlu6B9tEhAokHtLOgtfDAkWFFzz3jUPtIdJTZ6m4wedLfquhD6h0fRa8xYzhhvZN1/m2Kuj4XMM8ACK+pnngO4PPI0BqE4aAVyCDsJaNHFlHUMquL6al/JM3cMyYqHPn3fo8CB5agD7aTshHBsLYwb+6c47R/vypGSVuNf339dtlUebtDN2m3dtKSVadgIeyWHnaGGgY7w5AlZTFc9nGRpls7i/Q5l4ISxx0MYpWq2JV3Moev2O5sgVE1VpZ8nfeIWLSDpO3IxJA7GjstQmGXL/p9f7S60wqEl112oC9GO5FsYFZIGymm3zbXw== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e494d4d2-148b-4baf-1b61-08d9bcd5bb12 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:40.3779 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 04/12] avformat/demux: Remove redundant prevention against infinite loop 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: OV2WAi3nhimD This piece of code has been added as FFmpeg's answer to infinite loops in try_decode_frame() in commit 6072a19b4f311cb172d45e90daad90824e40e4b6. There is no loop around try_decode_frame() any more, so this code can be removed. This code is only triggered in case a) the codec parameter could not be determined, b) the decode delay could not be guessed or c) no packet was ever encountered and the encoder has the AV_CODEC_CAP_CHANNEL_CONF. In these cases the new code will no longer emit a "decoding for stream %d failed" message, which is prima facie false. In case a) an additional "Could not find codec parameters" message is (and will be) emitted. No warning will be emitted any more in case b) (this happens e.g. with some h264-conformance FATE-files). Signed-off-by: Andreas Rheinhardt --- libavformat/demux.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavformat/demux.c b/libavformat/demux.c index 87dbd53a0f..3f35b3860e 100644 --- a/libavformat/demux.c +++ b/libavformat/demux.c @@ -2054,9 +2054,6 @@ static int try_decode_frame(AVFormatContext *s, AVStream *st, } } - if (!pkt.data && !got_picture) - ret = -1; - fail: if (do_skip_frame) { avctx->skip_frame = skip_frame; From patchwork Sat Dec 11 18:40:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32294 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357293iog; Sat, 11 Dec 2021 10:41:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJwH+F/i/XBkqpBuQ/h9YIjCIaZUjpr1iyqAKR5LaCtL1FPB+sVH6sFnNbgszfRUgXj2V7N2 X-Received: by 2002:a05:6402:42d5:: with SMTP id i21mr49028049edc.373.1639248073076; Sat, 11 Dec 2021 10:41:13 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a5si9050052edy.585.2021.12.11.10.41.12; Sat, 11 Dec 2021 10:41:13 -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=iwuFj8Wf; 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 B0B2568AF34; Sat, 11 Dec 2021 20:40:53 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2035.outbound.protection.outlook.com [40.92.89.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E9F29689BFF for ; Sat, 11 Dec 2021 20:40:50 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UgzPJFu3zPchhF2BRFOYYKUD7VhhnTcDJ+Nvb3nixGhowItIVKxVaVYrVTdP9jrt7RRZkYOEU3dYQIi6gdxT9ogyGaEv8v2qQkv7+lcs9BZXNFKgRLKp3m3XOekR2QAKdTeA8cEj2ySDxtA5RaHpIdUQ2gyAa28kgB4pSyzXqC0tpFkDkrQcPCs0Pt3uuotieiGvhoQ57/pBUpkHaFhElxoiSJ43uJzE1V1R+xSi9Bfy0eDQXI0JPS6lJwJl1B0Lo20lwG3MIdGgcKhrSiYs6Q+k0S1JeEDdRWG3ZGCqiGgx1mIDdTZFV0cCkIb946Kh5IiFCauTdjJECAlH7ECVLA== 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=KUUmuyE+zZfn5+SFM8NR02pMt1JDePBzcmkGnH1ikCs=; b=MhGgEP7fofBkN0NCmL7cPLosYTenxHpWZlZkc8QJlrBg2d2xH+KAr4iUsK8zeZJWC5L3SyH/mjXaJtETWcbXhRvRYAvq8oUO2gZf22A0Dzfw+cXmls2f/LXLhcULJY4VQ4ftVvOvglg7EX8T18TAKdwR/4x0Z2EvDA4l+E7C1Gh4Nykk4J9MkPbwIalKJ5t3TMv8Lrf5889z1KeIZR9jzbS2Lu+Z/4bEgrFPWqcwI1P9g2pfUgSuR8dHP0D6bOZVvbc9IkpQbhD57MCC4nlnUI5iaRUO+iXMx07dPuH+1Tms1qfnywtYca4wC6hoNfW4lHdReOlhWsBUyIn4R6DDrw== 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=KUUmuyE+zZfn5+SFM8NR02pMt1JDePBzcmkGnH1ikCs=; b=iwuFj8WfmofFWp3dJTdH9xZLzKg/EgYPV8FNuOfqY5LFmuLUMrsW0pyAnWWrV+5tykAuzIt78hYkrgOoEHd91MtkBBNBWeG6QJYCJM8usiMb590GF/QAll1o50b5GSf1Jx326abWzfBNZqedkAj8wjZcbqYCiOypqWcb9ZQNPzwe2a/dZcH/JcElfjBmaGRI8TVLXj7GS3Ej77YLvOEJLnrjLtHFOGMHHnTH9qlnw1gbnhKz24cDIX+RRP0UUyHNNrqYOOmXVhb77aPd3QXLQyuml4UKOqBrRq/Nb55OW4R/i7T0axEu67UvMHoeN/r+MgunObIf9ffK+o/42cfG9A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:41 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:41 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:18 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [PIZJKQnurXJ9+uty/ZjefQMyuXEEUuAz] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-4-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01384dd8-adcd-4900-b4c6-08d9bcd5bbf4 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrGqEGMDh6H/uT78iMSw3HXMTjUydiD8NjtfqMVUVy7a+fRw6lwORgX1skiQYyTS+/is8wUWwTr+DtxWwZCTpCxlwBEqYTbJoCEjH3XSInMhloVkAo1IiPPhQM/A9exx0aV9ZJ3AdzGS/T9nRR25D7I2veXqYa7aJiw/9xROp2ocu4Ui3SRDdTBgoW+NIo4NZxHGQzwuLFxD5nk4xlM7Fl88xiFH8VhmH3qYlgQbUSDm9qZTzrV+o3ZUSgqeXxJ10sEGVlxR4wWbxq4xx6uUNVWy/RRFaW5BfGPh1scD5ElHsBdupjCqDatgRfgAqCJR8uL2gRAmVKw485TMcXU9ME6Gi2Puld9VI8P8bHtkKfB3OaM7oBPOEa8Gu2JmIeL4KywSj6omKP8Z7jFRpoqyHKsjv8v2v8+tgK2Du+dKC8WTizy9BMo5sWJlQPKYXtMvzHZPgzJmUQzViRst7ISRLqGIoM6C6ZULiMzUvJHs0PCWzLmXatumVKaYptVoEkqUKvG7xxr9Yuzu4acmPIyHq4LJSFz+ThpYD9kJ2wTy151g4IYgcEazlUKudU3pSjTeLPE1b2fdbsBcxzgZU9aZJOAPFZ4yzozUIoYf/0jQb9XqsLCfIsm3gCIMQSVwu2JHs/l91+OxRchYNaBEDKB0wvl4fElRvDs81LpD2Pp8RFgq6p7Tpz9eZ89e1RSmA0ECmJ03f4XsM/jFVoc8blBIDseI= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OMpTJDOULM+Jgh800b/GB1SqwkncfvgwMm7oN1tbvccJW8/8jlsr963svT4YaC5+rEnzgVilH1i3jwIZhxPpVKbDiXGd5N4bgGk9yakqf5VEq2eHVYRV0bZk7pttYjhVd6Gz+ildP9NXORsyw/1NwnpAl/RETizHTiWKJFeDMjZ6BIpqkYfnVBPsMYwfzhjLqLYeZIzEWbqUPIqmmPx08jBWuuzEW0HgsRVCeoISclCJ1q4GKs/Fq8tM+bEmI3vs9ao4akvIE6i93XeBppaBHGGsktiw4QPgRkOThY9I7DYP/xyhePvRFztap9PfcH2xgMFcuWaq5ZyHKHr9y1UmMd5BmaJSoiWgd97M4ji2DDPAtoa2Xnq9gVVkyr7ePbdGiBYy9Kx8YBHnGHawE91wYMiQ3HWbaKeJerr5ni9X+QIgTvA+Kt6eLhqrRq1fHAd9lGvpgGGuP9yPmoOaU7hXQWbODYXn4mvRloS6WvrbkLaP04lDBiaEdEd6I0+VCp2umf5H/mh8sNxKg4rUFDrrREDBr5inWej3CW2yQoB121eviaVkY/K3w+MJPVcna+RWZo4RHhdeYBxMPwP19oEjgg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: dZ/32ozy+on8UIU+AnKPUQ23IbERwU3xnSVrgUu1Sbo1TujMKFolRyidUiPPH9/ql+uMGsM5XvhMvncn+dwqirVDYDTIA4tX5JXRVcokWl/nriXLs6/CpnkJu+aA50eznkVloPo0SeJVihsRSc6a4dCoJx03qnS1gDGhfrMToOeel1yaATpHW1uysm49rDc1KraWy9TjhPLCP0j04do0k98vZeHLSKOKgghGi95LdODVhhpotVET/mBgDgmJBmZ8TTY92ShfKiUXjVV7eZ78l0MmgnnV4lG0qKRlnK1a3oE2vccBHJaHmgeTjykuZmBwEOw3XpxvX20RFudajMy5zhcnQLmLLxNDiUrk0vTqD9GnRyAHAEBKEVe4MQ4LbsB3P/jV6IBELmyaS7z/+W4bA2UZdKUr/0J3oL2mZSHoyioZfkOgk+O9WcQSOyYHm+Eit+2oCxWLuAeDLGdQoEW8XdhXisHOO0sum3AS56jVs1p9Jl4kt8On5Nd64zMCB/XV8tLmM/XqRP84TYv7kZDLZcAnGR//qr7g6FfRP1g10Smj1rU4WuqjEaE4MytVdT047Mc1NT8lR2uRJpi4TGhuetGPvNUbyeQwKnWgI8B/b+ct4XGb3/FkaqryvnkwoLHdsVdLJHTmeUDb2tt9ktRRMhGxwYpUDCVrQAFt2/GmGVk1h/5H/5e5mg7JZCLACE1F1dzAQ0cww9HSwh/m1E1W9/lr71fopYc3nMiha3uIXIOX9+cszOKEYZlaFjJUukdsu2fMSwOQ6+iJVF2tjxIBlqT1R3eg9ydfweE2ckKRqRCbMxTaRnfATW5wSI9bYuZqZu3k/ZpVUIXfGmxVu/eOsG1YIhJNwf2VdsbIFynXSMWRr5b4zDjJ/4l/IuzdGNHVVb5xlxWBCsKPrmTxh1JMsJD6SeS3vph16R7uMn2AznSmZC7kRw8Jb1p0qHlTNf88a2WDmkVPsP9Z47IcgR0TNA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01384dd8-adcd-4900-b4c6-08d9bcd5bbf4 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:41.8943 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 05/12] avcodec/pgssubdec: Always return error upon allocation error 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: Eujhyex6VrVl Signed-off-by: Andreas Rheinhardt --- libavcodec/pgssubdec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index 388639a110..2d5700a51e 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -677,7 +677,8 @@ static int decode(AVCodecContext *avctx, void *data, int *got_sub_ptr, ret = AVERROR_INVALIDDATA; break; } - if (ret < 0 && (avctx->err_recognition & AV_EF_EXPLODE)) { + if (ret < 0 && (ret == AVERROR(ENOMEM) || + avctx->err_recognition & AV_EF_EXPLODE)) { avsubtitle_free(data); *got_sub_ptr = 0; return ret; From patchwork Sat Dec 11 18:40:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32295 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357406iog; Sat, 11 Dec 2021 10:41:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJyOOtKCeZBBAY4vvOrqqbmdXcEmXSZ28RoEK4PnhDGFjIZ5HONZEC9xq8JRtbGrSCiTZfT+ X-Received: by 2002:aa7:c78f:: with SMTP id n15mr48021478eds.344.1639248083593; Sat, 11 Dec 2021 10:41:23 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b21si8698352edw.255.2021.12.11.10.41.23; Sat, 11 Dec 2021 10:41:23 -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=gdhup1YD; 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 A42C968AF45; Sat, 11 Dec 2021 20:40:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2035.outbound.protection.outlook.com [40.92.89.35]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 24648689BFF for ; Sat, 11 Dec 2021 20:40:51 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=km1mRAiW2urmOfooctS+nesnp3EoFxaLTmD2F+rho0t+kiCMkYes5iNrUg2N+hOKALWZ4crZahgRDVzZbDdVGVWwGCsCATkDUThlX1pM7Nj9ORHwMfY0l9EB0mnDX/3F+o1CaCWtSyBWoawEjYrQB2EHwlA7LN5x0yEzOsTqBHkzMdF/OzUxfZ6exI+AOjk+GXO9huN/FlVIAotXx21LY3o9fGHsl19pkG0/qYsaCmShqYxD2fIzBh5wUMnzlARINBfJyDRBhRN3xyI0e6IN4AmBd7o2/K7t2AOrbdc77ye2mz05mwZM10WTuIdxSjFjikbsffVp2DZKKHQIynPI3g== 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=6cnbEIT6bmjZ/r8I7yQRiWBecIVRbHRmh1B54fsadpo=; b=Z//NVTa8+LyyYUeBicaAO785ueKb8s5O7q906QhHpg4Qs+SaD7OH5xTE8YxDsiUfpl4A7okS3nzHHahukTKuhJB5ohZdS2r2x4FRvvQvQ0zauMW7ijNwkpSebNtE0zwlHb8Y79w6ey+DM53v8cEA2mX8859qmC52slTaXqy/sso7qFAndqA5mR/OkzA2QCQwG6FAxhC9T9T3FwRuJI0FsAjyP14TFWdqBzKdKEY8msCIDL/9XHKL0Z3llMAcHpLdGE7+CevkhbtVq+tnYrD9zx00lmXkEFmI8xuJGxti/NTG6DmEzwQrZdOPyT87vIu69gJenTNqL+8+pyExT88Bcw== 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=6cnbEIT6bmjZ/r8I7yQRiWBecIVRbHRmh1B54fsadpo=; b=gdhup1YDnLOz/zY+bKmuaSIJ4yl3ltdNIfrpPF8YihHROhCu1XO7IxKWVY8q9etCIEQAUMCkVQIagiasBMI3mgU3yENg4oOVXDl4MFP91MCpk7L5nSRbIw3roBf0u1JyXWqjwn7EjYKMZoBjl7KFLy97NpmWzkMr8KDlT4KdZ4HtJkAYZry2ugRZnEL8UMtn9zGQyysaBAYXVeHYGyYQobNBICutM9Csg7GP/Gi6Ipw1MPqeIEnbRw4nszJ64bJX/lHBEZy7aJjIV6VShmfKVbu1Lc7sFMb2EEDYcMs7ZyTdez69NoPEw2/eiUOSkzF7hBiI3LsO+pR6Fo4BEP+7kw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:43 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:43 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:19 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [sU1tUXClKdTinDpVHn3zYQBHZ74GbnNo] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-5-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7ec6d964-1e21-44e3-99b6-08d9bcd5bd21 X-MS-Exchange-SLBlob-MailProps: q+fD6XS3/UImNawVT7mOnSn1qXfdKikYaWdhxKUqlMZAkn/RY5BTqeLiDvF4NHOHufsYXHTAj7pWDIH08qrMhm3ayOxWSDvF0HYTZnuI4lCmqX/ZBHTNgJzDcld/MWe9Hvc+xk5VMRtlSwHgYPjzcIEFaVSviehgzO3ccwfHGvZIW0aFv6za4Wgy+RZhvU9PCdsV9FmQNA2BXt/Qj7aE6ZEqlACqOxjVouasCaHmZz6Hq6LlyEaZ4eI33fcZnzLVLP+Zd6f9075V9RCcJiuZiQ0yl+Q3rTqILUBe3FDEJhNp5ywrwORKkjwgJz/VahxZN6o9oua8Z8gg0FikW/XpEnFn79XKoSG5iu7S6jP8Mw1MLPgkmXkPg6qi3oRquY/WSIYSTdvqogifhsnkWTf6Q8JJjWs45KOSau3UAfhCZfeqOMlB/m6c0aJndV2y5/br+7jy8eHo3Ey+37u1tHT6qbRGYtpfXaHWECsZdyr5drcsPni3RQAdygloTdzCaiXmVL3zsClnzTx6yJGE/XXBGnZ/WyEp5KE63KHq5PxEt9nPy/RVhWTq9GKIQ5PGlWiawoAbaTMCGrK1ZC4KK9vnnhc/Ra42pdeIgmUsTpiNQomtXPc6FC4MgDiRyaS2uIqvbIl9Y1D8yHB4BbDyto7agn5/0LKD/tBG+UBmjHVebiAWCj+KhCkaGFZRZLcd/xW/VPCsVbwuAdTgW6G389Cn0Q== X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: NXES9ueOZ+0N/52S44riCSJhnVaxGfUhhYejSvBZ8ts07hG+d2ugYQctOm2wnBotyXrPL7RGPaQXESAsuuKh29/OwefJCwZ3dumsmY9Xt3p8tYHBID7NVhJ3ZA+mwAn76E0dwRllXOjQG6WVIbOSd1u/WoJHNErtpmJHqC9SFCoB6aYUHVP3IjwGgtJWflMy5njzqxLqPDNnne8tZ/tTw0a/uiLZfDWuI9cqEWySG3BjZAX+l7ohGyxd6qSVvP0Yiuouuh8m8qp/XyhDiTyvPhxw+CGSZqwvs7HKbTNfqiLiwTVCduZnPONMoEcIWLvmX5BfaeXyYkZkUGhw/J86qeqNeM4vUsOWxh/y+C6Qv+qBU8pT0wKKowbFu08mlwd0w8o3bhoKmImaIuaksdIpsPDqY+/OGlOCEen4Fdw3AHgbRmF2hJJh6VGlPNE69AWv1Q1WNyq/VlK7JjyEZFZjuLEvqzpz2tEBTHgl5Bh7YcYe/e+MGLnde6QELq2D8Y8dH9QYi9LYEQRjTvvj11OTNMG757r+UAhEy6JeEJbDuogsVC+rOLUkrlYGE8JifgpCGiDxqSVx5V0ftAXbgOKf1g== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5xXaA3249LIS11IyXjhX+rFNiXr9pibjxl5pYGxdDSRqSHYtn+pYXHU3y85sIQefWhcniMJNm//UW3rxPr81g6CQ+8benmMEUpX+CqhH6IVpkWTL5Sl0Rt5QkpvGbyMs01xQe9r0ppYuWqxFgTWTBJINoTB0/iCPQc2o67u5BN9yiYoXXHPxy4wRbt/cDiGFlX3McPSxH79rrHTOvLirXrpUv+ytV/SkCJq6mP0olrVnP/gVIm2oWU4VppylP85gpAtSfnzyR26gbtlmg34IDVPM6dlnzFTvMMfzU6ATk/ItkcQaZSYqHwQaEA/KJOAWP7L0PkSRlPccaiGGXauXCsjQPAYZkiFcP6WbNxNJ4E7lJCYLVGFqpjLilq7KMuWgZEHOoxSFAprRTJ1cYr+j6NmbHsMv3uN+zqFQY1pMwWeqvuHg78TdTj+8Sh5k0q3gDyolYmDPOjlBYGX4/8LSXgt8OJH8NtazOg9Q8IkJXVV2XhlvyILSi83j1gkzJTx4cVLql6H1W+UzZw0DudZf7hMoNGyE4/Le7RpI57Qfd5zcDxaPdP72yN6h1gS+DznAvK3egu3rjemnDBwaNwx9CwVwyZ/oiMBrkvfyDgqXTY4XL2TMStAp5LjN0WuauLnuoFbxplKnfY6ybrZY1pvsD3div8JcWUC7HSCUCPqKQequLKDfGiaV1rrKg+kr1c7BlanTmPYRiKahgLx+WmtLDo+djIkFuBC4mtrz6Xz5/k0RNTN8m3i5ovJH4bqoMPLt8Rc73jFkXus01a/ulu8BMrUn7xu3H5KIfXRm8mE2hcAxI+UDBdlyYgueCNiSZsZ92EOFxaFnAW1+/RQHWRD1nGoMhn4n8V467HKY+sEgkfEqNhe+Rvwmy8p+jMaorbZTXq2tAitPqb2/kqNxRPJs9La37rapUYxFIKyOKU+S93qjhaZn/Zk7EIU+RmHvLZfJCYuczO+jlRCVddL6q15Uow== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ec6d964-1e21-44e3-99b6-08d9bcd5bd21 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:43.8505 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 06/12] avcodec/pgssubdec: Remove redundant freeing 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: Wt0Wv8ROmhwG The caller of display_end_segment() frees the AVSubtitle on error in case ENOMEM is returned or err_recognition is set to explode, so display_end_segment() doesn't have to. Signed-off-by: Andreas Rheinhardt --- libavcodec/pgssubdec.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index 2d5700a51e..d2824f5bbf 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -534,10 +534,8 @@ static int display_end_segment(AVCodecContext *avctx, void *data, PGSSubObject *object; sub->rects[i] = av_mallocz(sizeof(*sub->rects[0])); - if (!sub->rects[i]) { - avsubtitle_free(sub); + if (!sub->rects[i]) return AVERROR(ENOMEM); - } sub->num_rects++; sub->rects[i]->type = SUBTITLE_BITMAP; @@ -547,10 +545,8 @@ static int display_end_segment(AVCodecContext *avctx, void *data, // Missing object. Should only happen with damaged streams. av_log(avctx, AV_LOG_ERROR, "Invalid object id %d\n", ctx->presentation.objects[i].id); - if (avctx->err_recognition & AV_EF_EXPLODE) { - avsubtitle_free(sub); + if (avctx->err_recognition & AV_EF_EXPLODE) return AVERROR_INVALIDDATA; - } // Leaves rect empty with 0 width and height. continue; } @@ -569,16 +565,13 @@ static int display_end_segment(AVCodecContext *avctx, void *data, if (object->rle_remaining_len) { av_log(avctx, AV_LOG_ERROR, "RLE data length %u is %u bytes shorter than expected\n", object->rle_data_len, object->rle_remaining_len); - if (avctx->err_recognition & AV_EF_EXPLODE) { - avsubtitle_free(sub); + if (avctx->err_recognition & AV_EF_EXPLODE) return AVERROR_INVALIDDATA; - } } ret = decode_rle(avctx, sub->rects[i], object->rle, object->rle_data_len); if (ret < 0) { if ((avctx->err_recognition & AV_EF_EXPLODE) || ret == AVERROR(ENOMEM)) { - avsubtitle_free(sub); return ret; } sub->rects[i]->w = 0; @@ -589,10 +582,8 @@ static int display_end_segment(AVCodecContext *avctx, void *data, /* Allocate memory for colors */ sub->rects[i]->nb_colors = 256; sub->rects[i]->data[1] = av_mallocz(AVPALETTE_SIZE); - if (!sub->rects[i]->data[1]) { - avsubtitle_free(sub); + if (!sub->rects[i]->data[1]) return AVERROR(ENOMEM); - } if (!ctx->forced_subs_only || ctx->presentation.objects[i].composition_flag & 0x40) memcpy(sub->rects[i]->data[1], palette->clut, sub->rects[i]->nb_colors * sizeof(uint32_t)); From patchwork Sat Dec 11 18:40:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32325 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a0c:cdc3:0:0:0:0:0 with SMTP id a3csp5358632qvn; Sat, 11 Dec 2021 10:41:31 -0800 (PST) X-Google-Smtp-Source: ABdhPJznNRVwS2sb9x4cg7qgRFeKw8XhVkcOs+K1y1ZUZEOQqbxMnFgwW5/gnCvkffDWiucgIi5V X-Received: by 2002:a17:906:3ce9:: with SMTP id d9mr32081392ejh.172.1639248091022; Sat, 11 Dec 2021 10:41:31 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qa42si10702330ejc.545.2021.12.11.10.41.30; Sat, 11 Dec 2021 10:41:31 -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=MLrLlZJ9; 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 606D268AF52; Sat, 11 Dec 2021 20:40:55 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2064.outbound.protection.outlook.com [40.92.89.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EEE4168AE9B for ; Sat, 11 Dec 2021 20:40:53 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LFz83Ps0RvWWXug4qbuwDed/P5Wk7Cv2aATlySyLWTYyjeEth+1q8Mma6BKUe+Dj37nMTkm/1n2NCRVK0qFpFlwC9xyw1rfnONwHL4gDXDjAELYfjilv2htRb2fHxtM78oRFlfHTZLUAXrEZSsmCJGl82f7nFNX+w113CyESUhDxElneXJZBSZOwAFrFdKmJ0715jBxg33aizKP3BNu7WWQ+aLGHTwG9W/9VIu86nzFsKeQx0zX0oF1mXhXgcYj2R0dKtFG5jpxXa8R4c4RLHvPVWfcrph8JW/JTPOPxntbxgi6BlcP6ca/S0TKkR+fJvWaraXoyjUsFEz6gKc6Evg== 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=HcBEX+7iOO/BqMmAUTdOhBJbI+buogtgnB5PrFRhXD8=; b=B79Q4JkrpY+j/PvzFN0kSyOwTbNzM1YIjwcQ+csk0F/hG9kM+XsepWbrO94BqDD2lbJWf15zkaaqgCwEvubDzE7LmyFfv577GgOBXgfWyWbICIwo2I+K/yaIxLqdx071HSuaRVlfl2hoOM8ptJN/ikF7KGwrFlsZz/J8Lv9GGCff6HdZegdC8X8f318LVNNYQjVcCqN7hrs1Ix9viw1dW8B+wA1nT+Nyn5j2/HQYuXfMC4xmlOFcLu2uelHe0LZE5It9lg9t1dUxIoU91rFLrNDOvS9/m12KUZP4RnRUC6l1YNEtA8HQzHeEhUBGN7l9HoCgy1GLitDaUMEcmru96A== 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=HcBEX+7iOO/BqMmAUTdOhBJbI+buogtgnB5PrFRhXD8=; b=MLrLlZJ9l6hep7+CbhhcBsdfR0Gbl7GrREpET3tmzALYgEiNoXBxceDufcnizPIXCNhnFQA9nT5ER3wlQNkMUmXN0dt5xMv7vqlnzWuIRiEs55Xny/NjcUGVyzE/0nJenfrQQZ0MF/1eS5g573ftg15ZjB2TJi8BWB/zDMgUphjXtGNyaQXzxwc/iZZrt5EgWiAKq+4dni9IaZ1uSq7C8tx3jhJF/JATx+dfVKHtBDpBP15veH0QVsWBVP3MGZDXhj/eh8wIygVTMpF9bF/7QX4skelLhxtcpf6MaR/2OApwuykJDdl4ZIlPTMnRpuGoFXFpTjwOaUPox1XwsYGcPA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:52 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:52 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:20 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [bbP31ea6nrPaw0qZlQ4100KEN0r4F4YU] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-6-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7969810d-f8d0-415c-a74f-08d9bcd5c218 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS9msLST/hR/FDB3IPfXlmiUj7970baJZv3UI31fPKxikKy3SoGp/U1jryXAQ/ARBhbbBI7sJPYjykrVniVjOWqcb/Me5vAu77/82Udpj23870v0J16wmQ2W8nZwlfa/ZUCWiwZvpMnEJN39s3vB80h1lH45GTGL6SkdnhGXN/fEDbfe7f1RReOS5ZMArZ08ChBBXKYXUO5s7MdPFVKJPS3gzNkCSVZwau6HBNfwXXmdd2dBl7hyJLfgET5aM2+AqU6d1Db6LXHC+cT5RAYMGQ9WXdSsbeyUmLsLWzhMEEwpJmki7cyPQazZRBxpQ32CirRBtys/InQPQBgBJpwMytTo/XO1ul6M/CY/wvKQu6ZFSIB8H8T/TfPMcPmXymr4jxyk4EfYc5WbzOVZiwUcrDFHbUrkj8wlWLB4EkFzxt3zv0izseOZldqql5SHMtyPLnimR/o1I51py6W9tm42Sj4RjeMVnBQypHNcmmdsZET4rooHru0vA76VjVw5yMq/+82cjpZq2xtliucJropC5ze5lO7ar3a7UmXsfnpqu0aAlNpDVZLvJAGRazQk8yULqRg9ykGrOnaCmZs7hDarn+ARn9mARWtqh+pxA+v3jMX6hnO7YHGqlEhNeo7ToSDz430NGYXNkqUu0Im0a7JybhcI2qccWtCGOWJwsFURR7+/6viJVazb2LdPi9Mt0fNxcwvWtRTEAPVKDlwE4ffXfB2lT/XnbCltwLqLWYXL5dpa9OxaDBx5lm7pits8saX4jg= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WHgIKKZ80rQFMoK8BSdKfIvByU/QafmGmAhCdL9sxTE7yNV11SKnR/1ysKkDoxzZnQUMA63tWsmSxWylaepfe1Bjlfj0LHylhun5KjGglQ4yEAnBJ1vMCngCAft+ZyEhrcxirx947RCj2zcaOXjsCPdPeNeVM77Bp7W5v06YnUY8CDOU+/8+OKJ74fGc/7KWgsFRmmnLHTBFOhDHTLo47ZcIKTx3RrTx0HnP5aGFnQF309BAVr8Sdw3GiM6cTpIHPl/FsI1l9yKiL50CJJLumI6JbZKJRwPFbn9BraB5UIPjhT8roYUflho26Uc9c3zigC5OXpiJy7eQkYuJE8xzXB2zzTo33P0RiS9OdUxnkrhiSVHfEQuE0ZnKMFjIbfqc5uU71hSWdvqCHUQ5N2OKTXQpnycoqLZpm3SYwR3SDBWS+ILckrBDJO0picGQo31bjKb5PmqHAVdJyhI1zWdN85uypiNXj/2g0MoOb3c48om3s/sdoOM/QOk9LfOJQFeDWzRR4YP/1z+WLTj4Ua2CZDugQAxq6oX/zBb+0Poc3tkPmSsPelJxfyzTfPmbGO/9CNdcwdxN1azbVfNXAnLzUQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mYlx5iweJio3+6EP6IDmiHh+hsD0+WSkrrl6kXB/WN3rACRQIQ56KSdk5cdg1wsiJlnVYeTQHZiHukiorf33Btr8sIVm7xWpNSt8ik3OiCXjdj+zxmCxFLMF/HicaQGs4kz4JG4Avhe71FiCrW9EVBiWQueKDkhUFN16LxnWqvyWjCz2QLU3CBhohg7Bs3PDZfQgi3aA9cZQZauZyPN92q551zm7Cr2wGoG13Qyc5Cnf/iTow5Ujn5jpApP36m54TQexfGTsGDXU5H1G8Eb5QOAew7pSMm/D1+oNLWVeJmm6mMedkg+CV38sVHGz/wejs1HnhvuzGhySqaHOskrCIpKwsZuZGWj+XmQO2uHCB6Y8HUQHpLtM03/LEZ4cenZkCT/RdFO34qBKDNF3emnZjGN/aSj7yRLiasGO8kGJvv2QjDUKj0nepaHLPhKh5Db/kXUKILCdRJWqkniSPqU75Ps4ia3p5t2E4x+veOIylzK33wiE3qUImhSpQqJOAfezrMVbh8jR5/8rNTeRhPBOJ83jZdyTabRJGgKxharac4vwiBIJEEb+aveRmfcSr+S7f0mbHQXAzF9DQFZR0ikNseyN6a+b6ZWZr2Qx2pma/56OMleu4Bhm2dFzJVBZOq89NIeJoxbn0y0l2spR5AG4+rY+Qs0Vhs8u0QrMu+fKEmiQYFDSIpUZz4461VPHcWlhjOKNVwPrsCnCE7INZRQUrbXebVXfRUdN9WEZzTDSk6b275qBwaJWtju/mY2p11/qyk8R4Ms7hnK/mXwReRbYqdBXnPG0wpTt5mlzAwDlQaP3Fo08u6jLV/DIfoxPNGNWKc7SEwzJv968Zy4fIrEkWgPAFqRZlQJP1l4jAVjtwaupwaW8pyMpa+9uUhRjlm9fwHQJxFxujcuguqih5chtQ5to+Nllyzx+xGO7VMHAnVhKqPZERy+lqcbpAISzkecT3DalctzASFL/dvUdURkg7Q== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7969810d-f8d0-415c-a74f-08d9bcd5c218 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:52.2118 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 07/12] avcodec/pgssubdec: Use dedicated pointer for accesses 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: rzRVTuXHubIC Content-Length: 6546 Improves readability and decreases codesize. Signed-off-by: Andreas Rheinhardt --- libavcodec/pgssubdec.c | 66 ++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 34 deletions(-) diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index d2824f5bbf..8a200aa01b 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -443,6 +443,7 @@ static int parse_presentation_segment(AVCodecContext *avctx, for (i = 0; i < ctx->presentation.object_count; i++) { + PGSSubObjectRef *const object = &ctx->presentation.objects[i]; if (buf_end - buf < 8) { av_log(avctx, AV_LOG_ERROR, "Insufficent space for object\n"); @@ -450,32 +451,29 @@ static int parse_presentation_segment(AVCodecContext *avctx, return AVERROR_INVALIDDATA; } - ctx->presentation.objects[i].id = bytestream_get_be16(&buf); - ctx->presentation.objects[i].window_id = bytestream_get_byte(&buf); - ctx->presentation.objects[i].composition_flag = bytestream_get_byte(&buf); + object->id = bytestream_get_be16(&buf); + object->window_id = bytestream_get_byte(&buf); + object->composition_flag = bytestream_get_byte(&buf); - ctx->presentation.objects[i].x = bytestream_get_be16(&buf); - ctx->presentation.objects[i].y = bytestream_get_be16(&buf); + object->x = bytestream_get_be16(&buf); + object->y = bytestream_get_be16(&buf); // If cropping - if (ctx->presentation.objects[i].composition_flag & 0x80) { - ctx->presentation.objects[i].crop_x = bytestream_get_be16(&buf); - ctx->presentation.objects[i].crop_y = bytestream_get_be16(&buf); - ctx->presentation.objects[i].crop_w = bytestream_get_be16(&buf); - ctx->presentation.objects[i].crop_h = bytestream_get_be16(&buf); + if (object->composition_flag & 0x80) { + object->crop_x = bytestream_get_be16(&buf); + object->crop_y = bytestream_get_be16(&buf); + object->crop_w = bytestream_get_be16(&buf); + object->crop_h = bytestream_get_be16(&buf); } ff_dlog(avctx, "Subtitle Placement x=%d, y=%d\n", - ctx->presentation.objects[i].x, ctx->presentation.objects[i].y); + object->x, object->y); - if (ctx->presentation.objects[i].x > avctx->width || - ctx->presentation.objects[i].y > avctx->height) { + if (object->x > avctx->width || object->y > avctx->height) { av_log(avctx, AV_LOG_ERROR, "Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\n", - ctx->presentation.objects[i].x, - ctx->presentation.objects[i].y, + object->x, object->y, avctx->width, avctx->height); - ctx->presentation.objects[i].x = 0; - ctx->presentation.objects[i].y = 0; + object->y = object->x = 0; if (avctx->err_recognition & AV_EF_EXPLODE) { return AVERROR_INVALIDDATA; } @@ -531,13 +529,13 @@ static int display_end_segment(AVCodecContext *avctx, void *data, return AVERROR_INVALIDDATA; } for (i = 0; i < ctx->presentation.object_count; i++) { + AVSubtitleRect *const rect = av_mallocz(sizeof(*rect)); PGSSubObject *object; - sub->rects[i] = av_mallocz(sizeof(*sub->rects[0])); - if (!sub->rects[i]) + if (!rect) return AVERROR(ENOMEM); - sub->num_rects++; - sub->rects[i]->type = SUBTITLE_BITMAP; + sub->rects[sub->num_rects++] = rect; + rect->type = SUBTITLE_BITMAP; /* Process bitmap */ object = find_object(ctx->presentation.objects[i].id, &ctx->objects); @@ -551,16 +549,16 @@ static int display_end_segment(AVCodecContext *avctx, void *data, continue; } if (ctx->presentation.objects[i].composition_flag & 0x40) - sub->rects[i]->flags |= AV_SUBTITLE_FLAG_FORCED; + rect->flags |= AV_SUBTITLE_FLAG_FORCED; - sub->rects[i]->x = ctx->presentation.objects[i].x; - sub->rects[i]->y = ctx->presentation.objects[i].y; + rect->x = ctx->presentation.objects[i].x; + rect->y = ctx->presentation.objects[i].y; if (object->rle) { - sub->rects[i]->w = object->w; - sub->rects[i]->h = object->h; + rect->w = object->w; + rect->h = object->h; - sub->rects[i]->linesize[0] = object->w; + rect->linesize[0] = object->w; if (object->rle_remaining_len) { av_log(avctx, AV_LOG_ERROR, "RLE data length %u is %u bytes shorter than expected\n", @@ -568,25 +566,25 @@ static int display_end_segment(AVCodecContext *avctx, void *data, if (avctx->err_recognition & AV_EF_EXPLODE) return AVERROR_INVALIDDATA; } - ret = decode_rle(avctx, sub->rects[i], object->rle, object->rle_data_len); + ret = decode_rle(avctx, rect, object->rle, object->rle_data_len); if (ret < 0) { if ((avctx->err_recognition & AV_EF_EXPLODE) || ret == AVERROR(ENOMEM)) { return ret; } - sub->rects[i]->w = 0; - sub->rects[i]->h = 0; + rect->w = 0; + rect->h = 0; continue; } } /* Allocate memory for colors */ - sub->rects[i]->nb_colors = 256; - sub->rects[i]->data[1] = av_mallocz(AVPALETTE_SIZE); - if (!sub->rects[i]->data[1]) + rect->nb_colors = 256; + rect->data[1] = av_mallocz(AVPALETTE_SIZE); + if (!rect->data[1]) return AVERROR(ENOMEM); if (!ctx->forced_subs_only || ctx->presentation.objects[i].composition_flag & 0x40) - memcpy(sub->rects[i]->data[1], palette->clut, sub->rects[i]->nb_colors * sizeof(uint32_t)); + memcpy(rect->data[1], palette->clut, rect->nb_colors * sizeof(uint32_t)); } return 1; } From patchwork Sat Dec 11 18:40:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32296 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357702iog; Sat, 11 Dec 2021 10:41:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJzJ3XML+kwpH7BSliBJPd0YFv95LToCZDYQZnOIniakoqxTvPSZ5v9EoKrUaB9fVTp5qkqb X-Received: by 2002:a05:6402:b23:: with SMTP id bo3mr48057997edb.366.1639248105143; Sat, 11 Dec 2021 10:41:45 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id pg19si8417306ejb.180.2021.12.11.10.41.44; Sat, 11 Dec 2021 10:41:45 -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=W+ZjL33h; 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 8727568AF50; Sat, 11 Dec 2021 20:41:00 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2062.outbound.protection.outlook.com [40.92.89.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id AFE9C68AF21 for ; Sat, 11 Dec 2021 20:40:58 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ALRLYsK5ZHxGFkD363BPPJU+IX80AsvYxGNpCPNkoypXVva1MaU2QnDF22HrQMsmFhgGlV3XXYkAG0cLXGhLDtO9AKXzxOnuJx/JaRl4KEuR0nVCcXNlujAxxTfD0taZJsZoiDPz4iF3zNuWxDnIEw1JmKcDTyWHhuIwuO2TtDQnckeQodLKZUAKXNmACY2AGbChH5e5FJ035bNp9f532mZ/MMo8Tfiw0G/2xnP27FEdGmQhwU/8JjZQc8HdcBBlHS9Uf5dVSwirdhcgGUmzKvuDRA6As1qtZzCsbGdtv6f5EC4AYYVeh3ECMG/5M/jBOXn73NVjOeNlrj+amNirYQ== 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=kTRRU9r4K3J/wd3Be7rKHP/8zcs6vFIB+DCsb1LrgZo=; b=UeUENB2Nu8bp+GSim9iNnUS9tT99Jw7E5pTt4EGd1bKrqCvPmPOnLGwk+PUwnGsNR8gV9b3iOU1A0/ZSYM+DrixzxitLrTMG8jp7wgSf59AcuerVmnV1q+QefTvcGOmqCeXhSLHOkvq4ShnVNfmqxuNvP+nagB79cuGC3lCPEw/AYyQkWAEmzRJJ8FjGCqEu0yNvBHEn1WaiPLixPjrE+wKrVA6swq1M3ccLkY+FcbvD0HWwfYRcTKIRMCTuIe5oeO4YcC+qUM4ihjwNF3UNht2jPYMLe/Hhx8zedjWXWAgRejaKNGGpXnuoLAQMABSMNGHwVj7Iw222NrIfFaQ/7Q== 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=kTRRU9r4K3J/wd3Be7rKHP/8zcs6vFIB+DCsb1LrgZo=; b=W+ZjL33hq9GA7QL6qpT1I41aww+8HzgyE2pdOqH0PeZFTW2LsZK73LzFUeIu/fNSbqoq30Q1vc0nA1VvXd84NQoVc4K/ELm1IKP/A9sun33lgbvA60b/P2pesLR7nHBa5KcL3wcURv+T34oU8SCz2/jLx8sPSDZcbJmHaFPMCxM/KGlsJv3/gaSfQvPooNvqCKnE0spM1D7Ckgax6GNwwGMMfu3tBpDilFHW1oWeOYPhehOKrFA+JlM8BKCcFkCu4oKdxGQMy1/I1E8JHb0aMUSMrgN/ka/1KGMB19YwGDkCwuZQ2bEI72P7fnWZJqQjnMHqDU/QfdvjSNRUrOdMpA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:40:57 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:40:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:21 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [3KOIfOd8IXhRApG4mtimisroqzOlOHzt] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 08c28d14-5759-4c3d-6b93-08d9bcd5c53c X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS9msLST/hR/FDB3IPfXlmiPtrPivb/a0AzG43Txxg1j8CimVE7Ptz9IwsDau63fc7cnZLUcEYGrBpa8HrHgoLGzVpvHOFsqLSfvBYWz2mopXST69Wd5HMFiMH2yJpmlva73LnXvbq/5yI7LottvNmPshsoZmaZjAtkUCfKOWmlHf+5GYqZkemxbTlVVNh0bcIy/fK0db8ryneGdbxgi4Xt1F+UHRyKaNjhSOS2I1LJDQ5zGd9lF96nHfE/ZNy9cbJPOPPgIVBgCE0fiH+XMH0Ym4i1nZdvnVoCG2sWUE2sHt3+XCK3+BJHdEPF3pwOJEnudi8E7Jec1wtgfyn1y1Da9YQB0+IrwRfju4aK+t+d8PWOHeZZqxSjZd4TQI0KyrQRSC+TlOhgUwL4V0J/bRDd4cYQBXbIRDnig5JDJq3NyfMv/lHsw4ugM3e+J2xMiwpklDzlEWExiHL2IZ9+xMEvS1gwNSO7ZvSxmm6iCFoXTWiC/dvplZUikMEEn5US0zSvX3Im8ijr1sTtezjYhJsHRaLZLziXmQQsDsR9OD4zN8d7nNGM2wlEuIJmI+seE9wsTD3oaF1Gcqk4JBkjVqb15UmT4iEH2Xcu07/uZIyrx2POgN6MRCXxjKCgyF6uNLOawrSm0zrgYUMREgsGECWP2BIsTKuQRnO+7+JmgActasBN/As5P7EiAXfH3Cv1Ff1Fl4UNryc5PW89g3tLFgAhn+yHSktEpyMX7rDioLZeN+4oIGjA626ZHOMFiWTYo2A= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XGHpbSF0Qmr55ma39qCNFeCMYIpsoTuHCg5TCiP7s5yrhhFNvbmRwIMimOi5pZyYcqFgY96vTBsnFz114yfq3OF+53iCGbC7T6+t5B8iUjXbs6qzGpJeXq+4vUfzMlDhrnaEDadRSddUH5mGbglTcoTM5q+QEtkfv/zH2ZRFKCy3Pu6+YJGx0qbu361uKc4uouge93BW9xDqGFJF+wAG+/ByPqPqzb5U5E9M2+ombc7EF+Qz2me+op3iKQ7/lkZ9R7BeY6cMfVn2a/e7jj6R/9NnNHriqlGlErcxic/5wv6n9uTNaBID4bmDapVC8mu9fqqqqZ6qBogUT0PmKF3i4PGPKAIt1O2jkETaovor2bsWL8+rRSrlzkVz3ggbgJ/GYHccMBwWO0svMO4ygvIfuZSS6//5EgVISLGjA0r4uMuxyFUMjyWa1TOqtoiewBIGzIxAuFmsKe1T+O6WOYSIpiOox2TCppnpG/2lKY0JrEeaiiYLsf1KSYwKeKHJ9lZ2UT89cz8jNRGRaKWpSlUnCBlxk0J+SSVWySdRnKQ+/57NQ/1+XLGMA0+H8nz2NjpgHKLXW4djh0Z9dWVau5Zhfg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: lFm6EC6X7pg+GiGyEDqAMebZ/xxKeUeYI/PrQWw/PuCIYoz39bAJSLkkjBgptSjEiIShwAFMvG+sy3QLAokf7JozJlp6xG6ptVAxWNPaUWuvEHLctDB9p0G4EuNWxIoPL3G5AmPTX2GL8XrEUCCrCPpHEeFB/tYRE4Cu4xOHEKEIv4ms6KCG60xJ4w94CWvzI3Hx6su6nGkZ6BJO0x3w1OEDpRPGAcnuSxG5gK15cR/ayKo8CQuHwvHhbZTzeWnvSHDP7zPU4JEI2eDK5M2W64SwwSAWLlM/4otlq2BSvU6jVztuhALZDuw8Ow/Z3KvQTAyb0AvdrrhBdZLNGQ/6JkjFLejyP0u/UTaXNsk73JD0bHp6M5aibg93dZGqgCVV2IfB+iflYlxM64T2GowFK79kuRBxhnpeHZoG+NHaOkFSj4Nx2WaGrpr0mKNTglgCFtD46gpy1EYpLwgfoaC2lo5PteDsGYvwvG431jND14Ma+VbtItYWrl2/HDJU2rwv05XmBDUjePLfUBEcAFXHgEfH+bqAqXIMt7/FxT3Hyq3tY2OW/7MOyH0myY6GZ1RYQnpEb+zVOPiuOAdEXTLoWiGs91XoQrS8FO1E6uoYQDsprdY4HfqEQ3x9bHsv5PwB5W3eoQEdczrLIdM4VQTZSC8MYNBKH7SLvhhLH7yvuVo+Cddk+zZV1GQ/YJnsa6t0meZVFn/E6bJbZrKphtKFXEgWpck2xp+vYl/MG1l0GppKUPRrm787kXtaSA6BNHYYo9TIHah/VHSGrkqM/Z2ZP+NaJE49zh24zXFRJYjJC69sQDZ4aV64DwjKTX3RxKrTAvOW+Ko9fTxS26Feik6TbWesX0TVjtittFtLu/mmkY0rbLEVwOD/WJzaCeJSPBC98DeWDKek6bXFszIqlMFC8f06SlYkNcBbggEXDI6Gym1NqPXmMBu4oWDDkjN4x3UEGivMjF8TvPopGGxN4qALRA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08c28d14-5759-4c3d-6b93-08d9bcd5c53c X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:40:57.4481 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 08/12] avcodec/decode: Fix leaks upon subtitle decoding errors 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: WUqcu3FFZtz/ Up until now, various subtitle decoders have not cleaned up the AVSubtitle on error; this task must not be left to the user because the documentation explicitly states that the AVSubtitle "must be freed with avsubtitle_free if *got_sub_ptr is set" (which it isn't on error). Leaks happen upon failure in ff_ass_add_rect() or in ass_decode_frame(); freeing generically also allows to remove now redundant freeing code in pgssubdec and dvbsubdec. While just at it, also reset got_sub_ptr generically on error. Signed-off-by: Andreas Rheinhardt --- libavcodec/decode.c | 13 ++++++++----- libavcodec/dvbsubdec.c | 2 -- libavcodec/pgssubdec.c | 5 +---- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index 52bf5dcd33..afe2c0c3c1 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -834,8 +834,14 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, sub->pts = av_rescale_q(avpkt->pts, avctx->pkt_timebase, AV_TIME_BASE_Q); ret = avctx->codec->decode(avctx, sub, got_sub_ptr, pkt); - av_assert1((ret >= 0) >= !!*got_sub_ptr && - !!*got_sub_ptr >= !!sub->num_rects); + if (pkt == avci->buffer_pkt) // did we recode? + av_packet_unref(avci->buffer_pkt); + if (ret < 0) { + *got_sub_ptr = 0; + avsubtitle_free(sub); + return ret; + } + av_assert1(!sub->num_rects || *got_sub_ptr); if (sub->num_rects && !sub->end_display_time && avpkt->duration && avctx->pkt_timebase.num) { @@ -863,9 +869,6 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, if (*got_sub_ptr) avctx->frame_number++; - - if (pkt == avci->buffer_pkt) // did we recode? - av_packet_unref(avci->buffer_pkt); } return ret; diff --git a/libavcodec/dvbsubdec.c b/libavcodec/dvbsubdec.c index 81ccaf4c57..bc741a1de6 100644 --- a/libavcodec/dvbsubdec.c +++ b/libavcodec/dvbsubdec.c @@ -1715,8 +1715,6 @@ static int dvbsub_decode(AVCodecContext *avctx, end: if (ret < 0) { - *got_sub_ptr = 0; - avsubtitle_free(sub); return ret; } else { if (ctx->compute_edt == 1) diff --git a/libavcodec/pgssubdec.c b/libavcodec/pgssubdec.c index 8a200aa01b..bdd20c914b 100644 --- a/libavcodec/pgssubdec.c +++ b/libavcodec/pgssubdec.c @@ -667,11 +667,8 @@ static int decode(AVCodecContext *avctx, void *data, int *got_sub_ptr, break; } if (ret < 0 && (ret == AVERROR(ENOMEM) || - avctx->err_recognition & AV_EF_EXPLODE)) { - avsubtitle_free(data); - *got_sub_ptr = 0; + avctx->err_recognition & AV_EF_EXPLODE)) return ret; - } buf += segment_length; } From patchwork Sat Dec 11 18:40:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32297 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357831iog; Sat, 11 Dec 2021 10:41:55 -0800 (PST) X-Google-Smtp-Source: ABdhPJwran16PWjUT4B385TjsBo83xlR34Icwg7q+LWrR9bDSHVQG1H4d+Q/tx/pO2RGOHyIi4xM X-Received: by 2002:a17:906:b50:: with SMTP id v16mr32873630ejg.384.1639248114943; Sat, 11 Dec 2021 10:41:54 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r24si10189026ejy.396.2021.12.11.10.41.54; Sat, 11 Dec 2021 10:41:54 -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="e9w/Zr1U"; 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 9514768AF5B; Sat, 11 Dec 2021 20:41:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2072.outbound.protection.outlook.com [40.92.89.72]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id BF057689BFF for ; Sat, 11 Dec 2021 20:41:02 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aY/29kBnYoyDqH82/fu0Yc1GoUho1dBf579MslhnzRexUg/lztMDXaZSrGAgRQS+FoImGmKbxtXfu6Fc3iUWUdPLz471sv3ILJDkGg06nl6ZoKV7R8MR7Wfn5LPiNx+VUvJRcAVnZVLQl/uwUuUNgY/Sma6/5flQPo1FkMwuo9M7iTuHlZaqHh1Lcda3qXauE8/hrg5+ETsXzAenrIJDTJLaWD4KBp+55MwVe7FuXM6dJFIYkX7sZWeOxZlL26xcO9V8T5lFzNPxcfK5SjqaUxNjK6OPUa5q5klLPe+UE5y6e72lm0EjmoqcNzOnVH9G2oGqugT3je6YuZt3Ksoazw== 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=fIgJP5sDfD8rqX3H3/KQCgiYRf0SDvIyYzlcuvOxfwk=; b=lHjx9XznPnYcDvNryaeVhK1JpNgSftUVpfmHtVC3DELHCIFt/EDjNvfsgef4YUO8eRGCwkLMUAoxJso8cV52Agp0Bw+n80Yy+/oAYfutDj1IXtbJaGBxtUQdSvFi+ekrejOacGyvKRvq/ofPoejrC1RN4Mo/zSMiV+MQ9w950SQhELNOn5QLry3FyHy6TNoKOEg36GK2HxfyDAJ+DhTGXafm2gw5spYpeRQX6VBjQ0Fe+ZOObWN6azO4M6Os4mtCT7rfh55L49+aIMY6k5HArFepbAUW5CqMw2lEUOfiJb8aRxU54aM7B4+Sn2/8vmyxYP8oc03ZtWAFvca8ZLE/2w== 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=fIgJP5sDfD8rqX3H3/KQCgiYRf0SDvIyYzlcuvOxfwk=; b=e9w/Zr1U99k/4++NBnc8qVtSivgB57+fKZcz087fDQhxNkfKqtpmzalwDlwJMBzVcnb/mitGILnIv9Qbd5zGnJ9NG4yrqSZbw4cACnOZcd3pzG5TtEPtx5vhThr+b0mV8tGSA3zRdX+090azyWkZQ6k3VfrfKjyrVISxM5HMzlC8IWbNiswkjUEGCkzJIPuJ48tJ0XDrEoy5uCfi2zD9rqzn1E3oqEhP87d7Wl5Mj1ZR4q7JuYzZQgzvDMy8EE4vbaDuHvPuD9mODjmtPznrB2OsXhZfUE3kCWRbiSB9vJz/1RPYxiuDurEbBmCJbm7ratUaR771Qyd5eCInZHv58A== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:41:01 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:41:01 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:22 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [hddV5aRr5plYSdK74nuVXSFOBNjB/yQG] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d511925c-c165-4b4c-f597-08d9bcd5c78d X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrGqEGMDh6H/uB0hf5azEPmwl3N1DdBcXhEeyr47yAULcBCPBVkqtT07+fcQD4RxVCV3dg5wdL8Zn+vsJB+WZxHq4mYErIDajTHfvU60c1uNe3SAsLpJjPjEopS7wpa7D0re8GgBF4BkxzLLlnhnTY2WJzWpHz7U6PpnuLxwbXGbpV6xT35r+WTwk85E+x4BZ6LOAe6rRTaPbGcMmM1rGRGOg7H9dg9SDPlRdHfwW5scxVPfxZ9iVGyvAyvWjHfZuoQ5wcJQJjw4/Lr31au9+RCQtyn8JXe/AfPpmQpluFuhMDI2NocgWpYQNVdO9xqfZc2Xu7CK4Ia/tTgRVGlz8lOLqqy7jajbyrYaJ7vvAFTMU0moAhtKs50wBvOsJcgJKG8XcxutxaRT0k9rhdwmaPfgbWXponlzHUWepjep70NDGp/JMIPixm3wgpfkLhRf4kGRsNpR0kbaQtytQzkl1DtIHEBFrC43ETvCiziZGjHBXPPbdMu+J3Coyu0fJZObHyM24OnexyjqUtz6elwm1pVOD6jTp02vyo3W2sBVUBzz9ONI1nAamKJxLP2El9iib9V1iTm9fpuUxp640WD8BlTs28UIQqVhvLYAuZfMxYd5Th9oiAYUZEeX/pbj0F5HNZA6hTCULCPElV1KEv57vlKJBTNXRK22kI0LQnmvDB3u4UXSBxayqY7Ebpykt9vHfc0qo46uQ6J7SLl45KZpYBQs= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UNprqbxVHKkgA8rEvGNGyoK97i9f50oh+OLJ/ic+J+f+SXuRxPkl/J7FkDhE7301eEV3+eNhPSy4nvC4mD2oD+3V9MHirTHxt8SCJrrtgafxinjpiAtwMy5dD/iobz7NqmVAuScbroTCUcbSst8GdNpy7ZlUYSIeRxZUMopzEUth3UXjH9bBneyhZAD2fl4idAm2W2Nl53or2fErorbxIhEHWWZJGCc1vnoRpxR9pXikR5hnh6Kz7kiAOOZw/8JtwFBqKjqFrhLBnJKVSQh2QpT06jbMzYwntdgot8TcAY3PLcBfKEM/avRc7vGRqALdzZVKx79hXYU8Y5FAP8se6L8SR9EIwsmUSJjK+qktEuk/wa5OyYdmPkmYrX99YNizwxHvABhc0UBQGMsX3TAKxfyGWW2NnrPjxPCuH5xBD99gYi/es2XNf7Ib6crsq8d8GH6iAthbvTlprPN7y5pb0WRtZ23vDTgzicJtqE+OrFYmAZA5g64dPDOiU1J+QmkQw/lQsyypOy9Qg4n8Y4muPwESpxWNJeWqCMRtnxXJBc3iewN2YI8DklwoiYPYrN79mo+c6gbCQgRThywWlvpWbw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: IKhZTPONNsvTNqdULAZAZWgW59EZBsJ2RlN6iXEO62l+HuLnm/EgeKocxVfhpX5YvXFTtlmmJd7YGwqP/+6hqqWvWAcPwZFfIS1nzLdFfdSXCzj1wx6wMpGqCMONbt8nUpKjRkSy8vX+Qfb4ipBJ7uOVrGE/HgERDHHUSRGcifnz7V9C+cg9TFcrqQxf2G23sbiWrZG9Hcswq/UCtD/V07QqI3LxXfTWMWTZatylOHeZhpUxDrsqeaUtgsFowQPaHDJPWoKLidB99MV/I29mutKlrnCcIQ6FGFYFfnrh/LjLsm7tlfXKbBdeOL9hwvMUKsDWKE1OwJ6ZPpSMpUNIAyYLqsDKrt2sOMHmhvf6lWRmv4PhVxWvla40t3cTNKovLxvipof1VOdz4+GxPL+1BtJxM8RrzDv4er4AsZYeZWsEQrc2bciLyPOU9iqfE7xjoCXvDCcKAAwBN06KQeG9D2CzGlVLjJLdrZa0YX/jXWQl5jWiNNF+PfwT/oyTQOj2TTXi+cGDb9CC3UINZmQYqIq3CmQwjgS5QygAg7ltrhwL1JgEUwEqlQ9SmMfrvPFiWa0Qke97K5vlOY2DB6STYUcZOIs9VhGQGA+GelO2qP1fXzERYGp/l2r1I5tmBgZ9egWBcA94hpkjRBNfxp3AgKk6GvJ8rySQyUG0xfi9N0bE/WIALq7vlF0I1JkUhdiU+BZWpMKRYPUuWBVEtFfVw0I/eEGKJX/5MRQYjSoBgOLF/+Tjkhc6sxnyXMzdBtachKTCQFhF9lYraTJJJ7Y9Bo48ZQ1/CLiXfcHEvwxbIdwAS2QmjdSBAED15MiZPaV5bwY/4+/4fGf6Xw2qG3uxV5cZxH0OZH8JhK2licB8kDsQo+uCgvtLk/NZOJ0FML7hb+j3RKCqrBwVJdo3EpghZjeQNd/H6jgrmmeFH55tlCyy9bieVduVb5WB0EbCVJYw7+sBKsxYHnI3ok4bUgcqQQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: d511925c-c165-4b4c-f597-08d9bcd5c78d X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:41:01.3379 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 09/12] avcodec/ass: Fix leaks upon ff_ass_add_rect() error 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: 0bhEbZil8grp Do this by actually incrementing the counter for the number of rects at the right time. Signed-off-by: Andreas Rheinhardt --- libavcodec/ass.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/ass.c b/libavcodec/ass.c index 907e2d7b88..725e4d42ba 100644 --- a/libavcodec/ass.c +++ b/libavcodec/ass.c @@ -118,22 +118,22 @@ int ff_ass_add_rect(AVSubtitle *sub, const char *dialog, int readorder, int layer, const char *style, const char *speaker) { + AVSubtitleRect **rects, *rect; char *ass_str; - AVSubtitleRect **rects; rects = av_realloc_array(sub->rects, sub->num_rects+1, sizeof(*sub->rects)); if (!rects) return AVERROR(ENOMEM); sub->rects = rects; - rects[sub->num_rects] = av_mallocz(sizeof(*rects[0])); - if (!rects[sub->num_rects]) + rect = av_mallocz(sizeof(*rect)); + if (!rect) return AVERROR(ENOMEM); - rects[sub->num_rects]->type = SUBTITLE_ASS; + rects[sub->num_rects++] = rect; + rect->type = SUBTITLE_ASS; ass_str = ff_ass_get_dialog(readorder, layer, style, speaker, dialog); if (!ass_str) return AVERROR(ENOMEM); - rects[sub->num_rects]->ass = ass_str; - sub->num_rects++; + rect->ass = ass_str; return 0; } From patchwork Sat Dec 11 18:40:23 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32298 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3357986iog; Sat, 11 Dec 2021 10:42:06 -0800 (PST) X-Google-Smtp-Source: ABdhPJx7RyvHllNOCcFHtBX42//ssdSl/1LwDkd7gTqV+o3um3MSNlTmFyYfutCBg8ccoOToG/Og X-Received: by 2002:a17:907:7d86:: with SMTP id oz6mr32571887ejc.312.1639248125851; Sat, 11 Dec 2021 10:42:05 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id u19si9495030edo.386.2021.12.11.10.42.05; Sat, 11 Dec 2021 10:42:05 -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=UlZH1e0z; 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 9DCCE680113; Sat, 11 Dec 2021 20:41:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2014.outbound.protection.outlook.com [40.92.89.14]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F3398680113 for ; Sat, 11 Dec 2021 20:41:06 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZCwyM/A4I4LXopYoqyxiayAcywW6Xm9uRwKFp/XKuCQJtQvtPhQPESM4XR6PHb+BUENbVoScPb/UvE881zuA94QmlNGVBKgl0FVIoujg6hehaLGOL0zISDl3JqJ2JuDZT+SJ8L85g7UMRfY8x1VxxQYuzFAgE8ze+CNAa55uqOnWS4sYx6O8d8/NP7jBTzxkkx5mJRGHrMUck63dJfYFNbDCG3wRpahBNGlbCXxjd8tCE8tZDN7sdXQ0iD7pyYomA6+1yBsqUgyfN7rOIW4ibE/UIjjumqoJq8fKpTw4bJH1pxsKP2omOaWHhGabqhvBrmiV271Q+XeLcwCHV/TtIw== 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=n/U1N/ddZV/PsMpg9KqsIXgl7CISAqQjHIVCl4iH8eY=; b=cU2PT0qoiKJpX6mfFfky2VYe07AZW9h3asupFlWxQlu8QBvy92WJzS9eGnq8V5uTLBcbyD1ZzXR14Wq/eKCaDo52WITHpRFd9W5+jOkCVpWMuSwK7YjscgM5sM+wKbXu8Cas8x/yzyXaKr8boBLZVDjQdpk4FLS3jSL/WKDOzyMN5VzgvG4M97aNTbivPwNq01jp5Gq2qLFg/16ZXE3KfSvKoSRowcs7DyGp/7j4iLg8GW3e8yKID65/XqWZv6j7WbSyRXwGul5xAfmtY53PEi0flfu7r5o6TA/TeRbI7RTgKOJraqtz6T7sfMnhzyOdj08e7ueFspr2C9m0+LJVVg== 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=n/U1N/ddZV/PsMpg9KqsIXgl7CISAqQjHIVCl4iH8eY=; b=UlZH1e0ziABawRUsGQxn4HfjdlhBCYya3dmuDTtGx/UPRK7BwXAR9C/7rgPrlJxJgVcLGKAaTDZ1+DyYRgzQ9cKihe5kBFhSXaFluXW2QLdCOEhbF2oRc2cdzzmumJkFtFXdmv+ztQEXSbpfoogyL81OZHvfOQU3Vbi89vxwgPtzkyi+YSvHQlx2fecXVkBvKlmM+HQmZjkPq7hyjnoFPB8gQVsx8HJEtoA6xn4MkZ97wt2lO6x3uw6mwPLAZLkoDhn10e/QoFekLgyX36+qJzB/xVKNEw31k5yb5bBa2igxbPXfL5hvFD1g1E5Z+s4Gqgnv77dDQL1pvX9taCrKXw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:41:05 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:41:05 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:23 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [z3ZRkBEEBNUM693uHxFL4DszqmEC85Wg] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-9-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0f8f6caa-8b10-4ed1-28ce-08d9bcd5ca14 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrGqEGMDh6H/uEKDLLKB0RbbNPHCoW6n8KRwtSnyyns/1SJz7LBleqsi8onyLxYUTJh3sNg1h+zkiWT+kWheqlzcgGCr288jO0UclXeuzfU/b4ppbqUpag3rXlZYgqtt30NjC4jxcmUk5Sde5K+C/XCjKKKyYeVb8XCzye34xcbo4x+InutX/IDRAy+Rd8U7pNJdxEYUWaWsnYc9mMXfIyJHjISfAS/mKVsZ9CBOJAY4BHUJ1i3Uy2yo0bLslrP2gghrqR2kvWYNFG5lsc439zi4RREea0reaNqGNl9JSJbUljmKEnOeLYQ2+gj1Qtcd7FkZ7ZBVRxBcSf8HV21eez3os8ex6pWTz6Ktdig5rqTuoRduYx06BuA6OB4flKm2JWqnWAYJYfKp7YY1B17/brS8MwL13qnNQgy5WKMCEBWKVJhbW3dQzLr0vo5jC6rvF1cVruHdryNNv+VeK27qpX6+BKcevR8BY2i5IVYRk7UAqAPKlgLqPDzK7gFgfJ0X/z2shpPB8waUn2wxxF3imV05S6XpdcL/0991FS3LTV9fflSm+JDBp/OAQLq1cbJB9SfG8jyISxxllW5UAMvbXBDurW2TP5SyKGZyzsuTfa9gLB1YpJnMj47icyqCR9Cmg2V/Pz+Yni0wZksf420uzeNfT997x4UTAPzLeLLoB6I8dK5rlHJBqDRLZrX7lPqlI3LsngOH/wx3VvvPeTtLf/Is= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s8nMiyb7QlZh9hrWjoJia4m1mxODcZQ9GuRcRKzBEKmmiTSf0cexYoi8la7Ik6597M9W8zmKxk+8QHDuEePyxt5V4sr/LlPOPzyIord5SkSGA6xHlQdP0WjsefnHMB0YmLdTV1Zbk1SAGT/icFT/wV6HWmyH2T0l3y3vjfE2w9jYOaK1CU8lBnb8eYeWSNj4PBDZHHedsHwf8PVtXRcIlU8kmqO1NssZntF9OFCJsDPgR2typVW4ooN2v/nE0Q/X45sC5AT0xM8B0ribzFx2IqImAcln5ERUTMFjaGDzPfcfwogMqr6wa/yPcJ0AMIpm3+7M6qNxp5wEUWsdQ8n+xy0E3Xn4WkUHLRhdDd9BzOKVOrJPkFVZ44kgsvnhghppxp7OQRC7t0XD+GpCPutJK4xQ0IDKQUwasiDxdKWOcsF9T/GgqI3AjV9jkfYzvoCwNCIdpRfG/W2AHUtn05B1HpRPHHsLpKfvJBXNdN7fwaG7hoh2gl24ZiffuSTi2WTwL4xtIePNMDToX/MZc/Nq4wXfoU9QLrExuh0dKEdCtHvXpCeciADXcNP3YGhvzzlV07amzCcjF5dumHaO/86tYg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: sd09vtk7Brp7XKSIJ3BfQWSp0gUlR5MOFICTbLFJRikiwFpDdAZ2jnFHAgYT2CY4oEA0u/5Gf28iKiwuDXECLrLG3Reb2SjWqmHuFMFYbVzs5VcDxQ993m+Z5JMa9DOOB4PFkQlY7mc1hQCY+Vg3IftGxD10qykUtRc0Nn1l3k0e2OlgCio1uTKvQZ9nX6Vriqhn3uFyDGIiGg5FhMYdtVkLqfZBVmQ1rwqL3eM8141oNaOwBqNpdqYAN7zxlzcaMH4/93WhUqPn5/w0mov64rFLDIDs1cMU9mDKpfxGweklYqejNssLHFIQfNi9obVP02Si8LSKMVGPimgmEvmEeC9xBFDGN9BkFPKXKhJxQ8EJLX0af9qvoR+JHVr6IolI1yBNpXFe63j1d6HQwhdpKhewvkCir0CUOcIprBqMMGI2vQwSN3QIIFCxoSzPtvqycl1GLc2QGUrRkG4U0tySpN0ro+aXFj2KgoDsLhx9Sb4M1F7x5BpU0CdryGLTDE4XozP4KXmtKsWzTrMKpa1Hx7hs3vhROe7mG8LLbJqDA6v1ZlQ+HbnxBHU8fXimXmHn4FY1pv8Z/D7jmrgBSFzZ0a9Vz2Rin2ls1wRFpOFg7G7JTWHMmHQZsmLh2m9x852EPkC3KPRrPYVvImH+fx2Rxxp/MkfR/P3UR0a6oc2e6sgUovsalRpmMsrSiAwpEiDcXOQInZPYs5c9YCX/MyYkMRXwQRLzynswQedF1L5cry3lEj/ekFtEG1XF69iRzinx/ceTVYnLyv70JsgE5XEbI7WwBnQi/2OYEQ6Ff8nMDWTeXZIJL3Pt4/zUlman0uojgXglDFm1lUiVGAZWM6D8Vb4RTSUgyONd0cU0VWqGJLNniDKtemWtA9Dt7f5d5a64EWi2NEX1dHTc4GP7hT9SK0zSVlzwhHli2jxwgqZv7ScHVTH6yTDK/em/8LTVAkHDFKn4UVGIYDFSmZitg9hz2g== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f8f6caa-8b10-4ed1-28ce-08d9bcd5ca14 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:41:05.5885 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 10/12] avcodec/xsubdec: Cleanup generically upon allocation error 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: EgTU/v8oPe8K This is possible by incrementing the counter of allocated rects directly after said allocation succeeded. Signed-off-by: Andreas Rheinhardt --- libavcodec/xsubdec.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/libavcodec/xsubdec.c b/libavcodec/xsubdec.c index 979399bae6..b483699d0a 100644 --- a/libavcodec/xsubdec.c +++ b/libavcodec/xsubdec.c @@ -101,10 +101,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, return AVERROR(ENOMEM); sub->rects[0] = av_mallocz(sizeof(*sub->rects[0])); - if (!sub->rects[0]) { - av_freep(&sub->rects); + if (!sub->rects[0]) return AVERROR(ENOMEM); - } + sub->num_rects = 1; sub->rects[0]->x = x; sub->rects[0]->y = y; sub->rects[0]->w = w; sub->rects[0]->h = h; sub->rects[0]->type = SUBTITLE_BITMAP; @@ -112,14 +111,8 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, sub->rects[0]->data[0] = av_malloc(w * h); sub->rects[0]->nb_colors = 4; sub->rects[0]->data[1] = av_mallocz(AVPALETTE_SIZE); - if (!sub->rects[0]->data[0] || !sub->rects[0]->data[1]) { - av_freep(&sub->rects[0]->data[1]); - av_freep(&sub->rects[0]->data[0]); - av_freep(&sub->rects[0]); - av_freep(&sub->rects); + if (!sub->rects[0]->data[0] || !sub->rects[0]->data[1]) return AVERROR(ENOMEM); - } - sub->num_rects = 1; // read palette for (i = 0; i < sub->rects[0]->nb_colors; i++) From patchwork Sat Dec 11 18:40:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32350 Delivered-To: andriy.gelman@gmail.com Received: by 2002:a0c:cdc3:0:0:0:0:0 with SMTP id a3csp5359239qvn; Sat, 11 Dec 2021 10:42:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJziKFEJjYMNbltunFvgUVF6/baiiYchAwwMyZcBqY5ccsetzKZmShoZMnBGd1ztQKdGVhzI X-Received: by 2002:a17:906:782:: with SMTP id l2mr28366756ejc.465.1639248133494; Sat, 11 Dec 2021 10:42:13 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id c25si9278272edv.65.2021.12.11.10.42.13; Sat, 11 Dec 2021 10:42:13 -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=Wz11+V97; 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 63DCA68AF6F; Sat, 11 Dec 2021 20:41:13 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2045.outbound.protection.outlook.com [40.92.89.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 280AA68AF2C for ; Sat, 11 Dec 2021 20:41:10 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ExUicex5iddWSJrsLf3dnWgbATuBoI/lKr9FsBGlRbENHmMTViOHpPOLxbwy9Q2jDH6aPKf2L2qstN4UpHIUVDTWn0OHWbv2uvg77pV2OD8lV4wN1hJVqUC/rpa1LjObglw2zJBC0y1TGSgVdnB2EB/P4+Yv0EPzCYFoq+rtGQy8jZJlScBNhK6QYTbb8lv7N1z13gJmfWMq4jAtzswPhx670+R/GCBqKPRS0faHT80I+WVxuGmj736LaaghaMr9f+QR5SN3lNYCqwqvTKrz5qq/xqEON6JBaoCJEHEXFz5NZQMEY11GhuwN49NfHViugAEFV+mDHAjVndiREeJ2oQ== 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=WAQuMUZXp9IRd6BY1CyaqXl2atf5IqnVG/x0eHLuxRw=; b=Phf3xtEmBKoZ9VMFLqXOtbvwDTcOjBuPZGa3Jk3NliuquwdI1vi1NaFM6BrI8/hw2f4d5m3Nv0MJn9CAUY7oCLDHWn1AiXk8UeOQWmdHq++mN7j6tFxvIyUeKK3wi5hiFu4+jtozmlRKQ4GkiclgoKAPSLtn9Ga1DH0fih9bc8BPE2xXrCnBpF0rkL79RmPianBWaDRRvLBVLtp0nliMQ5f48h1I0ZwjnDVF1bOdTzi/KaeANGxCe8+iMmzJE+CzM8lSuG2oTFP3bWXYo2n9OWMQfqiaUlu5/VSizv50TVmmgMZMmP3QPQ6SiIdKUbvJgWXDW0gS9ysntcJeEE8Sew== 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=WAQuMUZXp9IRd6BY1CyaqXl2atf5IqnVG/x0eHLuxRw=; b=Wz11+V97u8fs/b1cZyhNon3Aapo7xaYHit5uLf3w2SeVyTl88TLpD8eUzZcQyzPjui6+J08kPXPXRFJz33KWN68NFrMqMle4d21hoKTdUDSVSsdUk2vb/vBY6lSJPU4fRyXwz1TIzih3f3wdxCimoYo2hWXIOK9CMqWKJI97HG+HA79k7NYxdbCminQH+2n5RCJDt272bzDdXCDJG5gX25mfa7Fba8sqgDeKmINnPtEbcVTsadtR5JPf87UzNsRYbplh7Hapisce1udKTqv15cNtp5/lgczZseUCFQ7sSwwo9ALlhfd8hCkTiSWWgyN40a1RV0S6yCzLkKMEomQqjw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:41:09 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:41:09 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:24 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [h7WG8fjqEd2wALIhstBz00W5pu6bgaXL] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed966a25-63fe-4cbf-c463-08d9bcd5cc95 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiS9msLST/hR/FDB3IPfXlmiI+qMuGu7IkXO8a7OYhrF77bxOSJeJJHvpukb8+MNI44FQPVTxjXAh7xp2YALwyqmM6qt+HZQO5ZIpssXuWe34oU1X55Fi5LlA3UjIrEpQShyyBcfR9bGxp6zNuwcUfimAvTJohZLWhJV49o3m35e6j62nTUVD/0jRlr7DBY0oOabd5L7m8KPcgSsesZlTLNuAAq8aTAwMpll58YAUxObFoWhh5BnLxSLX8ao3wuHmR17bYPBh6WYdpqhxdQRwg7DI3GURiHnduRB9Y8fZwA7EXaMFNp9Nth6U0xROGdkhcMxfAYRz//XJEErzDXfcPCq0rrPYdmrRtvfC0t4coXGAd5G94htkDrv8yppxVRLq0cLxn26Zwr4k9hXw6AmSSzyxDuUZpCrskARnud4CEh8p+IVsM6OwwbFiEucxPx5Z+N/RFCBG9yQf24Uup4yBAgaiGtXAvPauDxwbFzrTo1aadH+ko5/LsH5R2ngN8QQ5eb1yBKdEjh3CsLq/aNYZUeCntox0WWKF3qESlCt7UDaFVkkTUHNm9nm5xOMqI+0mb55dIlXa2SYJrKVcRZQ2X+kS/QOGCx433gMWzosQ7RQ5OHu7r3J2emOOleNQr+8fRDAThhupCjmvRvemNCRiWLPljcI0XU8WI0FfLiVrVRqNBCFwXuAptj3A24wlxcWwxa07itmdwyx+HIFSa+7noTDAObKz+TzBAGoJ8lDkRmqMRdIcBIm+hJriLGFBNtQIEE= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +ezs40CeebyrwDpQK5snqpXfjHUzyqTjyPM9fhUdi6xZDYXn3I5uT+QcoL+T+CFhNBPEFPfYLKRvPMgFfl/aFC216bjObl+5W7KSky/2qZ4Osx/acZKWEFuxQctZnVWKN26RJpzBAJPq50Tg+aglrQOjA695komm3EgXZDrJFmndawyr2sx0xG1vnbv9tWB+1XA2Gt4kDWL9LIi3NO4GUMo7p/ZnGTo6o6II1Jme6VkIQsDHKJGBJEwGT8YSA/eleKVjhQf8A4g8s4HpZBLRP2y5VwcSQ+u3hwyJflJAU2BOOHzA4CO75yGUHzO8akEKt2wXxh/d3Us985toxLUVSvUmo8Fo6q4T898T+FN7aEF1PjN86mqABQFulOxSXVH2aF1wsjObf1l68dVq1ceCr6dAhc2vmJF2OqQF9yRWZdiL372PnrX1+5s3OTU4WfGBeYaEG5rkJMqTOYMQkUxOtk0FXFXw0WP9Fh4u8UpjpKA9ec0XvZM7uxy4jSTHskT1vkBWENhNXAoaO7zLlbGFOY+G323D5FwcrVnaBZao6Gycu1H00S5grRW69vawWzVyonuZobjVWgiebEk1D2VXmg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mfZ2aAHp+u+85DeiMDpbmY+CBV3RmO/YUS8PoSsL2E59MDdbWizLpDlXi5mvSjOHqm8f1F4rZ8odwZ02MrJeE/zwkA589Uip9Xmc3xZ+wjuuUNmiIq5RBXp2rblo9dqt1mV0DF7xnI4H8uj+/yIVgWwHFS6OD/Tlu/YcDGH+ayPWXcTzkfkFuU/OW/1021x5CXLQtVxRMpq3ws16/6kkEu0IdO13ZVWdfg7wLDB/6eyiG5ir4W8VZ9YB6tJGMDc5TRMG46MmIAXrZ2WWEBUtdKPUFRX/l7meALURHWTUgfM0ozco53fVrh4/tnvKxysjdVwPAR2CTAlbdwwIhMiHdCyV2zRxqjKCqy9W1XObgMcyiC7ikTMvsF0VnexpwIQ4rG3puIsjVAO/ioFNJqhP3RQrTxMMERcDDTOImNKwt8j8g0udiF6NdjqzTWZDlQdzRqMgXJS4S1WvEfO8l5xprZ9eoFhAruq2ZDz73/PQkp38AtTZbV4pJATYWMIqCcqGrNLT5DEonHuDYm0zURczn4sCFgsJfvxCKgx8hJXRrgtWjx7b2h2Tw5c886WPr3JycZRTG6f4P6PPGJiXjW5uZyE5wp0xdR4TbzCViFKxyAS55m1/YQf4Nt1TQyYQU3TsaVxrSbaKAhQQoA8T9qCP8QcHderhhDiXVqKQbhoKdRlzcNMLhZkkZKfuf4l4viME4x80OplYnWVDan15E/hG/0J9DjPoc5d8ZreZ4a7Oi3AgvZfpDEZXaogI58x/6ejRY+N998+iXy5IkHucstlfYoN2GM6w/JuCyODYUxYkhqgWdVohUf2UO2PRT7Ok7P6WXSzU7Y2d1VE90rox468kXXg7Tp+tmdKLuk3qfdhv7g7T81a/nC8PJOWGUXvLWksrb15mfZnin9wg1mHnmJ9mL96IQ8GO2sxnP2EhuVpG23eJS5NtScioulBWilD6z41bHYtqZAHpEjaN6F88KurMQQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed966a25-63fe-4cbf-c463-08d9bcd5cc95 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:41:09.7621 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 11/12] avcodec/xsubdec: Use dedicated pointer for AVSubtitleRect 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: qpRYVU8oSxOf Content-Length: 3418 Improves readability and slightly reduces codesize. Signed-off-by: Andreas Rheinhardt --- libavcodec/xsubdec.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/libavcodec/xsubdec.c b/libavcodec/xsubdec.c index b483699d0a..85cd7d1c20 100644 --- a/libavcodec/xsubdec.c +++ b/libavcodec/xsubdec.c @@ -52,6 +52,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, const uint8_t *buf = avpkt->data; int buf_size = avpkt->size; AVSubtitle *sub = data; + AVSubtitleRect *rect; const uint8_t *buf_end = buf + buf_size; uint8_t *bitmap; int w, h, x, y, i, ret; @@ -100,40 +101,40 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_sub_ptr, if (!sub->rects) return AVERROR(ENOMEM); - sub->rects[0] = av_mallocz(sizeof(*sub->rects[0])); + sub->rects[0] = rect = av_mallocz(sizeof(*sub->rects[0])); if (!sub->rects[0]) return AVERROR(ENOMEM); sub->num_rects = 1; - sub->rects[0]->x = x; sub->rects[0]->y = y; - sub->rects[0]->w = w; sub->rects[0]->h = h; - sub->rects[0]->type = SUBTITLE_BITMAP; - sub->rects[0]->linesize[0] = w; - sub->rects[0]->data[0] = av_malloc(w * h); - sub->rects[0]->nb_colors = 4; - sub->rects[0]->data[1] = av_mallocz(AVPALETTE_SIZE); - if (!sub->rects[0]->data[0] || !sub->rects[0]->data[1]) + rect->x = x; rect->y = y; + rect->w = w; rect->h = h; + rect->type = SUBTITLE_BITMAP; + rect->linesize[0] = w; + rect->data[0] = av_malloc(w * h); + rect->nb_colors = 4; + rect->data[1] = av_mallocz(AVPALETTE_SIZE); + if (!rect->data[0] || !rect->data[1]) return AVERROR(ENOMEM); // read palette - for (i = 0; i < sub->rects[0]->nb_colors; i++) - ((uint32_t*)sub->rects[0]->data[1])[i] = bytestream_get_be24(&buf); + for (i = 0; i < rect->nb_colors; i++) + ((uint32_t*)rect->data[1])[i] = bytestream_get_be24(&buf); if (!has_alpha) { // make all except background (first entry) non-transparent - for (i = 1; i < sub->rects[0]->nb_colors; i++) - ((uint32_t *)sub->rects[0]->data[1])[i] |= 0xff000000; + for (i = 1; i < rect->nb_colors; i++) + ((uint32_t *)rect->data[1])[i] |= 0xff000000; } else { - for (i = 0; i < sub->rects[0]->nb_colors; i++) - ((uint32_t *)sub->rects[0]->data[1])[i] |= (unsigned)*buf++ << 24; + for (i = 0; i < rect->nb_colors; i++) + ((uint32_t *)rect->data[1])[i] |= (unsigned)*buf++ << 24; } // process RLE-compressed data if ((ret = init_get_bits8(&gb, buf, buf_end - buf)) < 0) return ret; - bitmap = sub->rects[0]->data[0]; + bitmap = rect->data[0]; for (y = 0; y < h; y++) { // interlaced: do odd lines - if (y == (h + 1) / 2) bitmap = sub->rects[0]->data[0] + w; + if (y == (h + 1) / 2) bitmap = rect->data[0] + w; for (x = 0; x < w; ) { int log2 = ff_log2_tab[show_bits(&gb, 8)]; int run = get_bits(&gb, 14 - 4 * (log2 >> 1)); From patchwork Sat Dec 11 18:40:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 32299 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp3358270iog; Sat, 11 Dec 2021 10:42:25 -0800 (PST) X-Google-Smtp-Source: ABdhPJzGLwqNHutXSDHpqb+hISBriKAd1ev8OqBg4jXbL+YyIedrQl1JCAqNKGgMqHq+Kw2sfYZn X-Received: by 2002:aa7:c390:: with SMTP id k16mr48874506edq.161.1639248145026; Sat, 11 Dec 2021 10:42:25 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id qa16si11931832ejc.560.2021.12.11.10.42.24; Sat, 11 Dec 2021 10:42:25 -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=Wfs96p4j; 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 C78F668AF7B; Sat, 11 Dec 2021 20:41:16 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2107.outbound.protection.outlook.com [40.92.89.107]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 724E168AF75 for ; Sat, 11 Dec 2021 20:41:15 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZcVkz5TfALLRl/+L46m93wl3SdFXq3OGWOV0KJ5kJ1oKfj9fWKQPW23U0LZWtoAX8pShjkeGO4Ojbr9WoC2ljV2cvwd3GWm2HwA8R9Tz6MOKPJ/8SbiUSKLSFrT6A8rwLghIbe1v/0rf8UVpl73F1Ze+kau7MBnB+IqhieoLd9mJ4fBgNg+Oos6nKxU99W+E4LkneqshZj7JtbnzDpr6AuAT059B0SCLDwhezJ9UxnmyaQhbcL4qZRShYbJ5MzkHC0oxTdphrqYzR7RI1fNXLMNjiz3KAyWHIHlKx4UE9YHc/rZrE6s0csZLWUcCUnli+dxpuFDTcz+5/Gwf//ir+Q== 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=spTb8aFvLmW6z1+hhmJKh15kU9JgxdHwzdw7ItDm11s=; b=jh7z2CtCa0KnRDKN3P4/TIIfQ3H9Pc4s1dRwdAWRotowy4pOlyo5tSnzrayADdFRsZv5UFI73iuRnGrzPMclNPKGHOK5vGQ9uQNz1oehlLQHNkqCxCd/KDzKPF1V/o12+5XGzb3BsWxlg0qgnBrNacAIPgEHFCcCo8xxyJ5GIzkCyI/IU42jTcSrYsQZ2xvo7goQBzPUeeNQAMDyJwH8xTXe2m8MCtq0XBRdP/qh1SD9lKLT/F1fkR3vNa0UbjvpjhbnwrFO9Ok1NASGdTvdTNyZQQv9sZ/LsPq0EnWlfsocR3SDXb6sxEpLbDyw7wq1JLquQqWTJRv8jQtbwrhvMw== 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=spTb8aFvLmW6z1+hhmJKh15kU9JgxdHwzdw7ItDm11s=; b=Wfs96p4jJel3KyuY+U2OiEAYoRbt+GZnSGtsiLK1Xx/EAgQLP/UxyjY1AfcDjntSvS6/wG9KHDKc0Frkso9M1gUuXhAOXO8eaLntJ1LQvlERqkA5PiZkNctOZtMgBp/YdSTJYYF8iTdZdcTZvPLFD/7ZtY4mEoPh6WBH+w0BQ+sbQsFkq4hSKxwIdUzXuZDPjDcfu4gRbYGMkkEb5ZdxyCg/OianBsR2Z5F/ZAnb5+H9jO0KUkjXGzRh1HV30P5Y6wxCfeFphyXuIR+tja3j4TGKSs8mEUdk5G6JBmLrQ7pS6XlLWGrOeD0B3mfjv6CMIc9/F+qAlRKKKetwOH9uhw== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM7PR03MB6450.eurprd03.prod.outlook.com (2603:10a6:20b:1b2::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.22; Sat, 11 Dec 2021 18:41:14 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::f0dc:92f5:6bc2:45ca%6]) with mapi id 15.20.4778.017; Sat, 11 Dec 2021 18:41:14 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 11 Dec 2021 19:40:25 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [n6P7vcABm8MGUuOoAyx2/fcTs1EniBEA] X-ClientProxiedBy: AM4P190CA0008.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::18) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20211211184025.1430779-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 29aa9f55-8ada-490c-19d4-08d9bcd5cf28 X-MS-Exchange-SLBlob-MailProps: gjx25WM8ZNWxJUMtMcNsrGqEGMDh6H/ucibuup0itZTeJtUEEXSQvScJbwjtIdv1q5PJapnppAWbePZis4AuX9saAP/uUSFqmE/WEv0ka9sLXXcB3hxnYZOuC+ZXwCYZDN5AtBPzwc/gtf3z6bV7HZnpCERu8+7xHkEcTlLI2JyuFyqdDOncamgW09CkahriIOxi067IAZbqEAOQfCGkra3AN1d58xAkuvofsK8PAw2D81LC2/XnVHH79qZxwNcedsNywYGEb3I5rvGOmQg59Ep0beP7xnyXqh3zkLT/pRIvWxMYAieWNKDhqhSrlEmL4yarGeeNdnm7efLLshjn5/G/ESHIbvpv5dPDO1E7yWltM/qgVmgqJlk+01SpL/cTAThR0G9YwSCklxo8qdIS7WpGrgUEDYTiVIJuuVof/X+saQrVED6wKHxsj1izECdr4MVplqaZdSozEdOZyuchZoKhFwjzCedt5qEew6BnOZdmyPFIQJLuaOUx6WmUbG6BU2Wks+Q86QLFFHMlnqrBdm+4AJhkzA5wnBQrd8qZmJQGg6kUmB77skUkT3jBeGGkxVMCHmKOryPZqSV5+zNQA/VEGIe6qBrI+Pi2DLDbO9qWzeSiXzkPFOpV1761eRwRL5WGlsprwBM93i64S/5yKrZZZYGnGM63EloOQ46NxN9Hhvavp8nReDFDoIjVqw8cy6Odhc2esF5hXFjLGRgTz6DSIvwusrcRRx6MXnMnZq4= X-MS-TrafficTypeDiagnostic: AM7PR03MB6450:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vIewoTyY92B2Czkv/H6Xr22YlhuQIUidxA1Fal6B39xZlpYH+OoOPXrSGitQ62j49PC7sAiJUToCjNfpkuspP1FsMrgXhV9b8InhHKMTXJVBDO9/YZxP5AEl2Vrnt5260NhgG0OTq00bA8ZVCDAxLJWM8Q5cKb3z4oPEMnJ9JStfbWoJNGdetR0y1BwB5+F7VceLDFMD1pE5ola2S3aeZskoyf3DeFlzyDu5ElETKP6t3sLUgt8WQ/G5jgRNQd9SgFxAYj+dXqU3sqnYUakc1xkQWz1e8E1Bd+wbCT5lORQRO7QrtHepNarAnT5Nz6suhruqXUG5dbdtbUBJ1Zz8NmbaMeOWA8Bd6PNawHkVEMQNVNVy43ORUU88XRR4VG4jGVDq3bG2zeUqg+JxVK1v0bPJcc00mO9NrgKO+XbTzH66b0/+VTj2C1QNpM9iZg0vqRXY9AhTTMec5vQogU7rK2gTLGNtm2oOlPEI+zjIDMRxImbzKh3qwlY/slaUTM5+s/sbzhvNNz4ra+XjXZAoXGnjjFKGaXHfsFa7XifdCjUitFh+yoelSXdKYlHR+VDCIL3cLqmyjItjpShEBhV75w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zLrVnWLuIGg4SoCn7T7mOGKdJPE07NB97GlwR4c4FP/e2OVRtiU+lxsDhzSWYj65vraTxOfCNXa0xLicHDJnJrwlFClWAgqt6z2Gd4uY4iGHjz7PWR8YqXf9UzQbh3/mzHweVqhdfs3hhaJyWekD58Qsoj+mGXYmNECvhvi6/kQ0ulp++G6Lf1KKE+xSudqeKf+s5RlZMlyH2p5VhtNtM4HjnmbcN+7ALioDA9i1HQET0K4zOWekUGy9E25wHTc75rCz1rWp8Ritciny99sylSJRn5QeX7CthxoIStt+/a/b4eun1BUwybI8/B3pooUwp/N3aBSTd53tELLpHdr+KG8PNCydsMcXUtjEYIQS+dCTcE9P9nLX+SRxAqNswP4VWtMG9g7Vj4BZwfcGtOxGphc+ZJXESd8fVbTe3obPeFiHpOCi/vtoCWcw8OTFnHxDPe5nZdyQLsFnFvDxquXy0+ZWQ6i+W6WSXjSdj0XDMe4uL6ISQiyP4OBDOMNmvywIcczVdG07PjB7KhpZgIGkc9ol/reqJKKMYdosQXGEjakhsMs4Brlz5S5gbmW528zBhibRmoHWJZVjq20XLhAVn1THVNS56a02IbBu221yZfnGHIw9xzAw0AwrE/IEc4mdhZDzw7RMnTRGIvsyD327V1wXEJUFZsb9YAmHnpzPioqDIOhrudg+PGYryagPtiAz804XfOlUfYFvuw2um0gloXM4N3nIU26BcusOg+RwBxRxArOYkImX3kF9t6K/XzH1m+2l0qDU+obmuz1bEFZW5d1NQ9SNtNs/EaHyUnicFz1Fbi+Ua3VWYWzm0LvfUKZNmlV0VSqA90mVsL9IwjU7MG/KLW38/CzMgIMN6unmyDBXCDMASbvYbl/tngpJgSKxYNmfTcf6rxkIvv1AaT3VQMpthhCfqipGFX7yQ3L/r8j4FX/gSOEvzIOrUvOi1ZifoY5Rc4EnABs1jEo5c/YIzQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29aa9f55-8ada-490c-19d4-08d9bcd5cf28 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2021 18:41:14.0765 (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: AM7PR03MB6450 Subject: [FFmpeg-devel] [PATCH 12/12] avcodec/decode: Reset *got_sub_ptr on error 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: xrY3BHqkOFsW Signed-off-by: Andreas Rheinhardt --- libavcodec/decode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/decode.c b/libavcodec/decode.c index afe2c0c3c1..0912f86a14 100644 --- a/libavcodec/decode.c +++ b/libavcodec/decode.c @@ -862,8 +862,8 @@ int avcodec_decode_subtitle2(AVCodecContext *avctx, AVSubtitle *sub, "Invalid UTF-8 in decoded subtitles text; " "maybe missing -sub_charenc option\n"); avsubtitle_free(sub); - ret = AVERROR_INVALIDDATA; - break; + *got_sub_ptr = 0; + return AVERROR_INVALIDDATA; } }