From patchwork Sun Oct 30 23:56:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 39066 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8e01:b0:a3:a294:714c with SMTP id y1csp607651pzj; Sun, 30 Oct 2022 16:58:21 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7E1mHHI5pLFQ3G4QjYozmGKKA6mh1QZ4KcrOQqw9HAXe4B0RRKzDNwrBVcZa7i7ladBydZ X-Received: by 2002:a17:907:6297:b0:72f:9aad:fcb with SMTP id nd23-20020a170907629700b0072f9aad0fcbmr10061685ejc.161.1667174301451; Sun, 30 Oct 2022 16:58:21 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hr22-20020a1709073f9600b0078d8c03a5a6si7564786ejc.759.2022.10.30.16.58.21; Sun, 30 Oct 2022 16:58:21 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=mFWRBYCc; 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 220ED68BDAE; Mon, 31 Oct 2022 01:57:12 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-oln040092074015.outbound.protection.outlook.com [40.92.74.15]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8862B68BDC6 for ; Mon, 31 Oct 2022 01:57:08 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E1BGGL0N6NKh0hYp9ym1Rq1sy9BdMkYWxaepyPRtrBcP+IqS/82gbVJP3KkLQaGj+VXR5TGmNymgkI2sPCbeMqQTAB6SG0fxwEz0/kLAuoaYIHFD9OXQyafJPXkaCbfxPzNxJ83Kd8YM5I6YH9m9w+3jCt3NPgzhxrGFMQzi/lWrQv+g4BXqxdwneJaOhA4iHHRlhLCK2hrJ94GPowQ2QdZT/4z2kef34dvYcmpjZi7e3Yujex8Y3QhJH7D4FeS+e1+GJoqB2fzvmHCpkD/b2iRFhC/AjHMHjd0nh7gUp/xyMEsa9mRMPZcDbuvimoB8kNscWhW6IdfGICGagNGvhA== 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=PFuay/i77K+liui0Z67o9MIvtTBch1EYetNgM0Y2NRo=; b=K6/ZEbdSpMeR9gpSuEe9Y3F6Bn+tmH1p/yHwRZQ7Ta65qIjSVHs3vT2ZgmIdlqH2KH00NTi5rn54kJOF4pQ6s+/Urb7lZEgdPB12rRbzO9KbCm5TkZdC7Hbk/8dfpD1AuNxrjFjXA8hJDG+HUF47B+L+lnAm89BA72rT5UUTbOFHqFeC4gxmZ4qhOkgu2rtjC4dlvXzr3O1buf2iLSHki3PgduEom68BGVGklMUaPbLa7tyyqkFbyQfRx+MXk6e/uNUK5tdm+qHB+AF+7RVv7MOQtXhEQg11VkfUq3d2WuDmtsPXT34dhonTmTP+DGVcpgD0B4W2z/7TdvpmN+pNpw== 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=PFuay/i77K+liui0Z67o9MIvtTBch1EYetNgM0Y2NRo=; b=mFWRBYCcRfZZO0utaCRW6l+LB5Cjy4F6eo9t2OUXsWqOjVTTmU7jRh6vx1O+kgp7aubSR4rNvcIMdA6ixIENpqQc59BxhWwHaq90RzS1SAg+98FOCI0/3ZtRhifa7SabGG3EG3a4RKCgUwZYGsvXTDFuWbtbMQVVzgh46VbbsrP9GUr7RtQgPyDmaC/Ms6T0YDPzwUBcuXL8Hiwy2wvjwKdMnG6Elqlr7H+ehO9Cca6DY/+5juelG+WmJOBbE6GlVM77shoeJrBl0/N37R2ulzf9T/HDioXuBZn6XMtdhLgfm0aNYHLoGiScLJzx3XxxJNUU2vN7gp7GsY8bBWBAvg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by GV1P250MB0857.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:97::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5769.19; Sun, 30 Oct 2022 23:57:03 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::739a:8740:19c5:925c]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::739a:8740:19c5:925c%5]) with mapi id 15.20.5769.019; Sun, 30 Oct 2022 23:57:03 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 31 Oct 2022 00:56:26 +0100 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [TNfTtZqWJu/N47cZvQl8p+nLDqMAjIiGU7jj6kJOS4A=] X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::20) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20221030235631.11750-13-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|GV1P250MB0857:EE_ X-MS-Office365-Filtering-Correlation-Id: b3a9c941-6460-4913-1ec4-08dabad2717c X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmqZLd1X3toBDX9YZ7dpDxvLF3wOuj55SA6Djuob7LyJTGJtCPlUkkuFOfkEPqY/m8pVYnmFsiMIfFXRmx07eZA5SO4oOvtSQoyhWcCUE/6gVT5sibYy7bFLvskCLd55+Asu3TAe08mQ8ltaccXHA9ocVSZ1aoh1mmfdr7cfkl60zxc1V0/Wf1CT3WUsFdM2pBa7us/clbBlRroPJfrnpLyCwtLrZy8efE3KJMnIN9v2Br9BssvKTxpUkuWEf7bDnraYQxxE43N3tRNeWYY9KV/TDhAFYq+ZxFAZtRhvwcJoi794i6OEP5Ijl+EzzcJyCjwpmaO4MsH38Hgww4NrzLipxTZaSV5TxxePVpOgSc8hkEH5gbMlZolZ+5jN1AkZCNbusXWWbMQ9t1fDbChjJ3ib9/XMagtH6p+iiArAkgV6kjjdvQvm84GzCxuMvaLO0eho1f9ai992EygzQwrO/MdwSUlRn2NQLojs3R/EopeuyQejREtRQHaVXTvwkUIDMzXIxnZtlBWz5CgZhxupShdcCuhkpFjABDHqhKWzpNJglAKiF0YBGeoZnLqxxyP6dih1rQHEpuSQGkRPG0a1Z2OBaEw4Af7zbOSCzdGRR0MYi3juaWXsz+e/4iH6a13WgeQPLx0KycnIgE/KCbU3TJcKVYTI/upYQCkxNiUjkhg6DN16a6e/hrg5ajylmDOLkCgq5rWq+zRFlDUeslq6ztjDZ62cM48YeRao92I64nFH7Px9/gONXuzakhUnOxn67Uk= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Qkv1rm8SAVemWo30ADE2K3yKNEt68TW5m5a/UI/W+UxDCWNKMLrIciO7HcpKQhT+eUu9d2bOF7/duidBsQoA4fNrKyVQm7/9C8tg/qPWYgW72Ogi7UUX3/2NoIto2y2k0g2bCATy4iieIJGf1GdYpbIykgVJ1yivM07K8AXvEH2nd+L8uydbXmVK2jO68h/SOY3fy53DEjJsO1IhAO+CRHArXRCv8DrvLogGMz/8M3M3ggzYoNmKShmKGlIVf7Gb4I+eah5nwmMqAMFyr2wmzQsicShDxELMkhVi30a7dgJ8WAiDxO/NQaZ8oAAErKiSm9SDocoeVrjN3xBnGEAvjVJPepwGDJbA473AWLU4PrSGCHgfElGE/qxCXLGicQV4cFSX71X4K/Xrd6W3yYKU+0wbPVXvH1IZh2gRqrYA3qY/ABB1u9sdAS7ubFSQtNrF4tWLeRWk0PX1Zk4zgIWZqvvTLL/9PORjxsrk0hWnVSF4vGYQsu1ludpOpnyngrvM7m0U8fjiYsoO8wfSkKBW7ExEARVMEecFNZnE2Cymk/lXICXxC8FfW2D2hSvdqCXpm6+xVU+Y4z4Yt8EtokdKdRtm+M7/bs8kOf2TuQWIZQgA5jRgywQ3mSqwFeznbSMSFeZBnlF1PXalK/Mbl8xmOEltQqE+TYhhwf30TarZCzy60qKwnTo6X3GghfTH9yms X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: pLNsZljdOhPW2+neBbY3jfj4qqYq0YjL2KSdMsvclfexWpGNvfpdd3pt5u7eBy+088gyGbnN+3Rf/XFp8vdfSHA5jogFZURfX0KTUXAAOc6fkPqVc9lGOkPvdOaCsHyxt0EH/RMLuC/1DfDe4iltD6PFzoaqcPrflTZy/7/pm9NMEzqlb6wB/5GR8EtaCj99cjA1ZuSluqvStgouzzc1b27rWM0j7QE81pLsWG/pivW6HnIBRCH+a9QLFigPMVo0eEYJ89LwlhZTZ5keEeH8okQbUvt/kTghH5Zfq/TjyIEM9w0uo4b+jM/N3PlTU6le0hfMSlg12qcRLqhJnPe13QXfCsCkz6YKPSXzD6GvwJ06ThRakm6d+JYPsTyyc+GNYsyGxCyboF7USDTWBy5YVpTt5tvT4ps/KpzMu0Fri7mFCHfcGi2gPbP0JI5mjacoSxYfH6a/Mbl2Qn34vQyi5lEZhGSA2wkTf7VPSlVVVDHrFHbiitxjFFLzoArGm/cpT1YMPaHHBTeObAmm4v8VpdSZt6B8ilwUj98PpXhnHmQsZx1QlW1qc9mlzd0qRR9wCwuNx85Ic7F0riSm+s81z+yaysQf7CRBrjWgAAAlXgs+5Dif85dEIcWa7Dt41jI3DDDX8Cv/kEA/yDaSA5qK3E9oCIKJtnTdldAdCymDvtn/LDgegLlbGuu5fApZ+eJYnIVCFLDBR5FJzmyolvAhSOSjNbLzF451T+Mues3bP3VnGzk1+XesUOCRkp26e1/FZwzZ8pCFKm0weP7pDM8AyLF8oUyI4BARptY1y4nkuc9AbCrDagk/EmCkSof+FwTAPdUdXK1K3ZipslDhZsxvFTJnh4K0o6CovAKbO0uG83N0fDuEHBPCi5mp/rO5CI96YBcvgif6uIlAr3QCdch41gjuoRaaWNigX/adcs3EAnZpjaZfIf250uir99h0qYG7Fwrmbh09aabANMVy/1+f2djU7HXmXH8sFXOzCxjTdVu+Km5LOGdJvFPtYIitMRFnDN0MqmqO470Tls6rsOQkXLpof9DuoHqz/Gz8pfggUkDuFDzlNJYb8LRXCaxKLNPhQ4B6UZ8+RRux0cVlgygQv0ByUzAOkP6bdTRo5F1JmOxEMmqd4PKZrqrbj5qDJHbEFcl/LONzglG1uKSBe+PituzzvNmJu/GCRk85/FNZp2tbkziv+3cFBWihtkfnfA1nSXmmiYbxftA3QeL0LSvzzgz/gKCVcRM9oj9K4VU5EfgBguwrq/9rHatw+2GXlWjNnCZ8/T3d784V35HOp35xc1+QP7w9teBFig3bmPFFRdog9WAMsKZKx+5JlmoPwWbC X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3a9c941-6460-4913-1ec4-08dabad2717c X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Oct 2022 23:57:03.7923 (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: GV1P250MB0857 Subject: [FFmpeg-devel] [PATCH 14/19] avcodec/vc1dec: Don't open and close decoder during init 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: uyMInq3sjcvT This is done since 16af29a7a6deff3f6081fca1e36ad96cf8fec77d (and is actually unnecessary, because the tables initialized in ff_msmpeg4_decode_init() are only ever used in vc1_block.c which is only entered after a call to ff_msmpeg4_decode_init()) in a very ugly manner; said manner had the byproduct of involving lots of unnecessary allocations and even opening and closing a hwaccel in case one is used. This commit achieves the aim of 16af29a7a6deff3f6081fca1e36ad96cf8fec77d by initializing the VLCs used by VC-1 in ff_vc1_init_common(). Signed-off-by: Andreas Rheinhardt --- libavcodec/vc1dec.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c index b74956c6a3..49ecfd8a48 100644 --- a/libavcodec/vc1dec.c +++ b/libavcodec/vc1dec.c @@ -540,6 +540,7 @@ static av_cold void vc1_init_static(void) vc1_if_1mv_mbmode_bits[i], 1, 1, vc1_if_1mv_mbmode_codes[i], 1, 1, INIT_VLC_USE_NEW_STATIC); } + ff_msmp4_vc1_vlcs_init_once(); } /** @@ -672,16 +673,6 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx) avctx->color_range = AVCOL_RANGE_MPEG; } - // ensure static VLC tables are initialized - if ((ret = ff_msmpeg4_decode_init(avctx)) < 0) - return ret; - if ((ret = ff_vc1_decode_init_alloc_tables(v)) < 0) - return ret; - // Hack to ensure the above functions will be called - // again once we know all necessary settings. - // That this is necessary might indicate a bug. - ff_vc1_decode_end(avctx); - ff_blockdsp_init(&s->bdsp); ff_h264chroma_init(&v->h264chroma, 8); ff_qpeldsp_init(&s->qdsp);