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