From patchwork Sat Sep 16 02:25:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43754 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bca2:b0:149:dfde:5c0a with SMTP id fx34csp700008pzb; Fri, 15 Sep 2023 19:24:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGalzuEnch0udtysa/upoRFuBFQYOcYyK1K3PqH2cy+4e0tX69rVcD1UD0XUmnabLdh52s7 X-Received: by 2002:a17:906:8463:b0:9a0:9558:82a3 with SMTP id hx3-20020a170906846300b009a0955882a3mr2716108ejc.58.1694831070444; Fri, 15 Sep 2023 19:24:30 -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 lt12-20020a170906fa8c00b00986f786c94asi4412026ejb.113.2023.09.15.19.24.28; Fri, 15 Sep 2023 19:24:30 -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=RUAnVlxo; 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 B5A7168C7F5; Sat, 16 Sep 2023 05:24:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2077.outbound.protection.outlook.com [40.92.89.77]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6275868C614 for ; Sat, 16 Sep 2023 05:24:18 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WJVLdgc8I0x+obNvzWrWBd7ikMujWG/MGeTeX4wKBNGYUtt3wxjVHCNLoL4h5ye7JTRyK9adezmBh5Y6yT+/Ut+umAn7UuQuWac9OJlyoGEmozG5VmgVy80nR+NMmZxYoBAdWW1Zfmm7RRgb3VTrBdjfMp6FNzOGxpkONtMc3RQGwbBwFIznY0xH0tpZY3b7bROHEfEDYwWn0w8Tx4BkSExrlIew2WsX/jNXeu09lb0+WyozW2grsu+hf6qo0vZ+kU8Dzdro8Qnd2g+0v8PJE+jiOOF8AaBk0tPpP2Sgeywz4TfFWKGxVye+zFj8CQ//WLEg6CyrtXx4kxpOAG1KxQ== 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=NiIgM7XYzj+bs+6wbabNCzKiutsjEednlfK8A99YPSs=; b=g2xUd1ovDtKp8gDxQvjvyssqdLTiBUvcNOgvmC2lavxkX6499TBgCNzELqKgcjSpAMHzNprw/0PCnvmNPSZgRIGmhvidJjz7z8c3h6oiAbxjecKC0WOgxclf30BLtpswn1hTBeUIxdD1sQKVBuW3Aa14D2Tq53Sp5PHvusAa+IRRHqMI1yfanZhr1O+rXAjG45+j/ypic887wjm7PqGCWpssirV855zaEGD23UBPiB9vKoX3BMTckdwzACC5aHTRsMOSrhgHvvuvRgHaLphEvIU6Jsv/q0QBp6iuTRZjq2zpUlIR3Nr8Iydn/Q7oDU7knLF2bEjjqqzvMb6EW8jYJA== 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=NiIgM7XYzj+bs+6wbabNCzKiutsjEednlfK8A99YPSs=; b=RUAnVlxooxFSaK4MYanxBm5N2H0hDxwaPIjj+TRMI7rt3YBzWYlzpG0bQ7MVP2+qf8Bq8PB2QAzulJmuNiu6hfXpnHyI58d5Y2+moIF/0iNwfkp4jxrSgaW07OnNcK3avnQ7gykm/2hrHhKMudAHrWEeoW7dJOGdPwzlUIATrJa1QDNNBjQCn0Fm3ewQ1AjmGQDnJEp6hlJdhWvLj1mt1V5eUVq7ROBm+Lf08cb2F1CS0moAkOpOCrwfaFWfHs3/0foGHB0ZGQV6+ZcYy5KBVoYtIR9wv3Cr1QHpYXTFaUcigKxHhEK/uhbFeX83uTekT++UuaX4nZgXHBeb/nfsCw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0191.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:277::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.21; Sat, 16 Sep 2023 02:24:16 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::3fff:eb7b:b8e2:4dba%4]) with mapi id 15.20.6768.036; Sat, 16 Sep 2023 02:24:15 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 16 Sep 2023 04:25:24 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 X-TMN: [Ukp5VV++AJrbNrb1qmh16SbiE+0vBd/4] X-ClientProxiedBy: ZR0P278CA0016.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:16::26) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230916022524.932763-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0191:EE_ X-MS-Office365-Filtering-Correlation-Id: e75ceeb3-f0c3-4b9c-b009-08dbb65c05f6 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ueuCabUizVaDTbOnVPM7t/mJtEeXrIGc9q4TaQHBf5Dtp8ywkjd3GGq/k8dmasNow+6BvZzKCOHR6UT9STTqPB/nPIQp3aP1pJhewwYMzE6BmsJS2+neWy+vlv4h3UCTkdF32xgqsv4CB4FYKf2hoJsAQbm3597bx9MN4GIZD7Q5/0ggS13eslBeJilU3VjHZWdnSxmXSgy9d61WZdhrc3uU+eZs4CT8D9QdKuDa1QWaj31nRycVeS/pLw0y2CBpY/ffip3B58fdnrN0RA/ltUa9T0ZEiUIvR2+MM8xBTRQG38vB6wQ1kIoo6pDM5OC7WXADDY9uqOzVAFpamSihcBC9aCGCyEpiBOrGOSx5NSSbEFH5svAKFFIEVr7IHZAwtuUwOseQBaYDYxLQkayPveFP4qDUdv0v2KTqVeYnJR3bMFu0CkuG8zX9A8nxQxxnfidfY3XbWHa7iEGmQcnvVI+O8u0O7m9J8lxAaOvmufuFfNh8/igtTu5ntcPXATu8kQ1Q42wzLwOS/sT6D2BrkCv3YzGlWRKfKtORXFP5OjqdRDlCuTBsDrgu+ZVGqRnUD6CTYCV3yhiMBKudXp6bC4rigGdkvyriXGpqY1Npgy/AI7emwnXQ6OmLetJfp69x X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: il2gDu0C4c4HnUIYNV0//OTsAkJyd/c66JA1XEo5mpD0d/kVQEFHeHeN/k3Rj43/N0EH72OLdckbch/ikxWwfQwMl4Qn3mmya5g1lVFDm4R1gdIrG2v0p3nKyJNOoCRZDhQZ8svsJ/7ZdII+VRET/8Po0gm3x3HoY9jGGG/KvLDUBWIzyi8RjNkdM/cyDGQLc8vrzGcrwvZTR6ikl8khsAnfL4WHGo7d8M49SzOGQ9qU9rfbATripdDA1Ckm0uNhipEjgH/R2gBFOll/jPGdp77x50I4FjPY7eRAJsl73EfJgGcPxtKFxh8qjm146vkGcjEWUwdpKW1rAggYkSC9v+o6JYuO37asEGf0FKECY+XU/IZmbiPS8GYfJG71Fa4eApU53L/zryUK3ncXFwOcwkidribyJYk3co9F9hWZ0UfTPvZiA45gFTtNGvUk1nsQCo8ciQwDlkXCF9ZTbYF2e39n9gKAb3HLc86Ndbz1U3b29234aAGqXwieMR1yDiFbotzKxqA6uOBGr/RgsO4Lo8XIGFE0Ngc/hsNpr0sMtU4mIPoWm7/l+UdrE9X0ynUo5UjpJB1pwV9115pbp0fI9OoH9ZmvbbSgZH1XbW2lxHSbdMfEKxoRuweYl/1WqKZedn09ovpIW3kmmtGh3isafDKrAwQelQctywbRfVmDOK9EcMjBcIGqyPWwsjVemp3zBOEzCU4USXUmfqFxIs+Mvlas1Mn2qoeigzCrrxXfhn7SB/F2Rojy2rOnpGj9NNNCQwotDNGJtS3S0ycuK2d/W2QFNEv/bodltHSdpQpUnxwzOi4/RvVdCvcdiQq7ocKMkYGEZZ/i6Bz7bOpZHgts9RUxy4Gr86uux/KRaykrk0tmP5BWQm04ld5W6Uy2EF3zrmBsBa/Q3umgKvMRHUhliK+agAG91D2Hv008uoGtWhYl0fG/GouyyayBtG+hTLmktkHLrwaCob7LUwJ5djvXKlPqUzxt68PfKlkdwFpdQxHCRBBDgHLg8sXcv0o2w4y4ev/F3+/TrRmWQQPodMNFz2x7BRBcXRN/JdNowBiPXx2n/vxQuURZbdTmHvYjoSgTzHc97GGKCc4ahewy3YE4p0JO0RWFnyksbpjMo0iVTn8khys9SZusV/DwYDOdRWCbca2KWqhfcN7Rqzdy19ZRXJXiFWhLW+CtlxP1WP605QQ+u7MTViKvlh9Pkv3E3m/DZhrRfhNyz3033m37FVBChPi9XdH4IWRqshx8GiJmiFiUwDta4tAfucoI2b5oF/zJ X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e75ceeb3-f0c3-4b9c-b009-08dbb65c05f6 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2023 02:24:15.9415 (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: DU2P250MB0191 Subject: [FFmpeg-devel] [PATCH] avcodec/dnxhddec: Use VLC symbol table to avoid lookup 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: L4NzWUwTAQ95 Signed-off-by: Andreas Rheinhardt --- libavcodec/dnxhddec.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/libavcodec/dnxhddec.c b/libavcodec/dnxhddec.c index b5f4e053c0..703d0e341c 100644 --- a/libavcodec/dnxhddec.c +++ b/libavcodec/dnxhddec.c @@ -142,9 +142,10 @@ static int dnxhd_init_vlc(DNXHDContext *ctx, uint32_t cid, int bitdepth) ctx->cid_table->dc_bits, 1, 1, ctx->cid_table->dc_codes, 1, 1, 0)) < 0) goto out; - if ((ret = vlc_init(&ctx->run_vlc, DNXHD_VLC_BITS, 62, + if ((ret = ff_vlc_init_sparse(&ctx->run_vlc, DNXHD_VLC_BITS, 62, ctx->cid_table->run_bits, 1, 1, - ctx->cid_table->run_codes, 2, 2, 0)) < 0) + ctx->cid_table->run_codes, 2, 2, + ctx->cid_table->run, 1, 1, 0)) < 0) goto out; ctx->cid = cid; @@ -358,7 +359,7 @@ static av_always_inline int dnxhd_decode_dct_block(const DNXHDContext *ctx, int level_shift, int dc_shift) { - int i, j, index1, index2, len, flags; + int i, j, index1, len, flags; int level, component, sign; const int *scale; const uint8_t *weight_matrix; @@ -425,10 +426,11 @@ static av_always_inline int dnxhd_decode_dct_block(const DNXHDContext *ctx, } if (flags & 2) { + int run; UPDATE_CACHE(bs, &row->gb); - GET_VLC(index2, bs, &row->gb, ctx->run_vlc.table, + GET_VLC(run, bs, &row->gb, ctx->run_vlc.table, DNXHD_VLC_BITS, 2); - i += ctx->cid_table->run[index2]; + i += run; } if (++i > 63) {