Add fixed point implementation of functions for generating tables
Signed-off-by: Nedeljko Babic <nedeljko.babic@imgtec.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
... | ... |
@@ -30,6 +30,29 @@ |
30 | 30 |
#ifndef AVCODEC_AAC_H |
31 | 31 |
#define AVCODEC_AAC_H |
32 | 32 |
|
33 |
+#ifndef USE_FIXED |
|
34 |
+#define USE_FIXED 0 |
|
35 |
+#endif |
|
36 |
+ |
|
37 |
+#if USE_FIXED |
|
38 |
+ |
|
39 |
+#include "libavutil/softfloat.h" |
|
40 |
+ |
|
41 |
+#define FFT_FLOAT 0 |
|
42 |
+#define FFT_FIXED_32 1 |
|
43 |
+ |
|
44 |
+#define Q30(x) (int)((x)*1073741824.0 + 0.5) |
|
45 |
+#define Q31(x) (int)((x)*2147483648.0 + 0.5) |
|
46 |
+ |
|
47 |
+#else |
|
48 |
+ |
|
49 |
+#define FFT_FLOAT 1 |
|
50 |
+#define FFT_FIXED_32 0 |
|
51 |
+ |
|
52 |
+#define Q30(x) x |
|
53 |
+#define Q31(x) x |
|
54 |
+#endif /* USE_FIXED */ |
|
55 |
+ |
|
33 | 56 |
#include "libavutil/float_dsp.h" |
34 | 57 |
#include "avcodec.h" |
35 | 58 |
#include "imdct15.h" |
... | ... |
@@ -38,9 +38,9 @@ |
38 | 38 |
/* @name ltp_coef |
39 | 39 |
* Table of the LTP coefficients |
40 | 40 |
*/ |
41 |
-static const float ltp_coef[8] = { |
|
42 |
- 0.570829, 0.696616, 0.813004, 0.911304, |
|
43 |
- 0.984900, 1.067894, 1.194601, 1.369533, |
|
41 |
+static const INTFLOAT ltp_coef[8] = { |
|
42 |
+ Q30(0.570829f), Q30(0.696616f), Q30(0.813004f), Q30(0.911304f), |
|
43 |
+ Q30(0.984900f), Q30(1.067894f), Q30(1.194601f), Q30(1.369533f), |
|
44 | 44 |
}; |
45 | 45 |
|
46 | 46 |
/* @name tns_tmp2_map |
... | ... |
@@ -49,28 +49,28 @@ static const float ltp_coef[8] = { |
49 | 49 |
* respectively. |
50 | 50 |
* @{ |
51 | 51 |
*/ |
52 |
-static const float tns_tmp2_map_1_3[4] = { |
|
53 |
- 0.00000000, -0.43388373, 0.64278758, 0.34202015, |
|
52 |
+static const INTFLOAT tns_tmp2_map_1_3[4] = { |
|
53 |
+ Q31(0.00000000f), Q31(-0.43388373f), Q31(0.64278758f), Q31(0.34202015f), |
|
54 | 54 |
}; |
55 | 55 |
|
56 |
-static const float tns_tmp2_map_0_3[8] = { |
|
57 |
- 0.00000000, -0.43388373, -0.78183150, -0.97492790, |
|
58 |
- 0.98480773, 0.86602539, 0.64278758, 0.34202015, |
|
56 |
+static const INTFLOAT tns_tmp2_map_0_3[8] = { |
|
57 |
+ Q31(0.00000000f), Q31(-0.43388373f), Q31(-0.78183150f), Q31(-0.97492790f), |
|
58 |
+ Q31(0.98480773f), Q31( 0.86602539f), Q31( 0.64278758f), Q31( 0.34202015f), |
|
59 | 59 |
}; |
60 | 60 |
|
61 |
-static const float tns_tmp2_map_1_4[8] = { |
|
62 |
- 0.00000000, -0.20791170, -0.40673664, -0.58778524, |
|
63 |
- 0.67369562, 0.52643216, 0.36124167, 0.18374951, |
|
61 |
+static const INTFLOAT tns_tmp2_map_1_4[8] = { |
|
62 |
+ Q31(0.00000000f), Q31(-0.20791170f), Q31(-0.40673664f), Q31(-0.58778524f), |
|
63 |
+ Q31(0.67369562f), Q31( 0.52643216f), Q31( 0.36124167f), Q31( 0.18374951f), |
|
64 | 64 |
}; |
65 | 65 |
|
66 |
-static const float tns_tmp2_map_0_4[16] = { |
|
67 |
- 0.00000000, -0.20791170, -0.40673664, -0.58778524, |
|
68 |
- -0.74314481, -0.86602539, -0.95105654, -0.99452192, |
|
69 |
- 0.99573416, 0.96182561, 0.89516330, 0.79801720, |
|
70 |
- 0.67369562, 0.52643216, 0.36124167, 0.18374951, |
|
66 |
+static const INTFLOAT tns_tmp2_map_0_4[16] = { |
|
67 |
+ Q31( 0.00000000f), Q31(-0.20791170f), Q31(-0.40673664f), Q31(-0.58778524f), |
|
68 |
+ Q31(-0.74314481f), Q31(-0.86602539f), Q31(-0.95105654f), Q31(-0.99452192f), |
|
69 |
+ Q31( 0.99573416f), Q31( 0.96182561f), Q31( 0.89516330f), Q31( 0.79801720f), |
|
70 |
+ Q31( 0.67369562f), Q31( 0.52643216f), Q31( 0.36124167f), Q31( 0.18374951f), |
|
71 | 71 |
}; |
72 | 72 |
|
73 |
-static const float * const tns_tmp2_map[4] = { |
|
73 |
+static const INTFLOAT * const tns_tmp2_map[4] = { |
|
74 | 74 |
tns_tmp2_map_0_3, |
75 | 75 |
tns_tmp2_map_0_4, |
76 | 76 |
tns_tmp2_map_1_3, |
... | ... |
@@ -35,6 +35,8 @@ |
35 | 35 |
|
36 | 36 |
DECLARE_ALIGNED(32, float, ff_aac_kbd_long_1024)[1024]; |
37 | 37 |
DECLARE_ALIGNED(32, float, ff_aac_kbd_short_128)[128]; |
38 |
+DECLARE_ALIGNED(32, int, ff_aac_kbd_long_1024_fixed)[1024]; |
|
39 |
+DECLARE_ALIGNED(32, int, ff_aac_kbd_short_128_fixed)[128]; |
|
38 | 40 |
|
39 | 41 |
const uint8_t ff_aac_num_swb_1024[] = { |
40 | 42 |
41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40 |
... | ... |
@@ -1767,6 +1769,490 @@ const DECLARE_ALIGNED(32, float, ff_aac_eld_window_512)[1920] = { |
1767 | 1767 |
-0.00111144, -0.00109764, -0.00108377, -0.00106989, |
1768 | 1768 |
}; |
1769 | 1769 |
|
1770 |
+/* Q30 representation of ff_aac_eld_window_512 table */ |
|
1771 |
+const DECLARE_ALIGNED(32, int, ff_aac_eld_window_512_fixed)[1920] = { |
|
1772 |
+ 0x003783ba, 0x005d04f4, 0x008ae226, 0x00c02021, |
|
1773 |
+ 0x00fb1804, 0x013a30a8, 0x017be9e6, 0x01bf296c, |
|
1774 |
+ 0x02033204, 0x0247502c, 0x028adab0, 0x02cd9568, |
|
1775 |
+ 0x030fa980, 0x03513dc0, 0x03927274, 0x03d363e0, |
|
1776 |
+ 0x04142e40, 0x0454edc0, 0x0495bd48, 0x04d6a060, |
|
1777 |
+ 0x051786d8, 0x05586548, 0x059935e8, 0x05d9feb0, |
|
1778 |
+ 0x061acea0, 0x065bb680, 0x069cc800, 0x06de13f0, |
|
1779 |
+ 0x071fa748, 0x07618b80, 0x07a3c7a8, 0x07e66da0, |
|
1780 |
+ 0x082999d0, 0x086d6590, 0x08b1e640, 0x08f72850, |
|
1781 |
+ 0x093d3120, 0x09840550, 0x09cba880, 0x0a1415f0, |
|
1782 |
+ 0x0a5d41b0, 0x0aa720d0, 0x0af1a9a0, 0x0b3cce70, |
|
1783 |
+ 0x0b887ec0, 0x0bd4ac10, 0x0c214a70, 0x0c6e5130, |
|
1784 |
+ 0x0cbbba50, 0x0d098130, 0x0d57a240, 0x0da61a60, |
|
1785 |
+ 0x0df4e620, 0x0e4401d0, 0x0e9369f0, 0x0ee31de0, |
|
1786 |
+ 0x0f332000, 0x0f837180, 0x0fd412a0, 0x10250260, |
|
1787 |
+ 0x10763f20, 0x10c7c660, 0x11199560, 0x116baa00, |
|
1788 |
+ 0x11be0400, 0x1210a1c0, 0x12638180, 0x12b69ee0, |
|
1789 |
+ 0x1309f3e0, 0x135d7ac0, 0x13b12dc0, 0x1404ffa0, |
|
1790 |
+ 0x1458dd40, 0x14acb720, 0x15008120, 0x15543260, |
|
1791 |
+ 0x15a7c460, 0x15fb3160, 0x164e7520, 0x16a193c0, |
|
1792 |
+ 0x16f49740, 0x17478720, 0x179a6720, 0x17ed3720, |
|
1793 |
+ 0x183ff460, 0x18929c20, 0x18e52b00, 0x19379c00, |
|
1794 |
+ 0x1989e900, 0x19dc0ca0, 0x1a2e0280, 0x1a7fc400, |
|
1795 |
+ 0x1ad14a00, 0x1b228ec0, 0x1b738ea0, 0x1bc44540, |
|
1796 |
+ 0x1c14ada0, 0x1c64c380, 0x1cb48440, 0x1d03f420, |
|
1797 |
+ 0x1d531c00, 0x1da20160, 0x1df0a660, 0x1e3f0860, |
|
1798 |
+ 0x1e8d2340, 0x1edaf340, 0x1f2875e0, 0x1f75a700, |
|
1799 |
+ 0x1fc281e0, 0x200f0380, 0x205b2ac0, 0x20a6f980, |
|
1800 |
+ 0x20f27200, 0x213d9600, 0x21886580, 0x21d2e040, |
|
1801 |
+ 0x221d0640, 0x2266d6c0, 0x22b05180, 0x22f97580, |
|
1802 |
+ 0x23424280, 0x238ab880, 0x23d2d780, 0x241aa040, |
|
1803 |
+ 0x246213c0, 0x24a93300, 0x24efff80, 0x25367b40, |
|
1804 |
+ 0x256f68c0, 0x25b53580, 0x25faa580, 0x263fb940, |
|
1805 |
+ 0x26847080, 0x26c8cbc0, 0x270ccb00, 0x27506e40, |
|
1806 |
+ 0x2793b600, 0x27d6a200, 0x281932c0, 0x285b6880, |
|
1807 |
+ 0x289d4400, 0x28dec5c0, 0x291feec0, 0x2960bf80, |
|
1808 |
+ 0x29a137c0, 0x29e15800, 0x2a212000, 0x2a609080, |
|
1809 |
+ 0x2a9fa980, 0x2ade6b40, 0x2b1cd600, 0x2b5aea00, |
|
1810 |
+ 0x2b98a740, 0x2bd60d80, 0x2c131cc0, 0x2c4fd500, |
|
1811 |
+ 0x2c8c3600, 0x2cc83f00, 0x2d03f040, 0x2d3f48c0, |
|
1812 |
+ 0x2d7a48c0, 0x2db4ef40, 0x2def3c40, 0x2e292ec0, |
|
1813 |
+ 0x2e62c700, 0x2e9c0400, 0x2ed4e580, 0x2f0d6ac0, |
|
1814 |
+ 0x2f4592c0, 0x2f7d5c80, 0x2fb4c6c0, 0x2febd140, |
|
1815 |
+ 0x30227b40, 0x3058c400, 0x308eab40, 0x30c43040, |
|
1816 |
+ 0x30f95100, 0x312e0d00, 0x31626240, 0x31965040, |
|
1817 |
+ 0x31c9d5c0, 0x31fcf240, 0x322fa480, 0x3261ec00, |
|
1818 |
+ 0x3293c7c0, 0x32c53680, 0x32f63780, 0x3326c9c0, |
|
1819 |
+ 0x3356ec00, 0x33869d00, 0x33b5db80, 0x33e4a700, |
|
1820 |
+ 0x3412fdc0, 0x3440df40, 0x346e4a80, 0x349b3e40, |
|
1821 |
+ 0x34c7ba00, 0x34f3bd80, 0x351f47c0, 0x354a5840, |
|
1822 |
+ 0x3574ee40, 0x359f0900, 0x35c8a840, 0x35f1cb80, |
|
1823 |
+ 0x361a71c0, 0x36429a80, 0x366a4580, 0x36917280, |
|
1824 |
+ 0x36b82100, 0x36de5180, 0x37040340, 0x372936c0, |
|
1825 |
+ 0x374dec40, 0x37722340, 0x3795dc40, 0x37b91780, |
|
1826 |
+ 0x37dbd600, 0x37fe18c0, 0x381fe080, 0x38412e00, |
|
1827 |
+ 0x38620280, 0x38825f40, 0x38a24540, 0x38c1b680, |
|
1828 |
+ 0x38e0b5c0, 0x38ff4540, 0x391d6800, 0x393b20c0, |
|
1829 |
+ 0x39587280, 0x39755fc0, 0x3991eb80, 0x39ae1a80, |
|
1830 |
+ 0x39c9f280, 0x39e57980, 0x3a00b600, 0x3a1bae00, |
|
1831 |
+ 0x3a366800, 0x3a50e9c0, 0x3a6b3a40, 0x3a8560c0, |
|
1832 |
+ 0x3a9f6640, 0x3ab95400, 0x3ad332c0, 0x3aed0680, |
|
1833 |
+ 0x3b06cf80, 0x3b208d40, 0x3b3a3e80, 0x3b53cb80, |
|
1834 |
+ 0x3b6d0780, 0x3b85c380, 0x3b9dd0c0, 0x3bb4eb40, |
|
1835 |
+ 0x3bcabac0, 0x3bdee680, 0x3bf11680, 0x3c011440, |
|
1836 |
+ 0x3c179ac0, 0x3c1c4f00, 0x3c21aa40, 0x3c278880, |
|
1837 |
+ 0x3c2dba80, 0x3c341140, 0x3c3a5e80, 0x3c409100, |
|
1838 |
+ 0x3c46b480, 0x3c4cd5c0, 0x3c530180, 0x3c593cc0, |
|
1839 |
+ 0x3c5f84c0, 0x3c65d640, 0x3c6c2e40, 0x3c728b40, |
|
1840 |
+ 0x3c78ee80, 0x3c7f5840, 0x3c85c940, 0x3c8c4240, |
|
1841 |
+ 0x3c92c380, 0x3c994cc0, 0x3c9fde40, 0x3ca67880, |
|
1842 |
+ 0x3cad1ac0, 0x3cb3c540, 0x3cba7800, 0x3cc132c0, |
|
1843 |
+ 0x3cc7f640, 0x3ccec280, 0x3cd59800, 0x3cdc76c0, |
|
1844 |
+ 0x3ce35e80, 0x3cea4f00, 0x3cf147c0, 0x3cf84900, |
|
1845 |
+ 0x3cff5340, 0x3d0666c0, 0x3d0d8400, 0x3d14ab40, |
|
1846 |
+ 0x3d1bdc00, 0x3d2315c0, 0x3d2a5880, 0x3d31a440, |
|
1847 |
+ 0x3d38f900, 0x3d405780, 0x3d47c040, 0x3d4f3300, |
|
1848 |
+ 0x3d56af40, 0x3d5e3500, 0x3d65c380, 0x3d6d5ac0, |
|
1849 |
+ 0x3d74fb40, 0x3d7ca540, 0x3d845900, 0x3d8c1680, |
|
1850 |
+ 0x3d93dd00, 0x3d9bac80, 0x3da38400, 0x3dab6400, |
|
1851 |
+ 0x3db34c80, 0x3dbb3dc0, 0x3dc33840, 0x3dcb3bc0, |
|
1852 |
+ 0x3dd347c0, 0x3ddb5bc0, 0x3de37780, 0x3deb9b00, |
|
1853 |
+ 0x3df3c600, 0x3dfbf940, 0x3e0434c0, 0x3e0c7840, |
|
1854 |
+ 0x3e14c3c0, 0x3e1d1640, 0x3e256f80, 0x3e2dcf40, |
|
1855 |
+ 0x3e363580, 0x3e3ea300, 0x3e4717c0, 0x3e4f9380, |
|
1856 |
+ 0x3e581600, 0x3e609e40, 0x3e692c40, 0x3e71bf80, |
|
1857 |
+ 0x3e7a5840, 0x3e82f740, 0x3e8b9c40, 0x3e944700, |
|
1858 |
+ 0x3e9cf780, 0x3ea5ad00, 0x3eae66c0, 0x3eb72500, |
|
1859 |
+ 0x3ebfe780, 0x3ec8af00, 0x3ed17b80, 0x3eda4d00, |
|
1860 |
+ 0x3ee32340, 0x3eebfd40, 0x3ef4dac0, 0x3efdbbc0, |
|
1861 |
+ 0x3f06a040, 0x3f0f88c0, 0x3f187540, 0x3f216600, |
|
1862 |
+ 0x3f2a5a80, 0x3f335200, 0x3f3c4c40, 0x3f454940, |
|
1863 |
+ 0x3f4e4940, 0x3f574c80, 0x3f605340, 0x3f695dc0, |
|
1864 |
+ 0x3f726b40, 0x3f7b7b40, 0x3f848dc0, 0x3f8da240, |
|
1865 |
+ 0x3f96b940, 0x3f9fd300, 0x3fa8f040, 0x3fb21080, |
|
1866 |
+ 0x3fbb33c0, 0x3fc459c0, 0x3fcd81c0, 0x3fd6abc0, |
|
1867 |
+ 0x3fdfd780, 0x3fe90480, 0x3ff23280, 0x3ffb6100, |
|
1868 |
+ 0x40049f80, 0x400dd080, 0x40170400, 0x40203880, |
|
1869 |
+ 0x40296f00, 0x4032a600, 0x403bde00, 0x40451680, |
|
1870 |
+ 0x404e4f00, 0x40578700, 0x4060be80, 0x4069f500, |
|
1871 |
+ 0x40732b80, 0x407c6280, 0x40859980, 0x408ed100, |
|
1872 |
+ 0x40980800, 0x40a13f00, 0x40aa7500, 0x40b3a980, |
|
1873 |
+ 0x40bcdd80, 0x40c61180, 0x40cf4500, 0x40d87800, |
|
1874 |
+ 0x40e1ab00, 0x40eadc80, 0x40f40c80, 0x40fd3a80, |
|
1875 |
+ 0x41066700, 0x410f9300, 0x4118bd80, 0x4121e700, |
|
1876 |
+ 0x412b0f80, 0x41343580, 0x413d5880, 0x41467980, |
|
1877 |
+ 0x414f9780, 0x4158b380, 0x4161cd80, 0x416ae580, |
|
1878 |
+ 0x4173fb00, 0x417d0d00, 0x41861b80, 0x418f2600, |
|
1879 |
+ 0x41982c80, 0x41a12f80, 0x41aa3000, 0x41b32c80, |
|
1880 |
+ 0x41bc2580, 0x41c51a00, 0x41ce0900, 0x41d6f300, |
|
1881 |
+ 0x41dfd800, 0x41e8b880, 0x41f19400, 0x41fa6b80, |
|
1882 |
+ 0x42033d00, 0x420c0900, 0x4214cf00, 0x421d8e00, |
|
1883 |
+ 0x42264680, 0x422ef980, 0x4237a680, 0x42404d80, |
|
1884 |
+ 0x4248ee00, 0x42518780, 0x425a1a00, 0x4262a480, |
|
1885 |
+ 0x426b2800, 0x4273a400, 0x427c1980, 0x42848880, |
|
1886 |
+ 0x428cef80, 0x42954f00, 0x429da680, 0x42a5f500, |
|
1887 |
+ 0x42ae3b80, 0x42b67a00, 0x42beb100, 0x42c6e080, |
|
1888 |
+ 0x42cf0780, 0x42d72680, 0x42df3c00, 0x42e74880, |
|
1889 |
+ 0x42ef4c80, 0x42f74880, 0x42ff3c80, 0x43072880, |
|
1890 |
+ 0x430f0c80, 0x4316e800, 0x431eba00, 0x43268380, |
|
1891 |
+ 0x432e4480, 0x4335fd00, 0x433dae80, 0x43455800, |
|
1892 |
+ 0x434cfa00, 0x43549400, 0x435c2500, 0x4363ad80, |
|
1893 |
+ 0x436b2e00, 0x4372a700, 0x437a1800, 0x43818200, |
|
1894 |
+ 0x4388e400, 0x43903f00, 0x43979200, 0x439edd00, |
|
1895 |
+ 0x43a62080, 0x43ad5c80, 0x43b49180, 0x43bbbf80, |
|
1896 |
+ 0x43c2e800, 0x43ca0b00, 0x43d12980, 0x43d84280, |
|
1897 |
+ 0x43df5200, 0x43e65500, 0x43ed4800, 0x43f43080, |
|
1898 |
+ 0x43fb1c80, 0x44021b80, 0x44093a00, 0x44106480, |
|
1899 |
+ 0x44176700, 0x441e0c00, 0x44241e00, 0x44297380, |
|
1900 |
+ 0x4425dc00, 0x44240180, 0x441ff300, 0x4419e300, |
|
1901 |
+ 0x44123f80, 0x44097500, 0x43ffe900, 0x43f5e700, |
|
1902 |
+ 0x43eb9f00, 0x43e13f00, 0x43d6f200, 0x43ccbd80, |
|
1903 |
+ 0x43c28400, 0x43b82780, 0x43ad8b00, 0x43a29c80, |
|
1904 |
+ 0x43975180, 0x438ba080, 0x437f8180, 0x4372fd00, |
|
1905 |
+ 0x43662b00, 0x43592480, 0x434c0000, 0x433ecd00, |
|
1906 |
+ 0x43319180, 0x43245300, 0x43171700, 0x4309da80, |
|
1907 |
+ 0x42fc9300, 0x42ef3500, 0x42e1b600, 0x42d40280, |
|
1908 |
+ 0x42c60000, 0x42b79300, 0x42a8a180, 0x42991a00, |
|
1909 |
+ 0x4288f200, 0x42782100, 0x42669e00, 0x42546880, |
|
1910 |
+ 0x42418800, 0x422e0480, 0x4219e500, 0x42053680, |
|
1911 |
+ 0x41f00980, 0x41da7080, 0x41c47b00, 0x41ae3600, |
|
1912 |
+ 0x4197ab80, 0x4180e400, 0x4169e780, 0x4152bb00, |
|
1913 |
+ 0x413b5e80, 0x4123d180, 0x410c1480, 0x40f42100, |
|
1914 |
+ 0x40dbed00, 0x40c36c80, 0x40aa9600, 0x40915f80, |
|
1915 |
+ 0x4077c100, 0x405db280, 0x40432c80, 0x40282580, |
|
1916 |
+ 0x400c9280, 0x3ff068c0, 0x3fd39dc0, 0x3fb62bc0, |
|
1917 |
+ 0x3f981200, 0x3f795080, 0x3f59e780, 0x3f39ebc0, |
|
1918 |
+ 0x3f198680, 0x3ef8e100, 0x3ed82440, 0x3eb76c80, |
|
1919 |
+ 0x3e96c940, 0x3e764900, 0x3e55f980, 0x3e35cb00, |
|
1920 |
+ 0x3e1590c0, 0x3df51cc0, 0x3dd44200, 0x3db2e640, |
|
1921 |
+ 0x3d910200, 0x3d6e8e40, 0x3d4b8480, 0x3d27e600, |
|
1922 |
+ 0x3d03bc00, 0x3cdf0fc0, 0x3cb9eb80, 0x3c946240, |
|
1923 |
+ 0x3c6e9180, 0x3c489700, 0x3c229000, 0x3bfc95c0, |
|
1924 |
+ 0x3bd6bd00, 0x3bb11a80, 0x3b8bc180, 0x3b669bc0, |
|
1925 |
+ 0x3b416a00, 0x3b1beb80, 0x3af5e140, 0x3acf3300, |
|
1926 |
+ 0x3aa7ef80, 0x3a802780, 0x3a57eb80, 0x3a2f5880, |
|
1927 |
+ 0x3a069640, 0x39ddcd40, 0x39b524c0, 0x398ca540, |
|
1928 |
+ 0x39643800, 0x393bc540, 0x39133580, 0x38ea7ac0, |
|
1929 |
+ 0x38c19040, 0x389871c0, 0x386f1b40, 0x38458e00, |
|
1930 |
+ 0x381bd000, 0x37f1e780, 0x37c7db00, 0x379db080, |
|
1931 |
+ 0x37736e80, 0x37491b00, 0x371ebcc0, 0x36f45980, |
|
1932 |
+ 0x36c96600, 0x369ed300, 0x36740380, 0x3648ffc0, |
|
1933 |
+ 0x361dcf40, 0x35f27a00, 0x35c70780, 0x359b7f80, |
|
1934 |
+ 0x356fe9c0, 0x35444dc0, 0x3518b280, 0x34ed1940, |
|
1935 |
+ 0x34c17c00, 0x3495d4c0, 0x346a1d40, 0x343e4300, |
|
1936 |
+ 0x34122840, 0x33e5ae00, 0x33b8b780, 0x338b4dc0, |
|
1937 |
+ 0x335d9f00, 0x332fdc00, 0x33023440, 0x32d4cc40, |
|
1938 |
+ 0x32a7bc80, 0x327b1d40, 0x324f04c0, 0x32235280, |
|
1939 |
+ 0x31f7b100, 0x31cbc7c0, 0x319f4140, 0x3171fb40, |
|
1940 |
+ 0x31440840, 0x31157d00, 0x30e66e80, 0x30b6fc40, |
|
1941 |
+ 0x30875080, 0x30579600, 0x3027f700, 0x2ff89140, |
|
1942 |
+ 0x2fc976c0, 0x2f9ab880, 0x2f6c6780, 0x2f3e8780, |
|
1943 |
+ 0x2f111000, 0x2ee3f800, 0x2eb73480, 0x2e8a9840, |
|
1944 |
+ 0x2e5dd340, 0x2e3093c0, 0x2e028ac0, 0x2dd39680, |
|
1945 |
+ 0x2da3c480, 0x2d732380, 0x2d41c400, 0x2d0fd300, |
|
1946 |
+ 0x2cdd9ac0, 0x2cab6640, 0x2c797f00, 0x2c480d40, |
|
1947 |
+ 0x2c171700, 0x2be6a0c0, 0x2bb6ae80, 0x2b8739c0, |
|
1948 |
+ 0x2b583200, 0x2b298600, 0x2afb2400, 0x2accfa40, |
|
1949 |
+ 0x2a9ef500, 0x2a710100, 0x2a430ac0, 0x2a14f9c0, |
|
1950 |
+ 0x29e6b0c0, 0x29b81240, 0x29890140, 0x29596900, |
|
1951 |
+ 0x29293e00, 0x28f87500, 0x28c70340, 0x2894efc0, |
|
1952 |
+ 0x28625140, 0x282f4040, 0x27fbd5c0, 0x27c83540, |
|
1953 |
+ 0x27948ec0, 0x27611240, 0x272def80, 0x26fb4cc0, |
|
1954 |
+ 0x26c94780, 0x2697fcc0, 0x26678880, 0x2637f740, |
|
1955 |
+ 0x26094540, 0x25db6dc0, 0x25ae6b40, 0x25821680, |
|
1956 |
+ 0x255627c0, 0x252a55c0, 0x24fe5680, 0x24d1db40, |
|
1957 |
+ 0x24a48fc0, 0x24761f40, 0x244637c0, 0x2414c900, |
|
1958 |
+ 0x23e20240, 0x23ae1740, 0x23793bc0, 0x2343cc00, |
|
1959 |
+ 0x230e4ac0, 0x22d93c80, 0x22a52400, 0x22725180, |
|
1960 |
+ 0x2240e480, 0x2210f9c0, 0x21e2ab40, 0x21b5c7c0, |
|
1961 |
+ 0x2189d2c0, 0x215e4d40, 0x2132b900, 0x2106ba80, |
|
1962 |
+ 0x20da1940, 0x20ac9d80, 0x207e11c0, 0x204e77c0, |
|
1963 |
+ 0x201e0880, 0x1fecfea0, 0x1fbb94e0, 0x1f8a0500, |
|
1964 |
+ 0x1f59d340, 0x1f27ac20, 0x1ef67c60, 0x1ec64e40, |
|
1965 |
+ 0x1e96fdc0, 0x1e686400, 0x1e3a5a00, 0x1e0cae80, |
|
1966 |
+ 0x1ddf25e0, 0x1db18460, 0x1d839020, 0x1d5536e0, |
|
1967 |
+ 0x1d268e80, 0x1cf7ae60, 0x1cc8aea0, 0x1c99af00, |
|
1968 |
+ 0x1c6ad820, 0x1c3c5280, 0x1c0e4500, 0x1be0ab60, |
|
1969 |
+ 0x1bb35620, 0x1b861400, 0x1b58b480, 0x1b2b1a00, |
|
1970 |
+ 0x1afd39c0, 0x1acf09a0, 0x1aa080c0, 0x1a71b020, |
|
1971 |
+ 0x1a42c2a0, 0x1a13e420, 0x19e53fc0, 0x19b6eb00, |
|
1972 |
+ 0x1988e620, 0x195b3060, 0x192dc8a0, 0x1900a8a0, |
|
1973 |
+ 0x18d3c4e0, 0x18a711e0, 0x187a83e0, 0x184e10e0, |
|
1974 |
+ 0x1821b060, 0x17f55a00, 0x17c90580, 0x179cb100, |
|
1975 |
+ 0x177060a0, 0x17441880, 0x1717dd20, 0x16ebb080, |
|
1976 |
+ 0x16bf9260, 0x169382e0, 0x166781c0, 0x163b8f80, |
|
1977 |
+ 0x160fade0, 0x15e3de40, 0x15b82220, 0x158c7ae0, |
|
1978 |
+ 0x1560ea80, 0x15357240, 0x150a1400, 0x14ded020, |
|
1979 |
+ 0x14b3a640, 0x148895a0, 0x145d9dc0, 0x1432bde0, |
|
1980 |
+ 0x1407f540, 0x13dd4380, 0x13b2a860, 0x13882460, |
|
1981 |
+ 0x135db880, 0x133365a0, 0x13092cc0, 0x12df0e60, |
|
1982 |
+ 0x12b50aa0, 0x128b2120, 0x12615200, 0x12379da0, |
|
1983 |
+ 0x120e04c0, 0x11e48820, 0x11bb2860, 0x1191e600, |
|
1984 |
+ 0x1168c080, 0x113fb7a0, 0x1116cb40, 0x10edfba0, |
|
1985 |
+ 0x10c54a00, 0x109cb7a0, 0x10744560, 0x104bf420, |
|
1986 |
+ 0x1023c3e0, 0x0ffbb500, 0x0fd3c790, 0x0fabfbe0, |
|
1987 |
+ 0x0f845290, 0x0f5ccc40, 0x0f356970, 0x0f0e2a60, |
|
1988 |
+ 0x0ee70eb0, 0x0ec01610, 0x0e994040, 0x0e728d50, |
|
1989 |
+ 0x0e4bfdf0, 0x0e2592c0, 0x0dff4c70, 0x0dd92af0, |
|
1990 |
+ 0x0db32da0, 0x0d8d53e0, 0x0d679cf0, 0x0d420880, |
|
1991 |
+ 0x0d1c9680, 0x0cf74700, 0x0cd219f0, 0x0cad0eb0, |
|
1992 |
+ 0x0c882450, 0x0c6359a0, 0x0c3ead90, 0x0c1a1f80, |
|
1993 |
+ 0x0bf5af40, 0x0bd15cf0, 0x0bad2870, 0x0b891440, |
|
1994 |
+ 0x0b652530, 0x0b416020, 0x0b1dca30, 0x0afa6810, |
|
1995 |
+ 0x0ad73ee0, 0x0ab45370, 0x0a91aac0, 0x0a6f49b0, |
|
1996 |
+ 0x0a4da7f0, 0x0a2c7e20, 0x0a0ba310, 0x09eb1220, |
|
1997 |
+ 0x09cac6e0, 0x09aabc70, 0x098aee40, 0x096b57a0, |
|
1998 |
+ 0x094bf400, 0x092cbea0, 0x090db2e0, 0x08eecef0, |
|
1999 |
+ 0x08d01360, 0x08b18110, 0x089318b0, 0x0874db00, |
|
2000 |
+ 0x0856c880, 0x0838e1b0, 0x081b2730, 0x07fd99a8, |
|
2001 |
+ 0x07e03a28, 0x07c309a8, 0x07a60910, 0x07893918, |
|
2002 |
+ 0x076c99d0, 0x07502b90, 0x0733ee70, 0x0717e2f8, |
|
2003 |
+ 0x06fc09b8, 0x06e06378, 0x06c4f0b8, 0x06a9b1c8, |
|
2004 |
+ 0x068ea6a0, 0x0673cf18, 0x06592b18, 0x063ebad0, |
|
2005 |
+ 0x06247ed0, 0x060a7780, 0x05f0a570, 0x05d708b8, |
|
2006 |
+ 0x05bda128, 0x05a46e80, 0x058b7078, 0x0572a740, |
|
2007 |
+ 0x055a1330, 0x0541b4d8, 0x05298c98, 0x05119a88, |
|
2008 |
+ 0x04f9de50, 0x04e257a0, 0x04cb0630, 0x04b3ea00, |
|
2009 |
+ 0x049d0378, 0x04865308, 0x046fd918, 0x045995a8, |
|
2010 |
+ 0x04438860, 0x042db0d0, 0x04180ea0, 0x0402a1d0, |
|
2011 |
+ 0x03ed6abc, 0x03d869b8, 0x03c39f28, 0x03af0af0, |
|
2012 |
+ 0x039aaca0, 0x038683b4, 0x03728fc0, 0x035ed0b0, |
|
2013 |
+ 0x034b46c4, 0x0337f254, 0x0324d3a0, 0x0311eab0, |
|
2014 |
+ 0x02ff370c, 0x02ecb85c, 0x02da6e34, 0x02c858a8, |
|
2015 |
+ 0x02b67820, 0x02a4cd28, 0x02935820, 0x02821920, |
|
2016 |
+ 0x02710fac, 0x02603b54, 0x024f9bb4, 0x023f308c, |
|
2017 |
+ 0x022ef9e8, 0x021ef7c8, 0x020f2a40, 0x01ff908e, |
|
2018 |
+ 0x01f02974, 0x01e0f38a, 0x01d1ed94, 0x01c316d6, |
|
2019 |
+ 0x01b46f5e, 0x01a5f720, 0x0197ae28, 0x018994ea, |
|
2020 |
+ 0x017bac54, 0x016df546, 0x016070ae, 0x01532078, |
|
2021 |
+ 0x01460760, 0x01392834, 0x012c85a4, 0x01201f7a, |
|
2022 |
+ 0x0113f27c, 0x0107fb6c, 0x00fc36fd, 0x00f0a2d5, |
|
2023 |
+ 0x00e53d51, 0x00da050f, 0x00cef88c, 0x00c41869, |
|
2024 |
+ 0x00b9671f, 0x00aee754, 0x00a49b80, 0x009a8384, |
|
2025 |
+ 0x00909ca6, 0x0086e400, 0x007d56e3, 0x0073f48f, |
|
2026 |
+ 0x006abe70, 0x0061b5de, 0x0058dc65, 0x005033b5, |
|
2027 |
+ 0x0047be30, 0x003f7e30, 0x00377619, 0x002fa4d4, |
|
2028 |
+ 0x002805ee, 0x002094cb, 0x00194cb8, 0x00122856, |
|
2029 |
+ 0x000b215c, 0x00043148, 0xfffd51f1, 0xfff683a1, |
|
2030 |
+ 0xffefcd4e, 0xffe93630, 0xffe2c57e, 0xffdc855d, |
|
2031 |
+ 0xffd682c4, 0xffd0cad4, 0xffcb6a2d, 0xffc663bd, |
|
2032 |
+ 0xffc1b070, 0xffbd48e2, 0xffb92571, 0xffb53a55, |
|
2033 |
+ 0xffb1779d, 0xffadcd39, 0xffaa2b43, 0xffa68856, |
|
2034 |
+ 0xffa2e142, 0xff9f332d, 0xff9b7b9d, 0xff97bf2f, |
|
2035 |
+ 0xff9409e3, 0xff9067e3, 0xff8ce557, 0xff898bf1, |
|
2036 |
+ 0xff866307, 0xff8371d0, 0xff80bf64, 0xff7e4ebb, |
|
2037 |
+ 0xff7c1eab, 0xff7a2e05, 0xff787b48, 0xff770281, |
|
2038 |
+ 0xff75bd07, 0xff74a3f8, 0xff73b0b3, 0xff72dd03, |
|
2039 |
+ 0xff72237f, 0xff717ebf, 0xff70e94d, 0xff705f5a, |
|
2040 |
+ 0xff6fde6b, 0xff6f6427, 0xff6eee41, 0xff6e7d0c, |
|
2041 |
+ 0xff6e135a, 0xff6db404, 0xff6d61f9, 0xff6d2055, |
|
2042 |
+ 0xff6cf268, 0xff6cdb77, 0xff6cdebc, 0xff6cff48, |
|
2043 |
+ 0xff6d3fca, 0xff6da307, 0xff6e2b83, 0xff6eda14, |
|
2044 |
+ 0xff6fad6e, 0xff70a464, 0xff71bd9e, 0xff72f663, |
|
2045 |
+ 0xff744a81, 0xff75b5c5, 0xff77340a, 0xff78c0a7, |
|
2046 |
+ 0xff7a5694, 0xff7bf0dd, 0xff7d8abc, 0xff7f2302, |
|
2047 |
+ 0xff80bc09, 0xff825855, 0xff83fa57, 0xff85a55c, |
|
2048 |
+ 0xff875d22, 0xff892599, 0xff8b025e, 0xff8cf53c, |
|
2049 |
+ 0xff8efdf5, 0xff911c48, 0xff934fca, 0xff959676, |
|
2050 |
+ 0xff97ec87, 0xff9a4e36, 0xff9cb7d2, 0xff9f26cd, |
|
2051 |
+ 0xffa199cf, 0xffa40f75, 0xffa6867d, 0xffa8feb2, |
|
2052 |
+ 0xffab78e0, 0xffadf5c8, 0xffb07640, 0xffb2fba1, |
|
2053 |
+ 0xffb587a2, 0xffb81bfc, 0xffbaba47, 0xffbd6237, |
|
2054 |
+ 0xffc011a9, 0xffc2c67a, 0xffc57e85, 0xffc83894, |
|
2055 |
+ 0xffcaf41b, 0xffcdb0b9, 0xffd06e18, 0xffd32bf8, |
|
2056 |
+ 0xffd5ea38, 0xffd8a8c4, 0xffdb6765, 0xffde25fc, |
|
2057 |
+ 0xffe0e472, 0xffe3a2b3, 0xffe66088, 0xffe91da7, |
|
2058 |
+ 0xffebd979, 0xffee9352, 0xfff14ab1, 0xfff3fef7, |
|
2059 |
+ 0xfff6af95, 0xfff95c0d, 0xfffc03c8, 0xfffea65a, |
|
2060 |
+ 0x00015885, 0x0003f2e9, 0x00068a73, 0x00091e8d, |
|
2061 |
+ 0x000bae7f, 0x000e39bf, 0x0010bf96, 0x00133f78, |
|
2062 |
+ 0x0015b8c4, 0x00182ae4, 0x001a9558, 0x001cf7b3, |
|
2063 |
+ 0x001f51e0, 0x0021a3b4, 0x0023ed25, 0x00262df2, |
|
2064 |
+ 0x002865c5, 0x002a9469, 0x002cb967, 0x002ed4aa, |
|
2065 |
+ 0x0030e607, 0x0032ed88, 0x0034eb2f, 0x0036de23, |
|
2066 |
+ 0x0038c503, 0x003a9e4c, 0x003c68a7, 0x003e23dd, |
|
2067 |
+ 0x003fd0db, 0x00417083, 0x0043038b, 0x00448adf, |
|
2068 |
+ 0x00460741, 0x0047799c, 0x0048e2b3, 0x004a42af, |
|
2069 |
+ 0x004b98fb, 0x004ce50b, 0x004e2654, 0x004f5b5d, |
|
2070 |
+ 0x005081c3, 0x00519717, 0x00529920, 0x005386d0, |
|
2071 |
+ 0x0054603f, 0x00552581, 0x0055d6cc, 0x00567558, |
|
2072 |
+ 0x0057033d, 0x005782b4, 0x0057f5b6, 0x00585e46, |
|
2073 |
+ 0x0058be68, 0x005917ff, 0x00596ce4, 0x0059bcc0, |
|
2074 |
+ 0x005a053a, 0x005a43ef, 0x005a76af, 0x005a9b37, |
|
2075 |
+ 0x005aaf39, 0x005ab07b, 0x005a9cef, 0x005a7349, |
|
2076 |
+ 0x005a3328, 0x0059dc0a, 0x00596db0, 0x0058e8e5, |
|
2077 |
+ 0x00584f98, 0x0057a3c1, 0x0056e738, 0x00561bec, |
|
2078 |
+ 0x005543df, 0x0054610b, 0x0053753e, 0x0052824e, |
|
2079 |
+ 0x005189f6, 0x00508ded, 0x004f8fc0, 0x004e8fd1, |
|
2080 |
+ 0x004d8d27, 0x004c86d7, 0x004b7c0a, 0x004a6b33, |
|
2081 |
+ 0x00495239, 0x00482f0e, 0x0046ffc4, 0x0045c201, |
|
2082 |
+ 0x00447337, 0x004310cc, 0x00419871, 0x004008e5, |
|
2083 |
+ 0x003e6231, 0x003ca461, 0x003acf8a, 0x0038e57a, |
|
2084 |
+ 0x0036e981, 0x0034defa, 0x0032c94b, 0x0030acc6, |
|
2085 |
+ 0x002e8eb4, 0x002c7452, 0x002a62aa, 0x00285bbf, |
|
2086 |
+ 0x00265eda, 0x00246b24, 0x00227f9c, 0x002098e7, |
|
2087 |
+ 0x001eb13b, 0x001cc2ef, 0x001ac899, 0x0018be3d, |
|
2088 |
+ 0x0016a198, 0x00147065, 0x00122897, 0x000fcbc5, |
|
2089 |
+ 0x000d5f03, 0x000ae77a, 0x00086a52, 0x0005eb92, |
|
2090 |
+ 0x00036e4a, 0x0000f57e, 0xfffe8415, 0xfffc1a79, |
|
2091 |
+ 0xfff9b6bc, 0xfff756da, 0xfff4f8d1, 0xfff29ade, |
|
2092 |
+ 0xfff03b88, 0xffedd94d, 0xffeb7296, 0xffe9072c, |
|
2093 |
+ 0xffe6981b, 0xffe4265c, 0xffe1b30f, 0xffdf3f2c, |
|
2094 |
+ 0xffdccb9e, 0xffda5994, 0xffd7ea0d, 0xffd57d61, |
|
2095 |
+ 0xffd31303, 0xffd0aa28, 0xffce4244, 0xffcbdb41, |
|
2096 |
+ 0xffc97596, 0xffc711a3, 0xffc4af9e, 0xffc24fa7, |
|
2097 |
+ 0xffbff1de, 0xffbd969a, 0xffbb3e45, 0xffb8e8d6, |
|
2098 |
+ 0xffb695f5, 0xffb44522, 0xffb1f628, 0xffafa8f1, |
|
2099 |
+ 0xffad5d92, 0xffab140b, 0xffa8cc1d, 0xffa68591, |
|
2100 |
+ 0xffa44067, 0xffa1fca0, 0xff9fba30, 0xff9d7903, |
|
2101 |
+ 0xff9b3917, 0xff98fa6e, 0xff96bd07, 0xff9480b7, |
|
2102 |
+ 0xff924532, 0xff900a25, 0xff8dcf42, 0xff8b9434, |
|
2103 |
+ 0xff895885, 0xff871bd4, 0xff84dd8b, 0xff829d34, |
|
2104 |
+ 0xff805a44, 0xff7e142e, 0xff7bca72, 0xff797c84, |
|
2105 |
+ 0xff7729e4, 0xff74d205, 0xff727452, 0xff70101f, |
|
2106 |
+ 0xff6da494, 0xff6b30d2, 0xff68b3f5, 0xff662d32, |
|
2107 |
+ 0xff639bd2, 0xff60ff0a, 0xff5e562d, 0xff5ba3e1, |
|
2108 |
+ 0xff58ee3a, 0xff563c23, 0xff5394f4, 0xff50fd1f, |
|
2109 |
+ 0xff4e759a, 0xff4bff33, 0xff499ad5, 0xff47490b, |
|
2110 |
+ 0xff450a37, 0xff42deb8, 0xff40c6d0, 0xff3ec2bf, |
|
2111 |
+ 0xff3cd29a, 0xff3af682, 0xff392e6b, 0xff377a4b, |
|
2112 |
+ 0xff35d9f8, 0xff344d45, 0xff32d3e9, 0xff316d97, |
|
2113 |
+ 0xff3019da, 0xff2ed83b, 0xff2da830, 0xff2c88c0, |
|
2114 |
+ 0xff2b78b5, 0xff2a76cd, 0xff298185, 0xff289891, |
|
2115 |
+ 0xff27bc7e, 0xff26ee22, 0xff262e29, 0xff257cdd, |
|
2116 |
+ 0xff24d9f5, 0xff244525, 0xff23be16, 0xff234489, |
|
2117 |
+ 0xff22d853, 0xff227948, 0xff22273e, 0xff21e1d3, |
|
2118 |
+ 0xff21a872, 0xff217a7a, 0xff215749, 0xff213ecb, |
|
2119 |
+ 0xff21319f, 0xff21305d, 0xff213bb0, 0xff2153c3, |
|
2120 |
+ 0xff21782c, 0xff21a893, 0xff21e478, 0xff222bdb, |
|
2121 |
+ 0xff227f27, 0xff22debe, 0xff234b0a, 0xff23c395, |
|
2122 |
+ 0xff24471e, 0xff24d42c, 0xff25695d, 0xff260539, |
|
2123 |
+ 0xff26a653, 0xff274b29, 0xff27f22e, 0xff2899d3, |
|
2124 |
+ 0xff295976, 0xff29f2ae, 0xff2a96d8, 0xff2b45f5, |
|
2125 |
+ 0xff2bffe4, 0xff2cc4bb, 0xff2d9459, 0xff2e6edf, |
|
2126 |
+ 0xff2f544d, 0xff3044b8, 0xff314035, 0xff3246fb, |
|
2127 |
+ 0xff33591f, 0xff3476e1, 0xff35a061, 0xff36d535, |
|
2128 |
+ 0xff381490, 0xff395db0, 0xff3aafd5, 0xff3c0ac9, |
|
2129 |
+ 0xff3d6ed7, 0xff3edc55, 0xff405383, 0xff41d3f6, |
|
2130 |
+ 0xff435ccd, 0xff44ed10, 0xff4683d4, 0xff482081, |
|
2131 |
+ 0xff49c298, 0xff4b69ac, 0xff4d1548, 0xff4ec4f6, |
|
2132 |
+ 0xff50781e, 0xff522e21, 0xff53e693, 0xff55a15e, |
|
2133 |
+ 0xff575f18, 0xff592023, 0xff5ae4df, 0xff5cacb5, |
|
2134 |
+ 0xff5e75e3, 0xff603ee6, 0xff620630, 0xff63caac, |
|
2135 |
+ 0xff658b56, 0xff67476e, 0xff68fe12, 0xff6aaea1, |
|
2136 |
+ 0xff6c589a, 0xff6dfb87, 0xff6f96e8, 0xff712a66, |
|
2137 |
+ 0xff72b5a0, 0xff74382c, 0xff75b1d4, 0xff772277, |
|
2138 |
+ 0xff788a21, 0xff79e8e6, 0xff7b3ef1, 0xff7c8c99, |
|
2139 |
+ 0xff7dd24a, 0xff7f108d, 0xff804805, 0xff817d0e, |
|
2140 |
+ 0xff82b74b, 0xff83fde7, 0xff855763, 0xff86c623, |
|
2141 |
+ 0xff884905, 0xff89ded2, 0xff8b8647, 0xff8d3e4d, |
|
2142 |
+ 0xff8f05cd, 0xff90dbc6, 0xff92bf2b, 0xff94af05, |
|
2143 |
+ 0xff96aa27, 0xff98af9a, 0xff9abe48, 0xff9cd544, |
|
2144 |
+ 0xff9ef3c2, 0xffa118eb, 0xffa343fe, 0xffa57424, |
|
2145 |
+ 0xffa7a891, 0xffa9e085, 0xffac1b32, 0xffae5803, |
|
2146 |
+ 0xffb09681, 0xffb2d622, 0xffb51678, 0xffb75705, |
|
2147 |
+ 0xffb99726, 0xffbbd646, 0xffbe13d8, 0xffc04f26, |
|
2148 |
+ 0xffc2879b, 0xffc4bc73, 0xffc6ed25, 0xffc918e4, |
|
2149 |
+ 0xffcb3eb9, 0xffcd5dcd, 0xffcf754a, 0xffd184d9, |
|
2150 |
+ 0xffd38c90, 0xffd58ca5, 0xffd7854e, 0xffd97695, |
|
2151 |
+ 0xffdb606f, 0xffdd42d2, 0xffdf1da8, 0xffe0f09c, |
|
2152 |
+ 0xffe2bb01, 0xffe47c42, 0xffe633c7, 0xffe7e151, |
|
2153 |
+ 0xffe98535, 0xffeb1fb5, 0xffecb10f, 0xffee3945, |
|
2154 |
+ 0xffefb7ea, 0xfff12cbf, 0xfff29763, 0xfff3f78a, |
|
2155 |
+ 0xfff54cbf, 0xfff69696, 0xfff7d4b9, 0xfff90749, |
|
2156 |
+ 0xfffa2ee6, 0xfffb4c3d, 0xfffc6004, 0xfffd6af1, |
|
2157 |
+ 0xfffe6ddb, 0xffff69b9, 0x00005f4b, 0x00014e7f, |
|
2158 |
+ 0x00023646, 0x000315b4, 0x0003ebd3, 0x0004b74a, |
|
2159 |
+ 0x00057677, 0x000627e2, 0x0006ca09, 0x00075ce1, |
|
2160 |
+ 0x0007e196, 0x00085955, 0x0008c556, 0x00092751, |
|
2161 |
+ 0x00098153, 0x0009d581, 0x000a25be, 0x000a732b, |
|
2162 |
+ 0x000abe1f, 0x000b06e4, 0x000b4db1, 0x000b91fa, |
|
2163 |
+ 0x000bd266, 0x000c0da0, 0x000c426e, 0x000c6ffb, |
|
2164 |
+ 0x000c95b0, 0x000cb2f7, 0x000cc76e, 0x000cd317, |
|
2165 |
+ 0x000cd647, 0x000cd17f, 0x000cc52b, 0x000cb1ea, |
|
2166 |
+ 0x000c98c0, 0x000c7a62, 0x000c57c7, 0x000c3187, |
|
2167 |
+ 0x000c0862, 0x000bdcd8, 0x000baf81, 0x000b80c7, |
|
2168 |
+ 0x000b50ec, 0x000b202f, 0x000aeec6, 0x000abcb2, |
|
2169 |
+ 0x000a89d2, 0x000a5605, 0x000a2116, 0x0009eafb, |
|
2170 |
+ 0x0009b37d, 0x00097a9d, 0x00094030, 0x00090440, |
|
2171 |
+ 0x0008c6b9, 0x000887ae, 0x0008470c, 0x00080512, |
|
2172 |
+ 0x0007c1f6, 0x00077df9, 0x0007395a, 0x0006f45b, |
|
2173 |
+ 0x0006af67, 0x00066abe, 0x000626b6, 0x0005e38f, |
|
2174 |
+ 0x0005a1a0, 0x0005611e, 0x00052234, 0x0004e502, |
|
2175 |
+ 0x0004a95d, 0x00046f46, 0x00043691, 0x0003ff33, |
|
2176 |
+ 0x0003c90d, 0x0003941f, 0x00036047, 0x00032d9c, |
|
2177 |
+ 0x0002fc1e, 0x0002cbed, 0x00029d1e, 0x00026fbc, |
|
2178 |
+ 0x000243f2, 0x000219d6, 0x0001f17d, 0x0001caf1, |
|
2179 |
+ 0x0001a63e, 0x00018363, 0x00016256, 0x00014316, |
|
2180 |
+ 0x0001258f, 0x000109cb, 0x0000efaa, 0x0000d720, |
|
2181 |
+ 0x0000c03a, 0x0000aacb, 0x000096de, 0x0000846a, |
|
2182 |
+ 0x0000736d, 0x000063d3, 0x000055a6, 0x000048d0, |
|
2183 |
+ 0x00003d47, 0x000032f6, 0x000029dc, 0x000021d9, |
|
2184 |
+ 0x00001ae3, 0x000014ee, 0x00000fdb, 0x00000ba9, |
|
2185 |
+ 0x00000839, 0x00000589, 0x00000370, 0x000001ee, |
|
2186 |
+ 0x000000d7, 0x00000036, 0xffffffe1, 0xffffffc1, |
|
2187 |
+ 0xffffffd6, 0xfffffff6, 0x0000000b, 0x0000000b, |
|
2188 |
+ 0x0000000b, 0x0000000b, 0xfffffff6, 0xffffffd6, |
|
2189 |
+ 0xffffffcb, 0xffffffe1, 0x00000036, 0x000000d7, |
|
2190 |
+ 0x000001ce, 0x0000033b, 0x00000529, 0x000007ad, |
|
2191 |
+ 0x00000ac8, 0x00000e99, 0x00001316, 0x0000185e, |
|
2192 |
+ 0x00001e7e, 0x00002575, 0x00002d4c, 0x0000361b, |
|
2193 |
+ 0x00003fd6, 0x00004a93, 0x00005647, 0x00006312, |
|
2194 |
+ 0x000070de, 0x00007fad, 0x00008f87, 0x0000a064, |
|
2195 |
+ 0x0000b242, 0x0000c52d, 0x0000d919, 0x0000ee12, |
|
2196 |
+ 0x0001040c, 0x00011b13, 0x0001331b, 0x00014c30, |
|
2197 |
+ 0x0001663c, 0x0001814a, 0x00019d4f, 0x0001ba35, |
|
2198 |
+ 0x0001d7e7, 0x0001f645, 0x00021544, 0x000234c3, |
|
2199 |
+ 0x000254b9, 0x00027505, 0x000295a7, 0x0002b67e, |
|
2200 |
+ 0x0002d7a1, 0x0002f904, 0x00031ab2, 0x00033ca0, |
|
2201 |
+ 0x00035ee5, 0x0003818a, 0x0003a485, 0x0003c7e1, |
|
2202 |
+ 0x0003eb72, 0x00040f0e, 0x0004329f, 0x000455e6, |
|
2203 |
+ 0x000478c0, 0x00049aef, 0x0004bc52, 0x0004dca9, |
|
2204 |
+ 0x0004fbde, 0x000519c5, 0x00053635, 0x0005512d, |
|
2205 |
+ 0x00056aae, 0x000582a1, 0x00059927, 0x0005ae40, |
|
2206 |
+ 0x0005c1f6, 0x0005d455, 0x0005e572, 0x0005f56d, |
|
2207 |
+ 0x00060446, 0x0006121e, 0x00061f09, 0x00062b08, |
|
2208 |
+ 0x00063605, 0x00063feb, 0x00064899, 0x00064ff1, |
|
2209 |
+ 0x000655a5, 0x00065996, 0x00065b6f, 0x00065af8, |
|
2210 |
+ 0x000657e9, 0x000651d4, 0x00064884, 0x00063bae, |
|
2211 |
+ 0x00062b33, 0x00061706, 0x0005fefd, 0x0005e344, |
|
2212 |
+ 0x0005c405, 0x0005a195, 0x00057c41, 0x00055473, |
|
2213 |
+ 0x00052ac2, 0x0004ffc4, 0x0004d410, 0x0004a7e5, |
|
2214 |
+ 0x00047b4f, 0x00044e39, 0x00042096, 0x0003f208, |
|
2215 |
+ 0x0003c1e1, 0x00038f77, 0x00035a12, 0x00032127, |
|
2216 |
+ 0x0002e476, 0x0002a389, 0x00025e29, 0x0002146d, |
|
2217 |
+ 0x0001c700, 0x00017682, 0x000123a1, 0x0000cefd, |
|
2218 |
+ 0x000078f7, 0x0000221a, 0xffffcad2, 0xffff7333, |
|
2219 |
+ 0xffff1b1f, 0xfffec254, 0xfffe6892, 0xfffe0da3, |
|
2220 |
+ 0xfffdb15d, 0xfffd5394, 0xfffcf413, 0xfffc92e4, |
|
2221 |
+ 0xfffc3033, 0xfffbcc2a, 0xfffb6715, 0xfffb0114, |
|
2222 |
+ 0xfffa9a5c, 0xfffa3338, 0xfff9cbd5, 0xfff96451, |
|
2223 |
+ 0xfff8fcad, 0xfff894dd, 0xfff82cd9, 0xfff7c4a9, |
|
2224 |
+ 0xfff75c6e, 0xfff6f45f, 0xfff68c85, 0xfff62501, |
|
2225 |
+ 0xfff5bde8, 0xfff5575b, 0xfff4f17a, 0xfff48c65, |
|
2226 |
+ 0xfff42811, 0xfff3c489, 0xfff361d8, 0xfff30009, |
|
2227 |
+ 0xfff29f3b, 0xfff23f79, 0xfff1e0d9, 0xfff1835c, |
|
2228 |
+ 0xfff1272b, 0xfff0cc47, 0xfff072d0, 0xfff01ad1, |
|
2229 |
+ 0xffefc46a, 0xffef6fa5, 0xffef1ca4, 0xffeecb7b, |
|
2230 |
+ 0xffee7c20, 0xffee2eb3, 0xffede33e, 0xffed99c2, |
|
2231 |
+ 0xffed524a, 0xffed0cdf, 0xffecc98e, 0xffec884a, |
|
2232 |
+ 0xffec4935, 0xffec0c39, 0xffebd176, 0xffeb98ec, |
|
2233 |
+ 0xffeb62a5, 0xffeb2eae, 0xffeafd1a, 0xffeacdeb, |
|
2234 |
+ 0xffeaa12a, 0xffea76cd, 0xffea4ef4, 0xffea29a0, |
|
2235 |
+ 0xffea06e6, 0xffe9e6cf, 0xffe9c97e, 0xffe9aebc, |
|
2236 |
+ 0xffe99652, 0xffe97fd7, 0xffe96ad4, 0xffe95712, |
|
2237 |
+ 0xffe9447e, 0xffe93316, 0xffe922cf, 0xffe913a1, |
|
2238 |
+ 0xffe90589, 0xffe8f888, 0xffe8ec94, 0xffe8e1c2, |
|
2239 |
+ 0xffe8d807, 0xffe8cf78, 0xffe8c816, 0xffe8c1ec, |
|
2240 |
+ 0xffe8bd04, 0xffe8b968, 0xffe8b72f, 0xffe8b64e, |
|
2241 |
+ 0xffe8b6d9, 0xffe8b8dd, 0xffe8bc6d, 0xffe8c18b, |
|
2242 |
+ 0xffe8c841, 0xffe8d0a5, 0xffe8dacb, 0xffe8e69f, |
|
2243 |
+ 0xffe8f42b, 0xffe9035a, 0xffe9142c, 0xffe926a1, |
|
2244 |
+ 0xffe93ab8, 0xffe95067, 0xffe967b9, 0xffe980ae, |
|
2245 |
+ 0xffe99b3b, 0xffe9b755, 0xffe9d512, 0xffe9f45c, |
|
2246 |
+ 0xffea1533, 0xffea3798, 0xffea5b8a, 0xffea8109, |
|
2247 |
+ 0xffeaa800, 0xffead07a, 0xffeafa56, 0xffeb259f, |
|
2248 |
+ 0xffeb5255, 0xffeb8062, 0xffebafdd, 0xffebe0af, |
|
2249 |
+ 0xffec12cf, 0xffec4630, 0xffec7ade, 0xffecb0a4, |
|
2250 |
+ 0xffece775, 0xffed1f33, 0xffed57a8, 0xffed90b3, |
|
2251 |
+ 0xffedca49, 0xffee042b, 0xffee3e58, 0xffee788f, |
|
2252 |
+}; |
|
2253 |
+ |
|
1770 | 2254 |
const DECLARE_ALIGNED(32, float, ff_aac_eld_window_480)[1800] = { |
1771 | 2255 |
0.00101191, 0.00440397, 0.00718669, 0.01072130, |
1772 | 2256 |
0.01459757, 0.01875954, 0.02308987, 0.02751541, |
... | ... |
@@ -46,7 +46,11 @@ |
46 | 46 |
*/ |
47 | 47 |
DECLARE_ALIGNED(32, extern float, ff_aac_kbd_long_1024)[1024]; |
48 | 48 |
DECLARE_ALIGNED(32, extern float, ff_aac_kbd_short_128)[128]; |
49 |
+DECLARE_ALIGNED(32, extern int, ff_aac_kbd_long_1024_fixed)[1024]; |
|
50 |
+DECLARE_ALIGNED(32, extern int, ff_aac_kbd_long_512_fixed)[512]; |
|
51 |
+DECLARE_ALIGNED(32, extern int, ff_aac_kbd_short_128_fixed)[128]; |
|
49 | 52 |
const DECLARE_ALIGNED(32, extern float, ff_aac_eld_window_512)[1920]; |
53 |
+const DECLARE_ALIGNED(32, extern int, ff_aac_eld_window_512_fixed)[1920]; |
|
50 | 54 |
const DECLARE_ALIGNED(32, extern float, ff_aac_eld_window_480)[1800]; |
51 | 55 |
// @} |
52 | 56 |
|
53 | 57 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,24 @@ |
0 |
+/* |
|
1 |
+ * Generate a header file for hardcoded AAC cube-root table |
|
2 |
+ * |
|
3 |
+ * Copyright (c) 2010 Reimar Döffinger <Reimar.Doeffinger@gmx.de> |
|
4 |
+ * |
|
5 |
+ * This file is part of FFmpeg. |
|
6 |
+ * |
|
7 |
+ * FFmpeg is free software; you can redistribute it and/or |
|
8 |
+ * modify it under the terms of the GNU Lesser General Public |
|
9 |
+ * License as published by the Free Software Foundation; either |
|
10 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
11 |
+ * |
|
12 |
+ * FFmpeg is distributed in the hope that it will be useful, |
|
13 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
15 |
+ * Lesser General Public License for more details. |
|
16 |
+ * |
|
17 |
+ * You should have received a copy of the GNU Lesser General Public |
|
18 |
+ * License along with FFmpeg; if not, write to the Free Software |
|
19 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
20 |
+ */ |
|
21 |
+ |
|
22 |
+#define USE_FIXED 1 |
|
23 |
+#include "cbrt_tablegen_template.c" |
... | ... |
@@ -27,13 +27,26 @@ |
27 | 27 |
#include <math.h> |
28 | 28 |
#include "libavutil/attributes.h" |
29 | 29 |
|
30 |
+#if USE_FIXED |
|
31 |
+#define CBRT_RENAME(a) a ## _fixed |
|
32 |
+#define CBRT(x) (int)floor((x).f * 8192 + 0.5) |
|
33 |
+#else |
|
34 |
+#define CBRT_RENAME(a) a |
|
35 |
+#define CBRT(x) x.i |
|
36 |
+#endif |
|
37 |
+ |
|
30 | 38 |
#if CONFIG_HARDCODED_TABLES |
39 |
+#if USE_FIXED |
|
40 |
+#define cbrt_tableinit_fixed() |
|
41 |
+#include "libavcodec/cbrt_fixed_tables.h" |
|
42 |
+#else |
|
31 | 43 |
#define cbrt_tableinit() |
32 | 44 |
#include "libavcodec/cbrt_tables.h" |
45 |
+#endif |
|
33 | 46 |
#else |
34 | 47 |
static uint32_t cbrt_tab[1 << 13]; |
35 | 48 |
|
36 |
-static av_cold void cbrt_tableinit(void) |
|
49 |
+static av_cold void CBRT_RENAME(cbrt_tableinit)(void) |
|
37 | 50 |
{ |
38 | 51 |
if (!cbrt_tab[(1<<13) - 1]) { |
39 | 52 |
int i; |
... | ... |
@@ -44,7 +57,7 @@ static av_cold void cbrt_tableinit(void) |
44 | 44 |
uint32_t i; |
45 | 45 |
} f; |
46 | 46 |
f.f = pow(i, 1.0 / 3.0) * i; |
47 |
- cbrt_tab[i] = f.i; |
|
47 |
+ cbrt_tab[i] = CBRT(f); |
|
48 | 48 |
} |
49 | 49 |
} |
50 | 50 |
} |
... | ... |
@@ -30,20 +30,32 @@ |
30 | 30 |
# define SINETABLE_CONST |
31 | 31 |
#endif |
32 | 32 |
|
33 |
+#ifndef USE_FIXED |
|
34 |
+#define USE_FIXED 0 |
|
35 |
+#endif |
|
36 |
+ |
|
37 |
+#if USE_FIXED |
|
38 |
+#define SINEWIN_SUFFIX(a) a ## _fixed |
|
39 |
+#define INTFLOAT int |
|
40 |
+#else |
|
41 |
+#define SINEWIN_SUFFIX(a) a |
|
42 |
+#define INTFLOAT float |
|
43 |
+#endif |
|
44 |
+ |
|
33 | 45 |
#define SINETABLE(size) \ |
34 |
- SINETABLE_CONST DECLARE_ALIGNED(32, float, ff_sine_##size)[size] |
|
46 |
+ SINETABLE_CONST DECLARE_ALIGNED(32, INTFLOAT, SINEWIN_SUFFIX(ff_sine_##size))[size] |
|
35 | 47 |
|
36 | 48 |
/** |
37 | 49 |
* Generate a sine window. |
38 | 50 |
* @param window pointer to half window |
39 | 51 |
* @param n size of half window |
40 | 52 |
*/ |
41 |
-void ff_sine_window_init(float *window, int n); |
|
53 |
+void SINEWIN_SUFFIX(ff_sine_window_init)(INTFLOAT *window, int n); |
|
42 | 54 |
|
43 | 55 |
/** |
44 | 56 |
* initialize the specified entry of ff_sine_windows |
45 | 57 |
*/ |
46 |
-void ff_init_ff_sine_windows(int index); |
|
58 |
+void SINEWIN_SUFFIX(ff_init_ff_sine_windows)(int index); |
|
47 | 59 |
|
48 | 60 |
extern SINETABLE( 32); |
49 | 61 |
extern SINETABLE( 64); |
... | ... |
@@ -55,6 +67,6 @@ extern SINETABLE(2048); |
55 | 55 |
extern SINETABLE(4096); |
56 | 56 |
extern SINETABLE(8192); |
57 | 57 |
|
58 |
-extern SINETABLE_CONST float * const ff_sine_windows[14]; |
|
58 |
+extern SINETABLE_CONST INTFLOAT * const SINEWIN_SUFFIX(ff_sine_windows)[14]; |
|
59 | 59 |
|
60 | 60 |
#endif /* AVCODEC_SINEWIN_H */ |
61 | 61 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,21 @@ |
0 |
+/* |
|
1 |
+ * This file is part of FFmpeg. |
|
2 |
+ * |
|
3 |
+ * FFmpeg is free software; you can redistribute it and/or |
|
4 |
+ * modify it under the terms of the GNU Lesser General Public |
|
5 |
+ * License as published by the Free Software Foundation; either |
|
6 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
7 |
+ * |
|
8 |
+ * FFmpeg is distributed in the hope that it will be useful, |
|
9 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
11 |
+ * Lesser General Public License for more details. |
|
12 |
+ * |
|
13 |
+ * You should have received a copy of the GNU Lesser General Public |
|
14 |
+ * License along with FFmpeg; if not, write to the Free Software |
|
15 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
16 |
+ */ |
|
17 |
+ |
|
18 |
+#define USE_FIXED 1 |
|
19 |
+#include "sinewin.h" |
|
20 |
+#include "sinewin_tablegen.h" |
0 | 21 |
new file mode 100644 |
... | ... |
@@ -0,0 +1,24 @@ |
0 |
+/* |
|
1 |
+ * Generate a header file for hardcoded sine windows |
|
2 |
+ * |
|
3 |
+ * Copyright (c) 2009 Reimar Döffinger <Reimar.Doeffinger@gmx.de> |
|
4 |
+ * |
|
5 |
+ * This file is part of FFmpeg. |
|
6 |
+ * |
|
7 |
+ * FFmpeg is free software; you can redistribute it and/or |
|
8 |
+ * modify it under the terms of the GNU Lesser General Public |
|
9 |
+ * License as published by the Free Software Foundation; either |
|
10 |
+ * version 2.1 of the License, or (at your option) any later version. |
|
11 |
+ * |
|
12 |
+ * FFmpeg is distributed in the hope that it will be useful, |
|
13 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
14 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
15 |
+ * Lesser General Public License for more details. |
|
16 |
+ * |
|
17 |
+ * You should have received a copy of the GNU Lesser General Public |
|
18 |
+ * License along with FFmpeg; if not, write to the Free Software |
|
19 |
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
20 |
+ */ |
|
21 |
+ |
|
22 |
+#define USE_FIXED 1 |
|
23 |
+#include "sinewin_tablegen_template.c" |
... | ... |
@@ -41,26 +41,41 @@ SINETABLE(2048); |
41 | 41 |
SINETABLE(4096); |
42 | 42 |
SINETABLE(8192); |
43 | 43 |
#else |
44 |
+#if USE_FIXED |
|
45 |
+#include "libavcodec/sinewin_fixed_tables.h" |
|
46 |
+#else |
|
44 | 47 |
#include "libavcodec/sinewin_tables.h" |
45 | 48 |
#endif |
49 |
+#endif |
|
50 |
+ |
|
51 |
+#if USE_FIXED |
|
52 |
+#define SINEWIN_SUFFIX(a) a ## _fixed |
|
53 |
+#define INTFLOAT int |
|
54 |
+#define SIN_FIX(a) (int)floor((a) * 0x80000000 + 0.5) |
|
55 |
+#else |
|
56 |
+#define SINEWIN_SUFFIX(a) a |
|
57 |
+#define INTFLOAT float |
|
58 |
+#define SIN_FIX(a) a |
|
59 |
+#endif |
|
46 | 60 |
|
47 |
-SINETABLE_CONST float * const ff_sine_windows[] = { |
|
61 |
+SINETABLE_CONST INTFLOAT * const SINEWIN_SUFFIX(ff_sine_windows)[] = { |
|
48 | 62 |
NULL, NULL, NULL, NULL, NULL, // unused |
49 |
- ff_sine_32 , ff_sine_64 , |
|
50 |
- ff_sine_128, ff_sine_256, ff_sine_512, ff_sine_1024, ff_sine_2048, ff_sine_4096, ff_sine_8192 |
|
63 |
+ SINEWIN_SUFFIX(ff_sine_32) , SINEWIN_SUFFIX(ff_sine_64), SINEWIN_SUFFIX(ff_sine_128), |
|
64 |
+ SINEWIN_SUFFIX(ff_sine_256), SINEWIN_SUFFIX(ff_sine_512), SINEWIN_SUFFIX(ff_sine_1024), |
|
65 |
+ SINEWIN_SUFFIX(ff_sine_2048), SINEWIN_SUFFIX(ff_sine_4096), SINEWIN_SUFFIX(ff_sine_8192) |
|
51 | 66 |
}; |
52 | 67 |
|
53 | 68 |
// Generate a sine window. |
54 |
-av_cold void ff_sine_window_init(float *window, int n) { |
|
69 |
+av_cold void SINEWIN_SUFFIX(ff_sine_window_init)(INTFLOAT *window, int n) { |
|
55 | 70 |
int i; |
56 | 71 |
for(i = 0; i < n; i++) |
57 |
- window[i] = sinf((i + 0.5) * (M_PI / (2.0 * n))); |
|
72 |
+ window[i] = SIN_FIX(sinf((i + 0.5) * (M_PI / (2.0 * n)))); |
|
58 | 73 |
} |
59 | 74 |
|
60 |
-av_cold void ff_init_ff_sine_windows(int index) { |
|
61 |
- assert(index >= 0 && index < FF_ARRAY_ELEMS(ff_sine_windows)); |
|
75 |
+av_cold void SINEWIN_SUFFIX(ff_init_ff_sine_windows)(int index) { |
|
76 |
+ assert(index >= 0 && index < FF_ARRAY_ELEMS(SINEWIN_SUFFIX(ff_sine_windows))); |
|
62 | 77 |
#if !CONFIG_HARDCODED_TABLES |
63 |
- ff_sine_window_init(ff_sine_windows[index], 1 << index); |
|
78 |
+ SINEWIN_SUFFIX(ff_sine_window_init)(SINEWIN_SUFFIX(ff_sine_windows)[index], 1 << index); |
|
64 | 79 |
#endif |
65 | 80 |
} |
66 | 81 |
|
... | ... |
@@ -22,9 +22,23 @@ |
22 | 22 |
|
23 | 23 |
#include <stdlib.h> |
24 | 24 |
#define CONFIG_HARDCODED_TABLES 0 |
25 |
+ |
|
26 |
+#if USE_FIXED |
|
27 |
+#define ADD_SUFFIX(a) a ## _fixed |
|
28 |
+#define INTFLOAT int |
|
29 |
+#define WRITE_FUNC write_int32_t_array |
|
30 |
+ |
|
31 |
+#else |
|
32 |
+ |
|
33 |
+#define ADD_SUFFIX(a) a |
|
34 |
+#define INTFLOAT float |
|
35 |
+#define WRITE_FUNC write_float_array |
|
36 |
+ |
|
37 |
+#endif |
|
38 |
+ |
|
25 | 39 |
#define SINETABLE_CONST |
26 | 40 |
#define SINETABLE(size) \ |
27 |
- float ff_sine_##size[size] |
|
41 |
+ INTFLOAT ADD_SUFFIX(ff_sine_##size)[size] |
|
28 | 42 |
#define FF_ARRAY_ELEMS(a) (sizeof(a) / sizeof((a)[0])) |
29 | 43 |
#include "sinewin_tablegen.h" |
30 | 44 |
#include "tableprint.h" |
... | ... |
@@ -36,9 +50,9 @@ int main(void) |
36 | 36 |
write_fileheader(); |
37 | 37 |
|
38 | 38 |
for (i = 5; i <= 13; i++) { |
39 |
- ff_init_ff_sine_windows(i); |
|
39 |
+ ADD_SUFFIX(ff_init_ff_sine_windows)(i); |
|
40 | 40 |
printf("SINETABLE(%4i) = {\n", 1 << i); |
41 |
- write_float_array(ff_sine_windows[i], 1 << i); |
|
41 |
+ WRITE_FUNC(ADD_SUFFIX(ff_sine_windows)[i], 1 << i); |
|
42 | 42 |
printf("};\n"); |
43 | 43 |
} |
44 | 44 |
|
... | ... |
@@ -64,6 +64,7 @@ void write_int8_t_array (const int8_t *, int); |
64 | 64 |
void write_uint8_t_array (const uint8_t *, int); |
65 | 65 |
void write_uint16_t_array (const uint16_t *, int); |
66 | 66 |
void write_uint32_t_array (const uint32_t *, int); |
67 |
+void write_int32_t_array (const int32_t *, int); |
|
67 | 68 |
void write_float_array (const float *, int); |
68 | 69 |
void write_int8_t_2d_array (const void *, int, int); |
69 | 70 |
void write_uint8_t_2d_array (const void *, int, int); |
... | ... |
@@ -116,6 +117,7 @@ WRITE_1D_FUNC(uint8_t, "0x%02"PRIx8, 15) |
116 | 116 |
WRITE_1D_FUNC(uint16_t, "0x%08"PRIx16, 7) |
117 | 117 |
WRITE_1D_FUNC(int16_t, "%5"PRIi16, 7) |
118 | 118 |
WRITE_1D_FUNC(uint32_t, "0x%08"PRIx32, 7) |
119 |
+WRITE_1D_FUNC(int32_t, "0x%08"PRIx32, 7) |
|
119 | 120 |
WRITE_1D_FUNC(float, "%.18e", 3) |
120 | 121 |
|
121 | 122 |
WRITE_2D_FUNC(int8_t) |