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 068504789A for ; Tue, 26 Sep 2023 22:17:25 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9770968CA87; Wed, 27 Sep 2023 01:16:51 +0300 (EEST) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2052.outbound.protection.outlook.com [40.92.73.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 151B968CA7B for ; Wed, 27 Sep 2023 01:16:47 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mNI1/7SYbzhr+xwYMJ0CX1j9J1qYqRJVAq/wXY9ElUUeOvbbs9Agish30LTuLHcscvgxOHkk+xGqpaKWK+9FIzE5nV4jCB6CJaaBk1iRgSjErovMg3vtZMQKmYUY/PCtlWbEp/TuAiesqBqupcduwTmgz+EXlKF3qni2SE0/zVSn4CxspHadQobdtHSFMiFBzaxIf1y5tXYqTDWklI9NBmD/8eCq2cV6e/y60dZT6wfTeXP8OAVWcDBqEsxp+2zda7vr59Y6v2UfAZHnPoydqtC3EVP+I67zDn43xtrfuZAFUpSKgrcbtBhcSUy+82nLSxPHJOG8gBtUUMHgSp5LWQ== 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=lzx37RvwII8WkFli7/jcAr7dpmHpyece4lIadCG4NU0=; b=kPRiWHxeJUP7K53n2gbFI5aon1Wdk8siIwT3kN89ttKv562AleDPMqSQF/vvONqQ5uJDMovlfR9OLMcmavvh4W5TmI+fRaaKq2sENvyPUQp2W3IaCoLlFrJ8KjGezJjp/4NAPzY8aVldnm5IGmJW6/V0E4RVDzL6NxUsocez1KgHVz0DaK2QdOzcNEaetjYg5+314U0bswqT9z8t8ggsF/er89cHoQgGObvfWYNvjjhkPo/9MCHkRH0RdV8PbDa74Dijl+BNm73qkyidOLEOGHOAYwfVc5bw/bQc8wqUZImpEeg+Owed3Ggwuld08n9nyJkD7HCJ2us6jFO1LL/u1Q== 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=lzx37RvwII8WkFli7/jcAr7dpmHpyece4lIadCG4NU0=; b=N8kJ91v+d1NG6Bq/q8riLHyqG5ZefxNG0JFZL8c190NqMYT/X+nNCrx9FZf6pJ+qxrebM54td/mtneLB1aCiRCpoWSdf2IZb2AyOrG3s4tbxTpfAaDFt6sshrbdckwkavalsXobXabhfthmP+9J4TqTF4D4V/oxH5h9Z+DnhkLPneMaaUfATOGby77/0U//POtMRz3GSey9wPv9g1b2XQV21C5EP16XaVsHJByKIO+z9765Zz6xa3gNNkS4LvzGYn6tHlAL2/crBFXDBKMRj9LQeouudXyZq3Mmp7ujzsY7hZgK2uq58zBhkwgcsLu5yWxUDGgrveoevDtfE96pcbQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS4P250MB0413.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4c0::8) 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:16:46 +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:16:46 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Sep 2023 00:16:39 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [r3JuzOxbGcNdRx0zcHMfyDZE5dfldWCl] 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-7-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS4P250MB0413:EE_ X-MS-Office365-Filtering-Correlation-Id: b374fe0e-823a-4b13-b1b9-08dbbede459a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2nzX4zC1y1sErx8HLO5pRlvGXUA53krpvUepE0867+KUvZwEv6DmRQODV+BsutJlnENxB9fs1C+IggcZJYRSyBTbcj0Aff+ATzKt187o/FOTwwhck6OGNrFHgpZEBftMaFlDZlBIs3Np1YKDyg8UnIil5cUssjflzojr8rppQGraznDRcPzujJzjMr3RLd4B7/SH36/i+MpOP76gJfbY6CHjeijJCBxJ9eqKWH8B/7U6xEYjvURn2ngAsjPfXcQ2kJwJSGDmzfL73gIBIHLKNgCWFK6uLprVVPDu8EWIaFTANqL/0gQWCg3Xzkgx8YRFYRXFfRh2FG56WKFBlFiaonMS7vUqABx4da0lXMChmi/z4NSlmfj1oiTA3IOpmT7hLVf4FrNvgXV14X5kj+CSF2tMhqVUKSoKBxfM+pxbsKgR3rAUnd7CvPt2WJxinEGAA4Lnbz24f7bEhelS88GFoGEh4dqJfEYEUBm2jKKpUAKU/OT6LOWOdlZzTVRcoCFhMlCC8o0EHuu9G78t5VEhSpS+hiremis6C7X8GNpP54iTPy0KmAbD0gzPGE5wz8GmWKrj/RmWO80VmHza7TxhzXqI7vzlVHbqfVnNB14RFfANfC9GledvARHF9LpIBTcV X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Wi0UajiuDLL3PxuPLnsGGH5I6wK2usJ8BkercZNCPUIVesg4zBKZ+/UPWJtp?= =?us-ascii?Q?RY2lLTJOTE8JQr2YXTE+JJTTy6c8BXmejO7rvqWhc24PpxjYl9BC3BEgdRCw?= =?us-ascii?Q?LOtTdpLUhL18FC/pBQwFLoepMPbiEtjVB+ZGrcbiZ7cxO4RVC40RCJTxvpc/?= =?us-ascii?Q?wiM3OUexG1KzEyYM7u8rD/sMkgm1sQTJ7FAdiIdHwueivh8/Y2kLgcrKTVqz?= =?us-ascii?Q?GgJQyfum/4jsGA1gzoAVic/T8UVYo/Md/Ggxi5hswGgTgmtBVkVMqks4Da9q?= =?us-ascii?Q?7DaDOBigPgDCnQTZqY8BKMke+RhTigEfm99VpMSWq6oYq6X+D8pzI+tCjEtp?= =?us-ascii?Q?dcO9TgLeqTQ7tYiAaowJv5ILWNegGEUD9mf4Ij7AJ/YqQes/7Gb0jiBY0oMr?= =?us-ascii?Q?odSCo/NMzG34Zzhpv0rN8sBB0sNprG+g3jj3gQJh/MscZTH6s3w/5vYh0Idr?= =?us-ascii?Q?noRoUN+FVr9t2Az3WjM/qPcMXMPyasL9ofBtFfL0mccQCPrjXot3eJqXGNPj?= =?us-ascii?Q?3qo6q7JBJ3CpMQtqioseN4esHOnD/OL31dMsC87o1/FSTfwg+ZeOoNOwVz4D?= =?us-ascii?Q?Dgu1g5P3T75OTTB/ZOw01u5qbOm0pXNHI0l05okqodh/S9VaB8tRHBFAI+z4?= =?us-ascii?Q?03r2z8Oz055KBKYTf8rfHWTLs7pM+QsRlCTqAirv0lqKWL3Jzs7tNv+c3LWg?= =?us-ascii?Q?YO+o6PI5q9VZYOJiHq24QBqYkja0T1HSS3n3pVfbD4cXiGvfGVEQngKpWB5/?= =?us-ascii?Q?c0/m9bUSX5p5sGcYBlst51dZIH6kLeAHfPgkSAPREqENQw62QmGS7YGtZolS?= =?us-ascii?Q?QJPL2tvbMt6om0lI461isRPi5ufUfFnLa3DTuhi9YvGvmr8H2nR5Zw1hf2Gm?= =?us-ascii?Q?eW4xPvloiFN5aSXA+uXP1xMmvpqztmMFtZcyfSmAM/qW9pCRnymQVaVoiQVI?= =?us-ascii?Q?H5VJ7WQtWqEslu6iyBovEo/ytfldb9hzij47Z4COxhQQTa764osHPdPSF6pE?= =?us-ascii?Q?YPt6zvK3B+wIQ2RuWQkKK7k44Qlvk6Hy6wl7GjsaEySCmCNTYLRCxKSo25GX?= =?us-ascii?Q?pTurIvXAUqELxwPGpB1bTfjU2o9qg/FOc/DTFwImJuwsBeUMzIMqfi2kIT4t?= =?us-ascii?Q?qH6zyOB7oKFgtTyJO8dIT3f1wrBuk02F6/zm5gaqDSI3/xXZtU6NcCr3EZPD?= =?us-ascii?Q?keclSJiU4NRvE/bTyCELtucz+tod0S6KPvkpKx+EeHm8DX5dCT9O08yEH9Mw?= =?us-ascii?Q?Noi3+tBl2osKMzH7VKir?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b374fe0e-823a-4b13-b1b9-08dbbede459a 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:16:46.5353 (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: AS4P250MB0413 Subject: [FFmpeg-devel] [PATCH 08/61] avcodec/faxcompr: Avoid superfluous VLC structures 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: Of all these VLCs here, only VLC.table was really used after init, so use the ff_vlc_init_tables API to get rid of them. Signed-off-by: Andreas Rheinhardt --- libavcodec/faxcompr.c | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/libavcodec/faxcompr.c b/libavcodec/faxcompr.c index 62729fe90f..41a1eec081 100644 --- a/libavcodec/faxcompr.c +++ b/libavcodec/faxcompr.c @@ -95,28 +95,24 @@ static const uint8_t ccitt_group3_2d_lens[11] = { 4, 3, 7, 6, 3, 1, 3, 6, 7, 7, 9 }; -static VLC ccitt_vlc[2], ccitt_group3_2d_vlc; +// Also contains the other VLC tables pointed to by ccitt_vlc +static VLCElem ccitt_group3_2d_vlc[512 + 528 + 648]; +static const VLCElem *ccitt_vlc[2]; static av_cold void ccitt_unpack_init(void) { - static VLCElem code_table1[528]; - static VLCElem code_table2[648]; + VLCInitState state = VLC_INIT_STATE(ccitt_group3_2d_vlc); int i; - ccitt_vlc[0].table = code_table1; - ccitt_vlc[0].table_allocated = 528; - ccitt_vlc[1].table = code_table2; - ccitt_vlc[1].table_allocated = 648; + ff_vlc_init_tables(&state, 9, 11, + ccitt_group3_2d_lens, 1, 1, + ccitt_group3_2d_bits, 1, 1, 0); for (i = 0; i < 2; i++) { - ff_vlc_init_sparse(&ccitt_vlc[i], 9, CCITT_SYMS, - ccitt_codes_lens[i], 1, 1, - ccitt_codes_bits[i], 1, 1, - ccitt_syms, 2, 2, - VLC_INIT_USE_STATIC); + ccitt_vlc[i] = ff_vlc_init_tables_sparse(&state, 9, CCITT_SYMS, + ccitt_codes_lens[i], 1, 1, + ccitt_codes_bits[i], 1, 1, + ccitt_syms, 2, 2, 0); } - VLC_INIT_STATIC(&ccitt_group3_2d_vlc, 9, 11, - ccitt_group3_2d_lens, 1, 1, - ccitt_group3_2d_bits, 1, 1, 512); } av_cold void ff_ccitt_unpack_init(void) @@ -213,7 +209,7 @@ static int decode_group3_1d_line(AVCodecContext *avctx, GetBitContext *gb, for (;;) { if (get_bits_left(gb) <= 0) return AVERROR_INVALIDDATA; - t = get_vlc2(gb, ccitt_vlc[mode].table, 9, 2); + t = get_vlc2(gb, ccitt_vlc[mode], 9, 2); run += t; if (t < 64) { *runs++ = run; @@ -261,7 +257,7 @@ static int decode_group3_2d_line(AVCodecContext *avctx, GetBitContext *gb, int cmode; if (get_bits_left(gb) <= 0) return AVERROR_INVALIDDATA; - cmode = get_vlc2(gb, ccitt_group3_2d_vlc.table, 9, 1); + cmode = get_vlc2(gb, ccitt_group3_2d_vlc, 9, 1); if (cmode == -1) { av_log(avctx, AV_LOG_ERROR, "Incorrect mode VLC\n"); return AVERROR_INVALIDDATA; @@ -285,7 +281,7 @@ static int decode_group3_2d_line(AVCodecContext *avctx, GetBitContext *gb, for (;;) { if (get_bits_left(gb) <= 0) return AVERROR_INVALIDDATA; - t = get_vlc2(gb, ccitt_vlc[mode].table, 9, 2); + t = get_vlc2(gb, ccitt_vlc[mode], 9, 2); if (t == -1) { av_log(avctx, AV_LOG_ERROR, "Incorrect code\n"); return AVERROR_INVALIDDATA; -- 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".