GCC Code Coverage Report
Directory: ../../../ffmpeg/ Exec Total Coverage
File: src/libavcodec/fft_init_table.c Lines: 15 15 100.0 %
Date: 2021-04-18 10:33:33 Branches: 2 2 100.0 %

Line Branch Exec Source
1
/*
2
 * Copyright (c) 2012
3
 *      MIPS Technologies, Inc., California.
4
 *
5
 * Redistribution and use in source and binary forms, with or without
6
 * modification, are permitted provided that the following conditions
7
 * are met:
8
 * 1. Redistributions of source code must retain the above copyright
9
 *    notice, this list of conditions and the following disclaimer.
10
 * 2. Redistributions in binary form must reproduce the above copyright
11
 *    notice, this list of conditions and the following disclaimer in the
12
 *    documentation and/or other materials provided with the distribution.
13
 * 3. Neither the name of the MIPS Technologies, Inc., nor the names of its
14
 *    contributors may be used to endorse or promote products derived from
15
 *    this software without specific prior written permission.
16
 *
17
 * THIS SOFTWARE IS PROVIDED BY THE MIPS TECHNOLOGIES, INC. ``AS IS'' AND
18
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE MIPS TECHNOLOGIES, INC. BE LIABLE
21
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27
 * SUCH DAMAGE.
28
 *
29
 * Authors:  Stanislav Ocovaj (socovaj@mips.com)
30
 *           Goran Cordasic   (goran@mips.com)
31
 *           Djordje Pesut    (djordje@mips.com)
32
 *
33
 * This file is part of FFmpeg.
34
 *
35
 * FFmpeg is free software; you can redistribute it and/or
36
 * modify it under the terms of the GNU Lesser General Public
37
 * License as published by the Free Software Foundation; either
38
 * version 2.1 of the License, or (at your option) any later version.
39
 *
40
 * FFmpeg is distributed in the hope that it will be useful,
41
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
42
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
43
 * Lesser General Public License for more details.
44
 *
45
 * You should have received a copy of the GNU Lesser General Public
46
 * License along with FFmpeg; if not, write to the Free Software
47
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
48
 */
49
50
/**
51
 * @file
52
 * definitions and initialization of LUT table for FFT
53
 */
