From patchwork Sat Oct 22 13:59:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38909 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4a86:b0:9d:28a3:170e with SMTP id fn6csp1302404pzb; Sat, 22 Oct 2022 06:59:20 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4JnEt4yCjppa3xtSFrR3ac+NwkhgQUs2cTTa0aH0xt/gLtuxeMMlXwZsEVidZkIPFrRd4/ X-Received: by 2002:a17:907:9495:b0:78e:1bee:5919 with SMTP id dm21-20020a170907949500b0078e1bee5919mr19719707ejc.701.1666447159835; Sat, 22 Oct 2022 06:59:19 -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 nd18-20020a170907629200b0078d3b452573si24556043ejc.968.2022.10.22.06.59.19; Sat, 22 Oct 2022 06:59:19 -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=diELPWtK; 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 48C9568BECB; Sat, 22 Oct 2022 16:59:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2048.outbound.protection.outlook.com [40.92.91.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3D5D568BD56 for ; Sat, 22 Oct 2022 16:59:08 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lc0v4VzNiud7vcWFyRGVVa/bDBbANKvdc2sc3m+VJtjNaVOom9meGDeDiOqG6Cul0XsH86RL5VMj0vnuUFtzFOTD6/JB6NtOEjndEhIRAwncPEER66GvHLZmiJarg5G1W9PImoNRIe7MI1yxYvpMJY4g+U7pMVcJMUXV7RcRwsQmRZ+dgtOzZvajwLuIaNIyUgPDNGLBKy9XMzU8KVvZM0UuBJK1yww6IGSVsmxwWYZ+gh+/kcIqxsns1ldnwvf6LXLgtXCK21QE5aT53kPnhnu1Dxj+B+URarQmiBzpfQ4fAaaWuCCCKeqTS1qtdzIYywhIDurrz4mQDscLmH4wTg== 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=9mJ6/IzIuzjvAHJiucfL/nrtxrAQpc2Td/0gQT0iCes=; b=I6enPDqHlELC8bu1fSbqjywut46kpZkWs3DcmaQKROVfsKUYlmb1rqp+4i207MWGCZsQwhR2e05Le0M/RRG6Kmafx8tp3yYoIlkPtmAnBKnjdN0nNwQuSaOh/1dpWCVKY5rvHZCiK2ecgPl4G0WMXyfcly396t8PCH3B4SKlk0Ia0eRcZ8wJq87T6YNb/gc/vWnFE7pDFeuk9w4KwRmiMBwc+++R4M2Dm79HoNiYgX6pQaJ4Vgk4IWiQsXQhTel+J4aTOfP/6X8TbOZXUVxOyp84rlfp4TtOF8QuE12vccvYf2ZHNsCsvXSjFaTL3inM/G3JkkLkVMRoM9lUFDB1vA== 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=9mJ6/IzIuzjvAHJiucfL/nrtxrAQpc2Td/0gQT0iCes=; b=diELPWtKRmGqwel+S4UKwMstUpdB78wPPb15WyomDTg6r6Pj4zbgtCS3CIY0y5rGyxTweTuwTZdW4rdau08ZKzxgvEHLPB4SS6MxYCQrwa+VEx9MDdeSaJ94tGCvJSjGo13WTI/wPFnHTbKOOHKOR87GuE38c11wlJiYjjKsNOb69V1fGbS8GoVlsQ8qmrbzk5wtobOeDWJQqmmfFFuZZUv/qrUTROWQJq+yMumL8NY18z4YnpfTYS2mEfq0SZigDhMRNS4tXEhRsDFjZJdMCUXfEKYdczZUxW3929HMQn4vpqelRKKKUTJSIG00Fb9CPxnaX+SBaGyXg6k8hHfuew== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0268.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5746.21; Sat, 22 Oct 2022 13:59:07 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::f9d7:680f:70c4:44fe%7]) with mapi id 15.20.5709.015; Sat, 22 Oct 2022 13:59:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 22 Oct 2022 15:59:01 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [driBTbK3ImwXTpnCfzKBcQkstCSkACW2QXX3KkOIh8E=] X-ClientProxiedBy: AS9PR06CA0368.eurprd06.prod.outlook.com (2603:10a6:20b:460::32) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20221022135903.3949890-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0268:EE_ X-MS-Office365-Filtering-Correlation-Id: 47905a54-5117-4f03-3601-08dab4359645 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpHExMQwxFirrqTEkmNulLLvQSwsl+CcuVLXI+GEg8tbHbgIlXLXzi2jvNWHkug63bdi/kp8J+kOEpef4dvexuV4Rd4B8Pd1HntB9XUpJQyzJvcK5OtF0bE3mf62cMSF+le6ISwyfI072P8fJEqO0dsoViZ0pT4OqP7z1h0FxM5iDgSf0XYa1cnTuu9AECaRgFcdGDH88Lm2ekzYPcbtHSa2nfG0EqL9yvhaVY4dEAHdS4dT5W/FK//tmxjjdRqmm3qMCECCywxRvlVqThqTLGDwl9twcgO/lgX0QKmA4YM1OluIipGQQlxR9kKBA8sf5nhg4PJ1qImgfKTkelMpaniWVSrvCYyMis6SSb07/ly8kGsZhMkuLiheLDNwzONURn4wYAaQrZwUf1dZ55K2CD0AyWkAS/w7s6WZr/+6zc8sko84Jy2COz0kmQic39AkDkQK+c71Ssf42OspFu2pJcYq5JRR4CDp7IZaO2ZpUsVv9Cx/nsSjGr2s86JPW5WdeQLlpXZnUGAT7nF0MbvWqBTMVVxL6Rrgp6nRQ6W1A4JuclyeZcz0sXpj/xjjJ4fPBk0/oTCdxwhj5cXtv6H5FhqAOqHFxMvNVorWiNlodc2t/lrLg/uIckS4aytHHh+6yoxMZx58ghwU2lcJfK0mZr7MB5YWEC6gUFBqWDHQ7HfaC6eii+fP4RioGTYY6p91D4j4eJ5diIJY3F8ysxJabELws1/OVz13FjDnMRdX7lYC7FAqPMi/l6Jtv8yJI5rGEs= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nFmogIiwk7Rmd15MQa90l6oiKWMe08wJ69IWMWrQpSmLqRpPtvQ++JdqMRS+uMPlKXMhd2DadVONC++NQTEYxAtaOQTHO85CXmsKm7jkmx0VnfUJ++mNt/CPufz6HZii6h7qc1UdNOgbVlE01S8FQb1RHN2+41AwSHmLdacziviX6z51FgMHscQUYD+90DoxumvqkAKe3hSRG4xh0Zb0NV9mGC4FRgUofSwTI6SgxPL82MjsXmL8Nm1P9qXwTPASLx6MlBm8XlhPYmbEuGk1oIaNkC+fU6wxgpE5JfI6klRtkjJC2vEhTP14k4xmTWL5O7hcEqLOOJDHblUT1VUdXSQXBxUaXxe+shrc0k2BJFivOqc4Edk1INs8TWHipfkt+cXZI0W4tBLUxKzmRLwnKcgf281ZYs23FVkZMkaVu3TVawV7PET7cSlegiq4sxmB4AcKlNeWAR1s7M2sXKEKs7l/6TBUw/CvMrF1R8l47JfMFGPiSQSVBu4XWeVotv9r3Det83uyOgK1BDqtc5yyTWpClNe/dUz7mUAoBnLd7tD01sHAW2Jd2ChmMV2ZU+vGxR/0Hd6J/0DHWPtm8mTOWn/kPaht1fm2hOGsGCG9h68PuIzUvgN/SneuDg+4IPFvhl10o4AbqdRHgebdJ/kF3rUeIhwinXZKEdze1i1hHGFaO8Nr4UijbRQ4f3u40XAj X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: CkNOtB6GnW7AjdAuCIxY9vK7ef5aImY1aLWrnYmAFt0a41UIe6IeeM7F/h5J6Zpnz3z+WS0l4cm4noXmDeoT9v6TyBQgbBqhpVENWuB0l3DXnxWxKaglWZ6OJPBedu8WZjS95NWY1hbFpywmaSS71m5Lv+7+2k9gnbDYS+b0KKoCEIe1TDMu5Ea/FGZDodb3ZZ2gq/THAzajCn22fg7wHTrstq8c7A44qkiStV0GU6lGiwnzc8KjuOfurmmXSnhv2SQaAd6lIhhcnDKp0Fi8MqbhfSQvnAVtuuUPq0TPrybshC0oCLXjHbz4/RLY5Ei8kR7Fi3fNQmE9e86yqqVSmXyXkcScBw3Y2AGvEMPjoeR7DZWGqOj+gYfIHBWWukBIuUEftItB1Sg6MbBYTwQhTEKVaS/5lBdM4eirlgbEEb2oYf+KO6oqvJSy7FpiK8WlHh3FwukiAWGM/Ti8YDbgIFPVvmMvKkz8+An8foEC4/CxHeAoMykxCz1IWsLqvcLZjnw5BIVSVFNAhIGNHyy9NGmhnP3iKv03N999MLijTWhYrCapA1ehJPGH7lVqN8RNnxaIh/PqbrTX6feue9ueHlFoQguIUvoQZ18e4nuuVxlzQXAxTxjetgRPP30Up9ScL9FpQuwpmSnH5HGp4pCrIUfiWobOraLq+wNc60qZ5gURnjrl5LBJ6TC8OxQNuz2VFvFyzNZHMpRZx2awaLRS5SQF/c3vzaFSjdNILb4WrSJJ4xWquYJZyhoPNdwKFUTbN/YZGiWKe3t/yZjFzszXS2SxA5vrr0o+xBl4ZZ84SfQx4tDaju+lTPRoHG9q38UvYSOe6LWjF+e72u3dq6O0Et2/iObcgerSoXGxF5MOLQx7vaP0XyStdUc9zZ89qejPj5oZ4LLg0b9+hJhH5JkMvhBh7NOySTgO0hWINZKPZe1J56CinqF9vj2PCoFr3e5a+hdFXUef54I/aXxI0dR5Mp/u+6KzSL6XYBKMFqZ7jr4ARLh1annH8AI+gFoCaqW66z0Qmer0CFt/A+d7x6S7zMDDXuA3bi8WMU2s9bq+GQIrVPi3EOHoE3sLFykYYMnBhvmd9TCUsqwfx7s/sCHOYimwjz68iwPM6fA9uQw1imrvB1ax2e5hSciIK7PwppqvgEW5Bj0rGydhobEHdQunVqQn+7Th1F1QX+/1uKXzaVJy7AeQiw9uAvJXtD8ivNwWINYOR26aFRyknbnJ4wE+rW8rskuxiQIl9L4QPEaPUhzYqH+PRz5b0bzVDx3dOd8JsfX20zMQiJiuBZkmUD1QjS0ft/4k/Yxc9G5l1lu2Yji/l5W1W/Abf2doA7bmwK5O X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47905a54-5117-4f03-3601-08dab4359645 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Oct 2022 13:59:07.5293 (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: AS8P250MB0268 Subject: [FFmpeg-devel] [PATCH 3/5] avutil/tx_template: Don't waste space for inexistent factors 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: koPYwAVtMic0 It is possible to avoid the factors array for the power-of-two tables for which said array is unused by using a different structure for initialization the same structure for power-of-two tables as for non-power-of-two-tables. This saves 3*15*16B from .data. Signed-off-by: Andreas Rheinhardt --- libavutil/tx_template.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libavutil/tx_template.c b/libavutil/tx_template.c index 6b63cc575f..b44a6189cc 100644 --- a/libavutil/tx_template.c +++ b/libavutil/tx_template.c @@ -55,9 +55,14 @@ TABLE_DEF( 9, 8); typedef struct FFSRTabsInitOnce { void (*func)(void); AVOnce control; - int factors[TX_MAX_SUB]; /* Must be sorted high -> low */ } FFSRTabsInitOnce; +typedef struct FFSRTabsInitOnceExt { + void (*func)(void); + AVOnce control; + int factors[TX_MAX_SUB]; /* Must be sorted high -> low */ +} FFSRTabsInitOnceExt; + #define INIT_FF_SR_TAB(len) \ static av_cold void TX_TAB(ff_tx_init_tab_ ##len)(void) \ { \ @@ -145,7 +150,7 @@ static av_cold void TX_TAB(ff_tx_init_tab_9)(void) TX_TAB(ff_tx_tab_9)[7] = TX_TAB(ff_tx_tab_9)[3] - TX_TAB(ff_tx_tab_9)[4]; } -static FFSRTabsInitOnce nptwo_tabs_init_once[] = { +static FFSRTabsInitOnceExt nptwo_tabs_init_once[] = { { TX_TAB(ff_tx_init_tab_53), AV_ONCE_INIT, { 15, 5, 3 } }, { TX_TAB(ff_tx_init_tab_9), AV_ONCE_INIT, { 9 } }, { TX_TAB(ff_tx_init_tab_7), AV_ONCE_INIT, { 7 } },