From patchwork Tue Sep 26 22:17:08 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 43933 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:2a18:b0:15d:8365:d4b8 with SMTP id e24csp2210529pzh; Tue, 26 Sep 2023 15:21:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH1dahW3QJRuaEHhO7gkeQVLfJhRGii5KVN8SB7EhkS8dRBc9MfaADOsuxcrzNBjBEULHBw X-Received: by 2002:a05:6402:150c:b0:532:e1a2:b0b8 with SMTP id f12-20020a056402150c00b00532e1a2b0b8mr309246edw.8.1695766907588; Tue, 26 Sep 2023 15:21:47 -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 c12-20020aa7c98c000000b00534878c3213si511920edt.165.2023.09.26.15.21.47; Tue, 26 Sep 2023 15:21:47 -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=bPeAZMwu; 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 7E8A568CB28; Wed, 27 Sep 2023 01:20:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2109.outbound.protection.outlook.com [40.92.74.109]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7339368C98A for ; Wed, 27 Sep 2023 01:20:05 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W8dbI9xv8JWuxKZ7P3WqK6Sj3lv7a2D0CyXRvizVUFglgaIYM1fIHKvBUhmfFwgAt3/nyb9WzrI0G8+Z0NzXSUWKrrDn68TmdPuMcpajtF+S6X8cghEBZFIDUNe/Ud0MYhhpnI27UxwzmuSbt+sh8Fe5+32zVup+lPLrUUR6ZdAS8NAwt3czK0BmslfRuJx2xoRhYr7nSdEPH74VyXRmidIzGQAIQNH+Sfgwq/gYzAoIPPalBBfTdE3KX3ehuD8jo/9vibzJ6GVYkd4uLI3PaQPeKppUXFEno887b2ej1Y8GQ093vbw3hOqhTSoAUKTZE29MWelmIYoXy/eE5zzAEA== 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=aN5eAo0Q1hEuD3iO6K4DhyLDpd2UwtWjVM/QMUa3CM0=; b=SLX9+SO41FNRG2pfZzze5txoOk5jVJ4sNeo5DQUX/OeXVSosxrK6t2Jf7ZcmyvaH8kV+MhKL9QBlxaPmBaHLvqCJ7Xbm/HTWOo3E4bq0ZmMtKmfeNkgmTD30gGeayrd6mVJcQNXhX+70rik9MPtiyzvVDzya9p0adXJn/HhmOi/vAGvfRnErcDUI5U/gE3Po/lA0EzVLKSoSaq7T73mu0skialIGWD/MKY8+he+JBZWRONt5R4Y2Ldr1YtYDrQ0Ue9EwHhtoZ1+I6VL9w+IhNsXmug1vER4UgCkEJrhbopHXdDhuoW+498DR1z0WjaX1LsIqzF+wYwW7D2Rb2t/Rng== 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=aN5eAo0Q1hEuD3iO6K4DhyLDpd2UwtWjVM/QMUa3CM0=; b=bPeAZMwumg9qZVnTmGFGXP5b1j8Cs3Icag5ZJCuu/Vy5BBz1mYwudi5Fq2ZfuQ5AQVHsmZBc6j9fBM/uDnHhzStWzO/5IAswcm8+V523J91SBbqeKbK+rzJMy3ib0x+ua2ACErx8sxZsOAsRvZkLZkIWzwh9w/JVI1CSQ1CTdqZoJnmlFLm71vmj1ODdAofl8HBYACw3psynHVH1FIjGaBwP0q6I+fwgPlDyb1s8D2KTgMYgNBIOuXSV5r2hERoQBMAmryhCl++V8GanVQESmM8cbmgUL1cfXmlCbsoVALA8593fbuE9+taBxOFm09Zv35H1O2V2vJX8fqX38FTq6g== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0393.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.28; Tue, 26 Sep 2023 22:20:03 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::9d42:7b4f:71ef:c76a]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::9d42:7b4f:71ef:c76a%3]) with mapi id 15.20.6813.027; Tue, 26 Sep 2023 22:20:03 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Sep 2023 00:17:08 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [KIL+gu+bR1gSnHdEC2AAC7uEVqkRtp7n] X-ClientProxiedBy: FR3P281CA0019.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::6) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20230926221732.3711507-36-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0393:EE_ X-MS-Office365-Filtering-Correlation-Id: 55344a32-d8a0-4573-a33e-08dbbedebb3d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9rVKEPhVyR61aidJuJBiezP7wEZAF/24izE03T4YSeKytlyrfLDn6ekkj47QEAfsq1lyJmP+nQM/z119tJ4ESMgtZUbklsFSJ+rCmV7qSKN6yBMYshWm4RllZuJ7WC4Wlx7P5+O4qSmeMq2+gQybthtpLPsWAQcO7/5Hy5aS8leIwlzeY/KLE5/kF5J++BtSygfCzPyjONX41ltbDiYXdpVZEQHOS7afWkFhZuky2xQWu7geyI0igjpZmj4N8lgDtKoG7L0PVfNz4t3B4WDOKAw4EvOwLaMFDrrNybXn0bU5NhvUUt0sntVkfvXoJ+HA+sbZtAf2utBuKlrSbzWr+7k5WNXzQQtBoe6mnOaE47U1EPT/RhaGD1WxpEIcXt6fSFUSrVVgii6c0vrpOpRBwQNpR0JA6zzYW/f10DpNQwEZQkzjs5O8+O10HZuSS/+/dgoAy3h2Qo9ACazDJhx+wVeRubLh/CPn0rUbD3E/TElKqTcdq9JX1uHOdobRlYmpTOdXEvMEZ7nhQ3l3h8YCnOYkbC8SgAZE3xHaZeWcbCVLJCUcvcQQkjiUwD4I7VvqRoZ7Iu09dpJLtpTkegq/1JE6HPUJaRKGP+0aUrdnnGEk1vGR8M0iAlUAzQTlsMny X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2IkmsXURabH65A6b7Svls0r0IcU97Flpu8G8ry4mSWj2930FM/sbQCNQ4ZFsqJjdYyXso+qocWTW/OzZxb1e5EZKR74VSKDvfs3htOPFFzK0W8dFp2eqzYSlRzVCcqV0MYAwf7LR6C9amcdOmvjH3WOUbYnHD2fD2cHEGGmQejyUrzpM3mVHMng9r4vIfcCoBWHAE+XwX22iTEziAAnhiH8uRfpELtx5vHfX5hHVVwuMdbRsyvAsllySRzUnFtUBcFfHJeTmzMA7c9RFejrFVjaUP5XyEBtw3tVsYyILLH+nqI2iVNpiFzXIKMYmyrIHT9vRvmyob7C2+pA9Uo5MqQpcH7tbtRv56cZp6HN5srqUeTjSP+e7j47HvnJ7VmvU5UMfeYjnFrqRQEwrZBjHR7qcBpssSzOjGONT1QvaBikm0YQmJhGGac2c4iYX08rrRNg2C6C49W/1StAblID3JIkFZXl8a30tgXHeNoSlW7MbrZWbazb6biUrSLgRrdjnnhZecjHyWavyd4S33sY4RdU7F+mZkErLNccXT5o1Do01qM37JanTb+aiURVhUKloDSHdioIZAd45ClVD0SVv+hBh1er5cmG8/vSjmqhTPZyThg4D02zxhIJebZCO3iY2fOR9UZ11bwnp6EVsSeyRvx3Vek7T4ON9JxfbooSK07m0gWlzEcircu0RXLqyjB4/mrnMN3PH08qJyMU1noD1j+3p3k1IBPcGPEW9J+V7k+RJxn49ZAGNpUddzKdYwP4CczbPClJSxqfcWI4AgZMyfjaDZjQe74/597zzx1dQvAcckyyIUn/5Hgn+Y3FgoptDm9BUTGVjpl9PswH1NE8hcLK4Mg46b2kLwZUmPuNmmji8XmeuzJKUztevC6/zP4AQI+2h6FOcHJ6Gcgst3YbilA1IS40zSJkx74woFjWlL4yBRvcCo9cIosaYAADs6rtsskJnIHGFi9zCRsT85BT/9WFSL7AVbtgHCiRX9LoYmhYnGgtw94FMVYqVM7O+xwkGm2kypabzOUxD2ok/oev2qIUd/MwEYB/aCxT+1/ftzjeRGtUQ4bFjDM1BaEJkwMIUHCp1arkLVwAxsEleSr05gz87SVHHT7DNH6QbnGox0MI8SmZgU7ILZUO5acrLuSUqQfNxc9Kx750P6BseT4qKxNdPCjdIpUJRbJtVpUhlGdNWOkXSzFgzpWBiKCRixwBR8xXb6XNkqh8ZXmJD++fr9Wh7UycHaI/+pXY2/iFFMkbpWyYociSeqAMgGLgxeMlx X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55344a32-d8a0-4573-a33e-08dbbedebb3d X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2023 22:20:03.8723 (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: AS8P250MB0393 Subject: [FFmpeg-devel] [PATCH 37/61] avcodec/mss4: Partially inline max_depth and nb_bits of VLC 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: DrukS6ec/E64 It is known at compile-time for the vec_entry_vlcs. Signed-off-by: Andreas Rheinhardt --- libavcodec/mss4.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/mss4.c b/libavcodec/mss4.c index 0e7cc3e124..8ae4f152c6 100644 --- a/libavcodec/mss4.c +++ b/libavcodec/mss4.c @@ -156,9 +156,10 @@ static av_always_inline int get_coeff_bits(GetBitContext *gb, int nbits) return val; } -static inline int get_coeff(GetBitContext *gb, VLC *vlc) +static inline int get_coeff(GetBitContext *gb, const VLC *vlc, + int nb_bits, int max_depth) { - int val = get_vlc2(gb, vlc->table, vlc->bits, 2); + int val = get_vlc2(gb, vlc->table, nb_bits, max_depth); return get_coeff_bits(gb, val); } @@ -171,7 +172,7 @@ static int mss4_decode_dct(GetBitContext *gb, VLC *dc_vlc, VLC *ac_vlc, memset(block, 0, sizeof(*block) * 64); - dc = get_coeff(gb, dc_vlc); + dc = get_coeff(gb, dc_vlc, dc_vlc->bits, 2); // DC prediction is the same as in MSS3 if (by) { if (bx) { @@ -337,7 +338,7 @@ static int mss4_decode_image_block(MSS4Context *ctx, GetBitContext *gb, for (i = 0; i < 3; i++) { vec_len[i] = vec_len_syms[!!i][get_unary(gb, 0, 3)]; for (j = 0; j < vec_len[i]; j++) { - vec[i][j] = get_coeff(gb, &vec_entry_vlc[!!i]); + vec[i][j] = get_coeff(gb, &vec_entry_vlc[!!i], 5, 1); vec[i][j] += ctx->prev_vec[i][j]; ctx->prev_vec[i][j] = vec[i][j]; }