From patchwork Tue Sep 13 11:33:09 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37894 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp628535pzh; Tue, 13 Sep 2022 04:34:53 -0700 (PDT) X-Google-Smtp-Source: AA6agR7sGoJYoBbfm6w+SZBg3kQhq32uWoH4Q/OMeysovlDQ2SwiubwsCyCpl/2qlYtolyWXqfPi X-Received: by 2002:aa7:d392:0:b0:44e:67f2:c79c with SMTP id x18-20020aa7d392000000b0044e67f2c79cmr24954015edq.278.1663068893564; Tue, 13 Sep 2022 04:34:53 -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 l11-20020aa7c3cb000000b004475c9ad046si8348617edr.620.2022.09.13.04.34.53; Tue, 13 Sep 2022 04:34:53 -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=Xk10ZJqN; 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 5597168BB52; Tue, 13 Sep 2022 14:33:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-oln040092067064.outbound.protection.outlook.com [40.92.67.64]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A2FD768BB44 for ; Tue, 13 Sep 2022 14:33:34 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZbZa2GcUi2yjmWWo/AObP67+qNU5cBDk5Fqi6B0fIFQ11MaqgKUPYJws52/o0kAfJQckg8NbYhfsYaq33J5EssZXPU2J98eRVQNTyXVJNrSM/bd3eKtMHvLTZKjoBz6A2il8AYlppZxmj14lbsbxMEApTA6kM0p9YELozDP+wNzpX1U9dzxnJ2thG90cCQJHTl8aGfnqd47IX8KWSxlFQDXvo5zl4fAtzUZzBPB2Woq/T2QVmq5kK01KeukK2PrtGjJlKaBVYhyinVaGilzFe4OnalVUlERLBiIySjISFfVxqN6p61qU0Kx1LIKDyYSH6FTiso/Zu2I/8dIlqwHfkA== 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=9ET+MZqU209+L/LaL/LcObBnu9if9OudptyLq7KTHOs=; b=kHhhZk/7DgaKCg4ny2bLWQSwf2PUHdRskMZh2yWsYKmSj0gzWwajLFyHJC6OieoongroD5dZMYZ/i1FGRB/q1iPqRwMCUrqs7uFDI0wPH+agTHHZay5DsfsNcIyYMSmYvUjLMY6JKGZQSNlZHbi2KCjlbOumyYQlLcxk+m1xxkp2ZVQ74o62Ivl8GKQPpjcGeYOgshsFL+e/kRQxxh325nsZS5B5/d2rRlsvVDjCRe3jRIYfYdz7HDSnWBDSiLCSyWZNVpwvrxON5T7znTgBUHjucsOuGoXUQjWa+G29HWTXauKsIWpTVoBEFbKAy97/R4GQqntuYpwvKEXfjhteEg== 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=9ET+MZqU209+L/LaL/LcObBnu9if9OudptyLq7KTHOs=; b=Xk10ZJqNShCIrW718SZp8+I4iHRejGKYT6bKgcksdhq4emHiiH1YULSOBl9N7aLUJ6XeNw8fSpKPYU2E3j8q568feZWrYI5AOUffEUT9dRdQ23CkRHkr2kzQwFZ1O9SxA6KBHizswWQ2soyt9cTKakjvVbR9n3zJ9SZ4yr0A6tc+XWy610pXiyJj2Sn6v+5jMm5Nqotx0bxYbC/OPg/disH6Me+f2ttWml5i3zL1HUDt1U23dRrMTtyYiNFXxft+T4JmJIz5HkWi4Mnk6cJex+xhD6jULer6IXnLFQJ4Bs5F8KGjBLf8xalZuLIiz/fYuqRi5CgCvMreUshUlyfJfw== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by AS8P250MB0072.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:374::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.22; Tue, 13 Sep 2022 11:33:30 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::51a4:ed23:ea45:dfeb]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::51a4:ed23:ea45:dfeb%7]) with mapi id 15.20.5612.022; Tue, 13 Sep 2022 11:33:30 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Tue, 13 Sep 2022 13:33:09 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [EJoPlSfde6U6SSMIdvkIq13ql80TX3vPnJRbOsEgD8c=] X-ClientProxiedBy: AS9PR06CA0296.eurprd06.prod.outlook.com (2603:10a6:20b:45a::16) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220913113310.451876-11-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|AS8P250MB0072:EE_ X-MS-Office365-Filtering-Correlation-Id: b475553c-b301-4c12-a4f8-08da957bc842 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpEumVcsW5Tnf3Q/Hh5f4HAM74fmlrjaO0+lFo3h1oLkMK/X4iutEE/FLNOKF2mjvIPaxRvwddTmLjm5pW2dhA8RM129/XevH32HRpDBW/aOwHgBY8Fob+ye4/fy4L8cvD9NJ5xzYd7YJRcEnSfDahu7APRtOveg6WytH9aCSc46OFAv241ou2Td3eXU15SewCeHY2ngcuhZ+6LbdD1Mp50uk8ejo2DxWlJ3qijDdk7yJgHzt4N4GsqFECEKDNXjJgsqwQ+uxxM3A4ePpZA1OT3ucR9auUyugKZ2A0fLu4GHzHYD1Mw8Nnn3byVVFrbcGYG+fiWNnWXaM45cKlKr9FNxI6wO9+0U0BJC0ucmH2sqrwhRHPhamkdkwTn7e3u8QviPkBL1Agl/u8ZW8zFLg/svb2gAOPlGwlBofTtUl4yFDlEr9TNwq+OBB/VRTtNQTzs872D+DXphkjixknCR5TvLSN3gpiBoCK5VZbkKa3Rbxn3pgfw+DDqEe8aPEpvcPAHeNy1wybp3/wUY2vkKmznIgyKN+8WipTZaTVdvGLMfFlZ04uUUoNP3imfyw0koBagCC/d50Ux19TtGeLrES8yvDfV3tMk0MhgAW3D79OWmwGnKgIpcwrlGWpN5Wp7S2NiiD84zUYCTcVMRjOtvY2XCvfCqM2HIVhOkEg1TrItcjoIeF0gbFUPL1e0mc7AXV1/b/w72yY0GROS3weNlDmQW4lWMVCg/Pne6EXjP3qYP5QB7Tc89FvYU7KxHCvy57Y= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ij0QgDF99nr7Mp+rh3R8dIbqQKCBLqR9stKbccaLoJ0yv//YA5nwmfC2TzqdZz2GNnF58eHjN5CRv+xR3XRt2qpJ8wQfi6d80pkPBteofCuLa2PB/4ApAPe6yLc5OCFSgPttyPz2CwyEeM9mrEHxZY5ARjP711xGED91WEy5pQlazWF+Dr6nC+iDTOMLsF+HOORM2GtMuvLRRb0iZY65fxyd7P1xKN8c9ao1YFIhsU6/8lAq9Sae+EvVssiHPM2LkowrZhCcymiYjlk5DSb3F2eKbm4lrldNCnw2tDSzjyWTMa74NIf6WkZgO/9UQRa+IUWog1xzFFukrdG2OfY/4U9OOcZFtnGoTg1NEFvvQSaREZS4A2pyU/KJF1hyW7jnH88aUQM5hIK9NqIS6AZE08pPLkeuKnALIlgynOvhtv3bZSS9GW3mXL9bQ+GqzzwTzDXr431alnfXJI4M2pIfM+PO2tW1UdSGI/rUEwKUTT48/D5eORCBufuwxeJf/IuFEuvVo5ijoHeXXJbGRPICig42CENNvrK0hjIvA9YIQJXopr7mJ041Hv6t/amSDD3muacbLts8kgnLg4zAto1lTtyvxpZF1FFl82kAMJSHy6fs/kkyz98qJesm0QmvbQd2qBGgFJ/OSrwtm7sxEorKUw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: PR4vsJ1ThMeGHqnf0j53R3UKUAQGSp2BjeaHGF4mPd4ZhDOERvq/hD2mqaRkLHmba+J3HGWQhV/p1TgNeBg3o1spC+Hv1QzHPnLV0AjgZJPN9g9yw1RC6ZFSsKUg+oHH2WP9az0VgYXuV2IImGOPZOUD4e7FHqBjf60oi3FbXrK7nYxLepRNfWYgSwAawgfJbly4Fty52BcoE8+Ipbd3N9o7s902YwA0zZ4djueHYYHHxosuuq40PztJ/d/isrdR7jz84XIcdNFMOI/on3c1NAsGEo9IhlqCmyD9n3iqoEgRpPUNyWgjysZMxTBbXnWw0rwOCW6HHRvNAh+m7Wb1Ze/o/VEnSaL3cv4myqswSZZxkXCPOrV+hNvmqpugsDockXUWUx7ft24Bl5SGb8jH+i94wfu670s3pXZHULLvLNZa6h86JYZF8LFH1Ma5vLpK3YzTMw/YfK1vRK7DgJnT0THYqGpRepLH/ZsD2HpzW8MVeNCLvOoAzT9gaj5oV1vwajiAdmj5KkDnFqZUL3f5AQq0nUQPvMzJEthSpFCCF5ZmJz9376mGjrnP3WvdnvvR6ok/Iep9g964+CQqa5xqDxDoHnOWtXDXkB//OMduOo+HbHBwBxyLBLB3fhmMomQQ1QtuiPFIkEChl0wtOt943BPel9tYYmiC4kGjfZ5FYYJPpcHDQMZnVYZfeVMwP52Xtd6JgJJbxn5jlKA5H6eNM7KHJ9gNPmEwdZKcoQjLDfIGO3xYDHsQakJgosRg7RtbJSuHZrww3S4OQVgNmEMT5tlLXQ6sq++ql2zCzPi26fqilzG1X9h9ksp68eEit9adeesVSQ/x0OOpEeNOs51ENRXtNJ0IzGNbPJvZ4hjzT47otlIEgFaQw1ukrRMXLQPiUHl0d4qxMom9e7FnJ1+eK2BFKPvMlfAEqtCl9UvgQ/gpnqEPzEKEy60hCodyPUwhZFPHDjFg1Qe9lFepI7MOqIfW02KA4IXvmcHCa60VjDwpMQnlBBbgzujB2ZcEBFb2GZXs5QOYLDR+gP29pBL0QlISOgLscGK4LEN9W/90qZmMxf4cVenX9uQYr7D/xBeihExzIIaWwZLSc71lMnKWy1y8F9J3bRvmlCMcnpY9JekEs5tAgxPmAmJHY48GT09/EbKgIy0dxEfKjaVtCMHKKZl6CXK2ESITx4xB8OfBufTuwzXVur/CUESrehIt/M94J0EFoD8P7nqWNXC7ZlrGXixJ9vS0PzGgto9liQBJWt0AHcRbblk0Rbo78sAZeiWVRFViGHD96YwvBopJ//VwJGmDpPeHZ1peT2bIv/Yaf7TOVpE4qeZ6mPRzp1zaE0Fu X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b475553c-b301-4c12-a4f8-08da957bc842 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Sep 2022 11:33:30.1703 (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: AS8P250MB0072 Subject: [FFmpeg-devel] [PATCH 12/13] avcodec/dca_lbr: Hardcode lpc table to save space 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: dx2WHoX4MRoP The code to initialize it takes more space (in .text) than the table to be initialized (namely 86B vs 64B for GCC 11.2 with -O3 in an av_cold function), so hardcode the table. Signed-off-by: Andreas Rheinhardt --- libavcodec/dca_lbr.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libavcodec/dca_lbr.c b/libavcodec/dca_lbr.c index 579bd9c469..9a0eb62f06 100644 --- a/libavcodec/dca_lbr.c +++ b/libavcodec/dca_lbr.c @@ -119,7 +119,17 @@ static const uint16_t channel_layouts[7] = { }; static float cos_tab[256]; -static float lpc_tab[16]; +static const float lpc_tab[16] = { + /* lpc_tab[i] = sin((i - 8) * (M_PI / ((i < 8) ? 17 : 15))) */ + -0.995734176295034521871191178905, -0.961825643172819070408796290732, + -0.895163291355062322067016499754, -0.798017227280239503332805112796, + -0.673695643646557211712691912426, -0.526432162877355800244607799141, + -0.361241666187152948744714596184, -0.183749517816570331574408839621, + 0.0, 0.207911690817759337101742284405, + 0.406736643075800207753985990341, 0.587785252292473129168705954639, + 0.743144825477394235014697048974, 0.866025403784438646763723170753, + 0.951056516295153572116439333379, 0.994521895368273336922691944981 +}; av_cold void ff_dca_lbr_init_tables(void) { @@ -127,9 +137,6 @@ av_cold void ff_dca_lbr_init_tables(void) for (i = 0; i < 256; i++) cos_tab[i] = cos(M_PI * i / 128); - - for (i = 0; i < 16; i++) - lpc_tab[i] = sin((i - 8) * (M_PI / ((i < 8) ? 17 : 15))); } static int parse_lfe_24(DCALbrDecoder *s)