Coverage Report

Created: 2025-08-28 07:12

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