FFmpeg coverage


Directory: ../../../ffmpeg/
File: src/libavcodec/aactab.c
Date: 2021-09-24 20:55:06
Exec Total Coverage
Lines: 29 29 100.0%
Branches: 6 6 100.0%

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