]> git.sesse.net Git - ffmpeg/blob - libavcodec/aactab.c
avformat/argo_brp: allow v1.1 ASF streams to have a non-22050 sample rate in certain...
[ffmpeg] / libavcodec / aactab.c
1 /*
2  * AAC data
3  * Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4  * Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22
23 /**
24  * @file
25  * AAC data
26  * @author Oded Shimon  ( ods15 ods15 dyndns org )
27  * @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28  */
29
30 #include "libavutil/mem.h"
31 #include "aac.h"
32
33 #include <stdint.h>
34
35 float ff_aac_pow2sf_tab[428];
36 float ff_aac_pow34sf_tab[428];
37
38 DECLARE_ALIGNED(32, float,  ff_aac_kbd_long_1024)[1024];
39 DECLARE_ALIGNED(32, float,  ff_aac_kbd_short_128)[128];
40 DECLARE_ALIGNED(32, float,  ff_aac_kbd_long_960)[960];
41 DECLARE_ALIGNED(32, float,  ff_aac_kbd_short_120)[120];
42 DECLARE_ALIGNED(32, int,    ff_aac_kbd_long_1024_fixed)[1024];
43 DECLARE_ALIGNED(32, int,    ff_aac_kbd_short_128_fixed)[128];
44
45 const uint8_t ff_aac_num_swb_1024[] = {
46     41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40
47 };
48
49 const uint8_t ff_aac_num_swb_960[] = {
50     40, 40, 46, 49, 49, 49, 46, 46, 42, 42, 42, 40, 40
51 };
52
53 const uint8_t ff_aac_num_swb_512[] = {
54      0,  0,  0, 36, 36, 37, 31, 31,  0,  0,  0,  0,  0
55 };
56
57 const uint8_t ff_aac_num_swb_480[] = {
58      0,  0,  0, 35, 35, 37, 30, 30,  0,  0,  0,  0,  0
59 };
60
61 const uint8_t ff_aac_num_swb_128[] = {
62     12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15
63 };
64
65 const uint8_t ff_aac_num_swb_120[] = {
66     12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15
67 };
68
69 const uint8_t ff_aac_pred_sfb_max[] = {
70     33, 33, 38, 40, 40, 40, 41, 41, 37, 37, 37, 34, 34
71 };
72
73 const uint32_t ff_aac_scalefactor_code[121] = {
74     0x3ffe8, 0x3ffe6, 0x3ffe7, 0x3ffe5, 0x7fff5, 0x7fff1, 0x7ffed, 0x7fff6,
75     0x7ffee, 0x7ffef, 0x7fff0, 0x7fffc, 0x7fffd, 0x7ffff, 0x7fffe, 0x7fff7,
76     0x7fff8, 0x7fffb, 0x7fff9, 0x3ffe4, 0x7fffa, 0x3ffe3, 0x1ffef, 0x1fff0,
77     0x0fff5, 0x1ffee, 0x0fff2, 0x0fff3, 0x0fff4, 0x0fff1, 0x07ff6, 0x07ff7,
78     0x03ff9, 0x03ff5, 0x03ff7, 0x03ff3, 0x03ff6, 0x03ff2, 0x01ff7, 0x01ff5,
79     0x00ff9, 0x00ff7, 0x00ff6, 0x007f9, 0x00ff4, 0x007f8, 0x003f9, 0x003f7,
80     0x003f5, 0x001f8, 0x001f7, 0x000fa, 0x000f8, 0x000f6, 0x00079, 0x0003a,
81     0x00038, 0x0001a, 0x0000b, 0x00004, 0x00000, 0x0000a, 0x0000c, 0x0001b,
82     0x00039, 0x0003b, 0x00078, 0x0007a, 0x000f7, 0x000f9, 0x001f6, 0x001f9,
83     0x003f4, 0x003f6, 0x003f8, 0x007f5, 0x007f4, 0x007f6, 0x007f7, 0x00ff5,
84     0x00ff8, 0x01ff4, 0x01ff6, 0x01ff8, 0x03ff8, 0x03ff4, 0x0fff0, 0x07ff4,
85     0x0fff6, 0x07ff5, 0x3ffe2, 0x7ffd9, 0x7ffda, 0x7ffdb, 0x7ffdc, 0x7ffdd,
86     0x7ffde, 0x7ffd8, 0x7ffd2, 0x7ffd3, 0x7ffd4, 0x7ffd5, 0x7ffd6, 0x7fff2,
87     0x7ffdf, 0x7ffe7, 0x7ffe8, 0x7ffe9, 0x7ffea, 0x7ffeb, 0x7ffe6, 0x7ffe0,
88     0x7ffe1, 0x7ffe2, 0x7ffe3, 0x7ffe4, 0x7ffe5, 0x7ffd7, 0x7ffec, 0x7fff4,
89     0x7fff3,
90 };
91
92 const uint8_t ff_aac_scalefactor_bits[121] = {
93     18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
94     19, 19, 19, 18, 19, 18, 17, 17, 16, 17, 16, 16, 16, 16, 15, 15,
95     14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11, 12, 11, 10, 10,
96     10,  9,  9,  8,  8,  8,  7,  6,  6,  5,  4,  3,  1,  4,  4,  5,
97      6,  6,  7,  7,  8,  8,  9,  9, 10, 10, 10, 11, 11, 11, 11, 12,
98     12, 13, 13, 13, 14, 14, 16, 15, 16, 15, 18, 19, 19, 19, 19, 19,
99     19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
100     19, 19, 19, 19, 19, 19, 19, 19, 19,
101 };
102
103 static const uint16_t codes1[81] = {
104     0x7f8, 0x1f1, 0x7fd, 0x3f5, 0x068, 0x3f0, 0x7f7, 0x1ec,
105     0x7f5, 0x3f1, 0x072, 0x3f4, 0x074, 0x011, 0x076, 0x1eb,
106     0x06c, 0x3f6, 0x7fc, 0x1e1, 0x7f1, 0x1f0, 0x061, 0x1f6,
107     0x7f2, 0x1ea, 0x7fb, 0x1f2, 0x069, 0x1ed, 0x077, 0x017,
108     0x06f, 0x1e6, 0x064, 0x1e5, 0x067, 0x015, 0x062, 0x012,
109     0x000, 0x014, 0x065, 0x016, 0x06d, 0x1e9, 0x063, 0x1e4,
110     0x06b, 0x013, 0x071, 0x1e3, 0x070, 0x1f3, 0x7fe, 0x1e7,
111     0x7f3, 0x1ef, 0x060, 0x1ee, 0x7f0, 0x1e2, 0x7fa, 0x3f3,
112     0x06a, 0x1e8, 0x075, 0x010, 0x073, 0x1f4, 0x06e, 0x3f7,
113     0x7f6, 0x1e0, 0x7f9, 0x3f2, 0x066, 0x1f5, 0x7ff, 0x1f7,
114     0x7f4,
115 };
116
117 static const uint8_t bits1[81] = {
118     11,  9, 11, 10,  7, 10, 11,  9, 11, 10,  7, 10,  7,  5,  7,  9,
119      7, 10, 11,  9, 11,  9,  7,  9, 11,  9, 11,  9,  7,  9,  7,  5,
120      7,  9,  7,  9,  7,  5,  7,  5,  1,  5,  7,  5,  7,  9,  7,  9,
121      7,  5,  7,  9,  7,  9, 11,  9, 11,  9,  7,  9, 11,  9, 11, 10,
122      7,  9,  7,  5,  7,  9,  7, 10, 11,  9, 11, 10,  7,  9, 11,  9,
123     11,
124 };
125
126 static const uint16_t codes2[81] = {
127     0x1f3, 0x06f, 0x1fd, 0x0eb, 0x023, 0x0ea, 0x1f7, 0x0e8,
128     0x1fa, 0x0f2, 0x02d, 0x070, 0x020, 0x006, 0x02b, 0x06e,
129     0x028, 0x0e9, 0x1f9, 0x066, 0x0f8, 0x0e7, 0x01b, 0x0f1,
130     0x1f4, 0x06b, 0x1f5, 0x0ec, 0x02a, 0x06c, 0x02c, 0x00a,
131     0x027, 0x067, 0x01a, 0x0f5, 0x024, 0x008, 0x01f, 0x009,
132     0x000, 0x007, 0x01d, 0x00b, 0x030, 0x0ef, 0x01c, 0x064,
133     0x01e, 0x00c, 0x029, 0x0f3, 0x02f, 0x0f0, 0x1fc, 0x071,
134     0x1f2, 0x0f4, 0x021, 0x0e6, 0x0f7, 0x068, 0x1f8, 0x0ee,
135     0x022, 0x065, 0x031, 0x002, 0x026, 0x0ed, 0x025, 0x06a,
136     0x1fb, 0x072, 0x1fe, 0x069, 0x02e, 0x0f6, 0x1ff, 0x06d,
137     0x1f6,
138 };
139
140 static const uint8_t bits2[81] = {
141     9, 7, 9, 8, 6, 8, 9, 8, 9, 8, 6, 7, 6, 5, 6, 7,
142     6, 8, 9, 7, 8, 8, 6, 8, 9, 7, 9, 8, 6, 7, 6, 5,
143     6, 7, 6, 8, 6, 5, 6, 5, 3, 5, 6, 5, 6, 8, 6, 7,
144     6, 5, 6, 8, 6, 8, 9, 7, 9, 8, 6, 8, 8, 7, 9, 8,
145     6, 7, 6, 4, 6, 8, 6, 7, 9, 7, 9, 7, 6, 8, 9, 7,
146     9,
147 };
148
149 static const uint16_t codes3[81] = {
150     0x0000, 0x0009, 0x00ef, 0x000b, 0x0019, 0x00f0, 0x01eb, 0x01e6,
151     0x03f2, 0x000a, 0x0035, 0x01ef, 0x0034, 0x0037, 0x01e9, 0x01ed,
152     0x01e7, 0x03f3, 0x01ee, 0x03ed, 0x1ffa, 0x01ec, 0x01f2, 0x07f9,
153     0x07f8, 0x03f8, 0x0ff8, 0x0008, 0x0038, 0x03f6, 0x0036, 0x0075,
154     0x03f1, 0x03eb, 0x03ec, 0x0ff4, 0x0018, 0x0076, 0x07f4, 0x0039,
155     0x0074, 0x03ef, 0x01f3, 0x01f4, 0x07f6, 0x01e8, 0x03ea, 0x1ffc,
156     0x00f2, 0x01f1, 0x0ffb, 0x03f5, 0x07f3, 0x0ffc, 0x00ee, 0x03f7,
157     0x7ffe, 0x01f0, 0x07f5, 0x7ffd, 0x1ffb, 0x3ffa, 0xffff, 0x00f1,
158     0x03f0, 0x3ffc, 0x01ea, 0x03ee, 0x3ffb, 0x0ff6, 0x0ffa, 0x7ffc,
159     0x07f2, 0x0ff5, 0xfffe, 0x03f4, 0x07f7, 0x7ffb, 0x0ff7, 0x0ff9,
160     0x7ffa,
161 };
162
163 static const uint8_t bits3[81] = {
164      1,  4,  8,  4,  5,  8,  9,  9, 10,  4,  6,  9,  6,  6,  9,  9,
165      9, 10,  9, 10, 13,  9,  9, 11, 11, 10, 12,  4,  6, 10,  6,  7,
166     10, 10, 10, 12,  5,  7, 11,  6,  7, 10,  9,  9, 11,  9, 10, 13,
167      8,  9, 12, 10, 11, 12,  8, 10, 15,  9, 11, 15, 13, 14, 16,  8,
168     10, 14,  9, 10, 14, 12, 12, 15, 11, 12, 16, 10, 11, 15, 12, 12,
169     15,
170 };
171
172 static const uint16_t codes4[81] = {
173     0x007, 0x016, 0x0f6, 0x018, 0x008, 0x0ef, 0x1ef, 0x0f3,
174     0x7f8, 0x019, 0x017, 0x0ed, 0x015, 0x001, 0x0e2, 0x0f0,
175     0x070, 0x3f0, 0x1ee, 0x0f1, 0x7fa, 0x0ee, 0x0e4, 0x3f2,
176     0x7f6, 0x3ef, 0x7fd, 0x005, 0x014, 0x0f2, 0x009, 0x004,
177     0x0e5, 0x0f4, 0x0e8, 0x3f4, 0x006, 0x002, 0x0e7, 0x003,
178     0x000, 0x06b, 0x0e3, 0x069, 0x1f3, 0x0eb, 0x0e6, 0x3f6,
179     0x06e, 0x06a, 0x1f4, 0x3ec, 0x1f0, 0x3f9, 0x0f5, 0x0ec,
180     0x7fb, 0x0ea, 0x06f, 0x3f7, 0x7f9, 0x3f3, 0xfff, 0x0e9,
181     0x06d, 0x3f8, 0x06c, 0x068, 0x1f5, 0x3ee, 0x1f2, 0x7f4,
182     0x7f7, 0x3f1, 0xffe, 0x3ed, 0x1f1, 0x7f5, 0x7fe, 0x3f5,
183     0x7fc,
184 };
185
186 static const uint8_t bits4[81] = {
187      4,  5,  8,  5,  4,  8,  9,  8, 11,  5,  5,  8,  5,  4,  8,  8,
188      7, 10,  9,  8, 11,  8,  8, 10, 11, 10, 11,  4,  5,  8,  4,  4,
189      8,  8,  8, 10,  4,  4,  8,  4,  4,  7,  8,  7,  9,  8,  8, 10,
190      7,  7,  9, 10,  9, 10,  8,  8, 11,  8,  7, 10, 11, 10, 12,  8,
191      7, 10,  7,  7,  9, 10,  9, 11, 11, 10, 12, 10,  9, 11, 11, 10,
192     11,
193 };
194
195 static const uint16_t codes5[81] = {
196     0x1fff, 0x0ff7, 0x07f4, 0x07e8, 0x03f1, 0x07ee, 0x07f9, 0x0ff8,
197     0x1ffd, 0x0ffd, 0x07f1, 0x03e8, 0x01e8, 0x00f0, 0x01ec, 0x03ee,
198     0x07f2, 0x0ffa, 0x0ff4, 0x03ef, 0x01f2, 0x00e8, 0x0070, 0x00ec,
199     0x01f0, 0x03ea, 0x07f3, 0x07eb, 0x01eb, 0x00ea, 0x001a, 0x0008,
200     0x0019, 0x00ee, 0x01ef, 0x07ed, 0x03f0, 0x00f2, 0x0073, 0x000b,
201     0x0000, 0x000a, 0x0071, 0x00f3, 0x07e9, 0x07ef, 0x01ee, 0x00ef,
202     0x0018, 0x0009, 0x001b, 0x00eb, 0x01e9, 0x07ec, 0x07f6, 0x03eb,
203     0x01f3, 0x00ed, 0x0072, 0x00e9, 0x01f1, 0x03ed, 0x07f7, 0x0ff6,
204     0x07f0, 0x03e9, 0x01ed, 0x00f1, 0x01ea, 0x03ec, 0x07f8, 0x0ff9,
205     0x1ffc, 0x0ffc, 0x0ff5, 0x07ea, 0x03f3, 0x03f2, 0x07f5, 0x0ffb,
206     0x1ffe,
207 };
208
209 static const uint8_t bits5[81] = {
210     13, 12, 11, 11, 10, 11, 11, 12, 13, 12, 11, 10,  9,  8,  9, 10,
211     11, 12, 12, 10,  9,  8,  7,  8,  9, 10, 11, 11,  9,  8,  5,  4,
212      5,  8,  9, 11, 10,  8,  7,  4,  1,  4,  7,  8, 11, 11,  9,  8,
213      5,  4,  5,  8,  9, 11, 11, 10,  9,  8,  7,  8,  9, 10, 11, 12,
214     11, 10,  9,  8,  9, 10, 11, 12, 13, 12, 12, 11, 10, 10, 11, 12,
215     13,
216 };
217
218 static const uint16_t codes6[81] = {
219     0x7fe, 0x3fd, 0x1f1, 0x1eb, 0x1f4, 0x1ea, 0x1f0, 0x3fc,
220     0x7fd, 0x3f6, 0x1e5, 0x0ea, 0x06c, 0x071, 0x068, 0x0f0,
221     0x1e6, 0x3f7, 0x1f3, 0x0ef, 0x032, 0x027, 0x028, 0x026,
222     0x031, 0x0eb, 0x1f7, 0x1e8, 0x06f, 0x02e, 0x008, 0x004,
223     0x006, 0x029, 0x06b, 0x1ee, 0x1ef, 0x072, 0x02d, 0x002,
224     0x000, 0x003, 0x02f, 0x073, 0x1fa, 0x1e7, 0x06e, 0x02b,
225     0x007, 0x001, 0x005, 0x02c, 0x06d, 0x1ec, 0x1f9, 0x0ee,
226     0x030, 0x024, 0x02a, 0x025, 0x033, 0x0ec, 0x1f2, 0x3f8,
227     0x1e4, 0x0ed, 0x06a, 0x070, 0x069, 0x074, 0x0f1, 0x3fa,
228     0x7ff, 0x3f9, 0x1f6, 0x1ed, 0x1f8, 0x1e9, 0x1f5, 0x3fb,
229     0x7fc,
230 };
231
232 static const uint8_t bits6[81] = {
233     11, 10,  9,  9,  9,  9,  9, 10, 11, 10,  9,  8,  7,  7,  7,  8,
234      9, 10,  9,  8,  6,  6,  6,  6,  6,  8,  9,  9,  7,  6,  4,  4,
235      4,  6,  7,  9,  9,  7,  6,  4,  4,  4,  6,  7,  9,  9,  7,  6,
236      4,  4,  4,  6,  7,  9,  9,  8,  6,  6,  6,  6,  6,  8,  9, 10,
237      9,  8,  7,  7,  7,  7,  8, 10, 11, 10,  9,  9,  9,  9,  9, 10,
238     11,
239 };
240
241 static const uint16_t codes7[64] = {
242     0x000, 0x005, 0x037, 0x074, 0x0f2, 0x1eb, 0x3ed, 0x7f7,
243     0x004, 0x00c, 0x035, 0x071, 0x0ec, 0x0ee, 0x1ee, 0x1f5,
244     0x036, 0x034, 0x072, 0x0ea, 0x0f1, 0x1e9, 0x1f3, 0x3f5,
245     0x073, 0x070, 0x0eb, 0x0f0, 0x1f1, 0x1f0, 0x3ec, 0x3fa,
246     0x0f3, 0x0ed, 0x1e8, 0x1ef, 0x3ef, 0x3f1, 0x3f9, 0x7fb,
247     0x1ed, 0x0ef, 0x1ea, 0x1f2, 0x3f3, 0x3f8, 0x7f9, 0x7fc,
248     0x3ee, 0x1ec, 0x1f4, 0x3f4, 0x3f7, 0x7f8, 0xffd, 0xffe,
249     0x7f6, 0x3f0, 0x3f2, 0x3f6, 0x7fa, 0x7fd, 0xffc, 0xfff,
250 };
251
252 static const uint8_t bits7[64] = {
253      1,  3,  6,  7,  8,  9, 10, 11,  3,  4,  6,  7,  8,  8,  9,  9,
254      6,  6,  7,  8,  8,  9,  9, 10,  7,  7,  8,  8,  9,  9, 10, 10,
255      8,  8,  9,  9, 10, 10, 10, 11,  9,  8,  9,  9, 10, 10, 11, 11,
256     10,  9,  9, 10, 10, 11, 12, 12, 11, 10, 10, 10, 11, 11, 12, 12,
257 };
258
259 static const uint16_t codes8[64] = {
260     0x00e, 0x005, 0x010, 0x030, 0x06f, 0x0f1, 0x1fa, 0x3fe,
261     0x003, 0x000, 0x004, 0x012, 0x02c, 0x06a, 0x075, 0x0f8,
262     0x00f, 0x002, 0x006, 0x014, 0x02e, 0x069, 0x072, 0x0f5,
263     0x02f, 0x011, 0x013, 0x02a, 0x032, 0x06c, 0x0ec, 0x0fa,
264     0x071, 0x02b, 0x02d, 0x031, 0x06d, 0x070, 0x0f2, 0x1f9,
265     0x0ef, 0x068, 0x033, 0x06b, 0x06e, 0x0ee, 0x0f9, 0x3fc,
266     0x1f8, 0x074, 0x073, 0x0ed, 0x0f0, 0x0f6, 0x1f6, 0x1fd,
267     0x3fd, 0x0f3, 0x0f4, 0x0f7, 0x1f7, 0x1fb, 0x1fc, 0x3ff,
268 };
269
270 static const uint8_t bits8[64] = {
271      5,  4,  5,  6,  7,  8,  9, 10,  4,  3,  4,  5,  6,  7,  7,  8,
272      5,  4,  4,  5,  6,  7,  7,  8,  6,  5,  5,  6,  6,  7,  8,  8,
273      7,  6,  6,  6,  7,  7,  8,  9,  8,  7,  6,  7,  7,  8,  8, 10,
274      9,  7,  7,  8,  8,  8,  9,  9, 10,  8,  8,  8,  9,  9,  9, 10,
275 };
276
277 static const uint16_t codes9[169] = {
278     0x0000, 0x0005, 0x0037, 0x00e7, 0x01de, 0x03ce, 0x03d9, 0x07c8,
279     0x07cd, 0x0fc8, 0x0fdd, 0x1fe4, 0x1fec, 0x0004, 0x000c, 0x0035,
280     0x0072, 0x00ea, 0x00ed, 0x01e2, 0x03d1, 0x03d3, 0x03e0, 0x07d8,
281     0x0fcf, 0x0fd5, 0x0036, 0x0034, 0x0071, 0x00e8, 0x00ec, 0x01e1,
282     0x03cf, 0x03dd, 0x03db, 0x07d0, 0x0fc7, 0x0fd4, 0x0fe4, 0x00e6,
283     0x0070, 0x00e9, 0x01dd, 0x01e3, 0x03d2, 0x03dc, 0x07cc, 0x07ca,
284     0x07de, 0x0fd8, 0x0fea, 0x1fdb, 0x01df, 0x00eb, 0x01dc, 0x01e6,
285     0x03d5, 0x03de, 0x07cb, 0x07dd, 0x07dc, 0x0fcd, 0x0fe2, 0x0fe7,
286     0x1fe1, 0x03d0, 0x01e0, 0x01e4, 0x03d6, 0x07c5, 0x07d1, 0x07db,
287     0x0fd2, 0x07e0, 0x0fd9, 0x0feb, 0x1fe3, 0x1fe9, 0x07c4, 0x01e5,
288     0x03d7, 0x07c6, 0x07cf, 0x07da, 0x0fcb, 0x0fda, 0x0fe3, 0x0fe9,
289     0x1fe6, 0x1ff3, 0x1ff7, 0x07d3, 0x03d8, 0x03e1, 0x07d4, 0x07d9,
290     0x0fd3, 0x0fde, 0x1fdd, 0x1fd9, 0x1fe2, 0x1fea, 0x1ff1, 0x1ff6,
291     0x07d2, 0x03d4, 0x03da, 0x07c7, 0x07d7, 0x07e2, 0x0fce, 0x0fdb,
292     0x1fd8, 0x1fee, 0x3ff0, 0x1ff4, 0x3ff2, 0x07e1, 0x03df, 0x07c9,
293     0x07d6, 0x0fca, 0x0fd0, 0x0fe5, 0x0fe6, 0x1feb, 0x1fef, 0x3ff3,
294     0x3ff4, 0x3ff5, 0x0fe0, 0x07ce, 0x07d5, 0x0fc6, 0x0fd1, 0x0fe1,
295     0x1fe0, 0x1fe8, 0x1ff0, 0x3ff1, 0x3ff8, 0x3ff6, 0x7ffc, 0x0fe8,
296     0x07df, 0x0fc9, 0x0fd7, 0x0fdc, 0x1fdc, 0x1fdf, 0x1fed, 0x1ff5,
297     0x3ff9, 0x3ffb, 0x7ffd, 0x7ffe, 0x1fe7, 0x0fcc, 0x0fd6, 0x0fdf,
298     0x1fde, 0x1fda, 0x1fe5, 0x1ff2, 0x3ffa, 0x3ff7, 0x3ffc, 0x3ffd,
299     0x7fff,
300 };
301
302 static const uint8_t bits9[169] = {
303      1,  3,  6,  8,  9, 10, 10, 11, 11, 12, 12, 13, 13,  3,  4,  6,
304      7,  8,  8,  9, 10, 10, 10, 11, 12, 12,  6,  6,  7,  8,  8,  9,
305     10, 10, 10, 11, 12, 12, 12,  8,  7,  8,  9,  9, 10, 10, 11, 11,
306     11, 12, 12, 13,  9,  8,  9,  9, 10, 10, 11, 11, 11, 12, 12, 12,
307     13, 10,  9,  9, 10, 11, 11, 11, 12, 11, 12, 12, 13, 13, 11,  9,
308     10, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 11, 10, 10, 11, 11,
309     12, 12, 13, 13, 13, 13, 13, 13, 11, 10, 10, 11, 11, 11, 12, 12,
310     13, 13, 14, 13, 14, 11, 10, 11, 11, 12, 12, 12, 12, 13, 13, 14,
311     14, 14, 12, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 12,
312     11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15, 13, 12, 12, 12,
313     13, 13, 13, 13, 14, 14, 14, 14, 15,
314 };
315
316 static const uint16_t codes10[169] = {
317     0x022, 0x008, 0x01d, 0x026, 0x05f, 0x0d3, 0x1cf, 0x3d0,
318     0x3d7, 0x3ed, 0x7f0, 0x7f6, 0xffd, 0x007, 0x000, 0x001,
319     0x009, 0x020, 0x054, 0x060, 0x0d5, 0x0dc, 0x1d4, 0x3cd,
320     0x3de, 0x7e7, 0x01c, 0x002, 0x006, 0x00c, 0x01e, 0x028,
321     0x05b, 0x0cd, 0x0d9, 0x1ce, 0x1dc, 0x3d9, 0x3f1, 0x025,
322     0x00b, 0x00a, 0x00d, 0x024, 0x057, 0x061, 0x0cc, 0x0dd,
323     0x1cc, 0x1de, 0x3d3, 0x3e7, 0x05d, 0x021, 0x01f, 0x023,
324     0x027, 0x059, 0x064, 0x0d8, 0x0df, 0x1d2, 0x1e2, 0x3dd,
325     0x3ee, 0x0d1, 0x055, 0x029, 0x056, 0x058, 0x062, 0x0ce,
326     0x0e0, 0x0e2, 0x1da, 0x3d4, 0x3e3, 0x7eb, 0x1c9, 0x05e,
327     0x05a, 0x05c, 0x063, 0x0ca, 0x0da, 0x1c7, 0x1ca, 0x1e0,
328     0x3db, 0x3e8, 0x7ec, 0x1e3, 0x0d2, 0x0cb, 0x0d0, 0x0d7,
329     0x0db, 0x1c6, 0x1d5, 0x1d8, 0x3ca, 0x3da, 0x7ea, 0x7f1,
330     0x1e1, 0x0d4, 0x0cf, 0x0d6, 0x0de, 0x0e1, 0x1d0, 0x1d6,
331     0x3d1, 0x3d5, 0x3f2, 0x7ee, 0x7fb, 0x3e9, 0x1cd, 0x1c8,
332     0x1cb, 0x1d1, 0x1d7, 0x1df, 0x3cf, 0x3e0, 0x3ef, 0x7e6,
333     0x7f8, 0xffa, 0x3eb, 0x1dd, 0x1d3, 0x1d9, 0x1db, 0x3d2,
334     0x3cc, 0x3dc, 0x3ea, 0x7ed, 0x7f3, 0x7f9, 0xff9, 0x7f2,
335     0x3ce, 0x1e4, 0x3cb, 0x3d8, 0x3d6, 0x3e2, 0x3e5, 0x7e8,
336     0x7f4, 0x7f5, 0x7f7, 0xffb, 0x7fa, 0x3ec, 0x3df, 0x3e1,
337     0x3e4, 0x3e6, 0x3f0, 0x7e9, 0x7ef, 0xff8, 0xffe, 0xffc,
338     0xfff,
339 };
340
341 static const uint8_t bits10[169] = {
342      6,  5,  6,  6,  7,  8,  9, 10, 10, 10, 11, 11, 12,  5,  4,  4,
343      5,  6,  7,  7,  8,  8,  9, 10, 10, 11,  6,  4,  5,  5,  6,  6,
344      7,  8,  8,  9,  9, 10, 10,  6,  5,  5,  5,  6,  7,  7,  8,  8,
345      9,  9, 10, 10,  7,  6,  6,  6,  6,  7,  7,  8,  8,  9,  9, 10,
346     10,  8,  7,  6,  7,  7,  7,  8,  8,  8,  9, 10, 10, 11,  9,  7,
347      7,  7,  7,  8,  8,  9,  9,  9, 10, 10, 11,  9,  8,  8,  8,  8,
348      8,  9,  9,  9, 10, 10, 11, 11,  9,  8,  8,  8,  8,  8,  9,  9,
349     10, 10, 10, 11, 11, 10,  9,  9,  9,  9,  9,  9, 10, 10, 10, 11,
350     11, 12, 10,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 12, 11,
351     10,  9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 11, 10, 10, 10,
352     10, 10, 10, 11, 11, 12, 12, 12, 12,
353 };
354
355 static const uint16_t codes11[289] = {
356     0x000, 0x006, 0x019, 0x03d, 0x09c, 0x0c6, 0x1a7, 0x390,
357     0x3c2, 0x3df, 0x7e6, 0x7f3, 0xffb, 0x7ec, 0xffa, 0xffe,
358     0x38e, 0x005, 0x001, 0x008, 0x014, 0x037, 0x042, 0x092,
359     0x0af, 0x191, 0x1a5, 0x1b5, 0x39e, 0x3c0, 0x3a2, 0x3cd,
360     0x7d6, 0x0ae, 0x017, 0x007, 0x009, 0x018, 0x039, 0x040,
361     0x08e, 0x0a3, 0x0b8, 0x199, 0x1ac, 0x1c1, 0x3b1, 0x396,
362     0x3be, 0x3ca, 0x09d, 0x03c, 0x015, 0x016, 0x01a, 0x03b,
363     0x044, 0x091, 0x0a5, 0x0be, 0x196, 0x1ae, 0x1b9, 0x3a1,
364     0x391, 0x3a5, 0x3d5, 0x094, 0x09a, 0x036, 0x038, 0x03a,
365     0x041, 0x08c, 0x09b, 0x0b0, 0x0c3, 0x19e, 0x1ab, 0x1bc,
366     0x39f, 0x38f, 0x3a9, 0x3cf, 0x093, 0x0bf, 0x03e, 0x03f,
367     0x043, 0x045, 0x09e, 0x0a7, 0x0b9, 0x194, 0x1a2, 0x1ba,
368     0x1c3, 0x3a6, 0x3a7, 0x3bb, 0x3d4, 0x09f, 0x1a0, 0x08f,
369     0x08d, 0x090, 0x098, 0x0a6, 0x0b6, 0x0c4, 0x19f, 0x1af,
370     0x1bf, 0x399, 0x3bf, 0x3b4, 0x3c9, 0x3e7, 0x0a8, 0x1b6,
371     0x0ab, 0x0a4, 0x0aa, 0x0b2, 0x0c2, 0x0c5, 0x198, 0x1a4,
372     0x1b8, 0x38c, 0x3a4, 0x3c4, 0x3c6, 0x3dd, 0x3e8, 0x0ad,
373     0x3af, 0x192, 0x0bd, 0x0bc, 0x18e, 0x197, 0x19a, 0x1a3,
374     0x1b1, 0x38d, 0x398, 0x3b7, 0x3d3, 0x3d1, 0x3db, 0x7dd,
375     0x0b4, 0x3de, 0x1a9, 0x19b, 0x19c, 0x1a1, 0x1aa, 0x1ad,
376     0x1b3, 0x38b, 0x3b2, 0x3b8, 0x3ce, 0x3e1, 0x3e0, 0x7d2,
377     0x7e5, 0x0b7, 0x7e3, 0x1bb, 0x1a8, 0x1a6, 0x1b0, 0x1b2,
378     0x1b7, 0x39b, 0x39a, 0x3ba, 0x3b5, 0x3d6, 0x7d7, 0x3e4,
379     0x7d8, 0x7ea, 0x0ba, 0x7e8, 0x3a0, 0x1bd, 0x1b4, 0x38a,
380     0x1c4, 0x392, 0x3aa, 0x3b0, 0x3bc, 0x3d7, 0x7d4, 0x7dc,
381     0x7db, 0x7d5, 0x7f0, 0x0c1, 0x7fb, 0x3c8, 0x3a3, 0x395,
382     0x39d, 0x3ac, 0x3ae, 0x3c5, 0x3d8, 0x3e2, 0x3e6, 0x7e4,
383     0x7e7, 0x7e0, 0x7e9, 0x7f7, 0x190, 0x7f2, 0x393, 0x1be,
384     0x1c0, 0x394, 0x397, 0x3ad, 0x3c3, 0x3c1, 0x3d2, 0x7da,
385     0x7d9, 0x7df, 0x7eb, 0x7f4, 0x7fa, 0x195, 0x7f8, 0x3bd,
386     0x39c, 0x3ab, 0x3a8, 0x3b3, 0x3b9, 0x3d0, 0x3e3, 0x3e5,
387     0x7e2, 0x7de, 0x7ed, 0x7f1, 0x7f9, 0x7fc, 0x193, 0xffd,
388     0x3dc, 0x3b6, 0x3c7, 0x3cc, 0x3cb, 0x3d9, 0x3da, 0x7d3,
389     0x7e1, 0x7ee, 0x7ef, 0x7f5, 0x7f6, 0xffc, 0xfff, 0x19d,
390     0x1c2, 0x0b5, 0x0a1, 0x096, 0x097, 0x095, 0x099, 0x0a0,
391     0x0a2, 0x0ac, 0x0a9, 0x0b1, 0x0b3, 0x0bb, 0x0c0, 0x18f,
392     0x004,
393 };
394
395 static const uint8_t bits11[289] = {
396      4,  5,  6,  7,  8,  8,  9, 10, 10, 10, 11, 11, 12, 11, 12, 12,
397     10,  5,  4,  5,  6,  7,  7,  8,  8,  9,  9,  9, 10, 10, 10, 10,
398     11,  8,  6,  5,  5,  6,  7,  7,  8,  8,  8,  9,  9,  9, 10, 10,
399     10, 10,  8,  7,  6,  6,  6,  7,  7,  8,  8,  8,  9,  9,  9, 10,
400     10, 10, 10,  8,  8,  7,  7,  7,  7,  8,  8,  8,  8,  9,  9,  9,
401     10, 10, 10, 10,  8,  8,  7,  7,  7,  7,  8,  8,  8,  9,  9,  9,
402      9, 10, 10, 10, 10,  8,  9,  8,  8,  8,  8,  8,  8,  8,  9,  9,
403      9, 10, 10, 10, 10, 10,  8,  9,  8,  8,  8,  8,  8,  8,  9,  9,
404      9, 10, 10, 10, 10, 10, 10,  8, 10,  9,  8,  8,  9,  9,  9,  9,
405      9, 10, 10, 10, 10, 10, 10, 11,  8, 10,  9,  9,  9,  9,  9,  9,
406      9, 10, 10, 10, 10, 10, 10, 11, 11,  8, 11,  9,  9,  9,  9,  9,
407      9, 10, 10, 10, 10, 10, 11, 10, 11, 11,  8, 11, 10,  9,  9, 10,
408      9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,  8, 11, 10, 10, 10,
409     10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,  9, 11, 10,  9,
410      9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,  9, 11, 10,
411     10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,  9, 12,
412     10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12,  9,
413      9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,
414      5,
415 };
416
417 const uint16_t * const ff_aac_spectral_codes[11] = {
418     codes1,  codes2,  codes3, codes4, codes5, codes6, codes7, codes8,
419     codes9, codes10, codes11,
420 };
421
422 const uint8_t * const ff_aac_spectral_bits[11] = {
423     bits1,  bits2,  bits3, bits4, bits5, bits6, bits7, bits8,
424     bits9, bits10, bits11,
425 };
426
427 const uint16_t ff_aac_spectral_sizes[11] = {
428     81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289,
429 };
430
431 /* NOTE:
432  * 64.0f is a special value indicating the existence of an escape code in the
433  * bitstream.
434  */
435 static const DECLARE_ALIGNED(16, float, codebook_vector0)[324] = {
436  -1.0000000, -1.0000000, -1.0000000, -1.0000000,
437  -1.0000000, -1.0000000, -1.0000000,  0.0000000,
438  -1.0000000, -1.0000000, -1.0000000,  1.0000000,
439  -1.0000000, -1.0000000,  0.0000000, -1.0000000,
440  -1.0000000, -1.0000000,  0.0000000,  0.0000000,
441  -1.0000000, -1.0000000,  0.0000000,  1.0000000,
442  -1.0000000, -1.0000000,  1.0000000, -1.0000000,
443  -1.0000000, -1.0000000,  1.0000000,  0.0000000,
444  -1.0000000, -1.0000000,  1.0000000,  1.0000000,
445  -1.0000000,  0.0000000, -1.0000000, -1.0000000,
446  -1.0000000,  0.0000000, -1.0000000,  0.0000000,
447  -1.0000000,  0.0000000, -1.0000000,  1.0000000,
448  -1.0000000,  0.0000000,  0.0000000, -1.0000000,
449  -1.0000000,  0.0000000,  0.0000000,  0.0000000,
450  -1.0000000,  0.0000000,  0.0000000,  1.0000000,
451  -1.0000000,  0.0000000,  1.0000000, -1.0000000,
452  -1.0000000,  0.0000000,  1.0000000,  0.0000000,
453  -1.0000000,  0.0000000,  1.0000000,  1.0000000,
454  -1.0000000,  1.0000000, -1.0000000, -1.0000000,
455  -1.0000000,  1.0000000, -1.0000000,  0.0000000,
456  -1.0000000,  1.0000000, -1.0000000,  1.0000000,
457  -1.0000000,  1.0000000,  0.0000000, -1.0000000,
458  -1.0000000,  1.0000000,  0.0000000,  0.0000000,
459  -1.0000000,  1.0000000,  0.0000000,  1.0000000,
460  -1.0000000,  1.0000000,  1.0000000, -1.0000000,
461  -1.0000000,  1.0000000,  1.0000000,  0.0000000,
462  -1.0000000,  1.0000000,  1.0000000,  1.0000000,
463   0.0000000, -1.0000000, -1.0000000, -1.0000000,
464   0.0000000, -1.0000000, -1.0000000,  0.0000000,
465   0.0000000, -1.0000000, -1.0000000,  1.0000000,
466   0.0000000, -1.0000000,  0.0000000, -1.0000000,
467   0.0000000, -1.0000000,  0.0000000,  0.0000000,
468   0.0000000, -1.0000000,  0.0000000,  1.0000000,
469   0.0000000, -1.0000000,  1.0000000, -1.0000000,
470   0.0000000, -1.0000000,  1.0000000,  0.0000000,
471   0.0000000, -1.0000000,  1.0000000,  1.0000000,
472   0.0000000,  0.0000000, -1.0000000, -1.0000000,
473   0.0000000,  0.0000000, -1.0000000,  0.0000000,
474   0.0000000,  0.0000000, -1.0000000,  1.0000000,
475   0.0000000,  0.0000000,  0.0000000, -1.0000000,
476   0.0000000,  0.0000000,  0.0000000,  0.0000000,
477   0.0000000,  0.0000000,  0.0000000,  1.0000000,
478   0.0000000,  0.0000000,  1.0000000, -1.0000000,
479   0.0000000,  0.0000000,  1.0000000,  0.0000000,
480   0.0000000,  0.0000000,  1.0000000,  1.0000000,
481   0.0000000,  1.0000000, -1.0000000, -1.0000000,
482   0.0000000,  1.0000000, -1.0000000,  0.0000000,
483   0.0000000,  1.0000000, -1.0000000,  1.0000000,
484   0.0000000,  1.0000000,  0.0000000, -1.0000000,
485   0.0000000,  1.0000000,  0.0000000,  0.0000000,
486   0.0000000,  1.0000000,  0.0000000,  1.0000000,
487   0.0000000,  1.0000000,  1.0000000, -1.0000000,
488   0.0000000,  1.0000000,  1.0000000,  0.0000000,
489   0.0000000,  1.0000000,  1.0000000,  1.0000000,
490   1.0000000, -1.0000000, -1.0000000, -1.0000000,
491   1.0000000, -1.0000000, -1.0000000,  0.0000000,
492   1.0000000, -1.0000000, -1.0000000,  1.0000000,
493   1.0000000, -1.0000000,  0.0000000, -1.0000000,
494   1.0000000, -1.0000000,  0.0000000,  0.0000000,
495   1.0000000, -1.0000000,  0.0000000,  1.0000000,
496   1.0000000, -1.0000000,  1.0000000, -1.0000000,
497   1.0000000, -1.0000000,  1.0000000,  0.0000000,
498   1.0000000, -1.0000000,  1.0000000,  1.0000000,
499   1.0000000,  0.0000000, -1.0000000, -1.0000000,
500   1.0000000,  0.0000000, -1.0000000,  0.0000000,
501   1.0000000,  0.0000000, -1.0000000,  1.0000000,
502   1.0000000,  0.0000000,  0.0000000, -1.0000000,
503   1.0000000,  0.0000000,  0.0000000,  0.0000000,
504   1.0000000,  0.0000000,  0.0000000,  1.0000000,
505   1.0000000,  0.0000000,  1.0000000, -1.0000000,
506   1.0000000,  0.0000000,  1.0000000,  0.0000000,
507   1.0000000,  0.0000000,  1.0000000,  1.0000000,
508   1.0000000,  1.0000000, -1.0000000, -1.0000000,
509   1.0000000,  1.0000000, -1.0000000,  0.0000000,
510   1.0000000,  1.0000000, -1.0000000,  1.0000000,
511   1.0000000,  1.0000000,  0.0000000, -1.0000000,
512   1.0000000,  1.0000000,  0.0000000,  0.0000000,
513   1.0000000,  1.0000000,  0.0000000,  1.0000000,
514   1.0000000,  1.0000000,  1.0000000, -1.0000000,
515   1.0000000,  1.0000000,  1.0000000,  0.0000000,
516   1.0000000,  1.0000000,  1.0000000,  1.0000000,
517 };
518
519 static const DECLARE_ALIGNED(16, float, codebook_vector2)[324] = {
520   0.0000000,  0.0000000,  0.0000000,  0.0000000,
521   0.0000000,  0.0000000,  0.0000000,  1.0000000,
522   0.0000000,  0.0000000,  0.0000000,  2.5198421,
523   0.0000000,  0.0000000,  1.0000000,  0.0000000,
524   0.0000000,  0.0000000,  1.0000000,  1.0000000,
525   0.0000000,  0.0000000,  1.0000000,  2.5198421,
526   0.0000000,  0.0000000,  2.5198421,  0.0000000,
527   0.0000000,  0.0000000,  2.5198421,  1.0000000,
528   0.0000000,  0.0000000,  2.5198421,  2.5198421,
529   0.0000000,  1.0000000,  0.0000000,  0.0000000,
530   0.0000000,  1.0000000,  0.0000000,  1.0000000,
531   0.0000000,  1.0000000,  0.0000000,  2.5198421,
532   0.0000000,  1.0000000,  1.0000000,  0.0000000,
533   0.0000000,  1.0000000,  1.0000000,  1.0000000,
534   0.0000000,  1.0000000,  1.0000000,  2.5198421,
535   0.0000000,  1.0000000,  2.5198421,  0.0000000,
536   0.0000000,  1.0000000,  2.5198421,  1.0000000,
537   0.0000000,  1.0000000,  2.5198421,  2.5198421,
538   0.0000000,  2.5198421,  0.0000000,  0.0000000,
539   0.0000000,  2.5198421,  0.0000000,  1.0000000,
540   0.0000000,  2.5198421,  0.0000000,  2.5198421,
541   0.0000000,  2.5198421,  1.0000000,  0.0000000,
542   0.0000000,  2.5198421,  1.0000000,  1.0000000,
543   0.0000000,  2.5198421,  1.0000000,  2.5198421,
544   0.0000000,  2.5198421,  2.5198421,  0.0000000,
545   0.0000000,  2.5198421,  2.5198421,  1.0000000,
546   0.0000000,  2.5198421,  2.5198421,  2.5198421,
547   1.0000000,  0.0000000,  0.0000000,  0.0000000,
548   1.0000000,  0.0000000,  0.0000000,  1.0000000,
549   1.0000000,  0.0000000,  0.0000000,  2.5198421,
550   1.0000000,  0.0000000,  1.0000000,  0.0000000,
551   1.0000000,  0.0000000,  1.0000000,  1.0000000,
552   1.0000000,  0.0000000,  1.0000000,  2.5198421,
553   1.0000000,  0.0000000,  2.5198421,  0.0000000,
554   1.0000000,  0.0000000,  2.5198421,  1.0000000,
555   1.0000000,  0.0000000,  2.5198421,  2.5198421,
556   1.0000000,  1.0000000,  0.0000000,  0.0000000,
557   1.0000000,  1.0000000,  0.0000000,  1.0000000,
558   1.0000000,  1.0000000,  0.0000000,  2.5198421,
559   1.0000000,  1.0000000,  1.0000000,  0.0000000,
560   1.0000000,  1.0000000,  1.0000000,  1.0000000,
561   1.0000000,  1.0000000,  1.0000000,  2.5198421,
562   1.0000000,  1.0000000,  2.5198421,  0.0000000,
563   1.0000000,  1.0000000,  2.5198421,  1.0000000,
564   1.0000000,  1.0000000,  2.5198421,  2.5198421,
565   1.0000000,  2.5198421,  0.0000000,  0.0000000,
566   1.0000000,  2.5198421,  0.0000000,  1.0000000,
567   1.0000000,  2.5198421,  0.0000000,  2.5198421,
568   1.0000000,  2.5198421,  1.0000000,  0.0000000,
569   1.0000000,  2.5198421,  1.0000000,  1.0000000,
570   1.0000000,  2.5198421,  1.0000000,  2.5198421,
571   1.0000000,  2.5198421,  2.5198421,  0.0000000,
572   1.0000000,  2.5198421,  2.5198421,  1.0000000,
573   1.0000000,  2.5198421,  2.5198421,  2.5198421,
574   2.5198421,  0.0000000,  0.0000000,  0.0000000,
575   2.5198421,  0.0000000,  0.0000000,  1.0000000,
576   2.5198421,  0.0000000,  0.0000000,  2.5198421,
577   2.5198421,  0.0000000,  1.0000000,  0.0000000,
578   2.5198421,  0.0000000,  1.0000000,  1.0000000,
579   2.5198421,  0.0000000,  1.0000000,  2.5198421,
580   2.5198421,  0.0000000,  2.5198421,  0.0000000,
581   2.5198421,  0.0000000,  2.5198421,  1.0000000,
582   2.5198421,  0.0000000,  2.5198421,  2.5198421,
583   2.5198421,  1.0000000,  0.0000000,  0.0000000,
584   2.5198421,  1.0000000,  0.0000000,  1.0000000,
585   2.5198421,  1.0000000,  0.0000000,  2.5198421,
586   2.5198421,  1.0000000,  1.0000000,  0.0000000,
587   2.5198421,  1.0000000,  1.0000000,  1.0000000,
588   2.5198421,  1.0000000,  1.0000000,  2.5198421,
589   2.5198421,  1.0000000,  2.5198421,  0.0000000,
590   2.5198421,  1.0000000,  2.5198421,  1.0000000,
591   2.5198421,  1.0000000,  2.5198421,  2.5198421,
592   2.5198421,  2.5198421,  0.0000000,  0.0000000,
593   2.5198421,  2.5198421,  0.0000000,  1.0000000,
594   2.5198421,  2.5198421,  0.0000000,  2.5198421,
595   2.5198421,  2.5198421,  1.0000000,  0.0000000,
596   2.5198421,  2.5198421,  1.0000000,  1.0000000,
597   2.5198421,  2.5198421,  1.0000000,  2.5198421,
598   2.5198421,  2.5198421,  2.5198421,  0.0000000,
599   2.5198421,  2.5198421,  2.5198421,  1.0000000,
600   2.5198421,  2.5198421,  2.5198421,  2.5198421,
601 };
602
603 static const DECLARE_ALIGNED(16, float, codebook_vector4)[162] = {
604  -6.3496042, -6.3496042, -6.3496042, -4.3267487,
605  -6.3496042, -2.5198421, -6.3496042, -1.0000000,
606  -6.3496042,  0.0000000, -6.3496042,  1.0000000,
607  -6.3496042,  2.5198421, -6.3496042,  4.3267487,
608  -6.3496042,  6.3496042, -4.3267487, -6.3496042,
609  -4.3267487, -4.3267487, -4.3267487, -2.5198421,
610  -4.3267487, -1.0000000, -4.3267487,  0.0000000,
611  -4.3267487,  1.0000000, -4.3267487,  2.5198421,
612  -4.3267487,  4.3267487, -4.3267487,  6.3496042,
613  -2.5198421, -6.3496042, -2.5198421, -4.3267487,
614  -2.5198421, -2.5198421, -2.5198421, -1.0000000,
615  -2.5198421,  0.0000000, -2.5198421,  1.0000000,
616  -2.5198421,  2.5198421, -2.5198421,  4.3267487,
617  -2.5198421,  6.3496042, -1.0000000, -6.3496042,
618  -1.0000000, -4.3267487, -1.0000000, -2.5198421,
619  -1.0000000, -1.0000000, -1.0000000,  0.0000000,
620  -1.0000000,  1.0000000, -1.0000000,  2.5198421,
621  -1.0000000,  4.3267487, -1.0000000,  6.3496042,
622   0.0000000, -6.3496042,  0.0000000, -4.3267487,
623   0.0000000, -2.5198421,  0.0000000, -1.0000000,
624   0.0000000,  0.0000000,  0.0000000,  1.0000000,
625   0.0000000,  2.5198421,  0.0000000,  4.3267487,
626   0.0000000,  6.3496042,  1.0000000, -6.3496042,
627   1.0000000, -4.3267487,  1.0000000, -2.5198421,
628   1.0000000, -1.0000000,  1.0000000,  0.0000000,
629   1.0000000,  1.0000000,  1.0000000,  2.5198421,
630   1.0000000,  4.3267487,  1.0000000,  6.3496042,
631   2.5198421, -6.3496042,  2.5198421, -4.3267487,
632   2.5198421, -2.5198421,  2.5198421, -1.0000000,
633   2.5198421,  0.0000000,  2.5198421,  1.0000000,
634   2.5198421,  2.5198421,  2.5198421,  4.3267487,
635   2.5198421,  6.3496042,  4.3267487, -6.3496042,
636   4.3267487, -4.3267487,  4.3267487, -2.5198421,
637   4.3267487, -1.0000000,  4.3267487,  0.0000000,
638   4.3267487,  1.0000000,  4.3267487,  2.5198421,
639   4.3267487,  4.3267487,  4.3267487,  6.3496042,
640   6.3496042, -6.3496042,  6.3496042, -4.3267487,
641   6.3496042, -2.5198421,  6.3496042, -1.0000000,
642   6.3496042,  0.0000000,  6.3496042,  1.0000000,
643   6.3496042,  2.5198421,  6.3496042,  4.3267487,
644   6.3496042,  6.3496042,
645 };
646
647 static const DECLARE_ALIGNED(16, float, codebook_vector6)[128] = {
648   0.0000000,  0.0000000,  0.0000000,  1.0000000,
649   0.0000000,  2.5198421,  0.0000000,  4.3267487,
650   0.0000000,  6.3496042,  0.0000000,  8.5498797,
651   0.0000000, 10.9027236,  0.0000000, 13.3905183,
652   1.0000000,  0.0000000,  1.0000000,  1.0000000,
653   1.0000000,  2.5198421,  1.0000000,  4.3267487,
654   1.0000000,  6.3496042,  1.0000000,  8.5498797,
655   1.0000000, 10.9027236,  1.0000000, 13.3905183,
656   2.5198421,  0.0000000,  2.5198421,  1.0000000,
657   2.5198421,  2.5198421,  2.5198421,  4.3267487,
658   2.5198421,  6.3496042,  2.5198421,  8.5498797,
659   2.5198421, 10.9027236,  2.5198421, 13.3905183,
660   4.3267487,  0.0000000,  4.3267487,  1.0000000,
661   4.3267487,  2.5198421,  4.3267487,  4.3267487,
662   4.3267487,  6.3496042,  4.3267487,  8.5498797,
663   4.3267487, 10.9027236,  4.3267487, 13.3905183,
664   6.3496042,  0.0000000,  6.3496042,  1.0000000,
665   6.3496042,  2.5198421,  6.3496042,  4.3267487,
666   6.3496042,  6.3496042,  6.3496042,  8.5498797,
667   6.3496042, 10.9027236,  6.3496042, 13.3905183,
668   8.5498797,  0.0000000,  8.5498797,  1.0000000,
669   8.5498797,  2.5198421,  8.5498797,  4.3267487,
670   8.5498797,  6.3496042,  8.5498797,  8.5498797,
671   8.5498797, 10.9027236,  8.5498797, 13.3905183,
672  10.9027236,  0.0000000, 10.9027236,  1.0000000,
673  10.9027236,  2.5198421, 10.9027236,  4.3267487,
674  10.9027236,  6.3496042, 10.9027236,  8.5498797,
675  10.9027236, 10.9027236, 10.9027236, 13.3905183,
676  13.3905183,  0.0000000, 13.3905183,  1.0000000,
677  13.3905183,  2.5198421, 13.3905183,  4.3267487,
678  13.3905183,  6.3496042, 13.3905183,  8.5498797,
679  13.3905183, 10.9027236, 13.3905183, 13.3905183,
680 };
681
682 static const DECLARE_ALIGNED(16, float, codebook_vector8)[338] = {
683   0.0000000,  0.0000000,  0.0000000,  1.0000000,
684   0.0000000,  2.5198421,  0.0000000,  4.3267487,
685   0.0000000,  6.3496042,  0.0000000,  8.5498797,
686   0.0000000, 10.9027236,  0.0000000, 13.3905183,
687   0.0000000, 16.0000000,  0.0000000, 18.7207544,
688   0.0000000, 21.5443469,  0.0000000, 24.4637810,
689   0.0000000, 27.4731418,  1.0000000,  0.0000000,
690   1.0000000,  1.0000000,  1.0000000,  2.5198421,
691   1.0000000,  4.3267487,  1.0000000,  6.3496042,
692   1.0000000,  8.5498797,  1.0000000, 10.9027236,
693   1.0000000, 13.3905183,  1.0000000, 16.0000000,
694   1.0000000, 18.7207544,  1.0000000, 21.5443469,
695   1.0000000, 24.4637810,  1.0000000, 27.4731418,
696   2.5198421,  0.0000000,  2.5198421,  1.0000000,
697   2.5198421,  2.5198421,  2.5198421,  4.3267487,
698   2.5198421,  6.3496042,  2.5198421,  8.5498797,
699   2.5198421, 10.9027236,  2.5198421, 13.3905183,
700   2.5198421, 16.0000000,  2.5198421, 18.7207544,
701   2.5198421, 21.5443469,  2.5198421, 24.4637810,
702   2.5198421, 27.4731418,  4.3267487,  0.0000000,
703   4.3267487,  1.0000000,  4.3267487,  2.5198421,
704   4.3267487,  4.3267487,  4.3267487,  6.3496042,
705   4.3267487,  8.5498797,  4.3267487, 10.9027236,
706   4.3267487, 13.3905183,  4.3267487, 16.0000000,
707   4.3267487, 18.7207544,  4.3267487, 21.5443469,
708   4.3267487, 24.4637810,  4.3267487, 27.4731418,
709   6.3496042,  0.0000000,  6.3496042,  1.0000000,
710   6.3496042,  2.5198421,  6.3496042,  4.3267487,
711   6.3496042,  6.3496042,  6.3496042,  8.5498797,
712   6.3496042, 10.9027236,  6.3496042, 13.3905183,
713   6.3496042, 16.0000000,  6.3496042, 18.7207544,
714   6.3496042, 21.5443469,  6.3496042, 24.4637810,
715   6.3496042, 27.4731418,  8.5498797,  0.0000000,
716   8.5498797,  1.0000000,  8.5498797,  2.5198421,
717   8.5498797,  4.3267487,  8.5498797,  6.3496042,
718   8.5498797,  8.5498797,  8.5498797, 10.9027236,
719   8.5498797, 13.3905183,  8.5498797, 16.0000000,
720   8.5498797, 18.7207544,  8.5498797, 21.5443469,
721   8.5498797, 24.4637810,  8.5498797, 27.4731418,
722  10.9027236,  0.0000000, 10.9027236,  1.0000000,
723  10.9027236,  2.5198421, 10.9027236,  4.3267487,
724  10.9027236,  6.3496042, 10.9027236,  8.5498797,
725  10.9027236, 10.9027236, 10.9027236, 13.3905183,
726  10.9027236, 16.0000000, 10.9027236, 18.7207544,
727  10.9027236, 21.5443469, 10.9027236, 24.4637810,
728  10.9027236, 27.4731418, 13.3905183,  0.0000000,
729  13.3905183,  1.0000000, 13.3905183,  2.5198421,
730  13.3905183,  4.3267487, 13.3905183,  6.3496042,
731  13.3905183,  8.5498797, 13.3905183, 10.9027236,
732  13.3905183, 13.3905183, 13.3905183, 16.0000000,
733  13.3905183, 18.7207544, 13.3905183, 21.5443469,
734  13.3905183, 24.4637810, 13.3905183, 27.4731418,
735  16.0000000,  0.0000000, 16.0000000,  1.0000000,
736  16.0000000,  2.5198421, 16.0000000,  4.3267487,
737  16.0000000,  6.3496042, 16.0000000,  8.5498797,
738  16.0000000, 10.9027236, 16.0000000, 13.3905183,
739  16.0000000, 16.0000000, 16.0000000, 18.7207544,
740  16.0000000, 21.5443469, 16.0000000, 24.4637810,
741  16.0000000, 27.4731418, 18.7207544,  0.0000000,
742  18.7207544,  1.0000000, 18.7207544,  2.5198421,
743  18.7207544,  4.3267487, 18.7207544,  6.3496042,
744  18.7207544,  8.5498797, 18.7207544, 10.9027236,
745  18.7207544, 13.3905183, 18.7207544, 16.0000000,
746  18.7207544, 18.7207544, 18.7207544, 21.5443469,
747  18.7207544, 24.4637810, 18.7207544, 27.4731418,
748  21.5443469,  0.0000000, 21.5443469,  1.0000000,
749  21.5443469,  2.5198421, 21.5443469,  4.3267487,
750  21.5443469,  6.3496042, 21.5443469,  8.5498797,
751  21.5443469, 10.9027236, 21.5443469, 13.3905183,
752  21.5443469, 16.0000000, 21.5443469, 18.7207544,
753  21.5443469, 21.5443469, 21.5443469, 24.4637810,
754  21.5443469, 27.4731418, 24.4637810,  0.0000000,
755  24.4637810,  1.0000000, 24.4637810,  2.5198421,
756  24.4637810,  4.3267487, 24.4637810,  6.3496042,
757  24.4637810,  8.5498797, 24.4637810, 10.9027236,
758  24.4637810, 13.3905183, 24.4637810, 16.0000000,
759  24.4637810, 18.7207544, 24.4637810, 21.5443469,
760  24.4637810, 24.4637810, 24.4637810, 27.4731418,
761  27.4731418,  0.0000000, 27.4731418,  1.0000000,
762  27.4731418,  2.5198421, 27.4731418,  4.3267487,
763  27.4731418,  6.3496042, 27.4731418,  8.5498797,
764  27.4731418, 10.9027236, 27.4731418, 13.3905183,
765  27.4731418, 16.0000000, 27.4731418, 18.7207544,
766  27.4731418, 21.5443469, 27.4731418, 24.4637810,
767  27.4731418, 27.4731418,
768 };
769
770 static const DECLARE_ALIGNED(16, float, codebook_vector10)[578] = {
771   0.0000000,  0.0000000,  0.0000000,  1.0000000,
772   0.0000000,  2.5198421,  0.0000000,  4.3267487,
773   0.0000000,  6.3496042,  0.0000000,  8.5498797,
774   0.0000000, 10.9027236,  0.0000000, 13.3905183,
775   0.0000000, 16.0000000,  0.0000000, 18.7207544,
776   0.0000000, 21.5443469,  0.0000000, 24.4637810,
777   0.0000000, 27.4731418,  0.0000000, 30.5673509,
778   0.0000000, 33.7419917,  0.0000000, 36.9931811,
779   0.0000000,      64.0f,  1.0000000,  0.0000000,
780   1.0000000,  1.0000000,  1.0000000,  2.5198421,
781   1.0000000,  4.3267487,  1.0000000,  6.3496042,
782   1.0000000,  8.5498797,  1.0000000, 10.9027236,
783   1.0000000, 13.3905183,  1.0000000, 16.0000000,
784   1.0000000, 18.7207544,  1.0000000, 21.5443469,
785   1.0000000, 24.4637810,  1.0000000, 27.4731418,
786   1.0000000, 30.5673509,  1.0000000, 33.7419917,
787   1.0000000, 36.9931811,  1.0000000,      64.0f,
788   2.5198421,  0.0000000,  2.5198421,  1.0000000,
789   2.5198421,  2.5198421,  2.5198421,  4.3267487,
790   2.5198421,  6.3496042,  2.5198421,  8.5498797,
791   2.5198421, 10.9027236,  2.5198421, 13.3905183,
792   2.5198421, 16.0000000,  2.5198421, 18.7207544,
793   2.5198421, 21.5443469,  2.5198421, 24.4637810,
794   2.5198421, 27.4731418,  2.5198421, 30.5673509,
795   2.5198421, 33.7419917,  2.5198421, 36.9931811,
796   2.5198421,      64.0f,  4.3267487,  0.0000000,
797   4.3267487,  1.0000000,  4.3267487,  2.5198421,
798   4.3267487,  4.3267487,  4.3267487,  6.3496042,
799   4.3267487,  8.5498797,  4.3267487, 10.9027236,
800   4.3267487, 13.3905183,  4.3267487, 16.0000000,
801   4.3267487, 18.7207544,  4.3267487, 21.5443469,
802   4.3267487, 24.4637810,  4.3267487, 27.4731418,
803   4.3267487, 30.5673509,  4.3267487, 33.7419917,
804   4.3267487, 36.9931811,  4.3267487,      64.0f,
805   6.3496042,  0.0000000,  6.3496042,  1.0000000,
806   6.3496042,  2.5198421,  6.3496042,  4.3267487,
807   6.3496042,  6.3496042,  6.3496042,  8.5498797,
808   6.3496042, 10.9027236,  6.3496042, 13.3905183,
809   6.3496042, 16.0000000,  6.3496042, 18.7207544,
810   6.3496042, 21.5443469,  6.3496042, 24.4637810,
811   6.3496042, 27.4731418,  6.3496042, 30.5673509,
812   6.3496042, 33.7419917,  6.3496042, 36.9931811,
813   6.3496042,      64.0f,  8.5498797,  0.0000000,
814   8.5498797,  1.0000000,  8.5498797,  2.5198421,
815   8.5498797,  4.3267487,  8.5498797,  6.3496042,
816   8.5498797,  8.5498797,  8.5498797, 10.9027236,
817   8.5498797, 13.3905183,  8.5498797, 16.0000000,
818   8.5498797, 18.7207544,  8.5498797, 21.5443469,
819   8.5498797, 24.4637810,  8.5498797, 27.4731418,
820   8.5498797, 30.5673509,  8.5498797, 33.7419917,
821   8.5498797, 36.9931811,  8.5498797,      64.0f,
822  10.9027236,  0.0000000, 10.9027236,  1.0000000,
823  10.9027236,  2.5198421, 10.9027236,  4.3267487,
824  10.9027236,  6.3496042, 10.9027236,  8.5498797,
825  10.9027236, 10.9027236, 10.9027236, 13.3905183,
826  10.9027236, 16.0000000, 10.9027236, 18.7207544,
827  10.9027236, 21.5443469, 10.9027236, 24.4637810,
828  10.9027236, 27.4731418, 10.9027236, 30.5673509,
829  10.9027236, 33.7419917, 10.9027236, 36.9931811,
830  10.9027236,      64.0f, 13.3905183,  0.0000000,
831  13.3905183,  1.0000000, 13.3905183,  2.5198421,
832  13.3905183,  4.3267487, 13.3905183,  6.3496042,
833  13.3905183,  8.5498797, 13.3905183, 10.9027236,
834  13.3905183, 13.3905183, 13.3905183, 16.0000000,
835  13.3905183, 18.7207544, 13.3905183, 21.5443469,
836  13.3905183, 24.4637810, 13.3905183, 27.4731418,
837  13.3905183, 30.5673509, 13.3905183, 33.7419917,
838  13.3905183, 36.9931811, 13.3905183,      64.0f,
839  16.0000000,  0.0000000, 16.0000000,  1.0000000,
840  16.0000000,  2.5198421, 16.0000000,  4.3267487,
841  16.0000000,  6.3496042, 16.0000000,  8.5498797,
842  16.0000000, 10.9027236, 16.0000000, 13.3905183,
843  16.0000000, 16.0000000, 16.0000000, 18.7207544,
844  16.0000000, 21.5443469, 16.0000000, 24.4637810,
845  16.0000000, 27.4731418, 16.0000000, 30.5673509,
846  16.0000000, 33.7419917, 16.0000000, 36.9931811,
847  16.0000000,      64.0f, 18.7207544,  0.0000000,
848  18.7207544,  1.0000000, 18.7207544,  2.5198421,
849  18.7207544,  4.3267487, 18.7207544,  6.3496042,
850  18.7207544,  8.5498797, 18.7207544, 10.9027236,
851  18.7207544, 13.3905183, 18.7207544, 16.0000000,
852  18.7207544, 18.7207544, 18.7207544, 21.5443469,
853  18.7207544, 24.4637810, 18.7207544, 27.4731418,
854  18.7207544, 30.5673509, 18.7207544, 33.7419917,
855  18.7207544, 36.9931811, 18.7207544,      64.0f,
856  21.5443469,  0.0000000, 21.5443469,  1.0000000,
857  21.5443469,  2.5198421, 21.5443469,  4.3267487,
858  21.5443469,  6.3496042, 21.5443469,  8.5498797,
859  21.5443469, 10.9027236, 21.5443469, 13.3905183,
860  21.5443469, 16.0000000, 21.5443469, 18.7207544,
861  21.5443469, 21.5443469, 21.5443469, 24.4637810,
862  21.5443469, 27.4731418, 21.5443469, 30.5673509,
863  21.5443469, 33.7419917, 21.5443469, 36.9931811,
864  21.5443469,      64.0f, 24.4637810,  0.0000000,
865  24.4637810,  1.0000000, 24.4637810,  2.5198421,
866  24.4637810,  4.3267487, 24.4637810,  6.3496042,
867  24.4637810,  8.5498797, 24.4637810, 10.9027236,
868  24.4637810, 13.3905183, 24.4637810, 16.0000000,
869  24.4637810, 18.7207544, 24.4637810, 21.5443469,
870  24.4637810, 24.4637810, 24.4637810, 27.4731418,
871  24.4637810, 30.5673509, 24.4637810, 33.7419917,
872  24.4637810, 36.9931811, 24.4637810,      64.0f,
873  27.4731418,  0.0000000, 27.4731418,  1.0000000,
874  27.4731418,  2.5198421, 27.4731418,  4.3267487,
875  27.4731418,  6.3496042, 27.4731418,  8.5498797,
876  27.4731418, 10.9027236, 27.4731418, 13.3905183,
877  27.4731418, 16.0000000, 27.4731418, 18.7207544,
878  27.4731418, 21.5443469, 27.4731418, 24.4637810,
879  27.4731418, 27.4731418, 27.4731418, 30.5673509,
880  27.4731418, 33.7419917, 27.4731418, 36.9931811,
881  27.4731418,      64.0f, 30.5673509,  0.0000000,
882  30.5673509,  1.0000000, 30.5673509,  2.5198421,
883  30.5673509,  4.3267487, 30.5673509,  6.3496042,
884  30.5673509,  8.5498797, 30.5673509, 10.9027236,
885  30.5673509, 13.3905183, 30.5673509, 16.0000000,
886  30.5673509, 18.7207544, 30.5673509, 21.5443469,
887  30.5673509, 24.4637810, 30.5673509, 27.4731418,
888  30.5673509, 30.5673509, 30.5673509, 33.7419917,
889  30.5673509, 36.9931811, 30.5673509,      64.0f,
890  33.7419917,  0.0000000, 33.7419917,  1.0000000,
891  33.7419917,  2.5198421, 33.7419917,  4.3267487,
892  33.7419917,  6.3496042, 33.7419917,  8.5498797,
893  33.7419917, 10.9027236, 33.7419917, 13.3905183,
894  33.7419917, 16.0000000, 33.7419917, 18.7207544,
895  33.7419917, 21.5443469, 33.7419917, 24.4637810,
896  33.7419917, 27.4731418, 33.7419917, 30.5673509,
897  33.7419917, 33.7419917, 33.7419917, 36.9931811,
898  33.7419917,      64.0f, 36.9931811,  0.0000000,
899  36.9931811,  1.0000000, 36.9931811,  2.5198421,
900  36.9931811,  4.3267487, 36.9931811,  6.3496042,
901  36.9931811,  8.5498797, 36.9931811, 10.9027236,
902  36.9931811, 13.3905183, 36.9931811, 16.0000000,
903  36.9931811, 18.7207544, 36.9931811, 21.5443469,
904  36.9931811, 24.4637810, 36.9931811, 27.4731418,
905  36.9931811, 30.5673509, 36.9931811, 33.7419917,
906  36.9931811, 36.9931811, 36.9931811,      64.0f,
907       64.0f,  0.0000000,      64.0f,  1.0000000,
908       64.0f,  2.5198421,      64.0f,  4.3267487,
909       64.0f,  6.3496042,      64.0f,  8.5498797,
910       64.0f, 10.9027236,      64.0f, 13.3905183,
911       64.0f, 16.0000000,      64.0f, 18.7207544,
912       64.0f, 21.5443469,      64.0f, 24.4637810,
913       64.0f, 27.4731418,      64.0f, 30.5673509,
914       64.0f, 33.7419917,      64.0f, 36.9931811,
915       64.0f,      64.0f,
916 };
917
918 const float * const ff_aac_codebook_vectors[] = {
919     codebook_vector0, codebook_vector0, codebook_vector2,
920     codebook_vector2, codebook_vector4, codebook_vector4,
921     codebook_vector6, codebook_vector6, codebook_vector8,
922     codebook_vector8, codebook_vector10,
923 };
924
925 static const float codebook_vector0_vals[] = {
926    -1.0000000,  0.0000000,  1.0000000
927 };
928
929 /*
930  * bits  0:1, 2:3, 4:5, 6:7  index into _vals array
931  *       8:11                number of non-zero values
932  *      12:15                bit mask of non-zero values
933  */
934 static const uint16_t codebook_vector02_idx[] = {
935     0x0000, 0x8140, 0x8180, 0x4110, 0xc250, 0xc290, 0x4120, 0xc260, 0xc2a0,
936     0x2104, 0xa244, 0xa284, 0x6214, 0xe354, 0xe394, 0x6224, 0xe364, 0xe3a4,
937     0x2108, 0xa248, 0xa288, 0x6218, 0xe358, 0xe398, 0x6228, 0xe368, 0xe3a8,
938     0x1101, 0x9241, 0x9281, 0x5211, 0xd351, 0xd391, 0x5221, 0xd361, 0xd3a1,
939     0x3205, 0xb345, 0xb385, 0x7315, 0xf455, 0xf495, 0x7325, 0xf465, 0xf4a5,
940     0x3209, 0xb349, 0xb389, 0x7319, 0xf459, 0xf499, 0x7329, 0xf469, 0xf4a9,
941     0x1102, 0x9242, 0x9282, 0x5212, 0xd352, 0xd392, 0x5222, 0xd362, 0xd3a2,
942     0x3206, 0xb346, 0xb386, 0x7316, 0xf456, 0xf496, 0x7326, 0xf466, 0xf4a6,
943     0x320a, 0xb34a, 0xb38a, 0x731a, 0xf45a, 0xf49a, 0x732a, 0xf46a, 0xf4aa,
944 };
945
946 static const float codebook_vector4_vals[] = {
947    -6.3496042, -4.3267487,
948    -2.5198421, -1.0000000,
949     0.0000000,  1.0000000,
950     2.5198421,  4.3267487,
951     6.3496042,
952 };
953
954 /*
955  * bits  0:3, 4:7  index into _vals array
956  */
957 static const uint16_t codebook_vector4_idx[] = {
958     0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0070, 0x0080,
959     0x0001, 0x0011, 0x0021, 0x0031, 0x0041, 0x0051, 0x0061, 0x0071, 0x0081,
960     0x0002, 0x0012, 0x0022, 0x0032, 0x0042, 0x0052, 0x0062, 0x0072, 0x0082,
961     0x0003, 0x0013, 0x0023, 0x0033, 0x0043, 0x0053, 0x0063, 0x0073, 0x0083,
962     0x0004, 0x0014, 0x0024, 0x0034, 0x0044, 0x0054, 0x0064, 0x0074, 0x0084,
963     0x0005, 0x0015, 0x0025, 0x0035, 0x0045, 0x0055, 0x0065, 0x0075, 0x0085,
964     0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0076, 0x0086,
965     0x0007, 0x0017, 0x0027, 0x0037, 0x0047, 0x0057, 0x0067, 0x0077, 0x0087,
966     0x0008, 0x0018, 0x0028, 0x0038, 0x0048, 0x0058, 0x0068, 0x0078, 0x0088,
967 };
968
969 /*
970  * bits  0:3, 4:7  index into _vals array
971  *       8:11      number of non-zero values
972  *      12:15      1: only second value non-zero
973  *                 0: other cases
974  */
975 static const uint16_t codebook_vector6_idx[] = {
976     0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
977     0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261, 0x0271,
978     0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262, 0x0272,
979     0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263, 0x0273,
980     0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264, 0x0274,
981     0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265, 0x0275,
982     0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266, 0x0276,
983     0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267, 0x0277,
984 };
985
986 /*
987  * bits  0:3, 4:7  index into _vals array
988  *       8:11      number of non-zero values
989  *      12:15      1: only second value non-zero
990  *                 0: other cases
991  */
992 static const uint16_t codebook_vector8_idx[] = {
993   0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
994   0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0,
995   0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261,
996   0x0271, 0x0281, 0x0291, 0x02a1, 0x02b1, 0x02c1,
997   0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262,
998   0x0272, 0x0282, 0x0292, 0x02a2, 0x02b2, 0x02c2,
999   0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263,
1000   0x0273, 0x0283, 0x0293, 0x02a3, 0x02b3, 0x02c3,
1001   0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264,
1002   0x0274, 0x0284, 0x0294, 0x02a4, 0x02b4, 0x02c4,
1003   0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265,
1004   0x0275, 0x0285, 0x0295, 0x02a5, 0x02b5, 0x02c5,
1005   0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266,
1006   0x0276, 0x0286, 0x0296, 0x02a6, 0x02b6, 0x02c6,
1007   0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267,
1008   0x0277, 0x0287, 0x0297, 0x02a7, 0x02b7, 0x02c7,
1009   0x1108, 0x0218, 0x0228, 0x0238, 0x0248, 0x0258, 0x0268,
1010   0x0278, 0x0288, 0x0298, 0x02a8, 0x02b8, 0x02c8,
1011   0x1109, 0x0219, 0x0229, 0x0239, 0x0249, 0x0259, 0x0269,
1012   0x0279, 0x0289, 0x0299, 0x02a9, 0x02b9, 0x02c9,
1013   0x110a, 0x021a, 0x022a, 0x023a, 0x024a, 0x025a, 0x026a,
1014   0x027a, 0x028a, 0x029a, 0x02aa, 0x02ba, 0x02ca,
1015   0x110b, 0x021b, 0x022b, 0x023b, 0x024b, 0x025b, 0x026b,
1016   0x027b, 0x028b, 0x029b, 0x02ab, 0x02bb, 0x02cb,
1017   0x110c, 0x021c, 0x022c, 0x023c, 0x024c, 0x025c, 0x026c,
1018   0x027c, 0x028c, 0x029c, 0x02ac, 0x02bc, 0x02cc,
1019 };
1020
1021 static const float codebook_vector10_vals[] = {
1022      0.0000000,  1.0000000,
1023      2.5198421,  4.3267487,
1024      6.3496042,  8.5498797,
1025     10.9027236, 13.3905183,
1026     16.0000000, 18.7207544,
1027     21.5443469, 24.4637810,
1028     27.4731418, 30.5673509,
1029     33.7419917, 36.9931811,
1030 };
1031
1032 /*
1033  * bits  0:3, 4:7  index into _vals array
1034  *       8:9       bit mask of escape-coded entries
1035  *      12:15      number of non-zero values
1036  */
1037 static const uint16_t codebook_vector10_idx[] = {
1038     0x0000, 0x1010, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
1039     0x1080, 0x1090, 0x10a0, 0x10b0, 0x10c0, 0x10d0, 0x10e0, 0x10f0, 0x1200,
1040     0x1001, 0x2011, 0x2021, 0x2031, 0x2041, 0x2051, 0x2061, 0x2071,
1041     0x2081, 0x2091, 0x20a1, 0x20b1, 0x20c1, 0x20d1, 0x20e1, 0x20f1, 0x2201,
1042     0x1002, 0x2012, 0x2022, 0x2032, 0x2042, 0x2052, 0x2062, 0x2072,
1043     0x2082, 0x2092, 0x20a2, 0x20b2, 0x20c2, 0x20d2, 0x20e2, 0x20f2, 0x2202,
1044     0x1003, 0x2013, 0x2023, 0x2033, 0x2043, 0x2053, 0x2063, 0x2073,
1045     0x2083, 0x2093, 0x20a3, 0x20b3, 0x20c3, 0x20d3, 0x20e3, 0x20f3, 0x2203,
1046     0x1004, 0x2014, 0x2024, 0x2034, 0x2044, 0x2054, 0x2064, 0x2074,
1047     0x2084, 0x2094, 0x20a4, 0x20b4, 0x20c4, 0x20d4, 0x20e4, 0x20f4, 0x2204,
1048     0x1005, 0x2015, 0x2025, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
1049     0x2085, 0x2095, 0x20a5, 0x20b5, 0x20c5, 0x20d5, 0x20e5, 0x20f5, 0x2205,
1050     0x1006, 0x2016, 0x2026, 0x2036, 0x2046, 0x2056, 0x2066, 0x2076,
1051     0x2086, 0x2096, 0x20a6, 0x20b6, 0x20c6, 0x20d6, 0x20e6, 0x20f6, 0x2206,
1052     0x1007, 0x2017, 0x2027, 0x2037, 0x2047, 0x2057, 0x2067, 0x2077,
1053     0x2087, 0x2097, 0x20a7, 0x20b7, 0x20c7, 0x20d7, 0x20e7, 0x20f7, 0x2207,
1054     0x1008, 0x2018, 0x2028, 0x2038, 0x2048, 0x2058, 0x2068, 0x2078,
1055     0x2088, 0x2098, 0x20a8, 0x20b8, 0x20c8, 0x20d8, 0x20e8, 0x20f8, 0x2208,
1056     0x1009, 0x2019, 0x2029, 0x2039, 0x2049, 0x2059, 0x2069, 0x2079,
1057     0x2089, 0x2099, 0x20a9, 0x20b9, 0x20c9, 0x20d9, 0x20e9, 0x20f9, 0x2209,
1058     0x100a, 0x201a, 0x202a, 0x203a, 0x204a, 0x205a, 0x206a, 0x207a,
1059     0x208a, 0x209a, 0x20aa, 0x20ba, 0x20ca, 0x20da, 0x20ea, 0x20fa, 0x220a,
1060     0x100b, 0x201b, 0x202b, 0x203b, 0x204b, 0x205b, 0x206b, 0x207b,
1061     0x208b, 0x209b, 0x20ab, 0x20bb, 0x20cb, 0x20db, 0x20eb, 0x20fb, 0x220b,
1062     0x100c, 0x201c, 0x202c, 0x203c, 0x204c, 0x205c, 0x206c, 0x207c,
1063     0x208c, 0x209c, 0x20ac, 0x20bc, 0x20cc, 0x20dc, 0x20ec, 0x20fc, 0x220c,
1064     0x100d, 0x201d, 0x202d, 0x203d, 0x204d, 0x205d, 0x206d, 0x207d,
1065     0x208d, 0x209d, 0x20ad, 0x20bd, 0x20cd, 0x20dd, 0x20ed, 0x20fd, 0x220d,
1066     0x100e, 0x201e, 0x202e, 0x203e, 0x204e, 0x205e, 0x206e, 0x207e,
1067     0x208e, 0x209e, 0x20ae, 0x20be, 0x20ce, 0x20de, 0x20ee, 0x20fe, 0x220e,
1068     0x100f, 0x201f, 0x202f, 0x203f, 0x204f, 0x205f, 0x206f, 0x207f,
1069     0x208f, 0x209f, 0x20af, 0x20bf, 0x20cf, 0x20df, 0x20ef, 0x20ff, 0x220f,
1070     0x1100, 0x2110, 0x2120, 0x2130, 0x2140, 0x2150, 0x2160, 0x2170,
1071     0x2180, 0x2190, 0x21a0, 0x21b0, 0x21c0, 0x21d0, 0x21e0, 0x21f0, 0x2300,
1072 };
1073
1074 const float *const ff_aac_codebook_vector_vals[] = {
1075     codebook_vector0_vals,  codebook_vector0_vals,
1076     codebook_vector10_vals, codebook_vector10_vals,
1077     codebook_vector4_vals,  codebook_vector4_vals,
1078     codebook_vector10_vals, codebook_vector10_vals,
1079     codebook_vector10_vals, codebook_vector10_vals,
1080     codebook_vector10_vals,
1081 };
1082
1083 const uint16_t *const ff_aac_codebook_vector_idx[] = {
1084     codebook_vector02_idx, codebook_vector02_idx,
1085     codebook_vector02_idx, codebook_vector02_idx,
1086     codebook_vector4_idx,  codebook_vector4_idx,
1087     codebook_vector6_idx,  codebook_vector6_idx,
1088     codebook_vector8_idx,  codebook_vector8_idx,
1089     codebook_vector10_idx,
1090 };
1091
1092 /* @name swb_offsets
1093  * Sample offset into the window indicating the beginning of a scalefactor
1094  * window band
1095  *
1096  * scalefactor window band - term for scalefactor bands within a window,
1097  * given in Table 4.110 to Table 4.128.
1098  *
1099  * scalefactor band - a set of spectral coefficients which are scaled by one
1100  * scalefactor. In case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band
1101  * may contain several scalefactor window bands of corresponding frequency. For
1102  * all other window_sequences scalefactor bands and scalefactor window bands are
1103  * identical.
1104  * @{
1105  */
1106
1107 static const uint16_t swb_offset_1024_96[] = {
1108       0,   4,   8,  12,  16,  20,  24,  28,
1109      32,  36,  40,  44,  48,  52,  56,  64,
1110      72,  80,  88,  96, 108, 120, 132, 144,
1111     156, 172, 188, 212, 240, 276, 320, 384,
1112     448, 512, 576, 640, 704, 768, 832, 896,
1113     960, 1024
1114 };
1115
1116 static const uint16_t swb_offset_128_96[] = {
1117     0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
1118 };
1119
1120 static const uint16_t swb_offset_1024_64[] = {
1121       0,   4,   8,  12,  16,  20,  24,  28,
1122      32,  36,  40,  44,  48,  52,  56,  64,
1123      72,  80,  88, 100, 112, 124, 140, 156,
1124     172, 192, 216, 240, 268, 304, 344, 384,
1125     424, 464, 504, 544, 584, 624, 664, 704,
1126     744, 784, 824, 864, 904, 944, 984, 1024
1127 };
1128
1129 static const uint16_t swb_offset_1024_48[] = {
1130       0,   4,   8,  12,  16,  20,  24,  28,
1131      32,  36,  40,  48,  56,  64,  72,  80,
1132      88,  96, 108, 120, 132, 144, 160, 176,
1133     196, 216, 240, 264, 292, 320, 352, 384,
1134     416, 448, 480, 512, 544, 576, 608, 640,
1135     672, 704, 736, 768, 800, 832, 864, 896,
1136     928, 1024
1137 };
1138
1139 static const uint16_t swb_offset_512_48[] = {
1140       0,   4,   8,  12,  16,  20,  24,  28,
1141      32,  36,  40,  44,  48,  52,  56,  60,
1142      68,  76,  84,  92, 100, 112, 124, 136,
1143     148, 164, 184, 208, 236, 268, 300, 332,
1144     364, 396, 428, 460, 512
1145 };
1146
1147 static const uint16_t swb_offset_480_48[] = {
1148       0,   4,   8,  12,  16,  20,  24,  28,
1149      32,  36,  40,  44,  48,  52,  56,  64,
1150      72,  80,  88,  96, 108, 120, 132, 144,
1151     156, 172, 188, 212, 240, 272, 304, 336,
1152     368, 400, 432, 480
1153 };
1154
1155 static const uint16_t swb_offset_128_48[] = {
1156      0,   4,   8,  12,  16,  20,  28,  36,
1157     44,  56,  68,  80,  96, 112, 128
1158 };
1159
1160 static const uint16_t swb_offset_1024_32[] = {
1161       0,   4,   8,  12,  16,  20,  24,  28,
1162      32,  36,  40,  48,  56,  64,  72,  80,
1163      88,  96, 108, 120, 132, 144, 160, 176,
1164     196, 216, 240, 264, 292, 320, 352, 384,
1165     416, 448, 480, 512, 544, 576, 608, 640,
1166     672, 704, 736, 768, 800, 832, 864, 896,
1167     928, 960, 992, 1024
1168 };
1169
1170 static const uint16_t swb_offset_512_32[] = {
1171       0,   4,   8,  12,  16,  20,  24,  28,
1172      32,  36,  40,  44,  48,  52,  56,  64,
1173      72,  80,  88,  96, 108, 120, 132, 144,
1174     160, 176, 192, 212, 236, 260, 288, 320,
1175     352, 384, 416, 448, 480, 512
1176 };
1177
1178 static const uint16_t swb_offset_480_32[] = {
1179       0,   4,   8,  12,  16,  20,  24,  28,
1180      32,  36,  40,  44,  48,  52,  56,  60,
1181      64,  72,  80,  88,  96, 104, 112, 124,
1182     136, 148, 164, 180, 200, 224, 256, 288,
1183     320, 352, 384, 416, 448, 480
1184  };
1185
1186 static const uint16_t swb_offset_1024_24[] = {
1187       0,   4,   8,  12,  16,  20,  24,  28,
1188      32,  36,  40,  44,  52,  60,  68,  76,
1189      84,  92, 100, 108, 116, 124, 136, 148,
1190     160, 172, 188, 204, 220, 240, 260, 284,
1191     308, 336, 364, 396, 432, 468, 508, 552,
1192     600, 652, 704, 768, 832, 896, 960, 1024
1193 };
1194
1195 static const uint16_t swb_offset_512_24[] = {
1196       0,   4,   8,  12,  16,  20,  24,  28,
1197      32,  36,  40,  44,  52,  60,  68,  80,
1198      92, 104, 120, 140, 164, 192, 224, 256,
1199     288, 320, 352, 384, 416, 448, 480, 512,
1200 };
1201
1202 static const uint16_t swb_offset_480_24[] = {
1203       0,   4,   8,  12,  16,  20,  24,  28,
1204      32,  36,  40,  44,  52,  60,  68,  80,
1205      92, 104, 120, 140, 164, 192, 224, 256,
1206     288, 320, 352, 384, 416, 448, 480
1207 };
1208
1209 static const uint16_t swb_offset_128_24[] = {
1210      0,   4,   8,  12,  16,  20,  24,  28,
1211     36,  44,  52,  64,  76,  92, 108, 128
1212 };
1213
1214 static const uint16_t swb_offset_1024_16[] = {
1215       0,   8,  16,  24,  32,  40,  48,  56,
1216      64,  72,  80,  88, 100, 112, 124, 136,
1217     148, 160, 172, 184, 196, 212, 228, 244,
1218     260, 280, 300, 320, 344, 368, 396, 424,
1219     456, 492, 532, 572, 616, 664, 716, 772,
1220     832, 896, 960, 1024
1221 };
1222
1223 static const uint16_t swb_offset_128_16[] = {
1224      0,   4,   8,  12,  16,  20,  24,  28,
1225     32,  40,  48,  60,  72,  88, 108, 128
1226 };
1227
1228 static const uint16_t swb_offset_1024_8[] = {
1229       0,  12,  24,  36,  48,  60,  72,  84,
1230      96, 108, 120, 132, 144, 156, 172, 188,
1231     204, 220, 236, 252, 268, 288, 308, 328,
1232     348, 372, 396, 420, 448, 476, 508, 544,
1233     580, 620, 664, 712, 764, 820, 880, 944,
1234     1024
1235 };
1236
1237 static const uint16_t swb_offset_128_8[] = {
1238      0,   4,   8,  12,  16,  20,  24,  28,
1239     36,  44,  52,  60,  72,  88, 108, 128
1240 };
1241
1242 static const uint16_t swb_offset_960_96[] =
1243 {
1244     0,   4,   8,   12,  16,  20,  24,  28,  32,  36,
1245     40,  44,  48,  52,  56,  64,  72,  80,  88,  96,
1246     108, 120, 132, 144, 156, 172, 188, 212, 240, 276,
1247     320, 384, 448, 512, 576, 640, 704, 768, 832, 896,
1248     960
1249 };
1250
1251 static const uint16_t swb_offset_960_64[] =
1252 {
1253     0,   4,   8,   12,  16,  20,  24,  28,  32,  36,
1254     40,  44,  48,  52,  56,  64,  72,  80,  88,  100,
1255     112, 124, 140, 156, 172, 192, 216, 240, 268, 304,
1256     344, 384, 424, 464, 504, 544, 584, 624, 664, 704,
1257     744, 784, 824, 864, 904, 944, 960
1258 };
1259
1260 static const uint16_t swb_offset_960_48[] =
1261 {
1262     0,   4,   8,   12,  16,  20,  24,  28,  32,  36,
1263     40,  48,  56,  64,  72,  80,  88,  96,  108, 120,
1264     132, 144, 160, 176, 196, 216, 240, 264, 292, 320,
1265     352, 384, 416, 448, 480, 512, 544, 576, 608, 640,
1266     672, 704, 736, 768, 800, 832, 864, 896, 928, 960
1267 };
1268
1269 static const uint16_t swb_offset_960_32[] =
1270 {
1271     0,   4,   8,   12,  16,  20,  24,  28,  32,  36,
1272     40,  48,  56,  64,  72,  80,  88,  96,  108, 120,
1273     132, 144, 160, 176, 196, 216, 240, 264, 292, 320,
1274     352, 384, 416, 448, 480, 512, 544, 576, 608, 640,
1275     672, 704, 736, 768, 800, 832, 864, 896, 928, 960
1276 };
1277
1278 static const uint16_t swb_offset_960_24[] =
1279 {
1280     0,   4,   8,   12,  16,  20,  24,  28,  32,  36,
1281     40,  44,  52,  60,  68,  76,  84,  92,  100, 108,
1282     116, 124, 136, 148, 160, 172, 188, 204, 220, 240,
1283     260, 284, 308, 336, 364, 396, 432, 468, 508, 552,
1284     600, 652, 704, 768, 832, 896, 960
1285 };
1286
1287 static const uint16_t swb_offset_960_16[] =
1288 {
1289     0,   8,   16,  24,  32,  40,  48,  56,  64,  72,
1290     80,  88,  100, 112, 124, 136, 148, 160, 172, 184,
1291     196, 212, 228, 244, 260, 280, 300, 320, 344, 368,
1292     396, 424, 456, 492, 532, 572, 616, 664, 716, 772,
1293     832, 896, 960
1294 };
1295
1296 static const uint16_t swb_offset_960_8[] =
1297 {
1298     0,   12,  24,  36,  48,  60,  72,  84,  96,  108,
1299     120, 132, 144, 156, 172, 188, 204, 220, 236, 252,
1300     268, 288, 308, 328, 348, 372, 396, 420, 448, 476,
1301     508, 544, 580, 620, 664, 712, 764, 820, 880, 944,
1302     960
1303 };
1304
1305
1306 static const uint16_t swb_offset_120_96[] =
1307 {
1308     0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 120
1309 };
1310
1311 static const uint16_t swb_offset_120_64[] =
1312 {
1313     0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 120
1314 };
1315
1316 static const uint16_t swb_offset_120_48[] =
1317 {
1318     0,  4, 8, 12, 16, 20, 28, 36, 44, 56, 68, 80, 96, 112, 120
1319 };
1320
1321 static const uint16_t swb_offset_120_24[] =
1322 {
1323     0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 64, 76, 92, 108, 120
1324 };
1325
1326 static const uint16_t swb_offset_120_16[] =
1327 {
1328     0, 4, 8, 12, 16, 20, 24, 28, 32, 40, 48, 60, 72, 88, 108, 120
1329 };
1330
1331 static const uint16_t swb_offset_120_8[] =
1332 {
1333     0, 4, 8, 12, 16,  20, 24, 28, 36, 44, 52, 60, 72, 88, 108, 120
1334 };
1335
1336 const uint16_t * const ff_swb_offset_1024[] = {
1337     swb_offset_1024_96, swb_offset_1024_96, swb_offset_1024_64,
1338     swb_offset_1024_48, swb_offset_1024_48, swb_offset_1024_32,
1339     swb_offset_1024_24, swb_offset_1024_24, swb_offset_1024_16,
1340     swb_offset_1024_16, swb_offset_1024_16, swb_offset_1024_8,
1341     swb_offset_1024_8
1342 };
1343
1344 const uint16_t * const ff_swb_offset_960[] = {
1345     swb_offset_960_96, swb_offset_960_96, swb_offset_960_64,
1346     swb_offset_960_48, swb_offset_960_48, swb_offset_960_32,
1347     swb_offset_960_24, swb_offset_960_24, swb_offset_960_16,
1348     swb_offset_960_16, swb_offset_960_16, swb_offset_960_8,
1349     swb_offset_960_8
1350 };
1351
1352 const uint16_t * const ff_swb_offset_512[] = {
1353     NULL,               NULL,               NULL,
1354     swb_offset_512_48,  swb_offset_512_48,  swb_offset_512_32,
1355     swb_offset_512_24,  swb_offset_512_24,  NULL,
1356     NULL,               NULL,               NULL,
1357     NULL
1358 };
1359
1360 const uint16_t * const ff_swb_offset_480[] = {
1361     NULL,               NULL,               NULL,
1362     swb_offset_480_48,  swb_offset_480_48,  swb_offset_480_32,
1363     swb_offset_480_24,  swb_offset_480_24,  NULL,
1364     NULL,               NULL,               NULL,
1365     NULL
1366 };
1367
1368 const uint16_t * const ff_swb_offset_128[] = {
1369     /* The last entry on the following row is swb_offset_128_64 but is a
1370        duplicate of swb_offset_128_96. */
1371     swb_offset_128_96, swb_offset_128_96, swb_offset_128_96,
1372     swb_offset_128_48, swb_offset_128_48, swb_offset_128_48,
1373     swb_offset_128_24, swb_offset_128_24, swb_offset_128_16,
1374     swb_offset_128_16, swb_offset_128_16, swb_offset_128_8,
1375     swb_offset_128_8
1376 };
1377
1378 const uint16_t * const ff_swb_offset_120[] = {
1379     swb_offset_120_96, swb_offset_120_96, swb_offset_120_96,
1380     swb_offset_120_48, swb_offset_120_48, swb_offset_120_48,
1381     swb_offset_120_24, swb_offset_120_24, swb_offset_120_16,
1382     swb_offset_120_16, swb_offset_120_16, swb_offset_120_8,
1383     swb_offset_120_8
1384 };
1385
1386 // @}
1387
1388 /* @name ff_tns_max_bands
1389  * The maximum number of scalefactor bands on which TNS can operate for the long
1390  * and short transforms respectively. The index to these tables is related to
1391  * the sample rate of the audio.
1392  * @{
1393  */
1394 const uint8_t ff_tns_max_bands_1024[] = {
1395     31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
1396 };
1397
1398 const uint8_t ff_tns_max_bands_512[] = {
1399     0, 0, 0, 31, 32, 37, 31, 31, 0, 0, 0, 0, 0
1400 };
1401
1402 const uint8_t ff_tns_max_bands_480[] = {
1403     0, 0, 0, 31, 32, 37, 30, 30, 0, 0, 0, 0, 0
1404 };
1405
1406 const uint8_t ff_tns_max_bands_128[] = {
1407     9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
1408 };
1409 // @}
1410
1411 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_512)[1920] = {
1412      0.00338834,  0.00567745,  0.00847677,  0.01172641,
1413      0.01532555,  0.01917664,  0.02318809,  0.02729259,
1414      0.03144503,  0.03560261,  0.03972499,  0.04379783,
1415      0.04783094,  0.05183357,  0.05581342,  0.05977723,
1416      0.06373173,  0.06768364,  0.07163937,  0.07559976,
1417      0.07956096,  0.08352024,  0.08747623,  0.09143035,
1418      0.09538618,  0.09934771,  0.10331917,  0.10730456,
1419      0.11130697,  0.11532867,  0.11937133,  0.12343922,
1420      0.12753911,  0.13167705,  0.13585812,  0.14008529,
1421      0.14435986,  0.14868291,  0.15305531,  0.15747594,
1422      0.16194193,  0.16645070,  0.17099991,  0.17558633,
1423      0.18020600,  0.18485548,  0.18953191,  0.19423322,
1424      0.19895800,  0.20370512,  0.20847374,  0.21326312,
1425      0.21807244,  0.22290083,  0.22774742,  0.23261210,
1426      0.23749542,  0.24239767,  0.24731889,  0.25225887,
1427      0.25721719,  0.26219330,  0.26718648,  0.27219630,
1428      0.27722262,  0.28226514,  0.28732336,  0.29239628,
1429      0.29748247,  0.30258055,  0.30768914,  0.31280508,
1430      0.31792385,  0.32304172,  0.32815579,  0.33326397,
1431      0.33836470,  0.34345661,  0.34853868,  0.35361188,
1432      0.35867865,  0.36374072,  0.36879900,  0.37385347,
1433      0.37890349,  0.38394836,  0.38898730,  0.39401912,
1434      0.39904236,  0.40405575,  0.40905820,  0.41404819,
1435      0.41902398,  0.42398423,  0.42892805,  0.43385441,
1436      0.43876210,  0.44365014,  0.44851786,  0.45336632,
1437      0.45819759,  0.46301302,  0.46781309,  0.47259722,
1438      0.47736435,  0.48211365,  0.48684450,  0.49155594,
1439      0.49624679,  0.50091636,  0.50556440,  0.51019132,
1440      0.51479771,  0.51938391,  0.52394998,  0.52849587,
1441      0.53302151,  0.53752680,  0.54201160,  0.54647575,
1442      0.55091916,  0.55534181,  0.55974376,  0.56412513,
1443      0.56848615,  0.57282710,  0.57714834,  0.58145030,
1444      0.58492489,  0.58918511,  0.59342326,  0.59763936,
1445      0.60183347,  0.60600561,  0.61015581,  0.61428412,
1446      0.61839056,  0.62247517,  0.62653799,  0.63057912,
1447      0.63459872,  0.63859697,  0.64257403,  0.64653001,
1448      0.65046495,  0.65437887,  0.65827181,  0.66214383,
1449      0.66599499,  0.66982535,  0.67363499,  0.67742394,
1450      0.68119219,  0.68493972,  0.68866653,  0.69237258,
1451      0.69605778,  0.69972207,  0.70336537,  0.70698758,
1452      0.71058862,  0.71416837,  0.71772674,  0.72126361,
1453      0.72477889,  0.72827246,  0.73174419,  0.73519392,
1454      0.73862141,  0.74202643,  0.74540874,  0.74876817,
1455      0.75210458,  0.75541785,  0.75870785,  0.76197437,
1456      0.76521709,  0.76843570,  0.77162988,  0.77479939,
1457      0.77794403,  0.78106359,  0.78415789,  0.78722670,
1458      0.79026979,  0.79328694,  0.79627791,  0.79924244,
1459      0.80218027,  0.80509112,  0.80797472,  0.81083081,
1460      0.81365915,  0.81645949,  0.81923160,  0.82197528,
1461      0.82469037,  0.82737673,  0.83003419,  0.83266262,
1462      0.83526186,  0.83783176,  0.84037217,  0.84288297,
1463      0.84536401,  0.84781517,  0.85023632,  0.85262739,
1464      0.85498836,  0.85731921,  0.85961993,  0.86189052,
1465      0.86413101,  0.86634140,  0.86852173,  0.87067211,
1466      0.87279275,  0.87488384,  0.87694559,  0.87897824,
1467      0.88098206,  0.88295729,  0.88490423,  0.88682332,
1468      0.88871519,  0.89058048,  0.89241983,  0.89423391,
1469      0.89602338,  0.89778893,  0.89953126,  0.90125142,
1470      0.90295086,  0.90463104,  0.90629341,  0.90793946,
1471      0.90957067,  0.91118856,  0.91279464,  0.91439073,
1472      0.91597898,  0.91756153,  0.91914049,  0.92071690,
1473      0.92229070,  0.92386182,  0.92542993,  0.92698946,
1474      0.92852960,  0.93003929,  0.93150727,  0.93291739,
1475      0.93424863,  0.93547974,  0.93658982,  0.93756587,
1476      0.93894072,  0.93922780,  0.93955477,  0.93991290,
1477      0.94029104,  0.94067794,  0.94106258,  0.94144084,
1478      0.94181549,  0.94218963,  0.94256628,  0.94294662,
1479      0.94332998,  0.94371562,  0.94410280,  0.94449122,
1480      0.94488106,  0.94527249,  0.94566568,  0.94606074,
1481      0.94645772,  0.94685665,  0.94725759,  0.94766054,
1482      0.94806547,  0.94847234,  0.94888115,  0.94929190,
1483      0.94970469,  0.95011960,  0.95053672,  0.95095604,
1484      0.95137751,  0.95180105,  0.95222658,  0.95265413,
1485      0.95308380,  0.95351571,  0.95394994,  0.95438653,
1486      0.95482538,  0.95526643,  0.95570958,  0.95615486,
1487      0.95660234,  0.95705214,  0.95750433,  0.95795892,
1488      0.95841582,  0.95887493,  0.95933616,  0.95979949,
1489      0.96026500,  0.96073277,  0.96120286,  0.96167526,
1490      0.96214986,  0.96262655,  0.96310522,  0.96358586,
1491      0.96406853,  0.96455330,  0.96504026,  0.96552936,
1492      0.96602051,  0.96651360,  0.96700850,  0.96750520,
1493      0.96800376,  0.96850424,  0.96900670,  0.96951112,
1494      0.97001738,  0.97052533,  0.97103488,  0.97154597,
1495      0.97205867,  0.97257304,  0.97308915,  0.97360694,
1496      0.97412631,  0.97464711,  0.97516923,  0.97569262,
1497      0.97621735,  0.97674350,  0.97727111,  0.97780016,
1498      0.97833051,  0.97886205,  0.97939463,  0.97992823,
1499      0.98046291,  0.98099875,  0.98153580,  0.98207405,
1500      0.98261337,  0.98315364,  0.98369474,  0.98423664,
1501      0.98477941,  0.98532311,  0.98586780,  0.98641348,
1502      0.98696003,  0.98750734,  0.98805530,  0.98860389,
1503      0.98915320,  0.98970328,  0.99025423,  0.99080602,
1504      0.99135855,  0.99191171,  0.99246541,  0.99301962,
1505      0.99357443,  0.99412992,  0.99468617,  0.99524320,
1506      0.99580092,  0.99635926,  0.99691814,  0.99747748,
1507      0.99803721,  0.99859725,  0.99915752,  0.99971793,
1508      1.00028215,  1.00084319,  1.00140472,  1.00196665,
1509      1.00252889,  1.00309139,  1.00365404,  1.00421679,
1510      1.00477954,  1.00534221,  1.00590474,  1.00646713,
1511      1.00702945,  1.00759179,  1.00815424,  1.00871678,
1512      1.00927930,  1.00984169,  1.01040384,  1.01096575,
1513      1.01152747,  1.01208910,  1.01265070,  1.01321226,
1514      1.01377365,  1.01433478,  1.01489551,  1.01545584,
1515      1.01601582,  1.01657553,  1.01713502,  1.01769427,
1516      1.01825316,  1.01881154,  1.01936929,  1.01992639,
1517      1.02048289,  1.02103888,  1.02159441,  1.02214945,
1518      1.02270387,  1.02325751,  1.02381025,  1.02436204,
1519      1.02491295,  1.02546304,  1.02601238,  1.02656092,
1520      1.02710853,  1.02765508,  1.02820041,  1.02874449,
1521      1.02928737,  1.02982913,  1.03036981,  1.03090937,
1522      1.03144768,  1.03198460,  1.03252000,  1.03305384,
1523      1.03358617,  1.03411707,  1.03464659,  1.03517470,
1524      1.03570128,  1.03622620,  1.03674934,  1.03727066,
1525      1.03779024,  1.03830815,  1.03882446,  1.03933914,
1526      1.03985206,  1.04036312,  1.04087217,  1.04137920,
1527      1.04188428,  1.04238748,  1.04288888,  1.04338845,
1528      1.04388610,  1.04438170,  1.04487515,  1.04536645,
1529      1.04585569,  1.04634297,  1.04682838,  1.04731192,
1530      1.04779350,  1.04827303,  1.04875042,  1.04922568,
1531      1.04969891,  1.05017022,  1.05063974,  1.05110746,
1532      1.05157332,  1.05203721,  1.05249907,  1.05295889,
1533      1.05341676,  1.05387277,  1.05432700,  1.05477948,
1534      1.05523018,  1.05567906,  1.05612608,  1.05657124,
1535      1.05701459,  1.05745616,  1.05789601,  1.05833426,
1536      1.05877109,  1.05920669,  1.05964125,  1.06007444,
1537      1.06050542,  1.06093335,  1.06135746,  1.06177909,
1538      1.06220164,  1.06262858,  1.06306309,  1.06350050,
1539      1.06392837,  1.06433391,  1.06470443,  1.06502996,
1540      1.06481076,  1.06469765,  1.06445004,  1.06408002,
1541      1.06361382,  1.06307719,  1.06249453,  1.06188365,
1542      1.06125612,  1.06062291,  1.05999418,  1.05937132,
1543      1.05874726,  1.05811486,  1.05746728,  1.05680000,
1544      1.05611070,  1.05539715,  1.05465735,  1.05389329,
1545      1.05311083,  1.05231578,  1.05151372,  1.05070811,
1546      1.04990044,  1.04909210,  1.04828434,  1.04747647,
1547      1.04666590,  1.04585003,  1.04502628,  1.04419009,
1548      1.04333499,  1.04245452,  1.04154244,  1.04059452,
1549      1.03960846,  1.03858207,  1.03751326,  1.03640189,
1550      1.03524976,  1.03405868,  1.03283047,  1.03156812,
1551      1.03027574,  1.02895743,  1.02761717,  1.02625804,
1552      1.02488222,  1.02349184,  1.02208892,  1.02067450,
1553      1.01924861,  1.01781123,  1.01636229,  1.01490045,
1554      1.01342315,  1.01192778,  1.01041175,  1.00887284,
1555      1.00730915,  1.00571882,  1.00409996,  1.00245032,
1556      1.00076734,  0.99904842,  0.99729101,  0.99549380,
1557      0.99365664,  0.99177946,  0.98986234,  0.98791024,
1558      0.98593294,  0.98394037,  0.98194226,  0.97994532,
1559      0.97795324,  0.97596955,  0.97399748,  0.97203326,
1560      0.97006624,  0.96808546,  0.96608018,  0.96404416,
1561      0.96197556,  0.95987276,  0.95773420,  0.95556018,
1562      0.95335291,  0.95111462,  0.94884764,  0.94655663,
1563      0.94424858,  0.94193055,  0.93960953,  0.93729154,
1564      0.93498157,  0.93268456,  0.93040503,  0.92813771,
1565      0.92586755,  0.92357910,  0.92125731,  0.91889642,
1566      0.91649998,  0.91407191,  0.91161623,  0.90913975,
1567      0.90665202,  0.90416271,  0.90168115,  0.89920934,
1568      0.89674189,  0.89427312,  0.89179743,  0.88931147,
1569      0.88681415,  0.88430445,  0.88178141,  0.87924528,
1570      0.87669753,  0.87413966,  0.87157318,  0.86899958,
1571      0.86642037,  0.86383703,  0.86125106,  0.85866393,
1572      0.85604236,  0.85344385,  0.85083093,  0.84820550,
1573      0.84556943,  0.84292458,  0.84027278,  0.83761586,
1574      0.83495565,  0.83229393,  0.82963243,  0.82697135,
1575      0.82430933,  0.82164496,  0.81897669,  0.81630017,
1576      0.81360822,  0.81089355,  0.80814924,  0.80537741,
1577      0.80258920,  0.79979611,  0.79700954,  0.79423813,
1578      0.79148780,  0.78876432,  0.78607290,  0.78340590,
1579      0.78074288,  0.77806279,  0.77534514,  0.77258187,
1580      0.76977737,  0.76693654,  0.76406441,  0.76116851,
1581      0.75825892,  0.75534582,  0.75243924,  0.74954634,
1582      0.74667135,  0.74381840,  0.74099145,  0.73819147,
1583      0.73541641,  0.73266408,  0.72993193,  0.72720913,
1584      0.72447661,  0.72171494,  0.71890515,  0.71603932,
1585      0.71312056,  0.71015250,  0.70713900,  0.70409084,
1586      0.70102565,  0.69796137,  0.69491556,  0.69189772,
1587      0.68890931,  0.68595141,  0.68302498,  0.68012852,
1588      0.67725801,  0.67440936,  0.67157841,  0.66876081,
1589      0.66595195,  0.66314722,  0.66034194,  0.65753027,
1590      0.65470525,  0.65185984,  0.64898709,  0.64608214,
1591      0.64314221,  0.64016460,  0.63714680,  0.63409034,
1592      0.63100082,  0.62788400,  0.62474577,  0.62159473,
1593      0.61844225,  0.61529977,  0.61217866,  0.60908811,
1594      0.60603510,  0.60302654,  0.60006916,  0.59716588,
1595      0.59431580,  0.59151787,  0.58877068,  0.58606495,
1596      0.58338353,  0.58070891,  0.57802356,  0.57530864,
1597      0.57254404,  0.56970958,  0.56678577,  0.56376860,
1598      0.56066951,  0.55750064,  0.55427451,  0.55101301,
1599      0.54774732,  0.54450907,  0.54132936,  0.53822744,
1600      0.53521072,  0.53228613,  0.52945979,  0.52671997,
1601      0.52403708,  0.52138072,  0.51872085,  0.51603570,
1602      0.51331170,  0.51053560,  0.50769466,  0.50478931,
1603      0.50183308,  0.49884001,  0.49582406,  0.49279905,
1604      0.48985748,  0.48679641,  0.48379429,  0.48085363,
1605      0.47796576,  0.47512151,  0.47231151,  0.46952402,
1606      0.46674486,  0.46395978,  0.46115496,  0.45832607,
1607      0.45547830,  0.45261727,  0.44974866,  0.44688011,
1608      0.44402125,  0.44118178,  0.43837094,  0.43558772,
1609      0.43282082,  0.43005847,  0.42728913,  0.42450572,
1610      0.42170567,  0.41888658,  0.41604633,  0.41318897,
1611      0.41032472,  0.40746405,  0.40461724,  0.40178943,
1612      0.39898066,  0.39619073,  0.39341940,  0.39066519,
1613      0.38792536,  0.38519713,  0.38247773,  0.37976476,
1614      0.37705620,  0.37435006,  0.37164438,  0.36893869,
1615      0.36623396,  0.36353124,  0.36083153,  0.35813533,
1616      0.35544262,  0.35275338,  0.35006755,  0.34738530,
1617      0.34470699,  0.34203296,  0.33936359,  0.33669922,
1618      0.33404027,  0.33138711,  0.32874013,  0.32609944,
1619      0.32346493,  0.32083645,  0.31821388,  0.31559703,
1620      0.31298573,  0.31037987,  0.30777941,  0.30518446,
1621      0.30259525,  0.30001202,  0.29743499,  0.29486428,
1622      0.29229989,  0.28974179,  0.28718997,  0.28464452,
1623      0.28210562,  0.27957346,  0.27704820,  0.27452992,
1624      0.27201854,  0.26951399,  0.26701622,  0.26452533,
1625      0.26204158,  0.25956526,  0.25709662,  0.25463583,
1626      0.25218294,  0.24973798,  0.24730100,  0.24487207,
1627      0.24245133,  0.24003893,  0.23763500,  0.23523959,
1628      0.23285262,  0.23047401,  0.22810369,  0.22574170,
1629      0.22338818,  0.22104329,  0.21870719,  0.21637986,
1630      0.21406117,  0.21175095,  0.20944904,  0.20715535,
1631      0.20486987,  0.20259261,  0.20032356,  0.19806259,
1632      0.19580944,  0.19356385,  0.19132556,  0.18909442,
1633      0.18687040,  0.18465350,  0.18244372,  0.18024164,
1634      0.17804841,  0.17586521,  0.17369322,  0.17153360,
1635      0.16938755,  0.16725622,  0.16514081,  0.16304247,
1636      0.16098974,  0.15896561,  0.15696026,  0.15497259,
1637      0.15300151,  0.15104590,  0.14910466,  0.14717666,
1638      0.14526081,  0.14335599,  0.14146111,  0.13957570,
1639      0.13769993,  0.13583399,  0.13397806,  0.13213229,
1640      0.13029682,  0.12847178,  0.12665729,  0.12485353,
1641      0.12306074,  0.12127916,  0.11950900,  0.11775043,
1642      0.11600347,  0.11426820,  0.11254464,  0.11083292,
1643      0.10913318,  0.10744559,  0.10577028,  0.10410733,
1644      0.10245672,  0.10081842,  0.09919240,  0.09757872,
1645      0.09597750,  0.09438884,  0.09281288,  0.09124964,
1646      0.08969907,  0.08816111,  0.08663570,  0.08512288,
1647      0.08362274,  0.08213540,  0.08066096,  0.07919944,
1648      0.07775076,  0.07631484,  0.07489161,  0.07348108,
1649      0.07208335,  0.07069851,  0.06932666,  0.06796781,
1650      0.06662187,  0.06528874,  0.06396833,  0.06266065,
1651      0.06136578,  0.06008380,  0.05881480,  0.05755876,
1652      0.05631557,  0.05508511,  0.05386728,  0.05266206,
1653      0.05146951,  0.05028971,  0.04912272,  0.04796855,
1654      0.04682709,  0.04569825,  0.04458194,  0.04347817,
1655      0.04238704,  0.04130868,  0.04024318,  0.03919056,
1656      0.03815071,  0.03712352,  0.03610890,  0.03510679,
1657      0.03411720,  0.03314013,  0.03217560,  0.03122343,
1658      0.03028332,  0.02935494,  0.02843799,  0.02753230,
1659      0.02663788,  0.02575472,  0.02488283,  0.02402232,
1660      0.02317341,  0.02233631,  0.02151124,  0.02069866,
1661      0.01989922,  0.01911359,  0.01834241,  0.01758563,
1662      0.01684248,  0.01611219,  0.01539397,  0.01468726,
1663      0.01399167,  0.01330687,  0.01263250,  0.01196871,
1664      0.01131609,  0.01067527,  0.01004684,  0.00943077,
1665      0.00882641,  0.00823307,  0.00765011,  0.00707735,
1666      0.00651513,  0.00596377,  0.00542364,  0.00489514,
1667      0.00437884,  0.00387530,  0.00338509,  0.00290795,
1668      0.00244282,  0.00198860,  0.00154417,  0.00110825,
1669      0.00067934,  0.00025589, -0.00016357, -0.00057897,
1670     -0.00098865, -0.00139089, -0.00178397, -0.00216547,
1671     -0.00253230, -0.00288133, -0.00320955, -0.00351626,
1672     -0.00380315, -0.00407198, -0.00432457, -0.00456373,
1673     -0.00479326, -0.00501699, -0.00523871, -0.00546066,
1674     -0.00568360, -0.00590821, -0.00613508, -0.00636311,
1675     -0.00658944, -0.00681117, -0.00702540, -0.00722982,
1676     -0.00742268, -0.00760226, -0.00776687, -0.00791580,
1677     -0.00804933, -0.00816774, -0.00827139, -0.00836122,
1678     -0.00843882, -0.00850583, -0.00856383, -0.00861430,
1679     -0.00865853, -0.00869781, -0.00873344, -0.00876633,
1680     -0.00879707, -0.00882622, -0.00885433, -0.00888132,
1681     -0.00890652, -0.00892925, -0.00894881, -0.00896446,
1682     -0.00897541, -0.00898088, -0.00898010, -0.00897234,
1683     -0.00895696, -0.00893330, -0.00890076, -0.00885914,
1684     -0.00880875, -0.00874987, -0.00868282, -0.00860825,
1685     -0.00852716, -0.00844055, -0.00834941, -0.00825485,
1686     -0.00815807, -0.00806025, -0.00796253, -0.00786519,
1687     -0.00776767, -0.00766937, -0.00756971, -0.00746790,
1688     -0.00736305, -0.00725422, -0.00714055, -0.00702161,
1689     -0.00689746, -0.00676816, -0.00663381, -0.00649489,
1690     -0.00635230, -0.00620694, -0.00605969, -0.00591116,
1691     -0.00576167, -0.00561155, -0.00546110, -0.00531037,
1692     -0.00515917, -0.00500732, -0.00485462, -0.00470075,
1693     -0.00454530, -0.00438786, -0.00422805, -0.00406594,
1694     -0.00390204, -0.00373686, -0.00357091, -0.00340448,
1695     -0.00323770, -0.00307066, -0.00290344, -0.00273610,
1696     -0.00256867, -0.00240117, -0.00223365, -0.00206614,
1697     -0.00189866, -0.00173123, -0.00156390, -0.00139674,
1698     -0.00122989, -0.00106351, -0.00089772, -0.00073267,
1699     -0.00056849, -0.00040530, -0.00024324, -0.00008241,
1700      0.00008214,  0.00024102,  0.00039922,  0.00055660,
1701      0.00071299,  0.00086826,  0.00102224,  0.00117480,
1702      0.00132579,  0.00147507,  0.00162252,  0.00176804,
1703      0.00191161,  0.00205319,  0.00219277,  0.00233029,
1704      0.00246567,  0.00259886,  0.00272975,  0.00285832,
1705      0.00298453,  0.00310839,  0.00322990,  0.00334886,
1706      0.00346494,  0.00357778,  0.00368706,  0.00379273,
1707      0.00389501,  0.00399411,  0.00409020,  0.00418350,
1708      0.00427419,  0.00436249,  0.00444858,  0.00453250,
1709      0.00461411,  0.00469328,  0.00476988,  0.00484356,
1710      0.00491375,  0.00497987,  0.00504139,  0.00509806,
1711      0.00514990,  0.00519693,  0.00523920,  0.00527700,
1712      0.00531083,  0.00534122,  0.00536864,  0.00539357,
1713      0.00541649,  0.00543785,  0.00545809,  0.00547713,
1714      0.00549441,  0.00550936,  0.00552146,  0.00553017,
1715      0.00553494,  0.00553524,  0.00553058,  0.00552065,
1716      0.00550536,  0.00548459,  0.00545828,  0.00542662,
1717      0.00539007,  0.00534910,  0.00530415,  0.00525568,
1718      0.00520417,  0.00515009,  0.00509387,  0.00503595,
1719      0.00497674,  0.00491665,  0.00485605,  0.00479503,
1720      0.00473336,  0.00467082,  0.00460721,  0.00454216,
1721      0.00447517,  0.00440575,  0.00433344,  0.00425768,
1722      0.00417786,  0.00409336,  0.00400363,  0.00390837,
1723      0.00380759,  0.00370130,  0.00358952,  0.00347268,
1724      0.00335157,  0.00322699,  0.00309975,  0.00297088,
1725      0.00284164,  0.00271328,  0.00258700,  0.00246328,
1726      0.00234195,  0.00222281,  0.00210562,  0.00198958,
1727      0.00187331,  0.00175546,  0.00163474,  0.00151020,
1728      0.00138130,  0.00124750,  0.00110831,  0.00096411,
1729      0.00081611,  0.00066554,  0.00051363,  0.00036134,
1730      0.00020940,  0.00005853, -0.00009058, -0.00023783,
1731     -0.00038368, -0.00052861, -0.00067310, -0.00081757,
1732     -0.00096237, -0.00110786, -0.00125442, -0.00140210,
1733     -0.00155065, -0.00169984, -0.00184940, -0.00199910,
1734     -0.00214872, -0.00229798, -0.00244664, -0.00259462,
1735     -0.00274205, -0.00288912, -0.00303596, -0.00318259,
1736     -0.00332890, -0.00347480, -0.00362024, -0.00376519,
1737     -0.00390962, -0.00405345, -0.00419658, -0.00433902,
1738     -0.00448085, -0.00462219, -0.00476309, -0.00490357,
1739     -0.00504361, -0.00518321, -0.00532243, -0.00546132,
1740     -0.00559988, -0.00573811, -0.00587602, -0.00601363,
1741     -0.00615094, -0.00628795, -0.00642466, -0.00656111,
1742     -0.00669737, -0.00683352, -0.00696963, -0.00710578,
1743     -0.00724208, -0.00737862, -0.00751554, -0.00765295,
1744     -0.00779098, -0.00792976, -0.00806941, -0.00821006,
1745     -0.00835183, -0.00849485, -0.00863926, -0.00878522,
1746     -0.00893293, -0.00908260, -0.00923444, -0.00938864,
1747     -0.00954537, -0.00970482, -0.00986715, -0.01003173,
1748     -0.01019711, -0.01036164, -0.01052357, -0.01068184,
1749     -0.01083622, -0.01098652, -0.01113252, -0.01127409,
1750     -0.01141114, -0.01154358, -0.01167135, -0.01179439,
1751     -0.01191268, -0.01202619, -0.01213493, -0.01223891,
1752     -0.01233817, -0.01243275, -0.01252272, -0.01260815,
1753     -0.01268915, -0.01276583, -0.01283832, -0.01290685,
1754     -0.01297171, -0.01303320, -0.01309168, -0.01314722,
1755     -0.01319969, -0.01324889, -0.01329466, -0.01333693,
1756     -0.01337577, -0.01341125, -0.01344345, -0.01347243,
1757     -0.01349823, -0.01352089, -0.01354045, -0.01355700,
1758     -0.01357068, -0.01358164, -0.01359003, -0.01359587,
1759     -0.01359901, -0.01359931, -0.01359661, -0.01359087,
1760     -0.01358219, -0.01357065, -0.01355637, -0.01353935,
1761     -0.01351949, -0.01349670, -0.01347088, -0.01344214,
1762     -0.01341078, -0.01337715, -0.01334158, -0.01330442,
1763     -0.01326601, -0.01322671, -0.01318689, -0.01314692,
1764     -0.01310123, -0.01306470, -0.01302556, -0.01298381,
1765     -0.01293948, -0.01289255, -0.01284305, -0.01279095,
1766     -0.01273625, -0.01267893, -0.01261897, -0.01255632,
1767     -0.01249096, -0.01242283, -0.01235190, -0.01227827,
1768     -0.01220213, -0.01212366, -0.01204304, -0.01196032,
1769     -0.01187543, -0.01178829, -0.01169884, -0.01160718,
1770     -0.01151352, -0.01141809, -0.01132111, -0.01122272,
1771     -0.01112304, -0.01102217, -0.01092022, -0.01081730,
1772     -0.01071355, -0.01060912, -0.01050411, -0.01039854,
1773     -0.01029227, -0.01018521, -0.01007727, -0.00996859,
1774     -0.00985959, -0.00975063, -0.00964208, -0.00953420,
1775     -0.00942723, -0.00932135, -0.00921677, -0.00911364,
1776     -0.00901208, -0.00891220, -0.00881412, -0.00871792,
1777     -0.00862369, -0.00853153, -0.00844149, -0.00835360,
1778     -0.00826785, -0.00818422, -0.00810267, -0.00802312,
1779     -0.00794547, -0.00786959, -0.00779533, -0.00772165,
1780     -0.00764673, -0.00756886, -0.00748649, -0.00739905,
1781     -0.00730681, -0.00721006, -0.00710910, -0.00700419,
1782     -0.00689559, -0.00678354, -0.00666829, -0.00655007,
1783     -0.00642916, -0.00630579, -0.00618022, -0.00605267,
1784     -0.00592333, -0.00579240, -0.00566006, -0.00552651,
1785     -0.00539194, -0.00525653, -0.00512047, -0.00498390,
1786     -0.00484693, -0.00470969, -0.00457228, -0.00443482,
1787     -0.00429746, -0.00416034, -0.00402359, -0.00388738,
1788     -0.00375185, -0.00361718, -0.00348350, -0.00335100,
1789     -0.00321991, -0.00309043, -0.00296276, -0.00283698,
1790     -0.00271307, -0.00259098, -0.00247066, -0.00235210,
1791     -0.00223531, -0.00212030, -0.00200709, -0.00189576,
1792     -0.00178647, -0.00167936, -0.00157457, -0.00147216,
1793     -0.00137205, -0.00127418, -0.00117849, -0.00108498,
1794     -0.00099375, -0.00090486, -0.00081840, -0.00073444,
1795     -0.00065309, -0.00057445, -0.00049860, -0.00042551,
1796     -0.00035503, -0.00028700, -0.00022125, -0.00015761,
1797     -0.00009588, -0.00003583,  0.00002272,  0.00007975,
1798      0.00013501,  0.00018828,  0.00023933,  0.00028784,
1799      0.00033342,  0.00037572,  0.00041438,  0.00044939,
1800      0.00048103,  0.00050958,  0.00053533,  0.00055869,
1801      0.00058015,  0.00060022,  0.00061935,  0.00063781,
1802      0.00065568,  0.00067303,  0.00068991,  0.00070619,
1803      0.00072155,  0.00073567,  0.00074826,  0.00075912,
1804      0.00076811,  0.00077509,  0.00077997,  0.00078275,
1805      0.00078351,  0.00078237,  0.00077943,  0.00077484,
1806      0.00076884,  0.00076160,  0.00075335,  0.00074423,
1807      0.00073442,  0.00072404,  0.00071323,  0.00070209,
1808      0.00069068,  0.00067906,  0.00066728,  0.00065534,
1809      0.00064321,  0.00063086,  0.00061824,  0.00060534,
1810      0.00059211,  0.00057855,  0.00056462,  0.00055033,
1811      0.00053566,  0.00052063,  0.00050522,  0.00048949,
1812      0.00047349,  0.00045728,  0.00044092,  0.00042447,
1813      0.00040803,  0.00039166,  0.00037544,  0.00035943,
1814      0.00034371,  0.00032833,  0.00031333,  0.00029874,
1815      0.00028452,  0.00027067,  0.00025715,  0.00024395,
1816      0.00023104,  0.00021842,  0.00020606,  0.00019398,
1817      0.00018218,  0.00017069,  0.00015953,  0.00014871,
1818      0.00013827,  0.00012823,  0.00011861,  0.00010942,
1819      0.00010067,  0.00009236,  0.00008448,  0.00007703,
1820      0.00006999,  0.00006337,  0.00005714,  0.00005129,
1821      0.00004583,  0.00004072,  0.00003597,  0.00003157,
1822      0.00002752,  0.00002380,  0.00002042,  0.00001736,
1823      0.00001461,  0.00001215,  0.00000998,  0.00000807,
1824      0.00000641,  0.00000499,  0.00000378,  0.00000278,
1825      0.00000196,  0.00000132,  0.00000082,  0.00000046,
1826      0.00000020,  0.00000005, -0.00000003, -0.00000006,
1827     -0.00000004, -0.00000001,  0.00000001,  0.00000001,
1828      0.00000001,  0.00000001, -0.00000001, -0.00000004,
1829     -0.00000005, -0.00000003,  0.00000005,  0.00000020,
1830      0.00000043,  0.00000077,  0.00000123,  0.00000183,
1831      0.00000257,  0.00000348,  0.00000455,  0.00000581,
1832      0.00000727,  0.00000893,  0.00001080,  0.00001290,
1833      0.00001522,  0.00001778,  0.00002057,  0.00002362,
1834      0.00002691,  0.00003044,  0.00003422,  0.00003824,
1835      0.00004250,  0.00004701,  0.00005176,  0.00005676,
1836      0.00006200,  0.00006749,  0.00007322,  0.00007920,
1837      0.00008541,  0.00009186,  0.00009854,  0.00010543,
1838      0.00011251,  0.00011975,  0.00012714,  0.00013465,
1839      0.00014227,  0.00014997,  0.00015775,  0.00016558,
1840      0.00017348,  0.00018144,  0.00018947,  0.00019756,
1841      0.00020573,  0.00021399,  0.00022233,  0.00023076,
1842      0.00023924,  0.00024773,  0.00025621,  0.00026462,
1843      0.00027293,  0.00028108,  0.00028904,  0.00029675,
1844      0.00030419,  0.00031132,  0.00031810,  0.00032453,
1845      0.00033061,  0.00033632,  0.00034169,  0.00034672,
1846      0.00035142,  0.00035580,  0.00035988,  0.00036369,
1847      0.00036723,  0.00037053,  0.00037361,  0.00037647,
1848      0.00037909,  0.00038145,  0.00038352,  0.00038527,
1849      0.00038663,  0.00038757,  0.00038801,  0.00038790,
1850      0.00038717,  0.00038572,  0.00038350,  0.00038044,
1851      0.00037651,  0.00037170,  0.00036597,  0.00035936,
1852      0.00035191,  0.00034370,  0.00033480,  0.00032531,
1853      0.00031537,  0.00030512,  0.00029470,  0.00028417,
1854      0.00027354,  0.00026279,  0.00025191,  0.00024081,
1855      0.00022933,  0.00021731,  0.00020458,  0.00019101,
1856      0.00017654,  0.00016106,  0.00014452,  0.00012694,
1857      0.00010848,  0.00008929,  0.00006953,  0.00004935,
1858      0.00002884,  0.00000813, -0.00001268, -0.00003357,
1859     -0.00005457, -0.00007574, -0.00009714, -0.00011882,
1860     -0.00014082, -0.00016318, -0.00018595, -0.00020912,
1861     -0.00023265, -0.00025650, -0.00028060, -0.00030492,
1862     -0.00032941, -0.00035400, -0.00037865, -0.00040333,
1863     -0.00042804, -0.00045279, -0.00047759, -0.00050243,
1864     -0.00052728, -0.00055209, -0.00057685, -0.00060153,
1865     -0.00062611, -0.00065056, -0.00067485, -0.00069895,
1866     -0.00072287, -0.00074660, -0.00077013, -0.00079345,
1867     -0.00081653, -0.00083936, -0.00086192, -0.00088421,
1868     -0.00090619, -0.00092786, -0.00094919, -0.00097017,
1869     -0.00099077, -0.00101098, -0.00103077, -0.00105012,
1870     -0.00106904, -0.00108750, -0.00110549, -0.00112301,
1871     -0.00114005, -0.00115660, -0.00117265, -0.00118821,
1872     -0.00120325, -0.00121779, -0.00123180, -0.00124528,
1873     -0.00125822, -0.00127061, -0.00128243, -0.00129368,
1874     -0.00130435, -0.00131445, -0.00132395, -0.00133285,
1875     -0.00134113, -0.00134878, -0.00135577, -0.00136215,
1876     -0.00136797, -0.00137333, -0.00137834, -0.00138305,
1877     -0.00138748, -0.00139163, -0.00139551, -0.00139913,
1878     -0.00140249, -0.00140559, -0.00140844, -0.00141102,
1879     -0.00141334, -0.00141538, -0.00141714, -0.00141861,
1880     -0.00141978, -0.00142064, -0.00142117, -0.00142138,
1881     -0.00142125, -0.00142077, -0.00141992, -0.00141870,
1882     -0.00141710, -0.00141510, -0.00141268, -0.00140986,
1883     -0.00140663, -0.00140301, -0.00139900, -0.00139460,
1884     -0.00138981, -0.00138464, -0.00137908, -0.00137313,
1885     -0.00136680, -0.00136010, -0.00135301, -0.00134555,
1886     -0.00133772, -0.00132952, -0.00132095, -0.00131201,
1887     -0.00130272, -0.00129307, -0.00128309, -0.00127277,
1888     -0.00126211, -0.00125113, -0.00123981, -0.00122817,
1889     -0.00121622, -0.00120397, -0.00119141, -0.00117859,
1890     -0.00116552, -0.00115223, -0.00113877, -0.00112517,
1891     -0.00111144, -0.00109764, -0.00108377, -0.00106989,
1892 };
1893
1894 /* Q30 representation of ff_aac_eld_window_512 table */
1895 const DECLARE_ALIGNED(32, int, ff_aac_eld_window_512_fixed)[1920] = {
1896     0x003783ba, 0x005d04f4, 0x008ae226, 0x00c02021,
1897     0x00fb1804, 0x013a30a8, 0x017be9e6, 0x01bf296c,
1898     0x02033204, 0x0247502c, 0x028adab0, 0x02cd9568,
1899     0x030fa980, 0x03513dc0, 0x03927274, 0x03d363e0,
1900     0x04142e40, 0x0454edc0, 0x0495bd48, 0x04d6a060,
1901     0x051786d8, 0x05586548, 0x059935e8, 0x05d9feb0,
1902     0x061acea0, 0x065bb680, 0x069cc800, 0x06de13f0,
1903     0x071fa748, 0x07618b80, 0x07a3c7a8, 0x07e66da0,
1904     0x082999d0, 0x086d6590, 0x08b1e640, 0x08f72850,
1905     0x093d3120, 0x09840550, 0x09cba880, 0x0a1415f0,
1906     0x0a5d41b0, 0x0aa720d0, 0x0af1a9a0, 0x0b3cce70,
1907     0x0b887ec0, 0x0bd4ac10, 0x0c214a70, 0x0c6e5130,
1908     0x0cbbba50, 0x0d098130, 0x0d57a240, 0x0da61a60,
1909     0x0df4e620, 0x0e4401d0, 0x0e9369f0, 0x0ee31de0,
1910     0x0f332000, 0x0f837180, 0x0fd412a0, 0x10250260,
1911     0x10763f20, 0x10c7c660, 0x11199560, 0x116baa00,
1912     0x11be0400, 0x1210a1c0, 0x12638180, 0x12b69ee0,
1913     0x1309f3e0, 0x135d7ac0, 0x13b12dc0, 0x1404ffa0,
1914     0x1458dd40, 0x14acb720, 0x15008120, 0x15543260,
1915     0x15a7c460, 0x15fb3160, 0x164e7520, 0x16a193c0,
1916     0x16f49740, 0x17478720, 0x179a6720, 0x17ed3720,
1917     0x183ff460, 0x18929c20, 0x18e52b00, 0x19379c00,
1918     0x1989e900, 0x19dc0ca0, 0x1a2e0280, 0x1a7fc400,
1919     0x1ad14a00, 0x1b228ec0, 0x1b738ea0, 0x1bc44540,
1920     0x1c14ada0, 0x1c64c380, 0x1cb48440, 0x1d03f420,
1921     0x1d531c00, 0x1da20160, 0x1df0a660, 0x1e3f0860,
1922     0x1e8d2340, 0x1edaf340, 0x1f2875e0, 0x1f75a700,
1923     0x1fc281e0, 0x200f0380, 0x205b2ac0, 0x20a6f980,
1924     0x20f27200, 0x213d9600, 0x21886580, 0x21d2e040,
1925     0x221d0640, 0x2266d6c0, 0x22b05180, 0x22f97580,
1926     0x23424280, 0x238ab880, 0x23d2d780, 0x241aa040,
1927     0x246213c0, 0x24a93300, 0x24efff80, 0x25367b40,
1928     0x256f68c0, 0x25b53580, 0x25faa580, 0x263fb940,
1929     0x26847080, 0x26c8cbc0, 0x270ccb00, 0x27506e40,
1930     0x2793b600, 0x27d6a200, 0x281932c0, 0x285b6880,
1931     0x289d4400, 0x28dec5c0, 0x291feec0, 0x2960bf80,
1932     0x29a137c0, 0x29e15800, 0x2a212000, 0x2a609080,
1933     0x2a9fa980, 0x2ade6b40, 0x2b1cd600, 0x2b5aea00,
1934     0x2b98a740, 0x2bd60d80, 0x2c131cc0, 0x2c4fd500,
1935     0x2c8c3600, 0x2cc83f00, 0x2d03f040, 0x2d3f48c0,
1936     0x2d7a48c0, 0x2db4ef40, 0x2def3c40, 0x2e292ec0,
1937     0x2e62c700, 0x2e9c0400, 0x2ed4e580, 0x2f0d6ac0,
1938     0x2f4592c0, 0x2f7d5c80, 0x2fb4c6c0, 0x2febd140,
1939     0x30227b40, 0x3058c400, 0x308eab40, 0x30c43040,
1940     0x30f95100, 0x312e0d00, 0x31626240, 0x31965040,
1941     0x31c9d5c0, 0x31fcf240, 0x322fa480, 0x3261ec00,
1942     0x3293c7c0, 0x32c53680, 0x32f63780, 0x3326c9c0,
1943     0x3356ec00, 0x33869d00, 0x33b5db80, 0x33e4a700,
1944     0x3412fdc0, 0x3440df40, 0x346e4a80, 0x349b3e40,
1945     0x34c7ba00, 0x34f3bd80, 0x351f47c0, 0x354a5840,
1946     0x3574ee40, 0x359f0900, 0x35c8a840, 0x35f1cb80,
1947     0x361a71c0, 0x36429a80, 0x366a4580, 0x36917280,
1948     0x36b82100, 0x36de5180, 0x37040340, 0x372936c0,
1949     0x374dec40, 0x37722340, 0x3795dc40, 0x37b91780,
1950     0x37dbd600, 0x37fe18c0, 0x381fe080, 0x38412e00,
1951     0x38620280, 0x38825f40, 0x38a24540, 0x38c1b680,
1952     0x38e0b5c0, 0x38ff4540, 0x391d6800, 0x393b20c0,
1953     0x39587280, 0x39755fc0, 0x3991eb80, 0x39ae1a80,
1954     0x39c9f280, 0x39e57980, 0x3a00b600, 0x3a1bae00,
1955     0x3a366800, 0x3a50e9c0, 0x3a6b3a40, 0x3a8560c0,
1956     0x3a9f6640, 0x3ab95400, 0x3ad332c0, 0x3aed0680,
1957     0x3b06cf80, 0x3b208d40, 0x3b3a3e80, 0x3b53cb80,
1958     0x3b6d0780, 0x3b85c380, 0x3b9dd0c0, 0x3bb4eb40,
1959     0x3bcabac0, 0x3bdee680, 0x3bf11680, 0x3c011440,
1960     0x3c179ac0, 0x3c1c4f00, 0x3c21aa40, 0x3c278880,
1961     0x3c2dba80, 0x3c341140, 0x3c3a5e80, 0x3c409100,
1962     0x3c46b480, 0x3c4cd5c0, 0x3c530180, 0x3c593cc0,
1963     0x3c5f84c0, 0x3c65d640, 0x3c6c2e40, 0x3c728b40,
1964     0x3c78ee80, 0x3c7f5840, 0x3c85c940, 0x3c8c4240,
1965     0x3c92c380, 0x3c994cc0, 0x3c9fde40, 0x3ca67880,
1966     0x3cad1ac0, 0x3cb3c540, 0x3cba7800, 0x3cc132c0,
1967     0x3cc7f640, 0x3ccec280, 0x3cd59800, 0x3cdc76c0,
1968     0x3ce35e80, 0x3cea4f00, 0x3cf147c0, 0x3cf84900,
1969     0x3cff5340, 0x3d0666c0, 0x3d0d8400, 0x3d14ab40,
1970     0x3d1bdc00, 0x3d2315c0, 0x3d2a5880, 0x3d31a440,
1971     0x3d38f900, 0x3d405780, 0x3d47c040, 0x3d4f3300,
1972     0x3d56af40, 0x3d5e3500, 0x3d65c380, 0x3d6d5ac0,
1973     0x3d74fb40, 0x3d7ca540, 0x3d845900, 0x3d8c1680,
1974     0x3d93dd00, 0x3d9bac80, 0x3da38400, 0x3dab6400,
1975     0x3db34c80, 0x3dbb3dc0, 0x3dc33840, 0x3dcb3bc0,
1976     0x3dd347c0, 0x3ddb5bc0, 0x3de37780, 0x3deb9b00,
1977     0x3df3c600, 0x3dfbf940, 0x3e0434c0, 0x3e0c7840,
1978     0x3e14c3c0, 0x3e1d1640, 0x3e256f80, 0x3e2dcf40,
1979     0x3e363580, 0x3e3ea300, 0x3e4717c0, 0x3e4f9380,
1980     0x3e581600, 0x3e609e40, 0x3e692c40, 0x3e71bf80,
1981     0x3e7a5840, 0x3e82f740, 0x3e8b9c40, 0x3e944700,
1982     0x3e9cf780, 0x3ea5ad00, 0x3eae66c0, 0x3eb72500,
1983     0x3ebfe780, 0x3ec8af00, 0x3ed17b80, 0x3eda4d00,
1984     0x3ee32340, 0x3eebfd40, 0x3ef4dac0, 0x3efdbbc0,
1985     0x3f06a040, 0x3f0f88c0, 0x3f187540, 0x3f216600,
1986     0x3f2a5a80, 0x3f335200, 0x3f3c4c40, 0x3f454940,
1987     0x3f4e4940, 0x3f574c80, 0x3f605340, 0x3f695dc0,
1988     0x3f726b40, 0x3f7b7b40, 0x3f848dc0, 0x3f8da240,
1989     0x3f96b940, 0x3f9fd300, 0x3fa8f040, 0x3fb21080,
1990     0x3fbb33c0, 0x3fc459c0, 0x3fcd81c0, 0x3fd6abc0,
1991     0x3fdfd780, 0x3fe90480, 0x3ff23280, 0x3ffb6100,
1992     0x40049f80, 0x400dd080, 0x40170400, 0x40203880,
1993     0x40296f00, 0x4032a600, 0x403bde00, 0x40451680,
1994     0x404e4f00, 0x40578700, 0x4060be80, 0x4069f500,
1995     0x40732b80, 0x407c6280, 0x40859980, 0x408ed100,
1996     0x40980800, 0x40a13f00, 0x40aa7500, 0x40b3a980,
1997     0x40bcdd80, 0x40c61180, 0x40cf4500, 0x40d87800,
1998     0x40e1ab00, 0x40eadc80, 0x40f40c80, 0x40fd3a80,
1999     0x41066700, 0x410f9300, 0x4118bd80, 0x4121e700,
2000     0x412b0f80, 0x41343580, 0x413d5880, 0x41467980,
2001     0x414f9780, 0x4158b380, 0x4161cd80, 0x416ae580,
2002     0x4173fb00, 0x417d0d00, 0x41861b80, 0x418f2600,
2003     0x41982c80, 0x41a12f80, 0x41aa3000, 0x41b32c80,
2004     0x41bc2580, 0x41c51a00, 0x41ce0900, 0x41d6f300,
2005     0x41dfd800, 0x41e8b880, 0x41f19400, 0x41fa6b80,
2006     0x42033d00, 0x420c0900, 0x4214cf00, 0x421d8e00,
2007     0x42264680, 0x422ef980, 0x4237a680, 0x42404d80,
2008     0x4248ee00, 0x42518780, 0x425a1a00, 0x4262a480,
2009     0x426b2800, 0x4273a400, 0x427c1980, 0x42848880,
2010     0x428cef80, 0x42954f00, 0x429da680, 0x42a5f500,
2011     0x42ae3b80, 0x42b67a00, 0x42beb100, 0x42c6e080,
2012     0x42cf0780, 0x42d72680, 0x42df3c00, 0x42e74880,
2013     0x42ef4c80, 0x42f74880, 0x42ff3c80, 0x43072880,
2014     0x430f0c80, 0x4316e800, 0x431eba00, 0x43268380,
2015     0x432e4480, 0x4335fd00, 0x433dae80, 0x43455800,
2016     0x434cfa00, 0x43549400, 0x435c2500, 0x4363ad80,
2017     0x436b2e00, 0x4372a700, 0x437a1800, 0x43818200,
2018     0x4388e400, 0x43903f00, 0x43979200, 0x439edd00,
2019     0x43a62080, 0x43ad5c80, 0x43b49180, 0x43bbbf80,
2020     0x43c2e800, 0x43ca0b00, 0x43d12980, 0x43d84280,
2021     0x43df5200, 0x43e65500, 0x43ed4800, 0x43f43080,
2022     0x43fb1c80, 0x44021b80, 0x44093a00, 0x44106480,
2023     0x44176700, 0x441e0c00, 0x44241e00, 0x44297380,
2024     0x4425dc00, 0x44240180, 0x441ff300, 0x4419e300,
2025     0x44123f80, 0x44097500, 0x43ffe900, 0x43f5e700,
2026     0x43eb9f00, 0x43e13f00, 0x43d6f200, 0x43ccbd80,
2027     0x43c28400, 0x43b82780, 0x43ad8b00, 0x43a29c80,
2028     0x43975180, 0x438ba080, 0x437f8180, 0x4372fd00,
2029     0x43662b00, 0x43592480, 0x434c0000, 0x433ecd00,
2030     0x43319180, 0x43245300, 0x43171700, 0x4309da80,
2031     0x42fc9300, 0x42ef3500, 0x42e1b600, 0x42d40280,
2032     0x42c60000, 0x42b79300, 0x42a8a180, 0x42991a00,
2033     0x4288f200, 0x42782100, 0x42669e00, 0x42546880,
2034     0x42418800, 0x422e0480, 0x4219e500, 0x42053680,
2035     0x41f00980, 0x41da7080, 0x41c47b00, 0x41ae3600,
2036     0x4197ab80, 0x4180e400, 0x4169e780, 0x4152bb00,
2037     0x413b5e80, 0x4123d180, 0x410c1480, 0x40f42100,
2038     0x40dbed00, 0x40c36c80, 0x40aa9600, 0x40915f80,
2039     0x4077c100, 0x405db280, 0x40432c80, 0x40282580,
2040     0x400c9280, 0x3ff068c0, 0x3fd39dc0, 0x3fb62bc0,
2041     0x3f981200, 0x3f795080, 0x3f59e780, 0x3f39ebc0,
2042     0x3f198680, 0x3ef8e100, 0x3ed82440, 0x3eb76c80,
2043     0x3e96c940, 0x3e764900, 0x3e55f980, 0x3e35cb00,
2044     0x3e1590c0, 0x3df51cc0, 0x3dd44200, 0x3db2e640,
2045     0x3d910200, 0x3d6e8e40, 0x3d4b8480, 0x3d27e600,
2046     0x3d03bc00, 0x3cdf0fc0, 0x3cb9eb80, 0x3c946240,
2047     0x3c6e9180, 0x3c489700, 0x3c229000, 0x3bfc95c0,
2048     0x3bd6bd00, 0x3bb11a80, 0x3b8bc180, 0x3b669bc0,
2049     0x3b416a00, 0x3b1beb80, 0x3af5e140, 0x3acf3300,
2050     0x3aa7ef80, 0x3a802780, 0x3a57eb80, 0x3a2f5880,
2051     0x3a069640, 0x39ddcd40, 0x39b524c0, 0x398ca540,
2052     0x39643800, 0x393bc540, 0x39133580, 0x38ea7ac0,
2053     0x38c19040, 0x389871c0, 0x386f1b40, 0x38458e00,
2054     0x381bd000, 0x37f1e780, 0x37c7db00, 0x379db080,
2055     0x37736e80, 0x37491b00, 0x371ebcc0, 0x36f45980,
2056     0x36c96600, 0x369ed300, 0x36740380, 0x3648ffc0,
2057     0x361dcf40, 0x35f27a00, 0x35c70780, 0x359b7f80,
2058     0x356fe9c0, 0x35444dc0, 0x3518b280, 0x34ed1940,
2059     0x34c17c00, 0x3495d4c0, 0x346a1d40, 0x343e4300,
2060     0x34122840, 0x33e5ae00, 0x33b8b780, 0x338b4dc0,
2061     0x335d9f00, 0x332fdc00, 0x33023440, 0x32d4cc40,
2062     0x32a7bc80, 0x327b1d40, 0x324f04c0, 0x32235280,
2063     0x31f7b100, 0x31cbc7c0, 0x319f4140, 0x3171fb40,
2064     0x31440840, 0x31157d00, 0x30e66e80, 0x30b6fc40,
2065     0x30875080, 0x30579600, 0x3027f700, 0x2ff89140,
2066     0x2fc976c0, 0x2f9ab880, 0x2f6c6780, 0x2f3e8780,
2067     0x2f111000, 0x2ee3f800, 0x2eb73480, 0x2e8a9840,
2068     0x2e5dd340, 0x2e3093c0, 0x2e028ac0, 0x2dd39680,
2069     0x2da3c480, 0x2d732380, 0x2d41c400, 0x2d0fd300,
2070     0x2cdd9ac0, 0x2cab6640, 0x2c797f00, 0x2c480d40,
2071     0x2c171700, 0x2be6a0c0, 0x2bb6ae80, 0x2b8739c0,
2072     0x2b583200, 0x2b298600, 0x2afb2400, 0x2accfa40,
2073     0x2a9ef500, 0x2a710100, 0x2a430ac0, 0x2a14f9c0,
2074     0x29e6b0c0, 0x29b81240, 0x29890140, 0x29596900,
2075     0x29293e00, 0x28f87500, 0x28c70340, 0x2894efc0,
2076     0x28625140, 0x282f4040, 0x27fbd5c0, 0x27c83540,
2077     0x27948ec0, 0x27611240, 0x272def80, 0x26fb4cc0,
2078     0x26c94780, 0x2697fcc0, 0x26678880, 0x2637f740,
2079     0x26094540, 0x25db6dc0, 0x25ae6b40, 0x25821680,
2080     0x255627c0, 0x252a55c0, 0x24fe5680, 0x24d1db40,
2081     0x24a48fc0, 0x24761f40, 0x244637c0, 0x2414c900,
2082     0x23e20240, 0x23ae1740, 0x23793bc0, 0x2343cc00,
2083     0x230e4ac0, 0x22d93c80, 0x22a52400, 0x22725180,
2084     0x2240e480, 0x2210f9c0, 0x21e2ab40, 0x21b5c7c0,
2085     0x2189d2c0, 0x215e4d40, 0x2132b900, 0x2106ba80,
2086     0x20da1940, 0x20ac9d80, 0x207e11c0, 0x204e77c0,
2087     0x201e0880, 0x1fecfea0, 0x1fbb94e0, 0x1f8a0500,
2088     0x1f59d340, 0x1f27ac20, 0x1ef67c60, 0x1ec64e40,
2089     0x1e96fdc0, 0x1e686400, 0x1e3a5a00, 0x1e0cae80,
2090     0x1ddf25e0, 0x1db18460, 0x1d839020, 0x1d5536e0,
2091     0x1d268e80, 0x1cf7ae60, 0x1cc8aea0, 0x1c99af00,
2092     0x1c6ad820, 0x1c3c5280, 0x1c0e4500, 0x1be0ab60,
2093     0x1bb35620, 0x1b861400, 0x1b58b480, 0x1b2b1a00,
2094     0x1afd39c0, 0x1acf09a0, 0x1aa080c0, 0x1a71b020,
2095     0x1a42c2a0, 0x1a13e420, 0x19e53fc0, 0x19b6eb00,
2096     0x1988e620, 0x195b3060, 0x192dc8a0, 0x1900a8a0,
2097     0x18d3c4e0, 0x18a711e0, 0x187a83e0, 0x184e10e0,
2098     0x1821b060, 0x17f55a00, 0x17c90580, 0x179cb100,
2099     0x177060a0, 0x17441880, 0x1717dd20, 0x16ebb080,
2100     0x16bf9260, 0x169382e0, 0x166781c0, 0x163b8f80,
2101     0x160fade0, 0x15e3de40, 0x15b82220, 0x158c7ae0,
2102     0x1560ea80, 0x15357240, 0x150a1400, 0x14ded020,
2103     0x14b3a640, 0x148895a0, 0x145d9dc0, 0x1432bde0,
2104     0x1407f540, 0x13dd4380, 0x13b2a860, 0x13882460,
2105     0x135db880, 0x133365a0, 0x13092cc0, 0x12df0e60,
2106     0x12b50aa0, 0x128b2120, 0x12615200, 0x12379da0,
2107     0x120e04c0, 0x11e48820, 0x11bb2860, 0x1191e600,
2108     0x1168c080, 0x113fb7a0, 0x1116cb40, 0x10edfba0,
2109     0x10c54a00, 0x109cb7a0, 0x10744560, 0x104bf420,
2110     0x1023c3e0, 0x0ffbb500, 0x0fd3c790, 0x0fabfbe0,
2111     0x0f845290, 0x0f5ccc40, 0x0f356970, 0x0f0e2a60,
2112     0x0ee70eb0, 0x0ec01610, 0x0e994040, 0x0e728d50,
2113     0x0e4bfdf0, 0x0e2592c0, 0x0dff4c70, 0x0dd92af0,
2114     0x0db32da0, 0x0d8d53e0, 0x0d679cf0, 0x0d420880,
2115     0x0d1c9680, 0x0cf74700, 0x0cd219f0, 0x0cad0eb0,
2116     0x0c882450, 0x0c6359a0, 0x0c3ead90, 0x0c1a1f80,
2117     0x0bf5af40, 0x0bd15cf0, 0x0bad2870, 0x0b891440,
2118     0x0b652530, 0x0b416020, 0x0b1dca30, 0x0afa6810,
2119     0x0ad73ee0, 0x0ab45370, 0x0a91aac0, 0x0a6f49b0,
2120     0x0a4da7f0, 0x0a2c7e20, 0x0a0ba310, 0x09eb1220,
2121     0x09cac6e0, 0x09aabc70, 0x098aee40, 0x096b57a0,
2122     0x094bf400, 0x092cbea0, 0x090db2e0, 0x08eecef0,
2123     0x08d01360, 0x08b18110, 0x089318b0, 0x0874db00,
2124     0x0856c880, 0x0838e1b0, 0x081b2730, 0x07fd99a8,
2125     0x07e03a28, 0x07c309a8, 0x07a60910, 0x07893918,
2126     0x076c99d0, 0x07502b90, 0x0733ee70, 0x0717e2f8,
2127     0x06fc09b8, 0x06e06378, 0x06c4f0b8, 0x06a9b1c8,
2128     0x068ea6a0, 0x0673cf18, 0x06592b18, 0x063ebad0,
2129     0x06247ed0, 0x060a7780, 0x05f0a570, 0x05d708b8,
2130     0x05bda128, 0x05a46e80, 0x058b7078, 0x0572a740,
2131     0x055a1330, 0x0541b4d8, 0x05298c98, 0x05119a88,
2132     0x04f9de50, 0x04e257a0, 0x04cb0630, 0x04b3ea00,
2133     0x049d0378, 0x04865308, 0x046fd918, 0x045995a8,
2134     0x04438860, 0x042db0d0, 0x04180ea0, 0x0402a1d0,
2135     0x03ed6abc, 0x03d869b8, 0x03c39f28, 0x03af0af0,
2136     0x039aaca0, 0x038683b4, 0x03728fc0, 0x035ed0b0,
2137     0x034b46c4, 0x0337f254, 0x0324d3a0, 0x0311eab0,
2138     0x02ff370c, 0x02ecb85c, 0x02da6e34, 0x02c858a8,
2139     0x02b67820, 0x02a4cd28, 0x02935820, 0x02821920,
2140     0x02710fac, 0x02603b54, 0x024f9bb4, 0x023f308c,
2141     0x022ef9e8, 0x021ef7c8, 0x020f2a40, 0x01ff908e,
2142     0x01f02974, 0x01e0f38a, 0x01d1ed94, 0x01c316d6,
2143     0x01b46f5e, 0x01a5f720, 0x0197ae28, 0x018994ea,
2144     0x017bac54, 0x016df546, 0x016070ae, 0x01532078,
2145     0x01460760, 0x01392834, 0x012c85a4, 0x01201f7a,
2146     0x0113f27c, 0x0107fb6c, 0x00fc36fd, 0x00f0a2d5,
2147     0x00e53d51, 0x00da050f, 0x00cef88c, 0x00c41869,
2148     0x00b9671f, 0x00aee754, 0x00a49b80, 0x009a8384,
2149     0x00909ca6, 0x0086e400, 0x007d56e3, 0x0073f48e,
2150     0x006abe70, 0x0061b5de, 0x0058dc65, 0x005033b4,
2151     0x0047be30, 0x003f7e30, 0x00377619, 0x002fa4d4,
2152     0x002805ee, 0x002094cb, 0x00194cb8, 0x00122856,
2153     0x000b215c, 0x00043148, 0xfffd51f0, 0xfff683a0,
2154     0xffefcd4d, 0xffe9362f, 0xffe2c57d, 0xffdc855c,
2155     0xffd682c4, 0xffd0cad4, 0xffcb6a2c, 0xffc663bc,
2156     0xffc1b06f, 0xffbd48e1, 0xffb92570, 0xffb53a54,
2157     0xffb1779c, 0xffadcd38, 0xffaa2b42, 0xffa68855,
2158     0xffa2e141, 0xff9f332c, 0xff9b7b9c, 0xff97bf2e,
2159     0xff9409e2, 0xff9067e2, 0xff8ce556, 0xff898bf0,
2160     0xff866306, 0xff8371d0, 0xff80bf63, 0xff7e4eba,
2161     0xff7c1eaa, 0xff7a2e04, 0xff787b47, 0xff770280,
2162     0xff75bd06, 0xff74a3f7, 0xff73b0b2, 0xff72dd02,
2163     0xff72237e, 0xff717ebe, 0xff70e94c, 0xff705f59,
2164     0xff6fde6a, 0xff6f6426, 0xff6eee40, 0xff6e7d0b,
2165     0xff6e1359, 0xff6db403, 0xff6d61f8, 0xff6d2054,
2166     0xff6cf267, 0xff6cdb76, 0xff6cdebb, 0xff6cff47,
2167     0xff6d3fc9, 0xff6da306, 0xff6e2b82, 0xff6eda13,
2168     0xff6fad6d, 0xff70a463, 0xff71bd9d, 0xff72f662,
2169     0xff744a80, 0xff75b5c4, 0xff773409, 0xff78c0a6,
2170     0xff7a5693, 0xff7bf0dc, 0xff7d8abb, 0xff7f2301,
2171     0xff80bc08, 0xff825854, 0xff83fa56, 0xff85a55c,
2172     0xff875d22, 0xff892598, 0xff8b025d, 0xff8cf53c,
2173     0xff8efdf4, 0xff911c48, 0xff934fc9, 0xff959675,
2174     0xff97ec86, 0xff9a4e35, 0xff9cb7d2, 0xff9f26cc,
2175     0xffa199ce, 0xffa40f74, 0xffa6867c, 0xffa8feb2,
2176     0xffab78e0, 0xffadf5c7, 0xffb07640, 0xffb2fba0,
2177     0xffb587a2, 0xffb81bfb, 0xffbaba46, 0xffbd6236,
2178     0xffc011a8, 0xffc2c679, 0xffc57e84, 0xffc83894,
2179     0xffcaf41a, 0xffcdb0b8, 0xffd06e17, 0xffd32bf7,
2180     0xffd5ea38, 0xffd8a8c3, 0xffdb6764, 0xffde25fb,
2181     0xffe0e471, 0xffe3a2b2, 0xffe66087, 0xffe91da6,
2182     0xffebd978, 0xffee9351, 0xfff14ab0, 0xfff3fef6,
2183     0xfff6af94, 0xfff95c0c, 0xfffc03c7, 0xfffea659,
2184     0x00015885, 0x0003f2e9, 0x00068a73, 0x00091e8d,
2185     0x000bae7f, 0x000e39bf, 0x0010bf96, 0x00133f78,
2186     0x0015b8c4, 0x00182ae4, 0x001a9558, 0x001cf7b2,
2187     0x001f51e0, 0x0021a3b4, 0x0023ed25, 0x00262df2,
2188     0x002865c5, 0x002a9469, 0x002cb967, 0x002ed4aa,
2189     0x0030e607, 0x0032ed88, 0x0034eb2f, 0x0036de23,
2190     0x0038c503, 0x003a9e4c, 0x003c68a6, 0x003e23dd,
2191     0x003fd0db, 0x00417083, 0x0043038b, 0x00448adf,
2192     0x00460740, 0x0047799c, 0x0048e2b2, 0x004a42af,
2193     0x004b98fb, 0x004ce50b, 0x004e2654, 0x004f5b5d,
2194     0x005081c3, 0x00519716, 0x00529920, 0x005386d0,
2195     0x0054603f, 0x00552581, 0x0055d6cc, 0x00567558,
2196     0x0057033c, 0x005782b4, 0x0057f5b6, 0x00585e46,
2197     0x0058be68, 0x005917ff, 0x00596ce4, 0x0059bcc0,
2198     0x005a053a, 0x005a43ee, 0x005a76ae, 0x005a9b37,
2199     0x005aaf38, 0x005ab07a, 0x005a9cef, 0x005a7349,
2200     0x005a3328, 0x0059dc0a, 0x00596db0, 0x0058e8e5,
2201     0x00584f98, 0x0057a3c0, 0x0056e738, 0x00561bec,
2202     0x005543df, 0x0054610b, 0x0053753e, 0x0052824e,
2203     0x005189f6, 0x00508dec, 0x004f8fc0, 0x004e8fd0,
2204     0x004d8d26, 0x004c86d7, 0x004b7c0a, 0x004a6b33,
2205     0x00495239, 0x00482f0e, 0x0046ffc4, 0x0045c201,
2206     0x00447337, 0x004310cc, 0x00419871, 0x004008e4,
2207     0x003e6231, 0x003ca460, 0x003acf8a, 0x0038e57a,
2208     0x0036e981, 0x0034defa, 0x0032c94b, 0x0030acc6,
2209     0x002e8eb4, 0x002c7452, 0x002a62aa, 0x00285bbf,
2210     0x00265eda, 0x00246b24, 0x00227f9c, 0x002098e7,
2211     0x001eb13b, 0x001cc2ef, 0x001ac899, 0x0018be3d,
2212     0x0016a198, 0x00147065, 0x00122897, 0x000fcbc5,
2213     0x000d5f03, 0x000ae77a, 0x00086a52, 0x0005eb92,
2214     0x00036e4a, 0x0000f57e, 0xfffe8414, 0xfffc1a78,
2215     0xfff9b6bb, 0xfff756d9, 0xfff4f8d0, 0xfff29add,
2216     0xfff03b87, 0xffedd94c, 0xffeb7295, 0xffe9072b,
2217     0xffe6981a, 0xffe4265b, 0xffe1b30e, 0xffdf3f2b,
2218     0xffdccb9e, 0xffda5993, 0xffd7ea0c, 0xffd57d60,
2219     0xffd31302, 0xffd0aa27, 0xffce4243, 0xffcbdb40,
2220     0xffc97595, 0xffc711a2, 0xffc4af9d, 0xffc24fa6,
2221     0xffbff1de, 0xffbd9699, 0xffbb3e44, 0xffb8e8d5,
2222     0xffb695f4, 0xffb44522, 0xffb1f627, 0xffafa8f0,
2223     0xffad5d91, 0xffab140a, 0xffa8cc1c, 0xffa68590,
2224     0xffa44066, 0xffa1fca0, 0xff9fba30, 0xff9d7902,
2225     0xff9b3916, 0xff98fa6d, 0xff96bd06, 0xff9480b6,
2226     0xff924532, 0xff900a24, 0xff8dcf41, 0xff8b9433,
2227     0xff895884, 0xff871bd3, 0xff84dd8a, 0xff829d34,
2228     0xff805a43, 0xff7e142d, 0xff7bca71, 0xff797c83,
2229     0xff7729e3, 0xff74d204, 0xff727451, 0xff70101e,
2230     0xff6da493, 0xff6b30d1, 0xff68b3f4, 0xff662d31,
2231     0xff639bd1, 0xff60ff09, 0xff5e562c, 0xff5ba3e0,
2232     0xff58ee39, 0xff563c22, 0xff5394f3, 0xff50fd1e,
2233     0xff4e7599, 0xff4bff32, 0xff499ad4, 0xff47490a,
2234     0xff450a36, 0xff42deb7, 0xff40c6cf, 0xff3ec2be,
2235     0xff3cd299, 0xff3af681, 0xff392e6a, 0xff377a4a,
2236     0xff35d9f7, 0xff344d44, 0xff32d3e8, 0xff316d96,
2237     0xff3019d9, 0xff2ed83a, 0xff2da82f, 0xff2c88bf,
2238     0xff2b78b4, 0xff2a76cc, 0xff298184, 0xff289890,
2239     0xff27bc7d, 0xff26ee21, 0xff262e28, 0xff257cdc,
2240     0xff24d9f4, 0xff244524, 0xff23be15, 0xff234488,
2241     0xff22d852, 0xff227947, 0xff22273d, 0xff21e1d2,
2242     0xff21a871, 0xff217a79, 0xff215748, 0xff213eca,
2243     0xff21319e, 0xff21305c, 0xff213baf, 0xff2153c2,
2244     0xff21782b, 0xff21a892, 0xff21e477, 0xff222bda,
2245     0xff227f26, 0xff22debd, 0xff234b09, 0xff23c394,
2246     0xff24471d, 0xff24d42b, 0xff25695c, 0xff260538,
2247     0xff26a652, 0xff274b28, 0xff27f22d, 0xff2899d2,
2248     0xff295975, 0xff29f2ad, 0xff2a96d7, 0xff2b45f4,
2249     0xff2bffe3, 0xff2cc4ba, 0xff2d9458, 0xff2e6ede,
2250     0xff2f544c, 0xff3044b7, 0xff314034, 0xff3246fa,
2251     0xff33591e, 0xff3476e0, 0xff35a060, 0xff36d534,
2252     0xff38148f, 0xff395daf, 0xff3aafd4, 0xff3c0ac8,
2253     0xff3d6ed6, 0xff3edc54, 0xff405382, 0xff41d3f5,
2254     0xff435ccc, 0xff44ed0f, 0xff4683d3, 0xff482080,
2255     0xff49c297, 0xff4b69ab, 0xff4d1547, 0xff4ec4f5,
2256     0xff50781d, 0xff522e20, 0xff53e692, 0xff55a15d,
2257     0xff575f17, 0xff592022, 0xff5ae4de, 0xff5cacb4,
2258     0xff5e75e2, 0xff603ee5, 0xff62062f, 0xff63caab,
2259     0xff658b55, 0xff67476d, 0xff68fe11, 0xff6aaea0,
2260     0xff6c5899, 0xff6dfb86, 0xff6f96e7, 0xff712a65,
2261     0xff72b59f, 0xff74382b, 0xff75b1d3, 0xff772276,
2262     0xff788a20, 0xff79e8e5, 0xff7b3ef0, 0xff7c8c98,
2263     0xff7dd249, 0xff7f108c, 0xff804804, 0xff817d0e,
2264     0xff82b74a, 0xff83fde6, 0xff855762, 0xff86c622,
2265     0xff884904, 0xff89ded1, 0xff8b8646, 0xff8d3e4c,
2266     0xff8f05cc, 0xff90dbc6, 0xff92bf2a, 0xff94af04,
2267     0xff96aa26, 0xff98af9a, 0xff9abe48, 0xff9cd543,
2268     0xff9ef3c1, 0xffa118ea, 0xffa343fd, 0xffa57423,
2269     0xffa7a890, 0xffa9e084, 0xffac1b31, 0xffae5802,
2270     0xffb09680, 0xffb2d621, 0xffb51678, 0xffb75704,
2271     0xffb99726, 0xffbbd645, 0xffbe13d7, 0xffc04f26,
2272     0xffc2879a, 0xffc4bc72, 0xffc6ed24, 0xffc918e3,
2273     0xffcb3eb8, 0xffcd5dcc, 0xffcf7549, 0xffd184d8,
2274     0xffd38c8f, 0xffd58ca4, 0xffd7854d, 0xffd97694,
2275     0xffdb606e, 0xffdd42d1, 0xffdf1da8, 0xffe0f09b,
2276     0xffe2bb00, 0xffe47c41, 0xffe633c6, 0xffe7e150,
2277     0xffe98534, 0xffeb1fb4, 0xffecb10e, 0xffee3944,
2278     0xffefb7e9, 0xfff12cbe, 0xfff29762, 0xfff3f789,
2279     0xfff54cbe, 0xfff69695, 0xfff7d4b8, 0xfff90748,
2280     0xfffa2ee5, 0xfffb4c3c, 0xfffc6003, 0xfffd6af0,
2281     0xfffe6dda, 0xffff69b8, 0x00005f4b, 0x00014e7f,
2282     0x00023646, 0x000315b4, 0x0003ebd3, 0x0004b74a,
2283     0x00057677, 0x000627e2, 0x0006ca09, 0x00075ce1,
2284     0x0007e196, 0x00085955, 0x0008c556, 0x00092751,
2285     0x00098153, 0x0009d581, 0x000a25be, 0x000a732b,
2286     0x000abe1f, 0x000b06e4, 0x000b4db1, 0x000b91fa,
2287     0x000bd266, 0x000c0da0, 0x000c426e, 0x000c6ffb,
2288     0x000c95b0, 0x000cb2f7, 0x000cc76e, 0x000cd317,
2289     0x000cd647, 0x000cd17f, 0x000cc52b, 0x000cb1ea,
2290     0x000c98c0, 0x000c7a62, 0x000c57c7, 0x000c3187,
2291     0x000c0862, 0x000bdcd8, 0x000baf81, 0x000b80c7,
2292     0x000b50ec, 0x000b202f, 0x000aeec6, 0x000abcb2,
2293     0x000a89d2, 0x000a5605, 0x000a2116, 0x0009eafb,
2294     0x0009b37d, 0x00097a9d, 0x00094030, 0x00090440,
2295     0x0008c6b9, 0x000887ae, 0x0008470c, 0x00080512,
2296     0x0007c1f6, 0x00077df9, 0x0007395a, 0x0006f45b,
2297     0x0006af67, 0x00066abe, 0x000626b6, 0x0005e38f,
2298     0x0005a1a0, 0x0005611e, 0x00052234, 0x0004e502,
2299     0x0004a95d, 0x00046f46, 0x00043691, 0x0003ff33,
2300     0x0003c90d, 0x0003941f, 0x00036047, 0x00032d9c,
2301     0x0002fc1e, 0x0002cbed, 0x00029d1e, 0x00026fbc,
2302     0x000243f2, 0x000219d6, 0x0001f17d, 0x0001caf1,
2303     0x0001a63e, 0x00018363, 0x00016256, 0x00014316,
2304     0x0001258f, 0x000109cb, 0x0000efaa, 0x0000d720,
2305     0x0000c03a, 0x0000aacb, 0x000096de, 0x0000846a,
2306     0x0000736d, 0x000063d3, 0x000055a6, 0x000048d0,
2307     0x00003d47, 0x000032f6, 0x000029dc, 0x000021d9,
2308     0x00001ae3, 0x000014ee, 0x00000fdb, 0x00000ba9,
2309     0x00000839, 0x00000589, 0x00000370, 0x000001ee,
2310     0x000000d7, 0x00000036, 0xffffffe0, 0xffffffc0,
2311     0xffffffd5, 0xfffffff5, 0x0000000b, 0x0000000b,
2312     0x0000000b, 0x0000000b, 0xfffffff5, 0xffffffd5,
2313     0xffffffca, 0xffffffe0, 0x00000036, 0x000000d7,
2314     0x000001ce, 0x0000033b, 0x00000529, 0x000007ad,
2315     0x00000ac8, 0x00000e99, 0x00001316, 0x0000185e,
2316     0x00001e7e, 0x00002575, 0x00002d4c, 0x0000361b,
2317     0x00003fd6, 0x00004a93, 0x00005647, 0x00006312,
2318     0x000070de, 0x00007fad, 0x00008f87, 0x0000a064,
2319     0x0000b242, 0x0000c52d, 0x0000d919, 0x0000ee12,
2320     0x0001040c, 0x00011b13, 0x0001331b, 0x00014c30,
2321     0x0001663c, 0x0001814a, 0x00019d4f, 0x0001ba35,
2322     0x0001d7e7, 0x0001f645, 0x00021544, 0x000234c3,
2323     0x000254b9, 0x00027505, 0x000295a7, 0x0002b67e,
2324     0x0002d7a1, 0x0002f904, 0x00031ab2, 0x00033ca0,
2325     0x00035ee5, 0x0003818a, 0x0003a485, 0x0003c7e1,
2326     0x0003eb72, 0x00040f0e, 0x0004329f, 0x000455e6,
2327     0x000478c0, 0x00049aef, 0x0004bc52, 0x0004dca9,
2328     0x0004fbde, 0x000519c5, 0x00053635, 0x0005512d,
2329     0x00056aae, 0x000582a1, 0x00059927, 0x0005ae40,
2330     0x0005c1f6, 0x0005d455, 0x0005e572, 0x0005f56d,
2331     0x00060446, 0x0006121e, 0x00061f09, 0x00062b08,
2332     0x00063605, 0x00063feb, 0x00064899, 0x00064ff0,
2333     0x000655a5, 0x00065996, 0x00065b6f, 0x00065af8,
2334     0x000657e9, 0x000651d4, 0x00064884, 0x00063bae,
2335     0x00062b33, 0x00061706, 0x0005fefd, 0x0005e344,
2336     0x0005c404, 0x0005a195, 0x00057c41, 0x00055473,
2337     0x00052ac2, 0x0004ffc4, 0x0004d410, 0x0004a7e5,
2338     0x00047b4f, 0x00044e39, 0x00042096, 0x0003f208,
2339     0x0003c1e1, 0x00038f77, 0x00035a12, 0x00032127,
2340     0x0002e476, 0x0002a389, 0x00025e29, 0x0002146d,
2341     0x0001c700, 0x00017682, 0x000123a1, 0x0000cefd,
2342     0x000078f7, 0x0000221a, 0xffffcad1, 0xffff7332,
2343     0xffff1b1e, 0xfffec253, 0xfffe6891, 0xfffe0da2,
2344     0xfffdb15c, 0xfffd5393, 0xfffcf412, 0xfffc92e3,
2345     0xfffc3032, 0xfffbcc29, 0xfffb6714, 0xfffb0113,
2346     0xfffa9a5b, 0xfffa3337, 0xfff9cbd4, 0xfff96450,
2347     0xfff8fcac, 0xfff894dc, 0xfff82cd8, 0xfff7c4a8,
2348     0xfff75c6d, 0xfff6f45e, 0xfff68c84, 0xfff62500,
2349     0xfff5bde8, 0xfff5575a, 0xfff4f179, 0xfff48c64,
2350     0xfff42810, 0xfff3c488, 0xfff361d7, 0xfff30008,
2351     0xfff29f3a, 0xfff23f78, 0xfff1e0d8, 0xfff1835b,
2352     0xfff1272a, 0xfff0cc46, 0xfff072cf, 0xfff01ad0,
2353     0xffefc469, 0xffef6fa4, 0xffef1ca3, 0xffeecb7a,
2354     0xffee7c1f, 0xffee2eb2, 0xffede33d, 0xffed99c1,
2355     0xffed5249, 0xffed0cde, 0xffecc98d, 0xffec8849,
2356     0xffec4934, 0xffec0c38, 0xffebd175, 0xffeb98eb,
2357     0xffeb62a4, 0xffeb2ead, 0xffeafd19, 0xffeacdea,
2358     0xffeaa129, 0xffea76cc, 0xffea4ef4, 0xffea299f,
2359     0xffea06e5, 0xffe9e6ce, 0xffe9c97d, 0xffe9aebb,
2360     0xffe99651, 0xffe97fd6, 0xffe96ad3, 0xffe95711,
2361     0xffe9447d, 0xffe93315, 0xffe922ce, 0xffe913a0,
2362     0xffe90588, 0xffe8f887, 0xffe8ec93, 0xffe8e1c1,
2363     0xffe8d806, 0xffe8cf77, 0xffe8c816, 0xffe8c1eb,
2364     0xffe8bd03, 0xffe8b967, 0xffe8b72e, 0xffe8b64d,
2365     0xffe8b6d8, 0xffe8b8dc, 0xffe8bc6c, 0xffe8c18a,
2366     0xffe8c840, 0xffe8d0a4, 0xffe8daca, 0xffe8e69e,
2367     0xffe8f42a, 0xffe9035a, 0xffe9142b, 0xffe926a0,
2368     0xffe93ab7, 0xffe95066, 0xffe967b8, 0xffe980ad,
2369     0xffe99b3a, 0xffe9b754, 0xffe9d511, 0xffe9f45b,
2370     0xffea1532, 0xffea3797, 0xffea5b89, 0xffea8108,
2371     0xffeaa7ff, 0xffead079, 0xffeafa55, 0xffeb259e,
2372     0xffeb5254, 0xffeb8061, 0xffebafdc, 0xffebe0ae,
2373     0xffec12ce, 0xffec462f, 0xffec7add, 0xffecb0a3,
2374     0xffece774, 0xffed1f32, 0xffed57a7, 0xffed90b2,
2375     0xffedca48, 0xffee042a, 0xffee3e57, 0xffee788e,
2376 };
2377
2378 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_480)[1800] = {
2379      0.00101191,  0.00440397,  0.00718669,  0.01072130,
2380      0.01459757,  0.01875954,  0.02308987,  0.02751541,
2381      0.03198130,  0.03643738,  0.04085290,  0.04522835,
2382      0.04957620,  0.05390454,  0.05821503,  0.06251214,
2383      0.06680463,  0.07109582,  0.07538014,  0.07965207,
2384      0.08390857,  0.08815177,  0.09238785,  0.09662163,
2385      0.10085860,  0.10510892,  0.10938110,  0.11367819,
2386      0.11800355,  0.12236410,  0.12676834,  0.13122384,
2387      0.13573476,  0.14030106,  0.14492340,  0.14960315,
2388      0.15433828,  0.15912396,  0.16395663,  0.16883310,
2389      0.17374837,  0.17869679,  0.18367394,  0.18867661,
2390      0.19370368,  0.19875413,  0.20382641,  0.20892055,
2391      0.21403775,  0.21917761,  0.22433899,  0.22952250,
2392      0.23472991,  0.23996189,  0.24521859,  0.25049930,
2393      0.25580312,  0.26112942,  0.26647748,  0.27184703,
2394      0.27723785,  0.28264967,  0.28808086,  0.29352832,
2395      0.29898979,  0.30446379,  0.30994292,  0.31541664,
2396      0.32087942,  0.32632772,  0.33176291,  0.33718641,
2397      0.34259612,  0.34799346,  0.35338857,  0.35878843,
2398      0.36419504,  0.36960630,  0.37501567,  0.38042067,
2399      0.38582069,  0.39121276,  0.39659312,  0.40195993,
2400      0.40731155,  0.41264382,  0.41795277,  0.42323670,
2401      0.42849480,  0.43372753,  0.43893452,  0.44411398,
2402      0.44927117,  0.45441882,  0.45956191,  0.46470167,
2403      0.46983016,  0.47493636,  0.48001827,  0.48507480,
2404      0.49010240,  0.49509781,  0.50005986,  0.50499037,
2405      0.50989790,  0.51478708,  0.51965805,  0.52450975,
2406      0.52933955,  0.53414668,  0.53893113,  0.54369178,
2407      0.54842731,  0.55313757,  0.55782259,  0.56248253,
2408      0.56711762,  0.57172819,  0.57631468,  0.58087761,
2409      0.58719976,  0.59173064,  0.59623644,  0.60071719,
2410      0.60517294,  0.60960372,  0.61400958,  0.61839056,
2411      0.62274670,  0.62707805,  0.63138475,  0.63566700,
2412      0.63992500,  0.64415895,  0.64836893,  0.65255499,
2413      0.65671715,  0.66085548,  0.66497005,  0.66906094,
2414      0.67312824,  0.67717199,  0.68119219,  0.68518882,
2415      0.68916187,  0.69311129,  0.69703698,  0.70093884,
2416      0.70481679,  0.70867071,  0.71250047,  0.71630596,
2417      0.72008705,  0.72384360,  0.72757549,  0.73128256,
2418      0.73496463,  0.73862141,  0.74225263,  0.74585799,
2419      0.74943730,  0.75299039,  0.75651711,  0.76001729,
2420      0.76349062,  0.76693670,  0.77035516,  0.77374564,
2421      0.77710790,  0.78044169,  0.78374678,  0.78702291,
2422      0.79026979,  0.79348715,  0.79667471,  0.79983215,
2423      0.80295914,  0.80605536,  0.80912047,  0.81215417,
2424      0.81515616,  0.81812616,  0.82106389,  0.82396915,
2425      0.82684176,  0.82968154,  0.83248830,  0.83526186,
2426      0.83800204,  0.84070866,  0.84338156,  0.84602058,
2427      0.84862556,  0.85119636,  0.85373292,  0.85623523,
2428      0.85870326,  0.86113701,  0.86353649,  0.86590173,
2429      0.86823275,  0.87052968,  0.87279275,  0.87502220,
2430      0.87721829,  0.87938130,  0.88151157,  0.88360940,
2431      0.88567517,  0.88770954,  0.88971328,  0.89168716,
2432      0.89363199,  0.89554856,  0.89743771,  0.89930025,
2433      0.90113740,  0.90295086,  0.90474240,  0.90651380,
2434      0.90826684,  0.91000335,  0.91172515,  0.91343416,
2435      0.91513276,  0.91682357,  0.91850924,  0.92019170,
2436      0.92187129,  0.92354778,  0.92522116,  0.92688597,
2437      0.92852960,  0.93013861,  0.93169897,  0.93319114,
2438      0.93458502,  0.93587626,  0.93694276,  0.93825562,
2439      0.93882222,  0.93910780,  0.93944183,  0.93981497,
2440      0.94021434,  0.94062629,  0.94103714,  0.94144084,
2441      0.94184042,  0.94223966,  0.94264206,  0.94304859,
2442      0.94345831,  0.94387033,  0.94428390,  0.94469895,
2443      0.94511572,  0.94553441,  0.94595520,  0.94637816,
2444      0.94680335,  0.94723080,  0.94766054,  0.94809253,
2445      0.94852674,  0.94896314,  0.94940178,  0.94984276,
2446      0.95028618,  0.95073213,  0.95118056,  0.95163139,
2447      0.95208451,  0.95253992,  0.95299770,  0.95345799,
2448      0.95392092,  0.95438653,  0.95485472,  0.95532539,
2449      0.95579847,  0.95627397,  0.95675201,  0.95723273,
2450      0.95771618,  0.95820232,  0.95869103,  0.95918218,
2451      0.95967573,  0.96017172,  0.96067026,  0.96117144,
2452      0.96167526,  0.96218157,  0.96269026,  0.96320119,
2453      0.96371437,  0.96422988,  0.96474782,  0.96526824,
2454      0.96579106,  0.96631614,  0.96684334,  0.96737257,
2455      0.96790390,  0.96843740,  0.96897315,  0.96951112,
2456      0.97005119,  0.97059318,  0.97113697,  0.97168253,
2457      0.97222994,  0.97277928,  0.97333058,  0.97388375,
2458      0.97443863,  0.97499505,  0.97555292,  0.97611230,
2459      0.97667326,  0.97723589,  0.97780016,  0.97836591,
2460      0.97893300,  0.97950127,  0.98007071,  0.98064139,
2461      0.98121342,  0.98178684,  0.98236156,  0.98293743,
2462      0.98351428,  0.98409205,  0.98467078,  0.98525056,
2463      0.98583146,  0.98641348,  0.98699650,  0.98758037,
2464      0.98816497,  0.98875030,  0.98933647,  0.98992356,
2465      0.99051163,  0.99110062,  0.99169038,  0.99228079,
2466      0.99287177,  0.99346341,  0.99405581,  0.99464907,
2467      0.99524320,  0.99583812,  0.99643375,  0.99702997,
2468      0.99762671,  0.99822386,  0.99882134,  0.99941903,
2469      1.00058131,  1.00118006,  1.00177930,  1.00237893,
2470      1.00297887,  1.00357902,  1.00417927,  1.00477954,
2471      1.00537972,  1.00597973,  1.00657959,  1.00717940,
2472      1.00777926,  1.00837925,  1.00897929,  1.00957926,
2473      1.01017901,  1.01077847,  1.01137769,  1.01197678,
2474      1.01257582,  1.01317482,  1.01377365,  1.01437217,
2475      1.01497025,  1.01556786,  1.01616510,  1.01676205,
2476      1.01735876,  1.01795514,  1.01855103,  1.01914627,
2477      1.01974076,  1.02033455,  1.02092772,  1.02152037,
2478      1.02211247,  1.02270387,  1.02329439,  1.02388387,
2479      1.02447229,  1.02505972,  1.02564624,  1.02623190,
2480      1.02681660,  1.02740017,  1.02798242,  1.02856326,
2481      1.02914272,  1.02972087,  1.03029778,  1.03087344,
2482      1.03144768,  1.03202035,  1.03259127,  1.03316042,
2483      1.03372788,  1.03429373,  1.03485801,  1.03542064,
2484      1.03598146,  1.03654030,  1.03709708,  1.03765185,
2485      1.03820470,  1.03875571,  1.03930488,  1.03985206,
2486      1.04039712,  1.04093989,  1.04148037,  1.04201865,
2487      1.04255481,  1.04308893,  1.04362093,  1.04415068,
2488      1.04467803,  1.04520292,  1.04572542,  1.04624566,
2489      1.04676376,  1.04727974,  1.04779350,  1.04830493,
2490      1.04881391,  1.04932048,  1.04982477,  1.05032693,
2491      1.05082705,  1.05132510,  1.05182098,  1.05231457,
2492      1.05280584,  1.05329485,  1.05378171,  1.05426654,
2493      1.05474937,  1.05523018,  1.05570892,  1.05618554,
2494      1.05666005,  1.05713251,  1.05760297,  1.05807149,
2495      1.05853828,  1.05900355,  1.05946756,  1.05993024,
2496      1.06039075,  1.06084806,  1.06130111,  1.06175099,
2497      1.06220164,  1.06265732,  1.06312146,  1.06358726,
2498      1.06403924,  1.06446186,  1.06484048,  1.06516440,
2499      1.06527864,  1.06498077,  1.06470196,  1.06425743,
2500      1.06372091,  1.06311464,  1.06246622,  1.06179277,
2501      1.06110808,  1.06042455,  1.05974495,  1.05906206,
2502      1.05836706,  1.05765243,  1.05691470,  1.05615178,
2503      1.05536069,  1.05454152,  1.05370030,  1.05284445,
2504      1.05198094,  1.05111433,  1.05024634,  1.04937859,
2505      1.04851245,  1.04764614,  1.04677586,  1.04589855,
2506      1.04501046,  1.04410500,  1.04317417,  1.04221010,
2507      1.04120649,  1.04016012,  1.03906851,  1.03792894,
2508      1.03674090,  1.03550649,  1.03422800,  1.03290769,
2509      1.03154944,  1.03015834,  1.02873938,  1.02729712,
2510      1.02583470,  1.02435463,  1.02285952,  1.02135114,
2511      1.01982974,  1.01829520,  1.01674752,  1.01518534,
2512      1.01360559,  1.01200510,  1.01038076,  1.00872996,
2513      1.00705045,  1.00533999,  1.00359618,  1.00181613,
2514      0.99999673,  0.99813477,  0.99622793,  0.99427571,
2515      0.99227814,  0.99023501,  0.98815128,  0.98603857,
2516      0.98390898,  0.98177413,  0.97964151,  0.97751528,
2517      0.97539999,  0.97329751,  0.97119933,  0.96909179,
2518      0.96696152,  0.96479824,  0.96259840,  0.96036028,
2519      0.95808180,  0.95576295,  0.95340622,  0.95101436,
2520      0.94859030,  0.94614009,  0.94367232,  0.94119555,
2521      0.93871796,  0.93624630,  0.93378636,  0.93134465,
2522      0.92892076,  0.92649974,  0.92406255,  0.92159041,
2523      0.91907411,  0.91651711,  0.91392425,  0.91130056,
2524      0.90865471,  0.90599838,  0.90334350,  0.90069934,
2525      0.89806435,  0.89543132,  0.89279335,  0.89014496,
2526      0.88748403,  0.88480945,  0.88211997,  0.87941558,
2527      0.87669794,  0.87396891,  0.87123030,  0.86848394,
2528      0.86573164,  0.86297523,  0.86021649,  0.85745725,
2529      0.85474342,  0.85193656,  0.84911455,  0.84627969,
2530      0.84343424,  0.84058046,  0.83772057,  0.83485680,
2531      0.83199134,  0.82912621,  0.82626143,  0.82339529,
2532      0.82052619,  0.81765147,  0.81476433,  0.81185593,
2533      0.80891701,  0.80594452,  0.80294885,  0.79994431,
2534      0.79694485,  0.79396166,  0.79100220,  0.78807349,
2535      0.78518123,  0.78231422,  0.77944709,  0.77655407,
2536      0.77361369,  0.77062281,  0.76758806,  0.76451506,
2537      0.76141145,  0.75828860,  0.75515892,  0.75203479,
2538      0.74892561,  0.74583682,  0.74277342,  0.73974008,
2539      0.73673754,  0.73376310,  0.73081444,  0.72788616,
2540      0.72496070,  0.72201426,  0.71902283,  0.71596990,
2541      0.71285541,  0.70968427,  0.70646064,  0.70319589,
2542      0.69991077,  0.69662714,  0.69336592,  0.69013742,
2543      0.68694302,  0.68378420,  0.68066143,  0.67757157,
2544      0.67450951,  0.67147030,  0.66844879,  0.66543949,
2545      0.66243677,  0.65943505,  0.65642754,  0.65340591,
2546      0.65036160,  0.64728630,  0.64417440,  0.64102268,
2547      0.63782771,  0.63458757,  0.63130628,  0.62799109,
2548      0.62464879,  0.62128816,  0.61792203,  0.61456438,
2549      0.61122915,  0.60792802,  0.60466971,  0.60146257,
2550      0.59831460,  0.59522876,  0.59220375,  0.58923859,
2551      0.58632936,  0.58346064,  0.58061078,  0.57775874,
2552      0.57488246,  0.57195790,  0.56896078,  0.56586637,
2553      0.56266594,  0.55937186,  0.55599898,  0.55256299,
2554      0.54909184,  0.54562376,  0.54219742,  0.53884728,
2555      0.53559047,  0.53243453,  0.52938894,  0.52645052,
2556      0.52358958,  0.52076862,  0.51795080,  0.51510761,
2557      0.51222179,  0.50927733,  0.50625944,  0.50317073,
2558      0.50002767,  0.49685021,  0.49364116,  0.49048690,
2559      0.48726128,  0.48404889,  0.48090875,  0.47783482,
2560      0.47481564,  0.47184024,  0.46889391,  0.46595836,
2561      0.46301611,  0.46005089,  0.45705924,  0.45404822,
2562      0.45102447,  0.44799543,  0.44497138,  0.44196397,
2563      0.43898547,  0.43604105,  0.43312057,  0.43020942,
2564      0.42729337,  0.42436272,  0.42141388,  0.41844400,
2565      0.41545081,  0.41244014,  0.40942464,  0.40641716,
2566      0.40342874,  0.40046292,  0.39751923,  0.39459758,
2567      0.39169692,  0.38881435,  0.38594643,  0.38308980,
2568      0.38024146,  0.37739896,  0.37455986,  0.37172187,
2569      0.36888463,  0.36604937,  0.36321735,  0.36038967,
2570      0.35756668,  0.35474832,  0.35193455,  0.34912542,
2571      0.34632129,  0.34352258,  0.34072974,  0.33794323,
2572      0.33516354,  0.33239114,  0.32962648,  0.32686967,
2573      0.32412042,  0.32137919,  0.31864044,  0.31588373,
2574      0.31309909,  0.31028631,  0.30745528,  0.30462678,
2575      0.30180656,  0.29899424,  0.29619082,  0.29339717,
2576      0.29061333,  0.28783935,  0.28507563,  0.28232266,
2577      0.27958067,  0.27684984,  0.27413017,  0.27142157,
2578      0.26872396,  0.26603737,  0.26336211,  0.26069855,
2579      0.25804700,  0.25540830,  0.25278329,  0.25017211,
2580      0.24757451,  0.24498713,  0.24240740,  0.23983550,
2581      0.23727200,  0.23471866,  0.23217624,  0.22964458,
2582      0.22712346,  0.22461258,  0.22211202,  0.21962197,
2583      0.21714290,  0.21467522,  0.21221877,  0.20977323,
2584      0.20733693,  0.20490860,  0.20248823,  0.20007615,
2585      0.19767358,  0.19528091,  0.19289781,  0.19052347,
2586      0.18815661,  0.18579693,  0.18344441,  0.18110010,
2587      0.17876595,  0.17644344,  0.17413400,  0.17183905,
2588      0.16956003,  0.16729836,  0.16505547,  0.16283278,
2589      0.15990780,  0.15776021,  0.15563325,  0.15352557,
2590      0.15143584,  0.14936270,  0.14730481,  0.14526081,
2591      0.14322937,  0.14120918,  0.13919977,  0.13720138,
2592      0.13521422,  0.13323852,  0.13127445,  0.12932216,
2593      0.12738181,  0.12545358,  0.12353773,  0.12163457,
2594      0.11974436,  0.11786730,  0.11600347,  0.11415293,
2595      0.11231573,  0.11049201,  0.10868196,  0.10688578,
2596      0.10510362,  0.10333551,  0.10158143,  0.09984133,
2597      0.09811524,  0.09640327,  0.09470556,  0.09302228,
2598      0.09135347,  0.08969907,  0.08805903,  0.08643326,
2599      0.08482183,  0.08322486,  0.08164249,  0.08007481,
2600      0.07852179,  0.07698335,  0.07545938,  0.07394984,
2601      0.07245482,  0.07097444,  0.06950883,  0.06805800,
2602      0.06662187,  0.06520031,  0.06379324,  0.06240065,
2603      0.06102266,  0.05965936,  0.05831084,  0.05697701,
2604      0.05565775,  0.05435290,  0.05306239,  0.05178628,
2605      0.05052464,  0.04927758,  0.04804510,  0.04682709,
2606      0.04562344,  0.04443405,  0.04325893,  0.04209822,
2607      0.04095208,  0.03982059,  0.03870371,  0.03760131,
2608      0.03651325,  0.03543944,  0.03437987,  0.03333454,
2609      0.03230348,  0.03128653,  0.03028332,  0.02929346,
2610      0.02831658,  0.02735252,  0.02640127,  0.02546283,
2611      0.02453725,  0.02362471,  0.02272547,  0.02183980,
2612      0.02096810,  0.02011108,  0.01926957,  0.01844439,
2613      0.01763565,  0.01684248,  0.01606394,  0.01529909,
2614      0.01454726,  0.01380802,  0.01308092,  0.01236569,
2615      0.01166273,  0.01097281,  0.01029671,  0.00963479,
2616      0.00898646,  0.00835089,  0.00772725,  0.00711521,
2617      0.00651513,  0.00592741,  0.00535249,  0.00479089,
2618      0.00424328,  0.00371041,  0.00319271,  0.00268947,
2619      0.00219928,  0.00172084,  0.00125271,  0.00079311,
2620      0.00034023, -0.00010786, -0.00055144, -0.00098865,
2621     -0.00141741, -0.00183557, -0.00224010, -0.00262725,
2622     -0.00299314, -0.00333475, -0.00365250, -0.00394867,
2623     -0.00422533, -0.00448528, -0.00473278, -0.00497252,
2624     -0.00520916, -0.00544584, -0.00568360, -0.00592326,
2625     -0.00616547, -0.00640861, -0.00664914, -0.00688354,
2626     -0.00710845, -0.00732136, -0.00752022, -0.00770289,
2627     -0.00786789, -0.00801521, -0.00814526, -0.00825839,
2628     -0.00835563, -0.00843882, -0.00850996, -0.00857097,
2629     -0.00862360, -0.00866943, -0.00871004, -0.00874688,
2630     -0.00878091, -0.00881277, -0.00884320, -0.00887248,
2631     -0.00890002, -0.00892494, -0.00894641, -0.00896355,
2632     -0.00897541, -0.00898104, -0.00897948, -0.00896990,
2633     -0.00895149, -0.00892346, -0.00888519, -0.00883670,
2634     -0.00877839, -0.00871058, -0.00863388, -0.00854936,
2635     -0.00845826, -0.00836179, -0.00826124, -0.00815807,
2636     -0.00805372, -0.00794953, -0.00784572, -0.00774156,
2637     -0.00763634, -0.00752929, -0.00741941, -0.00730556,
2638     -0.00718664, -0.00706184, -0.00693107, -0.00679443,
2639     -0.00665200, -0.00650428, -0.00635230, -0.00619718,
2640     -0.00603995, -0.00588133, -0.00572169, -0.00556143,
2641     -0.00540085, -0.00523988, -0.00507828, -0.00491582,
2642     -0.00475220, -0.00458693, -0.00441953, -0.00424950,
2643     -0.00407681, -0.00390204, -0.00372581, -0.00354874,
2644     -0.00337115, -0.00319318, -0.00301494, -0.00283652,
2645     -0.00265797, -0.00247934, -0.00230066, -0.00212197,
2646     -0.00194331, -0.00176471, -0.00158620, -0.00140787,
2647     -0.00122989, -0.00105244, -0.00087567, -0.00069976,
2648     -0.00052487, -0.00035115, -0.00017875, -0.00000782,
2649      0.00000779,  0.00017701,  0.00034552,  0.00051313,
2650      0.00067966,  0.00084492,  0.00100873,  0.00117093,
2651      0.00133133,  0.00148978,  0.00164611,  0.00180023,
2652      0.00195211,  0.00210172,  0.00224898,  0.00239383,
2653      0.00253618,  0.00267593,  0.00281306,  0.00294756,
2654      0.00307942,  0.00320864,  0.00333502,  0.00345816,
2655      0.00357762,  0.00369297,  0.00380414,  0.00391140,
2656      0.00401499,  0.00411524,  0.00421242,  0.00430678,
2657      0.00439859,  0.00448799,  0.00457487,  0.00465908,
2658      0.00474045,  0.00481857,  0.00489277,  0.00496235,
2659      0.00502666,  0.00508546,  0.00513877,  0.00518662,
2660      0.00522904,  0.00526648,  0.00529956,  0.00532895,
2661      0.00535532,  0.00537929,  0.00540141,  0.00542228,
2662      0.00544196,  0.00545981,  0.00547515,  0.00548726,
2663      0.00549542,  0.00549899,  0.00549732,  0.00548986,
2664      0.00547633,  0.00545664,  0.00543067,  0.00539849,
2665      0.00536061,  0.00531757,  0.00526993,  0.00521822,
2666      0.00516300,  0.00510485,  0.00504432,  0.00498194,
2667      0.00491822,  0.00485364,  0.00478862,  0.00472309,
2668      0.00465675,  0.00458939,  0.00452067,  0.00445003,
2669      0.00437688,  0.00430063,  0.00422062,  0.00413609,
2670      0.00404632,  0.00395060,  0.00384863,  0.00374044,
2671      0.00362600,  0.00350540,  0.00337934,  0.00324885,
2672      0.00311486,  0.00297849,  0.00284122,  0.00270458,
2673      0.00257013,  0.00243867,  0.00231005,  0.00218399,
2674      0.00206023,  0.00193766,  0.00181460,  0.00168938,
2675      0.00156050,  0.00142701,  0.00128830,  0.00114365,
2676      0.00099297,  0.00083752,  0.00067884,  0.00051845,
2677      0.00035760,  0.00019720,  0.00003813, -0.00011885,
2678     -0.00027375, -0.00042718, -0.00057975, -0.00073204,
2679     -0.00088453, -0.00103767, -0.00119192, -0.00134747,
2680     -0.00150411, -0.00166151, -0.00181932, -0.00197723,
2681     -0.00213493, -0.00229210, -0.00244849, -0.00260415,
2682     -0.00275928, -0.00291410, -0.00306879, -0.00322332,
2683     -0.00337759, -0.00353145, -0.00368470, -0.00383722,
2684     -0.00398892, -0.00413972, -0.00428967, -0.00443889,
2685     -0.00458749, -0.00473571, -0.00488366, -0.00503137,
2686     -0.00517887, -0.00532610, -0.00547302, -0.00561965,
2687     -0.00576598, -0.00591199, -0.00605766, -0.00620300,
2688     -0.00634801, -0.00649273, -0.00663727, -0.00678170,
2689     -0.00692617, -0.00707084, -0.00721583, -0.00736129,
2690     -0.00750735, -0.00765415, -0.00780184, -0.00795059,
2691     -0.00810058, -0.00825195, -0.00840487, -0.00855950,
2692     -0.00871607, -0.00887480, -0.00903596, -0.00919978,
2693     -0.00936650, -0.00953635, -0.00970931, -0.00988421,
2694     -0.01005916, -0.01023208, -0.01040130, -0.01056627,
2695     -0.01072678, -0.01088259, -0.01103348, -0.01117933,
2696     -0.01132004, -0.01145552, -0.01158573, -0.01171065,
2697     -0.01183025, -0.01194454, -0.01205352, -0.01215722,
2698     -0.01225572, -0.01234911, -0.01243749, -0.01252102,
2699     -0.01259985, -0.01267419, -0.01274437, -0.01281078,
2700     -0.01287379, -0.01293350, -0.01298972, -0.01304224,
2701     -0.01309086, -0.01313556, -0.01317644, -0.01321357,
2702     -0.01324707, -0.01327697, -0.01330334, -0.01332622,
2703     -0.01334570, -0.01336194, -0.01337510, -0.01338538,
2704     -0.01339276, -0.01339708, -0.01339816, -0.01339584,
2705     -0.01339014, -0.01338116, -0.01336903, -0.01335382,
2706     -0.01333545, -0.01331381, -0.01328876, -0.01326033,
2707     -0.01322880, -0.01319457, -0.01315806, -0.01311968,
2708     -0.01307987, -0.01303906, -0.01299769, -0.01295623,
2709     -0.01308207, -0.01304153, -0.01299802, -0.01295155,
2710     -0.01290215, -0.01284980, -0.01279450, -0.01273625,
2711     -0.01267501, -0.01261077, -0.01254347, -0.01247306,
2712     -0.01239950, -0.01232277, -0.01224304, -0.01216055,
2713     -0.01207554, -0.01198813, -0.01189829, -0.01180590,
2714     -0.01171090, -0.01161335, -0.01151352, -0.01141167,
2715     -0.01130807, -0.01120289, -0.01109626, -0.01098830,
2716     -0.01087916, -0.01076898, -0.01065793, -0.01054618,
2717     -0.01043380, -0.01032068, -0.01020670, -0.01009171,
2718     -0.00997585, -0.00985959, -0.00974338, -0.00962765,
2719     -0.00951273, -0.00939888, -0.00928634, -0.00917534,
2720     -0.00906604, -0.00895860, -0.00885313, -0.00874977,
2721     -0.00864862, -0.00854979, -0.00845337, -0.00835939,
2722     -0.00826785, -0.00817872, -0.00809195, -0.00800745,
2723     -0.00792506, -0.00784469, -0.00776588, -0.00768695,
2724     -0.00760568, -0.00752004, -0.00742875, -0.00733186,
2725     -0.00722976, -0.00712279, -0.00701130, -0.00689559,
2726     -0.00677595, -0.00665269, -0.00652610, -0.00639649,
2727     -0.00626417, -0.00612943, -0.00599252, -0.00585368,
2728     -0.00571315, -0.00557115, -0.00542792, -0.00528367,
2729     -0.00513864, -0.00499301, -0.00484693, -0.00470054,
2730     -0.00455395, -0.00440733, -0.00426086, -0.00411471,
2731     -0.00396904, -0.00382404, -0.00367991, -0.00353684,
2732     -0.00339502, -0.00325472, -0.00311618, -0.00297967,
2733     -0.00284531, -0.00271307, -0.00258290, -0.00245475,
2734     -0.00232860, -0.00220447, -0.00208236, -0.00196233,
2735     -0.00184450, -0.00172906, -0.00161620, -0.00150603,
2736     -0.00139852, -0.00129358, -0.00119112, -0.00109115,
2737     -0.00099375, -0.00089902, -0.00080705, -0.00071796,
2738     -0.00063185, -0.00054886, -0.00046904, -0.00039231,
2739     -0.00031845, -0.00024728, -0.00017860, -0.00011216,
2740     -0.00004771,  0.00001500,  0.00007600,  0.00013501,
2741      0.00019176,  0.00024595,  0.00029720,  0.00034504,
2742      0.00038902,  0.00042881,  0.00046456,  0.00049662,
2743      0.00052534,  0.00055114,  0.00057459,  0.00059629,
2744      0.00061684,  0.00063660,  0.00065568,  0.00067417,
2745      0.00069213,  0.00070935,  0.00072545,  0.00074005,
2746      0.00075283,  0.00076356,  0.00077209,  0.00077828,
2747      0.00078205,  0.00078350,  0.00078275,  0.00077992,
2748      0.00077520,  0.00076884,  0.00076108,  0.00075218,
2749      0.00074232,  0.00073170,  0.00072048,  0.00070881,
2750      0.00069680,  0.00068450,  0.00067201,  0.00065934,
2751      0.00064647,  0.00063335,  0.00061994,  0.00060621,
2752      0.00059211,  0.00057763,  0.00056274,  0.00054743,
2753      0.00053169,  0.00051553,  0.00049897,  0.00048206,
2754      0.00046487,  0.00044748,  0.00042996,  0.00041241,
2755      0.00039492,  0.00037759,  0.00036049,  0.00034371,
2756      0.00032732,  0.00031137,  0.00029587,  0.00028079,
2757      0.00026612,  0.00025183,  0.00023789,  0.00022428,
2758      0.00021097,  0.00019797,  0.00018530,  0.00017297,
2759      0.00016100,  0.00014942,  0.00013827,  0.00012757,
2760      0.00011736,  0.00010764,  0.00009841,  0.00008969,
2761      0.00008145,  0.00007369,  0.00006641,  0.00005958,
2762      0.00005320,  0.00004725,  0.00004171,  0.00003659,
2763      0.00003186,  0.00002752,  0.00002357,  0.00001999,
2764      0.00001679,  0.00001392,  0.00001140,  0.00000918,
2765      0.00000726,  0.00000562,  0.00000424,  0.00000309,
2766      0.00000217,  0.00000143,  0.00000088,  0.00000048,
2767      0.00000020,  0.00000004, -0.00000004, -0.00000006,
2768     -0.00000004, -0.00000000,  0.00000002,  0.00000000,
2769      0.00000000,  0.00000002, -0.00000000, -0.00000004,
2770     -0.00000005, -0.00000004,  0.00000004,  0.00000019,
2771      0.00000045,  0.00000083,  0.00000134,  0.00000201,
2772      0.00000285,  0.00000387,  0.00000510,  0.00000654,
2773      0.00000821,  0.00001011,  0.00001227,  0.00001468,
2774      0.00001735,  0.00002030,  0.00002352,  0.00002702,
2775      0.00003080,  0.00003486,  0.00003918,  0.00004379,
2776      0.00004866,  0.00005382,  0.00005924,  0.00006495,
2777      0.00007093,  0.00007719,  0.00008373,  0.00009053,
2778      0.00009758,  0.00010488,  0.00011240,  0.00012010,
2779      0.00012796,  0.00013596,  0.00014406,  0.00015226,
2780      0.00016053,  0.00016886,  0.00017725,  0.00018571,
2781      0.00019424,  0.00020286,  0.00021156,  0.00022037,
2782      0.00022928,  0.00023825,  0.00024724,  0.00025621,
2783      0.00026509,  0.00027385,  0.00028241,  0.00029072,
2784      0.00029874,  0.00030643,  0.00031374,  0.00032065,
2785      0.00032715,  0.00033325,  0.00033895,  0.00034425,
2786      0.00034917,  0.00035374,  0.00035796,  0.00036187,
2787      0.00036549,  0.00036883,  0.00037194,  0.00037479,
2788      0.00037736,  0.00037963,  0.00038154,  0.00038306,
2789      0.00038411,  0.00038462,  0.00038453,  0.00038373,
2790      0.00038213,  0.00037965,  0.00037621,  0.00037179,
2791      0.00036636,  0.00035989,  0.00035244,  0.00034407,
2792      0.00033488,  0.00032497,  0.00031449,  0.00030361,
2793      0.00029252,  0.00028133,  0.00027003,  0.00025862,
2794      0.00024706,  0.00023524,  0.00022297,  0.00021004,
2795      0.00019626,  0.00018150,  0.00016566,  0.00014864,
2796      0.00013041,  0.00011112,  0.00009096,  0.00007014,
2797      0.00004884,  0.00002718,  0.00000530, -0.00001667,
2798     -0.00003871, -0.00006090, -0.00008331, -0.00010600,
2799     -0.00012902, -0.00015244, -0.00017631, -0.00020065,
2800     -0.00022541, -0.00025052, -0.00027594, -0.00030159,
2801     -0.00032740, -0.00035332, -0.00037928, -0.00040527,
2802     -0.00043131, -0.00045741, -0.00048357, -0.00050978,
2803     -0.00053599, -0.00056217, -0.00058827, -0.00061423,
2804     -0.00064002, -0.00066562, -0.00069100, -0.00071616,
2805     -0.00074110, -0.00076584, -0.00079036, -0.00081465,
2806     -0.00083869, -0.00086245, -0.00088590, -0.00090901,
2807     -0.00093176, -0.00095413, -0.00097608, -0.00099758,
2808     -0.00101862, -0.00103918, -0.00105924, -0.00107879,
2809     -0.00109783, -0.00111635, -0.00113434, -0.00115181,
2810     -0.00116873, -0.00118510, -0.00120091, -0.00121615,
2811     -0.00123082, -0.00124490, -0.00125838, -0.00127125,
2812     -0.00128350, -0.00129511, -0.00130610, -0.00131643,
2813     -0.00132610, -0.00133509, -0.00134334, -0.00135069,
2814     -0.00135711, -0.00136272, -0.00136768, -0.00137225,
2815     -0.00137649, -0.00138042, -0.00138404, -0.00138737,
2816     -0.00139041, -0.00139317, -0.00139565, -0.00139785,
2817     -0.00139976, -0.00140137, -0.00140267, -0.00140366,
2818     -0.00140432, -0.00140464, -0.00140461, -0.00140423,
2819     -0.00140347, -0.00140235, -0.00140084, -0.00139894,
2820     -0.00139664, -0.00139388, -0.00139065, -0.00138694,
2821     -0.00138278, -0.00137818, -0.00137317, -0.00136772,
2822     -0.00136185, -0.00135556, -0.00134884, -0.00134170,
2823     -0.00133415, -0.00132619, -0.00131784, -0.00130908,
2824     -0.00129991, -0.00129031, -0.00128031, -0.00126990,
2825     -0.00125912, -0.00124797, -0.00123645, -0.00122458,
2826     -0.00121233, -0.00119972, -0.00118676, -0.00117347,
2827     -0.00115988, -0.00114605, -0.00113200, -0.00111778,
2828     -0.00110343, -0.00108898, -0.00107448, -0.00105995,
2829 };
2830
2831 const DECLARE_ALIGNED(32, int, ff_aac_eld_window_480_fixed)[1800] = {
2832     0x00109442, 0x00482797, 0x0075bf2a, 0x00afa864,
2833     0x00ef2aa5, 0x01335b36, 0x017a4df0, 0x01c2cffe,
2834     0x020bfb4c, 0x0254fd74, 0x029d557c, 0x02e50574,
2835     0x032c41a8, 0x03732c08, 0x03b9cb88, 0x040032e8,
2836     0x044686f0, 0x048cd578, 0x04d30738, 0x05190500,
2837     0x055ec210, 0x05a44750, 0x05e9aeb8, 0x062f0c80,
2838     0x067477a0, 0x06ba1ac0, 0x07001998, 0x074680e0,
2839     0x078d5ec0, 0x07d4d038, 0x081cf8f0, 0x0865f8b0,
2840     0x08afe0e0, 0x08fab150, 0x09466cd0, 0x09931910,
2841     0x09e0adb0, 0x0a2f1640, 0x0a7e43f0, 0x0ace2960,
2842     0x0b1eb180, 0x0b6fc4b0, 0x0bc15050, 0x0c134710,
2843     0x0c65a420, 0x0cb86340, 0x0d0b7df0, 0x0d5ef450,
2844     0x0db2cb60, 0x0e070180, 0x0e5b91f0, 0x0eb07f20,
2845     0x0f05d0a0, 0x0f5b8920, 0x0fb1a950, 0x10082e40,
2846     0x105f1400, 0x10b65820, 0x110df780, 0x1165f120,
2847     0x11be43e0, 0x1216eea0, 0x126feac0, 0x12c92b00,
2848     0x1322a620, 0x137c55c0, 0x13d61ae0, 0x142fc940,
2849     0x148949e0, 0x14e28da0, 0x153b9a80, 0x15947640,
2850     0x15ed1840, 0x16458660, 0x169deb20, 0x16f663c0,
2851     0x174ef8c0, 0x17a7a120, 0x180041c0, 0x1858d000,
2852     0x18b14940, 0x1909a140, 0x1961c820, 0x19b9b620,
2853     0x1a116480, 0x1a68c1a0, 0x1abfbd00, 0x1b164f60,
2854     0x1b6c7580, 0x1bc23120, 0x1c1780e0, 0x1c6c5d00,
2855     0x1cc0dbe0, 0x1d1532a0, 0x1d697660, 0x1dbdac20,
2856     0x1e11b280, 0x1e655b80, 0x1eb89e80, 0x1f0b7720,
2857     0x1f5dd680, 0x1fafaec0, 0x2000fb00, 0x2051c340,
2858     0x20a22ac0, 0x20f24580, 0x214213c0, 0x21919140,
2859     0x21e0b300, 0x222f7580, 0x227dd900, 0x22cbd880,
2860     0x23196ec0, 0x23669b00, 0x23b35d80, 0x23ffb6c0,
2861     0x244ba7c0, 0x249731c0, 0x24e25700, 0x252d1940,
2862     0x2594ae40, 0x25deea40, 0x2628bd00, 0x26722680,
2863     0x26bb2740, 0x2703bf40, 0x274beec0, 0x2793b600,
2864     0x27db1500, 0x28220c00, 0x28689b80, 0x28aec4c0,
2865     0x28f48800, 0x2939e680, 0x297ee080, 0x29c37600,
2866     0x2a07a740, 0x2a4b74c0, 0x2a8ede80, 0x2ad1e500,
2867     0x2b148880, 0x2b56c940, 0x2b98a740, 0x2bda2240,
2868     0x2c1b3a80, 0x2c5bef80, 0x2c9c4100, 0x2cdc2e80,
2869     0x2d1bb800, 0x2d5adc80, 0x2d999b80, 0x2dd7f500,
2870     0x2e15e800, 0x2e537400, 0x2e9098c0, 0x2ecd5540,
2871     0x2f09a900, 0x2f4592c0, 0x2f811140, 0x2fbc2340,
2872     0x2ff6c7c0, 0x3030fe80, 0x306ac6c0, 0x30a41f80,
2873     0x30dd07c0, 0x31157dc0, 0x314d7fc0, 0x31850c80,
2874     0x31bc22c0, 0x31f2c1c0, 0x3228e840, 0x325e9540,
2875     0x3293c7c0, 0x32c87e40, 0x32fcb800, 0x33307340,
2876     0x3363aec0, 0x33966940, 0x33c8a140, 0x33fa5580,
2877     0x342b84c0, 0x345c2dc0, 0x348c4f80, 0x34bbe900,
2878     0x34eaf9c0, 0x35198080, 0x35477d00, 0x3574ee40,
2879     0x35a1d340, 0x35ce2bc0, 0x35f9f6c0, 0x36253380,
2880     0x364fe180, 0x367a0040, 0x36a38f80, 0x36cc8ec0,
2881     0x36f4fe80, 0x371cde80, 0x37442e80, 0x376aef00,
2882     0x37912000, 0x37b6c200, 0x37dbd600, 0x38005d00,
2883     0x38245840, 0x3847c880, 0x386aaf80, 0x388d0e80,
2884     0x38aee700, 0x38d03bc0, 0x38f11000, 0x39116700,
2885     0x39314440, 0x3950ab00, 0x396f9e80, 0x398e22c0,
2886     0x39ac3c40, 0x39c9f280, 0x39e74cc0, 0x3a045280,
2887     0x3a210b40, 0x3a3d7ec0, 0x3a59b480, 0x3a75b480,
2888     0x3a918900, 0x3aad3cc0, 0x3ac8db00, 0x3ae46bc0,
2889     0x3afff080, 0x3b1b6840, 0x3b36d2c0, 0x3b521980,
2890     0x3b6d0780, 0x3b876400, 0x3ba0f4c0, 0x3bb96740,
2891     0x3bd03dc0, 0x3be56580, 0x3bf6dec0, 0x3c0c6140,
2892     0x3c15a9c0, 0x3c1a5780, 0x3c1fd0c0, 0x3c25edc0,
2893     0x3c2c78c0, 0x3c333880, 0x3c39f3c0, 0x3c409100,
2894     0x3c471d00, 0x3c4da780, 0x3c543f40, 0x3c5ae880,
2895     0x3c619f00, 0x3c685f00, 0x3c6f25c0, 0x3c75f280,
2896     0x3c7cc6c0, 0x3c83a2c0, 0x3c8a87c0, 0x3c9175c0,
2897     0x3c986d00, 0x3c9f6e00, 0x3ca67880, 0x3cad8c40,
2898     0x3cb4a980, 0x3cbbd000, 0x3cc2ffc0, 0x3cca3940,
2899     0x3cd17d40, 0x3cd8cb80, 0x3ce02480, 0x3ce78740,
2900     0x3ceef3c0, 0x3cf66a00, 0x3cfdea00, 0x3d0574c0,
2901     0x3d0d0a40, 0x3d14ab40, 0x3d1c5700, 0x3d240d00,
2902     0x3d2bcd40, 0x3d3397c0, 0x3d3b6cc0, 0x3d434d00,
2903     0x3d4b38c0, 0x3d532fc0, 0x3d5b3180, 0x3d633dc0,
2904     0x3d6b53c0, 0x3d737400, 0x3d7b9f00, 0x3d83d540,
2905     0x3d8c1680, 0x3d946200, 0x3d9cb780, 0x3da51680,
2906     0x3dad7f00, 0x3db5f140, 0x3dbe6dc0, 0x3dc6f480,
2907     0x3dcf8540, 0x3dd81fc0, 0x3de0c300, 0x3de96ec0,
2908     0x3df22340, 0x3dfae0c0, 0x3e03a800, 0x3e0c7840,
2909     0x3e155180, 0x3e1e32c0, 0x3e271bc0, 0x3e300c00,
2910     0x3e390400, 0x3e420400, 0x3e4b0c40, 0x3e541c80,
2911     0x3e5d33c0, 0x3e6651c0, 0x3e6f7580, 0x3e789fc0,
2912     0x3e81d080, 0x3e8b0880, 0x3e944700, 0x3e9d8c00,
2913     0x3ea6d680, 0x3eb02600, 0x3eb97a80, 0x3ec2d400,
2914     0x3ecc3340, 0x3ed59880, 0x3edf0300, 0x3ee87280,
2915     0x3ef1e600, 0x3efb5d40, 0x3f04d880, 0x3f0e5840,
2916     0x3f17dcc0, 0x3f216600, 0x3f2af340, 0x3f348440,
2917     0x3f3e1840, 0x3f47af40, 0x3f514a00, 0x3f5ae840,
2918     0x3f648b00, 0x3f6e3140, 0x3f77db00, 0x3f818740,
2919     0x3f8b3600, 0x3f94e780, 0x3f9e9c40, 0x3fa85480,
2920     0x3fb21080, 0x3fbbcfc0, 0x3fc59200, 0x3fcf56c0,
2921     0x3fd91dc0, 0x3fe2e640, 0x3fecb040, 0x3ff67b40,
2922     0x40098600, 0x40135580, 0x401d2700, 0x4026fa00,
2923     0x4030ce80, 0x403aa380, 0x40447900, 0x404e4f00,
2924     0x40582400, 0x4061f900, 0x406bcd00, 0x4075a080,
2925     0x407f7480, 0x40894900, 0x40931e00, 0x409cf280,
2926     0x40a6c600, 0x40b09800, 0x40ba6980, 0x40c43a80,
2927     0x40ce0b00, 0x40d7db00, 0x40e1ab00, 0x40eb7980,
2928     0x40f54600, 0x40ff1080, 0x4108d980, 0x4112a100,
2929     0x411c6800, 0x41262d80, 0x412ff080, 0x4139b180,
2930     0x41436e80, 0x414d2980, 0x4156e100, 0x41609700,
2931     0x416a4a80, 0x4173fb00, 0x417da800, 0x41875000,
2932     0x4190f400, 0x419a9400, 0x41a43000, 0x41adc880,
2933     0x41b75d00, 0x41c0ec80, 0x41ca7700, 0x41d3fb00,
2934     0x41dd7980, 0x41e6f280, 0x41f06600, 0x41f9d480,
2935     0x42033d00, 0x420c9f00, 0x4215f980, 0x421f4d00,
2936     0x42289900, 0x4231de80, 0x423b1d00, 0x42445500,
2937     0x424d8500, 0x4256ad00, 0x425fcc80, 0x4268e380,
2938     0x4271f200, 0x427af900, 0x4283f880, 0x428cef80,
2939     0x4295de00, 0x429ec280, 0x42a79d80, 0x42b06f00,
2940     0x42b93800, 0x42c1f800, 0x42caaf80, 0x42d35d80,
2941     0x42dc0100, 0x42e49b00, 0x42ed2a80, 0x42f5b080,
2942     0x42fe2d80, 0x4306a180, 0x430f0c80, 0x43176d80,
2943     0x431fc480, 0x43281100, 0x43305400, 0x43388e80,
2944     0x4340c000, 0x4348e900, 0x43510900, 0x43591f00,
2945     0x43612b80, 0x43692f00, 0x43712900, 0x43791a80,
2946     0x43810380, 0x4388e400, 0x4390bc00, 0x43988b00,
2947     0x43a05180, 0x43a80f00, 0x43afc480, 0x43b77180,
2948     0x43bf1780, 0x43c6b700, 0x43ce5100, 0x43d5e580,
2949     0x43dd7100, 0x43e4ef80, 0x43ec5b80, 0x43f3ba80,
2950     0x43fb1c80, 0x44029400, 0x440a2e80, 0x4411d080,
2951     0x44193800, 0x44202480, 0x44265880, 0x442ba780,
2952     0x442d8680, 0x4428a500, 0x44241380, 0x441ccb00,
2953     0x44140100, 0x440a1200, 0x43ff7280, 0x43f46980,
2954     0x43e93200, 0x43ddff00, 0x43d2dc80, 0x43c7ac00,
2955     0x43bc4900, 0x43b09400, 0x43a47d80, 0x4397fd80,
2956     0x438b0780, 0x437d9b80, 0x436fd380, 0x4361cd80,
2957     0x4353a800, 0x43457500, 0x43373c80, 0x43290500,
2958     0x431ad400, 0x430ca280, 0x42fe6000, 0x42f00080,
2959     0x42e17380, 0x42d29e00, 0x42c35d80, 0x42b39200,
2960     0x42a32080, 0x4291fc00, 0x42801900, 0x426d6d80,
2961     0x4259f680, 0x4245bd00, 0x4230ca80, 0x421b2900,
2962     0x4204e800, 0x41ee1d00, 0x41d6dd80, 0x41bf3c80,
2963     0x41a74680, 0x418f0680, 0x41768800, 0x415dd100,
2964     0x4144e400, 0x412bbf80, 0x41126400, 0x40f8cc00,
2965     0x40deea00, 0x40c4b100, 0x40aa1400, 0x408f0800,
2966     0x40738380, 0x40577d80, 0x403aeb80, 0x401dc180,
2967     0x3ffff240, 0x3fe170c0, 0x3fc232c0, 0x3fa23680,
2968     0x3f817c40, 0x3f6002c0, 0x3f3ddec0, 0x3f1b4180,
2969     0x3ef85d40, 0x3ed56340, 0x3eb27240, 0x3e8f9c40,
2970     0x3e6cf400, 0x3e4a81c0, 0x3e282140, 0x3e059980,
2971     0x3de2b280, 0x3dbf4100, 0x3d9b3640, 0x3d768b00,
2972     0x3d513640, 0x3d2b3840, 0x3d049b80, 0x3cdd6b40,
2973     0x3cb5b400, 0x3c8d8f40, 0x3c652080, 0x3c3c8c40,
2974     0x3c13f480, 0x3beb7580, 0x3bc327c0, 0x3b9b2680,
2975     0x3b737000, 0x3b4bc580, 0x3b23d740, 0x3afb5640,
2976     0x3ad21c40, 0x3aa83780, 0x3a7dbc40, 0x3a52bf80,
2977     0x3a276600, 0x39fbe0c0, 0x39d06140, 0x39a50ec0,
2978     0x3979e300, 0x394ebf40, 0x392386c0, 0x38f82280,
2979     0x38cc89c0, 0x38a0b7c0, 0x3874a740, 0x38485840,
2980     0x381bd1c0, 0x37ef1b40, 0x37c23cc0, 0x37953dc0,
2981     0x376825c0, 0x373afc80, 0x370dc980, 0x36e09440,
2982     0x36b41dc0, 0x36862100, 0x3657e480, 0x36297240,
2983     0x35fad380, 0x35cc1200, 0x359d36c0, 0x356e4b40,
2984     0x353f5880, 0x35106780, 0x34e17780, 0x34b28240,
2985     0x34838040, 0x345466c0, 0x34251940, 0x33f57280,
2986     0x33c54bc0, 0x33949840, 0x33638380, 0x33324980,
2987     0x33012500, 0x32d04480, 0x329fc7c0, 0x326fcbc0,
2988     0x324068c0, 0x32116fc0, 0x31e27600, 0x31b30fc0,
2989     0x3182e300, 0x3151e240, 0x312029c0, 0x30edd080,
2990     0x30baf700, 0x3087cd00, 0x30548600, 0x30215680,
2991     0x2fee65c0, 0x2fbbca40, 0x2f899980, 0x2f57e6c0,
2992     0x2f26b540, 0x2ef5f980, 0x2ec5aa00, 0x2e95afc0,
2993     0x2e65c180, 0x2e357b40, 0x2e047840, 0x2dd27380,
2994     0x2d9f6c40, 0x2d6b7780, 0x2d36a6c0, 0x2d012940,
2995     0x2ccb5680, 0x2c958a00, 0x2c601b80, 0x2c2b3640,
2996     0x2bf6dfc0, 0x2bc31ec0, 0x2b8ff500, 0x2b5d5540,
2997     0x2b2b2a00, 0x2af95e80, 0x2ac7dd80, 0x2a968f80,
2998     0x2a655d40, 0x2a342f00, 0x2a02e8c0, 0x29d16700,
2999     0x299f8640, 0x296d2380, 0x293a2740, 0x29068400,
3000     0x28d22b40, 0x289d1540, 0x28675280, 0x28310180,
3001     0x27fa3f00, 0x27c32f80, 0x278c08c0, 0x275505c0,
3002     0x271e60c0, 0x26e84b00, 0x26b2e880, 0x267e5cc0,
3003     0x264ac940, 0x26183a40, 0x25e6aa80, 0x25b615c0,
3004     0x25866b80, 0x25576b40, 0x2528ba00, 0x24f9ffc0,
3005     0x24cadfc0, 0x249af540, 0x2469da80, 0x24372780,
3006     0x2402b800, 0x23ccbfc0, 0x23957cc0, 0x235d3140,
3007     0x23245200, 0x22eb8000, 0x22b35cc0, 0x227c7940,
3008     0x22471d40, 0x22136840, 0x21e18240, 0x21b15d80,
3009     0x21827dc0, 0x21544600, 0x21261b00, 0x20f78600,
3010     0x20c83e00, 0x20980000, 0x20668e00, 0x2033f300,
3011     0x20007400, 0x1fcc64e0, 0x1f97d120, 0x1f642320,
3012     0x1f2f49e0, 0x1efaa840, 0x1ec73580, 0x1e94d880,
3013     0x1e636120, 0x1e32a160, 0x1e025ba0, 0x1dd24300,
3014     0x1da20e60, 0x1d717940, 0x1d407560, 0x1d0f2040,
3015     0x1cdd95c0, 0x1cabf500, 0x1c7a6940, 0x1c492340,
3016     0x1c185680, 0x1be818c0, 0x1bb83f60, 0x1b888d20,
3017     0x1b58c640, 0x1b28c240, 0x1af871e0, 0x1ac7c960,
3018     0x1a96bf00, 0x1a656b60, 0x1a340360, 0x1a02bd20,
3019     0x19d1c6c0, 0x19a12f40, 0x1970f480, 0x19411640,
3020     0x19119000, 0x18e255a0, 0x18b358a0, 0x18848b20,
3021     0x1855e040, 0x18274e00, 0x17f8c9e0, 0x17ca4a80,
3022     0x179bce40, 0x176d5a60, 0x173ef400, 0x17109fe0,
3023     0x16e25f60, 0x16b43240, 0x16861880, 0x16581220,
3024     0x162a20c0, 0x15fc4620, 0x15ce8420, 0x15a0dca0,
3025     0x157351c0, 0x1545e580, 0x151899a0, 0x14eb6ec0,
3026     0x14be63a0, 0x14917a00, 0x14649ae0, 0x14377060,
3027     0x1409d0c0, 0x13dbbb20, 0x13ad58e0, 0x137f0160,
3028     0x1350cc80, 0x1322b8c0, 0x12f4ca60, 0x12c704e0,
3029     0x129968a0, 0x126bf5c0, 0x123eade0, 0x12119300,
3030     0x11e4a660, 0x11b7e860, 0x118b5940, 0x115ef8a0,
3031     0x1132c600, 0x1106c1a0, 0x10daecc0, 0x10af4900,
3032     0x1083d7a0, 0x10589c00, 0x102d9a00, 0x1002d1e0,
3033     0x0fd842c0, 0x0fadde80, 0x0f839a50, 0x0f597700,
3034     0x0f2f76e0, 0x0f05a170, 0x0edbf9c0, 0x0eb27f30,
3035     0x0e8930d0, 0x0e600d70, 0x0e371550, 0x0e0e4950,
3036     0x0de5ab50, 0x0dbd3d20, 0x0d94fe10, 0x0d6cecb0,
3037     0x0d450220, 0x0d1d38f0, 0x0cf59130, 0x0cce0c30,
3038     0x0ca6af10, 0x0c7f7b80, 0x0c587010, 0x0c318960,
3039     0x0c0ac200, 0x0be418d0, 0x0bbd8da0, 0x0b9724e0,
3040     0x0b70e6c0, 0x0b4ad970, 0x0b2502f0, 0x0aff6930,
3041     0x0ada1250, 0x0ab50430, 0x0a9044d0, 0x0a6bda30,
3042     0x0a3bedf0, 0x0a18be40, 0x09f5e530, 0x09d35cf0,
3043     0x09b11ff0, 0x098f2890, 0x096d7120, 0x094bf400,
3044     0x092aab80, 0x09099240, 0x08e8a620, 0x08c7e850,
3045     0x08a75990, 0x0886fae0, 0x0866ccf0, 0x0846d070,
3046     0x08270610, 0x08076e70, 0x07e80ac8, 0x07c8dc60,
3047     0x07a9e440, 0x078b2348, 0x076c99d0, 0x074e4818,
3048     0x07302e50, 0x07124d18, 0x06f4a530, 0x06d73778,
3049     0x06ba0488, 0x069d0c88, 0x06804f68, 0x0663cce0,
3050     0x06478528, 0x062b78a0, 0x060fa7e8, 0x05f413b8,
3051     0x05d8bc38, 0x05bda128, 0x05a2c258, 0x05881f60,
3052     0x056db888, 0x05538e60, 0x0539a170, 0x051ff218,
3053     0x05068040, 0x04ed4b90, 0x04d45398, 0x04bb9820,
3054     0x04a31988, 0x048ad860, 0x0472d528, 0x045b0ff0,
3055     0x04438860, 0x042c3de8, 0x04153040, 0x03fe5f4c,
3056     0x03e7cb98, 0x03d17580, 0x03bb5d64, 0x03a582e8,
3057     0x038fe588, 0x037a8494, 0x03655fcc, 0x03507768,
3058     0x033bcbb4, 0x03275d28, 0x03132bc0, 0x02ff370c,
3059     0x02eb7e94, 0x02d801e8, 0x02c4c11c, 0x02b1bcbc,
3060     0x029ef578, 0x028c6ba8, 0x027a1f20, 0x02680f54,
3061     0x02563bac, 0x0244a3c8, 0x023347a0, 0x02222730,
3062     0x0211429c, 0x02009938, 0x01f02974, 0x01dff1ae,
3063     0x01cff058, 0x01c024c8, 0x01b08ef4, 0x01a12eda,
3064     0x019204b0, 0x01831138, 0x01745588, 0x0165d2c2,
3065     0x01578a96, 0x01497ffc, 0x013bb670, 0x012e3160,
3066     0x0120f146, 0x0113f27c, 0x0107310c, 0x00faa909,
3067     0x00ee57a1, 0x00e23b09, 0x00d6515b, 0x00ca9977,
3068     0x00bf1509, 0x00b3c74d, 0x00a8b388, 0x009ddb3d,
3069     0x00933bf2, 0x0088d22c, 0x007e9a70, 0x0074935a,
3070     0x006abe70, 0x00611d5c, 0x0057b1f8, 0x004e7e73,
3071     0x0045859b, 0x003cca96, 0x00344f32, 0x002c1074,
3072     0x00240873, 0x001c31ba, 0x0014863f, 0x000cfe8b,
3073     0x00059307, 0xfffe3b9a, 0xfff6f718, 0xffefcd4d,
3074     0xffe8c6f4, 0xffe1ed10, 0xffdb4c57, 0xffd4f484,
3075     0xffcef5dc, 0xffc95d0c, 0xffc4284e, 0xffbf4e14,
3076     0xffbac5ae, 0xffb68360, 0xffb27548, 0xffae87be,
3077     0xffaaa733, 0xffa6c67e, 0xffa2e141, 0xff9ef40c,
3078     0xff9afc25, 0xff970058, 0xff930f7c, 0xff8f3857,
3079     0xff8b8900, 0xff880bfe, 0xff84c9ea, 0xff81cbbd,
3080     0xff7f17ad, 0xff7cadc6, 0xff7a8c4e, 0xff78b1cd,
3081     0xff7719f3, 0xff75bd06, 0xff7492a4, 0xff7392bf,
3082     0xff72b600, 0xff71f5c6, 0xff714b72, 0xff70b0ed,
3083     0xff702232, 0xff6f9c90, 0xff6f1cee, 0xff6ea21f,
3084     0xff6e2e9c, 0xff6dc617, 0xff6d6c09, 0xff6d2425,
3085     0xff6cf267, 0xff6cdaca, 0xff6ce155, 0xff6d0983,
3086     0xff6d56bb, 0xff6dcc4c, 0xff6e6cd0, 0xff6f3832,
3087     0xff702cc4, 0xff71492e, 0xff728ae2, 0xff73ed63,
3088     0xff756b7c, 0xff77001c, 0xff78a5d9, 0xff7a5693,
3089     0xff7c0c40, 0xff7dc141, 0xff7f74aa, 0xff81298b,
3090     0xff82e2de, 0xff84a3de, 0xff8670bd, 0xff884e42,
3091     0xff8a410c, 0xff8c4c7f, 0xff8e70fc, 0xff90ae18,
3092     0xff93037e, 0xff956f12, 0xff97ec86, 0xff9a7724,
3093     0xff9d0a9d, 0xff9fa3ea, 0xffa2417e, 0xffa4e1ac,
3094     0xffa78332, 0xffaa265a, 0xffaccc26, 0xffaf758e,
3095     0xffb223d4, 0xffb4d906, 0xffb79726, 0xffba604e,
3096     0xffbd349e, 0xffc011a8, 0xffc2f4d2, 0xffc5db82,
3097     0xffc8c45f, 0xffcbaed5, 0xffce9a6d, 0xffd186c6,
3098     0xffd473aa, 0xffd760e5, 0xffda4e55, 0xffdd3bd0,
3099     0xffe0292b, 0xffe31645, 0xffe602ff, 0xffe8eef7,
3100     0xffebd978, 0xffeec1bf, 0xfff1a72c, 0xfff488fe,
3101     0xfff76689, 0xfffa3f2c, 0xfffd1245, 0xffffdf33,
3102     0x000020ac, 0x0002e66f, 0x0005a937, 0x00086839,
3103     0x000b22b3, 0x000dd7da, 0x001086ec, 0x00132f3c,
3104     0x0015d001, 0x00186897, 0x001af849, 0x001d7eb6,
3105     0x001ffbbe, 0x00226f41, 0x0024d8e8, 0x00273874,
3106     0x00298d82, 0x002bd7aa, 0x002e16d4, 0x00304af6,
3107     0x00327406, 0x00349203, 0x0036a416, 0x0038a893,
3108     0x003a9da0, 0x003c8170, 0x003e53b8, 0x0040159a,
3109     0x0041c816, 0x00436c92, 0x0045042c, 0x00468ff2,
3110     0x00481106, 0x004987fe, 0x004af466, 0x004c5599,
3111     0x004daae4, 0x004ef28c, 0x005029c4, 0x00514d9a,
3112     0x00525b57, 0x005351f7, 0x00543190, 0x0054fa43,
3113     0x0055ac2f, 0x00564938, 0x0056d3f7, 0x00574f3c,
3114     0x0057bdd7, 0x00582260, 0x00587f28, 0x0058d6b1,
3115     0x0059293c, 0x0059741a, 0x0059b472, 0x0059e73c,
3116     0x005a0976, 0x005a1870, 0x005a116e, 0x0059f224,
3117     0x0059b964, 0x005966ce, 0x0058f9e2, 0x005872e8,
3118     0x0057d407, 0x00571f82, 0x005657b0, 0x00557ecd,
3119     0x00549731, 0x0053a34b, 0x0052a56a, 0x00519fc6,
3120     0x00509482, 0x004f85a4, 0x004e74ee, 0x004d6214,
3121     0x004c4bd3, 0x004b314c, 0x004a1110, 0x0048e8c8,
3122     0x0047b5f7, 0x00467626, 0x00452690, 0x0043c405,
3123     0x00424b7f, 0x0040ba04, 0x003f0e53, 0x003d488b,
3124     0x003b688c, 0x00396eb6, 0x00375dfb, 0x00353aaa,
3125     0x003308ac, 0x0030ccb1, 0x002e8cf1, 0x002c4fd5,
3126     0x002a1be8, 0x0027f486, 0x0025d90d, 0x0023c852,
3127     0x0021c13b, 0x001fbf23, 0x001dbafc, 0x001badc6,
3128     0x00199136, 0x00176150, 0x00151b86, 0x0012bcd1,
3129     0x001044d1, 0x000db8d0, 0x000b1f43, 0x00087e89,
3130     0x0005dbe2, 0x00033b1e, 0x00009fee, 0xfffe0d82,
3131     0xfffb83cf, 0xfff90047, 0xfff6805a, 0xfff4019a,
3132     0xfff18203, 0xffeeffb2, 0xffec78ba, 0xffe9ec4d,
3133     0xffe75b4e, 0xffe4c71f, 0xffe23138, 0xffdf9ae6,
3134     0xffdd0574, 0xffda723c, 0xffd7e24a, 0xffd55567,
3135     0xffd2cabe, 0xffd04161, 0xffcdb890, 0xffcb306a,
3136     0xffc8a95c, 0xffc62406, 0xffc3a140, 0xffc12188,
3137     0xffbea542, 0xffbc2cc2, 0xffb9b7d2, 0xffb745f2,
3138     0xffb4d6ac, 0xffb268fe, 0xffaffc72, 0xffad90e8,
3139     0xffab263e, 0xffa8bcb8, 0xffa6547e, 0xffa3ed7b,
3140     0xffa187ba, 0xff9f2351, 0xff9cc055, 0xff9a5ebc,
3141     0xff97fe84, 0xff959f84, 0xff934146, 0xff90e37d,
3142     0xff8e858a, 0xff8c26c0, 0xff89c69e, 0xff876483,
3143     0xff84ffe4, 0xff82982b, 0xff802cb6, 0xff7dbccf,
3144     0xff7b47b4, 0xff78ccd0, 0xff764b6c, 0xff73c2db,
3145     0xff713227, 0xff6e9864, 0xff6bf470, 0xff694553,
3146     0xff668a0d, 0xff63c1a6, 0xff60ec34, 0xff5e0e9e,
3147     0xff5b30d3, 0xff585b8c, 0xff5595c9, 0xff52e1da,
3148     0xff5040a0, 0xff4db31c, 0xff4b3a3b, 0xff48d67e,
3149     0xff468850, 0xff445011, 0xff422ded, 0xff4021f9,
3150     0xff3e2c56, 0xff3c4cf8, 0xff3a83df, 0xff38d0ec,
3151     0xff3733c9, 0xff35ac14, 0xff343963, 0xff32db09,
3152     0xff319066, 0xff305898, 0xff2f323d, 0xff2e1bb2,
3153     0xff2d1369, 0xff2c18f8, 0xff2b2d2a, 0xff2a50e1,
3154     0xff2984f4, 0xff28c978, 0xff281e01, 0xff278245,
3155     0xff26f5c3, 0xff26785a, 0xff2609bf, 0xff25a9c8,
3156     0xff255814, 0xff2513f6, 0xff24dcc4, 0xff24b1a6,
3157     0xff2492b1, 0xff248093, 0xff247c0b, 0xff2485c6,
3158     0xff249daf, 0xff24c359, 0xff24f639, 0xff253605,
3159     0xff258312, 0xff25ddd5, 0xff2646e7, 0xff26be25,
3160     0xff274264, 0xff27d1f6, 0xff286b19, 0xff290c13,
3161     0xff29b30d, 0xff2a5e38, 0xff2b0bbd, 0xff2bb9a2,
3162     0xff29a9d2, 0xff2a53dc, 0xff2b0a5a, 0xff2bcd43,
3163     0xff2c9c76, 0xff2d7808, 0xff2e5ffa, 0xff2f544c,
3164     0xff305528, 0xff316299, 0xff327ce0, 0xff33a432,
3165     0xff34d8ba, 0xff361a8e, 0xff3768f8, 0xff38c2f5,
3166     0xff3a2784, 0xff3b9623, 0xff3d0ef4, 0xff3e9277,
3167     0xff4020ed, 0xff41ba14, 0xff435ccc, 0xff4507fd,
3168     0xff46ba84, 0xff4873ac, 0xff4a32ea, 0xff4bf7bb,
3169     0xff4dc17f, 0xff4f8fa0, 0xff516167, 0xff53361d,
3170     0xff550d79, 0xff56e7ee, 0xff58c5ff, 0xff5aa84d,
3171     0xff5c8e41, 0xff5e75e2, 0xff605d4d, 0xff6242b6,
3172     0xff6424b8, 0xff66023d, 0xff67da44, 0xff69abd6,
3173     0xff6b7646, 0xff6d38e8, 0xff6ef348, 0xff70a4ce,
3174     0xff724d0f, 0xff73eb95, 0xff757fff, 0xff770a2d,
3175     0xff788a20, 0xff79fff6, 0xff7b6be7, 0xff7cce52,
3176     0xff7e27e4, 0xff7f78fc, 0xff80c38a, 0xff820e98,
3177     0xff836378, 0xff84caaa, 0xff864990, 0xff87dff4,
3178     0xff898c30, 0xff8b4cda, 0xff8d207a, 0xff8f05cc,
3179     0xff90fb9b, 0xff930098, 0xff95138e, 0xff97332d,
3180     0xff995e2a, 0xff9b934e, 0xff9dd18c, 0xffa017e3,
3181     0xffa26550, 0xffa4b8e7, 0xffa711a8, 0xffa96eae,
3182     0xffabcefc, 0xffae31cc, 0xffb09680, 0xffb2fc82,
3183     0xffb5635a, 0xffb7ca52, 0xffba30a8, 0xffbc95a8,
3184     0xffbef8a4, 0xffc158d0, 0xffc3b557, 0xffc60d6b,
3185     0xffc86041, 0xffcaacb7, 0xffccf1cb, 0xffcf2e5c,
3186     0xffd161e8, 0xffd38c8f, 0xffd5ae88, 0xffd7c808,
3187     0xffd9d925, 0xffdbe1c8, 0xffdde1f3, 0xffdfd964,
3188     0xffe1c79b, 0xffe3abcc, 0xffe5852a, 0xffe75341,
3189     0xffe9162f, 0xffeace55, 0xffec7c15, 0xffee1f63,
3190     0xffefb7e9, 0xfff1453d, 0xfff2c6fd, 0xfff43ca8,
3191     0xfff5a5d4, 0xfff701ea, 0xfff850b4, 0xfff99288,
3192     0xfffac853, 0xfffbf2d5, 0xfffd12e6, 0xfffe2991,
3193     0xffff37e4, 0x00003eea, 0x00013ec4, 0x00023646,
3194     0x0003244d, 0x00040797, 0x0004de8c, 0x0005a734,
3195     0x00065fab, 0x0007068f, 0x00079c82, 0x000822fa,
3196     0x00089b70, 0x000907a6, 0x00096a01, 0x0009c506,
3197     0x000a1b37, 0x000a6e18, 0x000abe1f, 0x000b0bac,
3198     0x000b5701, 0x000b9f3b, 0x000be2c2, 0x000c1fff,
3199     0x000c5599, 0x000c829a, 0x000ca661, 0x000cc058,
3200     0x000cd028, 0x000cd63d, 0x000cd317, 0x000cc739,
3201     0x000cb36d, 0x000c98c0, 0x000c7833, 0x000c52df,
3202     0x000c2984, 0x000bfcf9, 0x000bcdea, 0x000b9cf7,
3203     0x000b6a97, 0x000b3700, 0x000b029d, 0x000acd79,
3204     0x000a977e, 0x000a6076, 0x000a2838, 0x0009eea1,
3205     0x0009b37d, 0x000976c2, 0x0009384e, 0x0008f816,
3206     0x0008b612, 0x0008724a, 0x00082cd5, 0x0007e5e8,
3207     0x00079dce, 0x000754de, 0x00070b62, 0x0006c1c6,
3208     0x0006786a, 0x00062fba, 0x0005e801, 0x0005a1a0,
3209     0x00055ce1, 0x000519fb, 0x0004d8f8, 0x000499b8,
3210     0x00045c30, 0x00042040, 0x0003e5c8, 0x0003acb3,
3211     0x000374df, 0x00033e59, 0x00030934, 0x0002d57d,
3212     0x0002a348, 0x000272b6, 0x000243f2, 0x00021711,
3213     0x0001ec3e, 0x0001c37a, 0x00019cc3, 0x00017830,
3214     0x000155a0, 0x00013514, 0x0001168b, 0x0000f9e6,
3215     0x0000df23, 0x0000c62e, 0x0000aef2, 0x00009978,
3216     0x000085a1, 0x0000736d, 0x000062dc, 0x000053d8,
3217     0x0000466c, 0x00003a62, 0x00002fd1, 0x00002681,
3218     0x00001e73, 0x00001792, 0x000011c9, 0x00000cf6,
3219     0x0000091a, 0x000005ff, 0x000003b1, 0x00000203,
3220     0x000000d7, 0x0000002b, 0xffffffd5, 0xffffffc0,
3221     0xffffffd5, 0x00000000, 0x00000015, 0x00000000,
3222     0x00000000, 0x00000015, 0x00000000, 0xffffffd5,
3223     0xffffffca, 0xffffffd5, 0x0000002b, 0x000000cc,
3224     0x000001e3, 0x0000037b, 0x0000059f, 0x0000086e,
3225     0x00000bf4, 0x0000103b, 0x00001564, 0x00001b6e,
3226     0x0000226f, 0x00002a68, 0x00003377, 0x00003d93,
3227     0x000048c5, 0x00005525, 0x000062a6, 0x00007155,
3228     0x0000812f, 0x00009237, 0x0000a455, 0x0000b7ab,
3229     0x0000cc18, 0x0000e1bd, 0x0000f878, 0x0001106c,
3230     0x00012981, 0x000143c2, 0x00015f30, 0x00017bb6,
3231     0x00019948, 0x0001b7e6, 0x0001d771, 0x0001f7bc,
3232     0x000218b4, 0x00023a42, 0x00025c3b, 0x00027ea0,
3233     0x0002a150, 0x0002c440, 0x0002e771, 0x00030aed,
3234     0x00032eb4, 0x000352db, 0x00037759, 0x00039c4c,
3235     0x0003c1ac, 0x0003e74b, 0x00040d00, 0x0004329f,
3236     0x000457de, 0x00047c9c, 0x0004a083, 0x0004c35e,
3237     0x0004e502, 0x00050543, 0x000523ec, 0x000540e7,
3238     0x00055c2b, 0x000575c0, 0x00058da9, 0x0005a3e4,
3239     0x0005b886, 0x0005cbb1, 0x0005dd65, 0x0005edcb,
3240     0x0005fcfa, 0x00060afc, 0x00061808, 0x000623fc,
3241     0x00062ec3, 0x00063849, 0x0006404b, 0x000646ac,
3242     0x00064b13, 0x00064d37, 0x00064cd6, 0x0006497b,
3243     0x000642c5, 0x0006385e, 0x000629f0, 0x00061766,
3244     0x000600a0, 0x0005e57d, 0x0005c63e, 0x0005a322,
3245     0x00057c97, 0x00055306, 0x00052711, 0x0004f96f,
3246     0x0004caeb, 0x00049bfc, 0x00046c96, 0x00043cbb,
3247     0x00040c3f, 0x0003daab, 0x0003a734, 0x000370f9,
3248     0x0003372d, 0x0002f944, 0x0002b6d4, 0x00026f71,
3249     0x000222fb, 0x0001d212, 0x00017d84, 0x00012630,
3250     0x0000ccda, 0x00007200, 0x0000163b, 0xffffba15,
3251     0xffff5da3, 0xffff0091, 0xfffea293, 0xfffe4367,
3252     0xfffde2da, 0xfffd809f, 0xfffd1c81, 0xfffcb66a,
3253     0xfffc4e90, 0xfffbe53e, 0xfffb7aa0, 0xfffb0f0a,
3254     0xfffaa2c9, 0xfffa3612, 0xfff9c92f, 0xfff95c2d,
3255     0xfff8eef4, 0xfff8817c, 0xfff813c3, 0xfff7a5d4,
3256     0xfff737e5, 0xfff6ca17, 0xfff65c9e, 0xfff5efbc,
3257     0xfff58390, 0xfff51830, 0xfff4adbc, 0xfff44435,
3258     0xfff3db9a, 0xfff373d6, 0xfff30cfd, 0xfff2a71c,
3259     0xfff24248, 0xfff1de9f, 0xfff17c44, 0xfff11b56,
3260     0xfff0bbea, 0xfff05e17, 0xfff00206, 0xffefa7d9,
3261     0xffef4f99, 0xffeef95d, 0xffeea53a, 0xffee533a,
3262     0xffee035e, 0xffedb5b0, 0xffed6a3c, 0xffed20f5,
3263     0xffecd9fe, 0xffec9555, 0xffec5305, 0xffec1319,
3264     0xffebd591, 0xffeb9a83, 0xffeb61f9, 0xffeb2bfe,
3265     0xffeaf89c, 0xffeac7ea, 0xffea99d2, 0xffea6e7e,
3266     0xffea45ef, 0xffea203a, 0xffe9fda0, 0xffe9decc,
3267     0xffe9c3de, 0xffe9ac56, 0xffe99789, 0xffe9845e,
3268     0xffe97295, 0xffe96219, 0xffe952ea, 0xffe944f3,
3269     0xffe93833, 0xffe92c9f, 0xffe92238, 0xffe918fe,
3270     0xffe910fb, 0xffe90a3a, 0xffe904c6, 0xffe900a0,
3271     0xffe8fddb, 0xffe8fc83, 0xffe8fca4, 0xffe8fe3c,
3272     0xffe9016c, 0xffe9061e, 0xffe90c74, 0xffe9146c,
3273     0xffe91e11, 0xffe929a5, 0xffe93731, 0xffe946c0,
3274     0xffe95833, 0xffe96b7e, 0xffe98082, 0xffe9975e,
3275     0xffe9affd, 0xffe9ca5e, 0xffe9e68e, 0xffea0481,
3276     0xffea242b, 0xffea458e, 0xffea6894, 0xffea8d52,
3277     0xffeab3c8, 0xffeadc0c, 0xffeb05fe, 0xffeb31a7,
3278     0xffeb5ede, 0xffeb8da2, 0xffebbdf4, 0xffebefbd,
3279     0xffec231f, 0xffec5802, 0xffec8e5e, 0xffecc61c,
3280     0xffecff1c, 0xffed391e, 0xffed740c, 0xffedafb1,
3281     0xffedebe1, 0xffee287d, 0xffee654e, 0xffeea23f,
3282 };