From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 58728478B5 for ; Tue, 26 Sep 2023 22:20:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4E77E68CB17; Wed, 27 Sep 2023 01:18:59 +0300 (EEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2074.outbound.protection.outlook.com [40.92.74.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8D9E468CAA9 for ; Wed, 27 Sep 2023 01:18:53 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U6RH3LrJmvM0PpB8cHKQxuMHKNhhHNYhTktJ9mbfA8uOzQrTMHI7D07r9Eul/SHJtH5/ZL7lQtvT5BSsiu8wh0MGJ0rv50LP6/7oEX27VS3ofva7mgN27rfooJP86EYOhsrgwRKeQSXDdUnSpNega/QWC0FnsXEVogMznQ6+M2l5Qn1v+0fikHnsspTJvLpygBveairLOCiKy6a1ujTbJSVk91ly99A2qTGukgtolDate/qCEJd/+hfhbK/iZdgdW0D5R9r4H8GrchmCxZO8SZlaHvHdmHQDrG/DOLoGlfEgP/eVrXzvLXr7FWn2CHedTksTcfG70wBt0MfimFhKrQ== 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=qZxi3tEpNEw3IN4JRX4wVB2DE+gGfUa59UB2FPthzZQ=; b=AeRmF7Ul2rczScII5f5mlmQpwa+CDB3GuTzCYq9ChzNVZG++UMAEdNwJalM4AO2ZVOi7DYOhbZV1Jm4lbW1tPd25ykk9b2nLYtTbk3F08hVcprAPLq7mbLfUHSpH5e58jAxUizPAafmLKt9mm3448yVTfTRDfagq8LdqsINCprSmoHNjQcmpsV/O5o4zLsLLtRh+rs1eh5j9b1ux+j1wO+/5ghPBbZiDyAsIjbY2SBdU5kOeQcDaB/S4L0iU8Q2SkmY7LLE3Y5mmpcYeAj/AGXa08jP55jHC6UaXAuxBvPSYLBktPe4Lf/4R+SsgWT0kgIfH3R8Z8xe100NjtZGbYQ== 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=qZxi3tEpNEw3IN4JRX4wVB2DE+gGfUa59UB2FPthzZQ=; b=qmV9zP8y4MB6gywV0vyoUe4J82JCWyxLPKGz/jlvGB+89sSF3pDl18edriJfTv5ob6KZjCqLcHZckjvdPq8DxQXUCyg9VUF3dOJFro2gPeqd5knb0js7H55iGkVuSpB5sKtBWA3TyuHVTDCxz16wEMz8W6ye6/jlnq3/k12/7yqwzW1XPtR/PxLXW/hRFMF9aQiftgkI3JTHIrSxq6n2ReN3fGed+Ra+p3molBrOBrhmLdz3WNdMaTn2DD3VWEER7/iWi62Emi/9wz0pB/RCpCo9bYdQ0Dykio43SQv0m5BS1oYHAOjCOhSx4BXi7r8CZWirS2HV6aG3LZ/43UXJDw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0189.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:275::13) 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:18:52 +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:18:52 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Sep 2023 00:17:02 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [uAVJh1/+XSd2xlriW+DutooYUbIvuAcJ] 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-30-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0189:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e804072-3680-463b-1eb6-08dbbede909d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6pckj2pKkAT/QJWYKnRQirDfDT2seyjNXwmQ5uAAOLjyBINwED+1r/bl7JDGAPiyUdJWpI9h0mJMeejzJuuBKwsXJspSqqd0OYn7mtMe2nSp3YUly3Qh15e+V+9/kJSPH3dRlGVGNLoR5cHqDf8yAjXX9Baw88FlBqmH7Kiqfx77wqs7kgeUXI0nAQQbRTtRFaexDRUsykrEETTduN/kUHDb8iLXRsM9zCQ0JM0RHWKMWshQ3nBrVz9wIeThzsDu660JtWp0v5fzczRaRoB9fW5/cibsDaBkz2uDEAfuZwulo0JcRPP25GnoDdbnd7APZs2rRHXh/q1f9EYtoBXRPd7S6471YlPOX5l1zmocL6NGr4SK8VdATxMRL6a2n8Nj9zvwNDIZpMjuag1GzgWmnMzuAwDT+DSEBo4Rblyc2bfrUd/YGOVXmicY1NEdLeH1X5Uqm+759jpss8tD09vbAIMWfvkSKTeb9YfY7tut/TVED5EModMQFrZljk4fXldOwt1iunG3wWq6jbQEVla9rSl2VJ5sx+YKqVzWRR3GRG6h00HwWYN5CczwdJ8S8zYEzpB5dga/iSMXAncLgzLt/LvdeclkLpSX/9XvOERazNC4CORryFr9oh+seZUU4BSj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?G0MG2hJKy2Kak0Bp5aLdi4vgNIJnbkva3P25Oz0df2aPUJWavhmDc3kRzt96?= =?us-ascii?Q?t/UNm+ibvrrZ2Sf4hGJTS1XOgbZLBkkfBdX7T+c4JXNx3rjrX4lmHz1GGMpY?= =?us-ascii?Q?wrt4UILohIqdBtzIXowU2niOlOcRaljWPfHOcdNQOLyiRVNHTaLqb7ETb1mj?= =?us-ascii?Q?uBJ0CLHynzPy0Rpq0yWhR7lE2HbRO2wK6SjAunMPvw7LCLNlY9UoFP/Qns8v?= =?us-ascii?Q?5FKL5sWcFNSlyvdnRS88kTb7sLbGX66QZr3blrDcOn01CMh013u3Y1qkb5En?= =?us-ascii?Q?gSgGznNId6diV5aULvCFF2n2YyvGUoYkUYz/65OyBdxw3CzCGEX7aTYwYTVM?= =?us-ascii?Q?i0cTejWV7Phqqr72cBjCgP+T4OwTFLqbwB1v5TGS6MC0dlGfIfo1GT4LXvWA?= =?us-ascii?Q?WwZfTU5u+/rVqZWHPZ0CK3wV2OGIqFK9mKIwWX9YA48/bS0Ir29idmsZjGNy?= =?us-ascii?Q?16AzpfU31GGxRf95SWvFSW59xueCQL6U7vo44xl67NlNDGQ5FdLfqjw1LzMd?= =?us-ascii?Q?df0mEQ2Nj/PjEQYuCGpy+zdpPVnobotX6REOGf34Q0EzF54fIXC4B1R8pWNA?= =?us-ascii?Q?s0I4++vPQnzMSd7UQXmxTaI4GrioGLEgkAjVTC7jESLCAkPxdCANFC+6D4jF?= =?us-ascii?Q?kWzJ5QK0MCVrKP4SVSFaCShGjlwcA0LKpxwpjoNATTgVAVZZ4EgrNRxZo+tq?= =?us-ascii?Q?ZjdwTP5ScGjJYHJTUD4jAHa1zK+RYFbYrsS06Z4KNqhyAw3DOBzuzPzxVWFZ?= =?us-ascii?Q?TUM0L1C0z3ayXh8yU3polQ9bT1RkNApw+2ulg88l/FHtAhppa6R4K8dZfyTK?= =?us-ascii?Q?ibvFXH9irY5RhYT45OYPoLtIvcE9VMtg4xCleTVX8wNIS0M+XxmDFUT3oRpg?= =?us-ascii?Q?zqT3xgxEAq28PiY04JQNjqTu3KnuIY8zJk4g0DUPGMJN68KApsbmcW0/Bn5L?= =?us-ascii?Q?Q2w6bp6wgTmTSrPiIb+OBCyrVfX/U3VCuNQm935Lw/4tG2FCnVgq6MR+YN60?= =?us-ascii?Q?yQO7sSboXFYUU+NWspxg3+fJNW4dd75kI9SjPw9QxKm2VjcJgvrDSMcyEzbA?= =?us-ascii?Q?0ri1V4F+CI7IHE91Ogavowah9DmDoOaAEpcTCKi4aGKfHiD9WwJFuP+AKyMT?= =?us-ascii?Q?ccHNBQX+T4TjICMJbRa83x1ZkmN09DGIMrSFl4oyCyfK2SVMQ+wr+h8oM4tg?= =?us-ascii?Q?s9sTAvNeIIEH7uoWcH0c0dArVT7HWYQ5UEB/j17FMKXevudMUgV3QmW7/FKO?= =?us-ascii?Q?+AdSwnAnXXwJmCIMeb3E?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e804072-3680-463b-1eb6-08dbbede909d 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:18:52.3554 (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: DU2P250MB0189 Subject: [FFmpeg-devel] [PATCH 31/61] avcodec/imm4: Avoid unnecessary VLC structure 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Everything besides VLC.table is basically write-only and even VLC.table can be removed by accessing the underlying table directly. Signed-off-by: Andreas Rheinhardt --- libavcodec/imm4.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/libavcodec/imm4.c b/libavcodec/imm4.c index d4011b33c1..656fc9c05f 100644 --- a/libavcodec/imm4.c +++ b/libavcodec/imm4.c @@ -108,16 +108,16 @@ static const uint8_t block_bits[] = { 6, 5, 5, 5, 4, 2, 3, 4, 4, }; -static VLC cbplo_tab; -static VLC cbphi_tab; -static VLC blktype_tab; -static VLC block_tab; +static VLCElem cbplo_tab[1 << CBPLO_VLC_BITS]; +static VLCElem cbphi_tab[1 << CBPHI_VLC_BITS]; +static VLCElem blktype_tab[1 << BLKTYPE_VLC_BITS]; +static VLCElem block_tab[1 << BLOCK_VLC_BITS]; static int get_cbphi(GetBitContext *gb, int x) { int value; - value = get_vlc2(gb, cbphi_tab.table, CBPHI_VLC_BITS, 1); + value = get_vlc2(gb, cbphi_tab, CBPHI_VLC_BITS, 1); if (value < 0) return AVERROR_INVALIDDATA; @@ -134,7 +134,7 @@ static int decode_block(AVCodecContext *avctx, GetBitContext *gb, for (i = !flag; i < 64; i++) { int value; - value = get_vlc2(gb, block_tab.table, BLOCK_VLC_BITS, 1); + value = get_vlc2(gb, block_tab, BLOCK_VLC_BITS, 1); if (value < 0) return AVERROR_INVALIDDATA; if (value == 0) { @@ -221,7 +221,7 @@ static int decode_intra(AVCodecContext *avctx, GetBitContext *gb, AVFrame *frame for (x = 0; x < avctx->width; x += 16) { unsigned flag, cbphi, cbplo; - cbplo = get_vlc2(gb, cbplo_tab.table, CBPLO_VLC_BITS, 1); + cbplo = get_vlc2(gb, cbplo_tab, CBPLO_VLC_BITS, 1); flag = get_bits1(gb); cbphi = get_cbphi(gb, 1); @@ -287,7 +287,7 @@ static int decode_inter(AVCodecContext *avctx, GetBitContext *gb, continue; } - value = get_vlc2(gb, blktype_tab.table, BLKTYPE_VLC_BITS, 1); + value = get_vlc2(gb, blktype_tab, BLKTYPE_VLC_BITS, 1); if (value < 0) return AVERROR_INVALIDDATA; @@ -473,20 +473,20 @@ static int decode_frame(AVCodecContext *avctx, AVFrame *frame, static av_cold void imm4_init_static_data(void) { - VLC_INIT_STATIC_FROM_LENGTHS(&cbplo_tab, CBPLO_VLC_BITS, FF_ARRAY_ELEMS(cbplo), - &cbplo[0][1], 2, &cbplo[0][0], 2, 1, - 0, 0, 1 << CBPLO_VLC_BITS); + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(cbplo_tab, CBPLO_VLC_BITS, FF_ARRAY_ELEMS(cbplo), + &cbplo[0][1], 2, &cbplo[0][0], 2, 1, + 0, 0); - VLC_INIT_SPARSE_STATIC(&cbphi_tab, CBPHI_VLC_BITS, FF_ARRAY_ELEMS(cbphi_bits), - cbphi_bits, 1, 1, cbphi_codes, 1, 1, NULL, 0, 0, 64); + VLC_INIT_STATIC_TABLE(cbphi_tab, CBPHI_VLC_BITS, FF_ARRAY_ELEMS(cbphi_bits), + cbphi_bits, 1, 1, cbphi_codes, 1, 1, 0); - VLC_INIT_STATIC_FROM_LENGTHS(&blktype_tab, BLKTYPE_VLC_BITS, FF_ARRAY_ELEMS(blktype), - &blktype[0][1], 2, &blktype[0][0], 2, 1, - 0, 0, 1 << BLKTYPE_VLC_BITS); + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(blktype_tab, BLKTYPE_VLC_BITS, FF_ARRAY_ELEMS(blktype), + &blktype[0][1], 2, &blktype[0][0], 2, 1, + 0, 0); - VLC_INIT_STATIC_FROM_LENGTHS(&block_tab, BLOCK_VLC_BITS, FF_ARRAY_ELEMS(block_bits), - block_bits, 1, block_symbols, 2, 2, - 0, 0, 1 << BLOCK_VLC_BITS); + VLC_INIT_STATIC_TABLE_FROM_LENGTHS(block_tab, BLOCK_VLC_BITS, FF_ARRAY_ELEMS(block_bits), + block_bits, 1, block_symbols, 2, 2, + 0, 0); } static av_cold int decode_init(AVCodecContext *avctx) -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".