54
#include "libavutil/thread.h"
55
56
#include "libavcodec/fft_table.h"
57
58
const int32_t ff_w_tab_sr[MAX_FFT_SIZE/(4*16)] = {
59
2147483647, 2147483016, 2147481121, 2147477963, 2147473542, 2147467857, 2147460908, 2147452697,
60
2147443222, 2147432484, 2147420483, 2147407218, 2147392690, 2147376899, 2147359845, 2147341527,
61
2147321946, 2147301102, 2147278995, 2147255625, 2147230991, 2147205094, 2147177934, 2147149511,
62
2147119825, 2147088876, 2147056664, 2147023188, 2146988450, 2146952448, 2146915184, 2146876656,
63
2146836866, 2146795813, 2146753497, 2146709917, 2146665076, 2146618971, 2146571603, 2146522973,
64
2146473080, 2146421924, 2146369505, 2146315824, 2146260881, 2146204674, 2146147205, 2146088474,
65
2146028480, 2145967224, 2145904705, 2145840924, 2145775880, 2145709574, 2145642006, 2145573176,
66
2145503083, 2145431729, 2145359112, 2145285233, 2145210092, 2145133690, 2145056025, 2144977098,
67
2144896910, 2144815460, 2144732748, 2144648774, 2144563539, 2144477042, 2144389283, 2144300264,
68
2144209982, 2144118439, 2144025635, 2143931570, 2143836244, 2143739656, 2143641807, 2143542697,
69
2143442326, 2143340694, 2143237802, 2143133648, 2143028234, 2142921559, 2142813624, 2142704427,
70
2142593971, 2142482254, 2142369276, 2142255039, 2142139541, 2142022783, 2141904764, 2141785486,
71
2141664948, 2141543150, 2141420092, 2141295774, 2141170197, 2141043360, 2140915264, 2140785908,
72
2140655293, 2140523418, 2140390284, 2140255892, 2140120240, 2139983329, 2139845159, 2139705730,
73
2139565043, 2139423097, 2139279892, 2139135429, 2138989708, 2138842728, 2138694490, 2138544994,
74
2138394240, 2138242228, 2138088958, 2137934430, 2137778644, 2137621601, 2137463301, 2137303743,
75
2137142927, 2136980855, 2136817525, 2136652938, 2136487095, 2136319994, 2136151637, 2135982023,
76
2135811153, 2135639026, 2135465642, 2135291003, 2135115107, 2134937956, 2134759548, 2134579885,
77
2134398966, 2134216791, 2134033361, 2133848675, 2133662734, 2133475538, 2133287087, 2133097381,
78
2132906420, 2132714204, 2132520734, 2132326009, 2132130030, 2131932796, 2131734309, 2131534567,
79
2131333572, 2131131322, 2130927819, 2130723062, 2130517052, 2130309789, 2130101272, 2129891502,
80
2129680480, 2129468204, 2129254676, 2129039895, 2128823862, 2128606576, 2128388038, 2128168248,
81
2127947206, 2127724913, 2127501367, 2127276570, 2127050522, 2126823222, 2126594672, 2126364870,
82
2126133817, 2125901514, 2125667960, 2125433155, 2125197100, 2124959795, 2124721240, 2124481435,
83
2124240380, 2123998076, 2123754522, 2123509718, 2123263666, 2123016364, 2122767814, 2122518015,
84
2122266967, 2122014670, 2121761126, 2121506333, 2121250292, 2120993003, 2120734467, 2120474683,
85
2120213651, 2119951372, 2119687847, 2119423074, 2119157054, 2118889788, 2118621275, 2118351516,
86
2118080511, 2117808259, 2117534762, 2117260020, 2116984031, 2116706797, 2116428319, 2116148595,
87
2115867626, 2115585412, 2115301954, 2115017252, 2114731305, 2114444114, 2114155680, 2113866001,
88
2113575080, 2113282914, 2112989506, 2112694855, 2112398960, 2112101824, 2111803444, 2111503822,
89
2111202959, 2110900853, 2110597505, 2110292916, 2109987085, 2109680013, 2109371700, 2109062146,
90
2108751352, 2108439317, 2108126041, 2107811526, 2107495770, 2107178775, 2106860540, 2106541065,
91
2106220352, 2105898399, 2105575208, 2105250778, 2104925109, 2104598202, 2104270057, 2103940674,
92
2103610054, 2103278196, 2102945101, 2102610768, 2102275199, 2101938393, 2101600350, 2101261071,
93
2100920556, 2100578805, 2100235819, 2099891596, 2099546139, 2099199446, 2098851519, 2098502357,
94
2098151960, 2097800329, 2097447464, 2097093365, 2096738032, 2096381466, 2096023667, 2095664635,
95
2095304370, 2094942872, 2094580142, 2094216179, 2093850985, 2093484559, 2093116901, 2092748012,
96
2092377892, 2092006541, 2091633960, 2091260147, 2090885105, 2090508833, 2090131331, 2089752599,
97
2089372638, 2088991448, 2088609029, 2088225381, 2087840505, 2087454400, 2087067068, 2086678508,
98
2086288720, 2085897705, 2085505463, 2085111994, 2084717298, 2084321376, 2083924228, 2083525854,
99
2083126254, 2082725429, 2082323379, 2081920103, 2081515603, 2081109879, 2080702930, 2080294757,
100
2079885360, 2079474740, 2079062896, 2078649830, 2078235540, 2077820028, 2077403294, 2076985338,
101
2076566160, 2076145760, 2075724139, 2075301296, 2074877233, 2074451950, 2074025446, 2073597721,
102
2073168777, 2072738614, 2072307231, 2071874629, 2071440808, 2071005769, 2070569511, 2070132035,
103
2069693342, 2069253430, 2068812302, 2068369957, 2067926394, 2067481616, 2067035621, 2066588410,
104
2066139983, 2065690341, 2065239484, 2064787411, 2064334124, 2063879623, 2063423908, 2062966978,
105
2062508835, 2062049479, 2061588910, 2061127128, 2060664133, 2060199927, 2059734508, 2059267877,
106
2058800036, 2058330983, 2057860719, 2057389244, 2056916560, 2056442665, 2055967560, 2055491246,
107
2055013723, 2054534991, 2054055050, 2053573901, 2053091544, 2052607979, 2052123207, 2051637227,
108
2051150040, 2050661647, 2050172048, 2049681242, 2049189231, 2048696014, 2048201592, 2047705965,
109
2047209133, 2046711097, 2046211857, 2045711414, 2045209767, 2044706916, 2044202863, 2043697608,
110
2043191150, 2042683490, 2042174628, 2041664565, 2041153301, 2040640837, 2040127172, 2039612306,
111
2039096241, 2038578976, 2038060512, 2037540850, 2037019988, 2036497928, 2035974670, 2035450215,
112
2034924562, 2034397712, 2033869665, 2033340422, 2032809982, 2032278347, 2031745516, 2031211490,
113
2030676269, 2030139853, 2029602243, 2029063439, 2028523442, 2027982251, 2027439867, 2026896291,
114
2026351522, 2025805561, 2025258408, 2024710064, 2024160529, 2023609803, 2023057887, 2022504780,
115
2021950484, 2021394998, 2020838323, 2020280460, 2019721407, 2019161167, 2018599739, 2018037123,
116
2017473321, 2016908331, 2016342155, 2015774793, 2015206245, 2014636511, 2014065592, 2013493489,
117
2012920201, 2012345729, 2011770073, 2011193233, 2010615210, 2010036005, 2009455617, 2008874047,
118
2008291295, 2007707362, 2007122248, 2006535953, 2005948478, 2005359822, 2004769987, 2004178973,
119
2003586779, 2002993407, 2002398857, 2001803128, 2001206222, 2000608139, 2000008879, 1999408442,
120
1998806829, 1998204040, 1997600076, 1996994937, 1996388622, 1995781134, 1995172471, 1994562635,
121
1993951625, 1993339442, 1992726087, 1992111559, 1991495860, 1990878989, 1990260946, 1989641733,
122
1989021350, 1988399796, 1987777073, 1987153180, 1986528118, 1985901888, 1985274489, 1984645923,
123
1984016189, 1983385288, 1982753220, 1982119985, 1981485585, 1980850019, 1980213288, 1979575392,
124
1978936331, 1978296106, 1977654717, 1977012165, 1976368450, 1975723572, 1975077532, 1974430331,
125
1973781967, 1973132443, 1972481757, 1971829912, 1971176906, 1970522741, 1969867417, 1969210933,
126
1968553292, 1967894492, 1967234535, 1966573420, 1965911148, 1965247720, 1964583136, 1963917396,
127
1963250501, 1962582451, 1961913246, 1961242888, 1960571375, 1959898709, 1959224890, 1958549919,
128
1957873796, 1957196520, 1956518093, 1955838516, 1955157788, 1954475909, 1953792881, 1953108703,
129
1952423377, 1951736902, 1951049279, 1950360508, 1949670589, 1948979524, 1948287312, 1947593954,
130
1946899451, 1946203802, 1945507008, 1944809070, 1944109987, 1943409761, 1942708392, 1942005880,
131
1941302225, 1940597428, 1939891490, 1939184411, 1938476190, 1937766830, 1937056329, 1936344689,
132
1935631910, 1934917992, 1934202936, 1933486742, 1932769411, 1932050943, 1931331338, 1930610597,
133
1929888720, 1929165708, 1928441561, 1927716279, 1926989864, 1926262315, 1925533633, 1924803818,
134
1924072871, 1923340791, 1922607581, 1921873239, 1921137767, 1920401165, 1919663432, 1918924571,
135
1918184581, 1917443462, 1916701216, 1915957841, 1915213340, 1914467712, 1913720958, 1912973078,
136
1912224073, 1911473942, 1910722688, 1909970309, 1909216806, 1908462181, 1907706433, 1906949562,
137
1906191570, 1905432457, 1904672222, 1903910867, 1903148392, 1902384797, 1901620084, 1900854251,
138
1900087301, 1899319232, 1898550047, 1897779744, 1897008325, 1896235790, 1895462140, 1894687374,
139
1893911494, 1893134500, 1892356392, 1891577171, 1890796837, 1890015391, 1889232832, 1888449163,
140
1887664383, 1886878492, 1886091491, 1885303381, 1884514161, 1883723833, 1882932397, 1882139853,
141
1881346202, 1880551444, 1879755580, 1878958610, 1878160535, 1877361354, 1876561070, 1875759681,
142
1874957189, 1874153594, 1873348897, 1872543097, 1871736196, 1870928194, 1870119091, 1869308888,
143
1868497586, 1867685184, 1866871683, 1866057085, 1865241388, 1864424594, 1863606704, 1862787717,
144
1861967634, 1861146456, 1860324183, 1859500816, 1858676355, 1857850800, 1857024153, 1856196413,
145
1855367581, 1854537657, 1853706643, 1852874538, 1852041343, 1851207059, 1850371686, 1849535224,
146
1848697674, 1847859036, 1847019312, 1846178501, 1845336604, 1844493621, 1843649553, 1842804401,
147
1841958164, 1841110844, 1840262441, 1839412956, 1838562388, 1837710739, 1836858008, 1836004197,
148
1835149306, 1834293336, 1833436286, 1832578158, 1831718951, 1830858668, 1829997307, 1829134869,
149
1828271356, 1827406767, 1826541103, 1825674364, 1824806552, 1823937666, 1823067707, 1822196675,
150
1821324572, 1820451397, 1819577151, 1818701835, 1817825449, 1816947994, 1816069469, 1815189877,
151
1814309216, 1813427489, 1812544694, 1811660833, 1810775906, 1809889915, 1809002858, 1808114737,
152
1807225553, 1806335305, 1805443995, 1804551623, 1803658189, 1802763694, 1801868139, 1800971523,
153
1800073849, 1799175115, 1798275323, 1797374472, 1796472565, 1795569601, 1794665580, 1793760504,
154
1792854372, 1791947186, 1791038946, 1790129652, 1789219305, 1788307905, 1787395453, 1786481950,
155
1785567396, 1784651792, 1783735137, 1782817434, 1781898681, 1780978881, 1780058032, 1779136137,
156
1778213194, 1777289206, 1776364172, 1775438094, 1774510970, 1773582803, 1772653593, 1771723340,
157
1770792044, 1769859707, 1768926328, 1767991909, 1767056450, 1766119952, 1765182414, 1764243838,
158
1763304224, 1762363573, 1761421885, 1760479161, 1759535401, 1758590607, 1757644777, 1756697914,
159
1755750017, 1754801087, 1753851126, 1752900132, 1751948107, 1750995052, 1750040966, 1749085851,
160
1748129707, 1747172535, 1746214334, 1745255107, 1744294853, 1743333573, 1742371267, 1741407936,
161
1740443581, 1739478202, 1738511799, 1737544374, 1736575927, 1735606458, 1734635968, 1733664458,
162
1732691928, 1731718378, 1730743810, 1729768224, 1728791620, 1727813999, 1726835361, 1725855708,
163
1724875040, 1723893357, 1722910659, 1721926948, 1720942225, 1719956488, 1718969740, 1717981981,
164
1716993211, 1716003431, 1715012642, 1714020844, 1713028037, 1712034223, 1711039401, 1710043573,
165
1709046739, 1708048900, 1707050055, 1706050207, 1705049355, 1704047500, 1703044642, 1702040783,
166
1701035922, 1700030061, 1699023199, 1698015339, 1697006479, 1695996621, 1694985765, 1693973912,
167
1692961062, 1691947217, 1690932376, 1689916541, 1688899711, 1687881888, 1686863072, 1685843263,
168
1684822463, 1683800672, 1682777890, 1681754118, 1680729357, 1679703608, 1678676870, 1677649144,
169
1676620432, 1675590733, 1674560049, 1673528379, 1672495725, 1671462087, 1670427466, 1669391862,
170
1668355276, 1667317709, 1666279161, 1665239632, 1664199124, 1663157637, 1662115172, 1661071729,
171
1660027308, 1658981911, 1657935539, 1656888190, 1655839867, 1654790570, 1653740300, 1652689057,
172
1651636841, 1650583654, 1649529496, 1648474367, 1647418269, 1646361202, 1645303166, 1644244162,
173
1643184191, 1642123253, 1641061349, 1639998480, 1638934646, 1637869848, 1636804087, 1635737362,
174
1634669676, 1633601027, 1632531418, 1631460848, 1630389319, 1629316830, 1628243383, 1627168978,
175
1626093616, 1625017297, 1623940023, 1622861793, 1621782608, 1620702469, 1619621377, 1618539332,
176
1617456335, 1616372386, 1615287487, 1614201637, 1613114838, 1612027089, 1610938393, 1609848749,
177
1608758157, 1607666620, 1606574136, 1605480708, 1604386335, 1603291018, 1602194758, 1601097555,
178
1599999411, 1598900325, 1597800299, 1596699333, 1595597428, 1594494583, 1593390801, 1592286082,
179
1591180426, 1590073833, 1588966306, 1587857843, 1586748447, 1585638117, 1584526854, 1583414660,
180
1582301533, 1581187476, 1580072489, 1578956572, 1577839726, 1576721952, 1575603251, 1574483623,
181
1573363068, 1572241588, 1571119183, 1569995854, 1568871601, 1567746425, 1566620327, 1565493307,
182
1564365367, 1563236506, 1562106725, 1560976026, 1559844408, 1558711873, 1557578421, 1556444052,
183
1555308768, 1554172569, 1553035455, 1551897428, 1550758488, 1549618636, 1548477872, 1547336197,
184
1546193612, 1545050118, 1543905714, 1542760402, 1541614183, 1540467057, 1539319024, 1538170087,
185
1537020244, 1535869497, 1534717846, 1533565293, 1532411837, 1531257480, 1530102222, 1528946064,
186
1527789007, 1526631051, 1525472197, 1524312445, 1523151797, 1521990252, 1520827813, 1519664478,
187
1518500250, 1517335128, 1516169114, 1515002208, 1513834411, 1512665723, 1511496145, 1510325678,
188
1509154322, 1507982079, 1506808949, 1505634932, 1504460029, 1503284242, 1502107570, 1500930014,
189
1499751576, 1498572255, 1497392053, 1496210969, 1495029006, 1493846163, 1492662441, 1491477842,
190
1490292364, 1489106011, 1487918781, 1486730675, 1485541696, 1484351842, 1483161115, 1481969516,
191
1480777044, 1479583702, 1478389489, 1477194407, 1475998456, 1474801636, 1473603949, 1472405394,
192
1471205974, 1470005688, 1468804538, 1467602523, 1466399645, 1465195904, 1463991302, 1462785838,
193
1461579514, 1460372329, 1459164286, 1457955385, 1456745625, 1455535009, 1454323536, 1453111208,
194
1451898025, 1450683988, 1449469098, 1448253355, 1447036760, 1445819314, 1444601017, 1443381870,
195
1442161874, 1440941030, 1439719338, 1438496799, 1437273414, 1436049184, 1434824109, 1433598189,
196
1432371426, 1431143821, 1429915374, 1428686085, 1427455956, 1426224988, 1424993180, 1423760534,
197
1422527051, 1421292730, 1420057574, 1418821582, 1417584755, 1416347095, 1415108601, 1413869275,
198
1412629117, 1411388129, 1410146309, 1408903661, 1407660183, 1406415878, 1405170745, 1403924785,
199
1402678000, 1401430389, 1400181954, 1398932695, 1397682613, 1396431709, 1395179984, 1393927438,
200
1392674072, 1391419886, 1390164882, 1388909060, 1387652422, 1386394966, 1385136696, 1383877610,
201
1382617710, 1381356997, 1380095472, 1378833134, 1377569986, 1376306026, 1375041258, 1373775680,
202
1372509294, 1371242101, 1369974101, 1368705296, 1367435685, 1366165269, 1364894050, 1363622028,
203
1362349204, 1361075579, 1359801152, 1358525926, 1357249901, 1355973077, 1354695455, 1353417037,
204
1352137822, 1350857812, 1349577007, 1348295409, 1347013017, 1345729833, 1344445857, 1343161090,
205
1341875533, 1340589187, 1339302052, 1338014129, 1336725419, 1335435923, 1334145641, 1332854574,
206
1331562723, 1330270089, 1328976672, 1327682474, 1326387494, 1325091734, 1323795195, 1322497877,
207
1321199781, 1319900907, 1318601257, 1317300832, 1315999631, 1314697657, 1313394909, 1312091388,
208
1310787095, 1309482032, 1308176198, 1306869594, 1305562222, 1304254082, 1302945174, 1301635500,
209
1300325060, 1299013855, 1297701886, 1296389154, 1295075659, 1293761402, 1292446384, 1291130606,
210
1289814068, 1288496772, 1287178717, 1285859905, 1284540337, 1283220013, 1281898935, 1280577102,
211
1279254516, 1277931177, 1276607086, 1275282245, 1273956653, 1272630312, 1271303222, 1269975384,
212
1268646800, 1267317469, 1265987392, 1264656571, 1263325005, 1261992697, 1260659646, 1259325853,
213
1257991320, 1256656047, 1255320034, 1253983283, 1252645794, 1251307568, 1249968606, 1248628909,
214
1247288478, 1245947312, 1244605414, 1243262783, 1241919421, 1240575329, 1239230506, 1237884955,
215
1236538675, 1235191668, 1233843935, 1232495475, 1231146291, 1229796382, 1228445750, 1227094395,
216
1225742318, 1224389521, 1223036002, 1221681765, 1220326809, 1218971135, 1217614743, 1216257636,
217
1214899813, 1213541275, 1212182024, 1210822059, 1209461382, 1208099993, 1206737894, 1205375085,
218
1204011567, 1202647340, 1201282407, 1199916766, 1198550419, 1197183368, 1195815612, 1194447153,
219
1193077991, 1191708127, 1190337562, 1188966297, 1187594332, 1186221669, 1184848308, 1183474250,
220
1182099496, 1180724046, 1179347902, 1177971064, 1176593533, 1175215310, 1173836395, 1172456790,
221
1171076495, 1169695512, 1168313840, 1166931481, 1165548435, 1164164704, 1162780288, 1161395188,
222
1160009405, 1158622939, 1157235792, 1155847964, 1154459456, 1153070269, 1151680403, 1150289860,
223
1148898640, 1147506745, 1146114174, 1144720929, 1143327011, 1141932420, 1140537158, 1139141224,
224
1137744621, 1136347348, 1134949406, 1133550797, 1132151521, 1130751579, 1129350972, 1127949701,
225
1126547765, 1125145168, 1123741908, 1122337987, 1120933406, 1119528166, 1118122267, 1116715710,
226
1115308496, 1113900627, 1112492101, 1111082922, 1109673089, 1108262603, 1106851465, 1105439676,
227
1104027237, 1102614148, 1101200410, 1099786025, 1098370993, 1096955314, 1095538991, 1094122023,
228
1092704411, 1091286156, 1089867259, 1088447722, 1087027544, 1085606726, 1084185270, 1082763176,
229
1081340445, 1079917078, 1078493076, 1077068439, 1075643169, 1074217266, 1072790730, 1071363564,
230
1069935768, 1068507342, 1067078288, 1065648605, 1064218296, 1062787361, 1061355801, 1059923616,
231
1058490808, 1057057377, 1055623324, 1054188651, 1052753357, 1051317443, 1049880912, 1048443763,
232
1047005996, 1045567615, 1044128617, 1042689006, 1041248781, 1039807944, 1038366495, 1036924436,
233
1035481766, 1034038487, 1032594600, 1031150105, 1029705004, 1028259297, 1026812985, 1025366069,
234
1023918550, 1022470428, 1021021705, 1019572382, 1018122458, 1016671936, 1015220816, 1013769098,
235
1012316784, 1010863875, 1009410370, 1007956272, 1006501581, 1005046298, 1003590424, 1002133959,
236
1000676905, 999219262, 997761031, 996302214, 994842810, 993382821, 991922248, 990461091,
237
988999351, 987537030, 986074127, 984610645, 983146583, 981681943, 980216726, 978750932,
238
977284562, 975817617, 974350098, 972882006, 971413342, 969944106, 968474300, 967003923,
239
965532978, 964061465, 962589385, 961116739, 959643527, 958169751, 956695411, 955220508,
240
953745043, 952269017, 950792431, 949315286, 947837582, 946359321, 944880503, 943401129,
241
941921200, 940440717, 938959681, 937478092, 935995952, 934513261, 933030021, 931546231,
242
930061894, 928577010, 927091579, 925605603, 924119082, 922632018, 921144411, 919656262,
243
918167572, 916678342, 915188572, 913698265, 912207419, 910716038, 909224120, 907731667,
244
906238681, 904745161, 903251110, 901756526, 900261413, 898765769, 897269597, 895772898,
245
894275671, 892777918, 891279640, 889780838, 888281512, 886781663, 885281293, 883780402,
246
882278992, 880777062, 879274614, 877771649, 876268167, 874764170, 873259659, 871754633,
247
870249095, 868743045, 867236484, 865729413, 864221832, 862713743, 861205147, 859696043,
248
858186435, 856676321, 855165703, 853654582, 852142959, 850630835, 849118210, 847605086,
249
846091463, 844577343, 843062726, 841547612, 840032004, 838515901, 836999305, 835482217,
250
833964638, 832446567, 830928007, 829408958, 827889422, 826369398, 824848888, 823327893,
251
821806413, 820284450, 818762005, 817239078, 815715670, 814191782, 812667415, 811142571,
252
809617249, 808091450, 806565177, 805038429, 803511207, 801983513, 800455346, 798926709,
253
797397602, 795868026, 794337982, 792807470, 791276492, 789745049, 788213141, 786680769,
254
785147934, 783614638, 782080880, 780546663, 779011986, 777476851, 775941259, 774405210,
255
772868706, 771331747, 769794334, 768256469, 766718151, 765179382, 763640164, 762100496,
256
760560380, 759019816, 757478806, 755937350, 754395449, 752853105, 751310318, 749767089,
257
748223418, 746679308, 745134758, 743589770, 742044345, 740498483, 738952186, 737405453,
258
735858287, 734310688, 732762657, 731214195, 729665303, 728115982, 726566232, 725016055,
259
723465451, 721914422, 720362968, 718811090, 717258790, 715706067, 714152924, 712599360,
260
711045377, 709490976, 707936158, 706380923, 704825272, 703269207, 701712728, 700155836,
261
698598533, 697040818, 695482694, 693924160, 692365218, 690805869, 689246113, 687685952,
262
686125387, 684564417, 683003045, 681441272, 679879097, 678316522, 676753549, 675190177,
263
673626408, 672062243, 670497682, 668932727, 667367379, 665801638, 664235505, 662668981,
264
661102068, 659534766, 657967075, 656398998, 654830535, 653261686, 651692453, 650122837,
265
648552838, 646982457, 645411696, 643840556, 642269036, 640697139, 639124865, 637552215,
266
635979190, 634405791, 632832018, 631257873, 629683357, 628108471, 626533215, 624957590,
267
623381598, 621805239, 620228514, 618651424, 617073971, 615496154, 613917975, 612339436,
268
610760536, 609181276, 607601658, 606021683, 604441352, 602860664, 601279623, 599698227,
269
598116479, 596534378, 594951927, 593369126, 591785976, 590202477, 588618632, 587034440,
270
585449903, 583865021, 582279796, 580694229, 579108320, 577522070, 575935480, 574348552,
271
572761285, 571173682, 569585743, 567997469, 566408860, 564819919, 563230645, 561641039,
272
560051104, 558460839, 556870245, 555279324, 553688076, 552096502, 550504604, 548912382,
273
547319836, 545726969, 544133781, 542540273, 540946445, 539352300, 537757837, 536163058,
274
534567963, 532972554, 531376831, 529780796, 528184449, 526587791, 524990824, 523393547,
275
521795963, 520198072, 518599875, 517001373, 515402566, 513803457, 512204045, 510604332,
276
509004318, 507404005, 505803394, 504202485, 502601279, 500999778, 499397982, 497795892,
277
496193509, 494590835, 492987869, 491384614, 489781069, 488177236, 486573117, 484968710,
278
483364019, 481759043, 480153784, 478548243, 476942419, 475336316, 473729932, 472123270,
279
470516330, 468909114, 467301622, 465693854, 464085813, 462477499, 460868912, 459260055,
280
457650927, 456041530, 454431865, 452821933, 451211734, 449601270, 447990541, 446379549,
281
444768294, 443156777, 441545000, 439932963, 438320667, 436708113, 435095303, 433482236,
282
431868915, 430255339, 428641511, 427027430, 425413098, 423798515, 422183684, 420568604,
283
418953276, 417337703, 415721883, 414105819, 412489512, 410872962, 409256170, 407639137,
284
406021865, 404404353, 402786604, 401168618, 399550396, 397931939, 396313247, 394694323,
285
393075166, 391455778, 389836160, 388216313, 386596237, 384975934, 383355404, 381734649,
286
380113669, 378492466, 376871039, 375249392, 373627523, 372005435, 370383128, 368760603,
287
367137861, 365514903, 363891730, 362268343, 360644742, 359020930, 357396906, 355772673,
288
354148230, 352523578, 350898719, 349273654, 347648383, 346022908, 344397230, 342771348,
289
341145265, 339518981, 337892498, 336265816, 334638936, 333011859, 331384586, 329757119,
290
328129457, 326501602, 324873555, 323245317, 321616889, 319988272, 318359466, 316730474,
291
315101295, 313471930, 311842381, 310212649, 308582734, 306952638, 305322361, 303691904,
292
302061269, 300430456, 298799466, 297168301, 295536961, 293905447, 292273760, 290641901,
293
289009871, 287377671, 285745302, 284112765, 282480061, 280847190, 279214155, 277580955,
294
275947592, 274314066, 272680379, 271046532, 269412525, 267778360, 266144038, 264509558,
295
262874923, 261240134, 259605191, 257970095, 256334847, 254699448, 253063900, 251428203,
296
249792358, 248156366, 246520228, 244883945, 243247518, 241610947, 239974235, 238337382,
297
236700388, 235063255, 233425984, 231788575, 230151030, 228513350, 226875535, 225237587,
298
223599506, 221961294, 220322951, 218684479, 217045878, 215407149, 213768293, 212129312,
299
210490206, 208850976, 207211624, 205572149, 203932553, 202292838, 200653003, 199013051,
300
197372981, 195732795, 194092495, 192452080, 190811551, 189170911, 187530159, 185889297,
301
184248325, 182607245, 180966058, 179324764, 177683365, 176041861, 174400254, 172758544,
302
171116733, 169474820, 167832808, 166190698, 164548489, 162906184, 161263783, 159621287,
303
157978697, 156336015, 154693240, 153050374, 151407418, 149764374, 148121241, 146478021,
304
144834714, 143191323, 141547847, 139904288, 138260647, 136616925, 134973122, 133329239,
305
131685278, 130041240, 128397125, 126752935, 125108670, 123464332, 121819921, 120175438,
306
118530885, 116886262, 115241570, 113596810, 111951983, 110307091, 108662134, 107017112,
307
105372028, 103726882, 102081675, 100436408,  98791081,  97145697,  95500255,  93854758,
308
 92209205,  90563597,  88917937,  87272224,  85626460,  83980645,  82334782,  80688869,
309
 79042909,  77396903,  75750851,  74104755,  72458615,  70812432,  69166208,  67519943,
310
 65873638,  64227295,  62580914,  60934496,  59288042,  57641553,  55995030,  54348475,
311
 52701887,  51055268,  49408620,  47761942,  46115236,  44468503,  42821744,  41174960,
312
 39528151,  37881320,  36234466,  34587590,  32940695,  31293780,  29646846,  27999895,
313
 26352928,  24705945,  23058947,  21411936,  19764913,  18117878,  16470832,  14823776,
314
 13176712,  11529640,   9882561,   8235476,   6588387,   4941294,   3294197,   1647099
315
};
316
317
uint16_t ff_fft_offsets_lut[21845];
318
319
2031554
static void fft_lut_init(uint16_t *table, int off, int size, int *index)
320
{
321
2031554
    if (size < 16) {
322
1354390
        table[*index] = off >> 2;
323
1354390
        (*index)++;
324
    }
325
    else {
326
677164
        fft_lut_init(table, off,                   size >> 1, index);
327
677164
        fft_lut_init(table, off +     (size >> 1), size >> 2, index);
328
677164
        fft_lut_init(table, off + 3 * (size >> 2), size >> 2, index);
329
    }
330
2031554
}
331
332
62
static void fft_lut_init_start(void)
333
{
334
62
    int n = 0;
335
336
62
    fft_lut_init(ff_fft_offsets_lut, 0, 1 << 17, &n);
337
62
}
338
339
188
void ff_fft_lut_init(void)
340
{
341
    static AVOnce init_once = AV_ONCE_INIT;
342
343
188
    ff_thread_once(&init_once, fft_lut_init_start);
344
188
}