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