]> git.sesse.net Git - ffmpeg/blob - libavcodec/aactab.c
avcodec/mpeg4videodec: Check P cbpy
[ffmpeg] / libavcodec / aactab.c
1 /*
2  * AAC data
3  * Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4  * Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22
23 /**
24  * @file
25  * AAC data
26  * @author Oded Shimon  ( ods15 ods15 dyndns org )
27  * @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28  */
29
30 #include "libavutil/mem.h"
31 #include "aac.h"
32 #include "aac_tablegen.h"
33
34 #include <stdint.h>
35
36 DECLARE_ALIGNED(32, float,  ff_aac_kbd_long_1024)[1024];
37 DECLARE_ALIGNED(32, float,  ff_aac_kbd_short_128)[128];
38 DECLARE_ALIGNED(32, int,    ff_aac_kbd_long_1024_fixed)[1024];
39 DECLARE_ALIGNED(32, int,    ff_aac_kbd_short_128_fixed)[128];
40
41 const uint8_t ff_aac_num_swb_1024[] = {
42     41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40
43 };
44
45 const uint8_t ff_aac_num_swb_512[] = {
46      0,  0,  0, 36, 36, 37, 31, 31,  0,  0,  0,  0,  0
47 };
48
49 const uint8_t ff_aac_num_swb_480[] = {
50      0,  0,  0, 35, 35, 37, 30, 30,  0,  0,  0,  0,  0
51 };
52
53 const uint8_t ff_aac_num_swb_128[] = {
54     12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15
55 };
56
57 const uint8_t ff_aac_pred_sfb_max[] = {
58     33, 33, 38, 40, 40, 40, 41, 41, 37, 37, 37, 34, 34
59 };
60
61 const uint32_t ff_aac_scalefactor_code[121] = {
62     0x3ffe8, 0x3ffe6, 0x3ffe7, 0x3ffe5, 0x7fff5, 0x7fff1, 0x7ffed, 0x7fff6,
63     0x7ffee, 0x7ffef, 0x7fff0, 0x7fffc, 0x7fffd, 0x7ffff, 0x7fffe, 0x7fff7,
64     0x7fff8, 0x7fffb, 0x7fff9, 0x3ffe4, 0x7fffa, 0x3ffe3, 0x1ffef, 0x1fff0,
65     0x0fff5, 0x1ffee, 0x0fff2, 0x0fff3, 0x0fff4, 0x0fff1, 0x07ff6, 0x07ff7,
66     0x03ff9, 0x03ff5, 0x03ff7, 0x03ff3, 0x03ff6, 0x03ff2, 0x01ff7, 0x01ff5,
67     0x00ff9, 0x00ff7, 0x00ff6, 0x007f9, 0x00ff4, 0x007f8, 0x003f9, 0x003f7,
68     0x003f5, 0x001f8, 0x001f7, 0x000fa, 0x000f8, 0x000f6, 0x00079, 0x0003a,
69     0x00038, 0x0001a, 0x0000b, 0x00004, 0x00000, 0x0000a, 0x0000c, 0x0001b,
70     0x00039, 0x0003b, 0x00078, 0x0007a, 0x000f7, 0x000f9, 0x001f6, 0x001f9,
71     0x003f4, 0x003f6, 0x003f8, 0x007f5, 0x007f4, 0x007f6, 0x007f7, 0x00ff5,
72     0x00ff8, 0x01ff4, 0x01ff6, 0x01ff8, 0x03ff8, 0x03ff4, 0x0fff0, 0x07ff4,
73     0x0fff6, 0x07ff5, 0x3ffe2, 0x7ffd9, 0x7ffda, 0x7ffdb, 0x7ffdc, 0x7ffdd,
74     0x7ffde, 0x7ffd8, 0x7ffd2, 0x7ffd3, 0x7ffd4, 0x7ffd5, 0x7ffd6, 0x7fff2,
75     0x7ffdf, 0x7ffe7, 0x7ffe8, 0x7ffe9, 0x7ffea, 0x7ffeb, 0x7ffe6, 0x7ffe0,
76     0x7ffe1, 0x7ffe2, 0x7ffe3, 0x7ffe4, 0x7ffe5, 0x7ffd7, 0x7ffec, 0x7fff4,
77     0x7fff3,
78 };
79
80 const uint8_t ff_aac_scalefactor_bits[121] = {
81     18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
82     19, 19, 19, 18, 19, 18, 17, 17, 16, 17, 16, 16, 16, 16, 15, 15,
83     14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11, 12, 11, 10, 10,
84     10,  9,  9,  8,  8,  8,  7,  6,  6,  5,  4,  3,  1,  4,  4,  5,
85      6,  6,  7,  7,  8,  8,  9,  9, 10, 10, 10, 11, 11, 11, 11, 12,
86     12, 13, 13, 13, 14, 14, 16, 15, 16, 15, 18, 19, 19, 19, 19, 19,
87     19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
88     19, 19, 19, 19, 19, 19, 19, 19, 19,
89 };
90
91 static const uint16_t codes1[81] = {
92     0x7f8, 0x1f1, 0x7fd, 0x3f5, 0x068, 0x3f0, 0x7f7, 0x1ec,
93     0x7f5, 0x3f1, 0x072, 0x3f4, 0x074, 0x011, 0x076, 0x1eb,
94     0x06c, 0x3f6, 0x7fc, 0x1e1, 0x7f1, 0x1f0, 0x061, 0x1f6,
95     0x7f2, 0x1ea, 0x7fb, 0x1f2, 0x069, 0x1ed, 0x077, 0x017,
96     0x06f, 0x1e6, 0x064, 0x1e5, 0x067, 0x015, 0x062, 0x012,
97     0x000, 0x014, 0x065, 0x016, 0x06d, 0x1e9, 0x063, 0x1e4,
98     0x06b, 0x013, 0x071, 0x1e3, 0x070, 0x1f3, 0x7fe, 0x1e7,
99     0x7f3, 0x1ef, 0x060, 0x1ee, 0x7f0, 0x1e2, 0x7fa, 0x3f3,
100     0x06a, 0x1e8, 0x075, 0x010, 0x073, 0x1f4, 0x06e, 0x3f7,
101     0x7f6, 0x1e0, 0x7f9, 0x3f2, 0x066, 0x1f5, 0x7ff, 0x1f7,
102     0x7f4,
103 };
104
105 static const uint8_t bits1[81] = {
106     11,  9, 11, 10,  7, 10, 11,  9, 11, 10,  7, 10,  7,  5,  7,  9,
107      7, 10, 11,  9, 11,  9,  7,  9, 11,  9, 11,  9,  7,  9,  7,  5,
108      7,  9,  7,  9,  7,  5,  7,  5,  1,  5,  7,  5,  7,  9,  7,  9,
109      7,  5,  7,  9,  7,  9, 11,  9, 11,  9,  7,  9, 11,  9, 11, 10,
110      7,  9,  7,  5,  7,  9,  7, 10, 11,  9, 11, 10,  7,  9, 11,  9,
111     11,
112 };
113
114 static const uint16_t codes2[81] = {
115     0x1f3, 0x06f, 0x1fd, 0x0eb, 0x023, 0x0ea, 0x1f7, 0x0e8,
116     0x1fa, 0x0f2, 0x02d, 0x070, 0x020, 0x006, 0x02b, 0x06e,
117     0x028, 0x0e9, 0x1f9, 0x066, 0x0f8, 0x0e7, 0x01b, 0x0f1,
118     0x1f4, 0x06b, 0x1f5, 0x0ec, 0x02a, 0x06c, 0x02c, 0x00a,
119     0x027, 0x067, 0x01a, 0x0f5, 0x024, 0x008, 0x01f, 0x009,
120     0x000, 0x007, 0x01d, 0x00b, 0x030, 0x0ef, 0x01c, 0x064,
121     0x01e, 0x00c, 0x029, 0x0f3, 0x02f, 0x0f0, 0x1fc, 0x071,
122     0x1f2, 0x0f4, 0x021, 0x0e6, 0x0f7, 0x068, 0x1f8, 0x0ee,
123     0x022, 0x065, 0x031, 0x002, 0x026, 0x0ed, 0x025, 0x06a,
124     0x1fb, 0x072, 0x1fe, 0x069, 0x02e, 0x0f6, 0x1ff, 0x06d,
125     0x1f6,
126 };
127
128 static const uint8_t bits2[81] = {
129     9, 7, 9, 8, 6, 8, 9, 8, 9, 8, 6, 7, 6, 5, 6, 7,
130     6, 8, 9, 7, 8, 8, 6, 8, 9, 7, 9, 8, 6, 7, 6, 5,
131     6, 7, 6, 8, 6, 5, 6, 5, 3, 5, 6, 5, 6, 8, 6, 7,
132     6, 5, 6, 8, 6, 8, 9, 7, 9, 8, 6, 8, 8, 7, 9, 8,
133     6, 7, 6, 4, 6, 8, 6, 7, 9, 7, 9, 7, 6, 8, 9, 7,
134     9,
135 };
136
137 static const uint16_t codes3[81] = {
138     0x0000, 0x0009, 0x00ef, 0x000b, 0x0019, 0x00f0, 0x01eb, 0x01e6,
139     0x03f2, 0x000a, 0x0035, 0x01ef, 0x0034, 0x0037, 0x01e9, 0x01ed,
140     0x01e7, 0x03f3, 0x01ee, 0x03ed, 0x1ffa, 0x01ec, 0x01f2, 0x07f9,
141     0x07f8, 0x03f8, 0x0ff8, 0x0008, 0x0038, 0x03f6, 0x0036, 0x0075,
142     0x03f1, 0x03eb, 0x03ec, 0x0ff4, 0x0018, 0x0076, 0x07f4, 0x0039,
143     0x0074, 0x03ef, 0x01f3, 0x01f4, 0x07f6, 0x01e8, 0x03ea, 0x1ffc,
144     0x00f2, 0x01f1, 0x0ffb, 0x03f5, 0x07f3, 0x0ffc, 0x00ee, 0x03f7,
145     0x7ffe, 0x01f0, 0x07f5, 0x7ffd, 0x1ffb, 0x3ffa, 0xffff, 0x00f1,
146     0x03f0, 0x3ffc, 0x01ea, 0x03ee, 0x3ffb, 0x0ff6, 0x0ffa, 0x7ffc,
147     0x07f2, 0x0ff5, 0xfffe, 0x03f4, 0x07f7, 0x7ffb, 0x0ff7, 0x0ff9,
148     0x7ffa,
149 };
150
151 static const uint8_t bits3[81] = {
152      1,  4,  8,  4,  5,  8,  9,  9, 10,  4,  6,  9,  6,  6,  9,  9,
153      9, 10,  9, 10, 13,  9,  9, 11, 11, 10, 12,  4,  6, 10,  6,  7,
154     10, 10, 10, 12,  5,  7, 11,  6,  7, 10,  9,  9, 11,  9, 10, 13,
155      8,  9, 12, 10, 11, 12,  8, 10, 15,  9, 11, 15, 13, 14, 16,  8,
156     10, 14,  9, 10, 14, 12, 12, 15, 11, 12, 16, 10, 11, 15, 12, 12,
157     15,
158 };
159
160 static const uint16_t codes4[81] = {
161     0x007, 0x016, 0x0f6, 0x018, 0x008, 0x0ef, 0x1ef, 0x0f3,
162     0x7f8, 0x019, 0x017, 0x0ed, 0x015, 0x001, 0x0e2, 0x0f0,
163     0x070, 0x3f0, 0x1ee, 0x0f1, 0x7fa, 0x0ee, 0x0e4, 0x3f2,
164     0x7f6, 0x3ef, 0x7fd, 0x005, 0x014, 0x0f2, 0x009, 0x004,
165     0x0e5, 0x0f4, 0x0e8, 0x3f4, 0x006, 0x002, 0x0e7, 0x003,
166     0x000, 0x06b, 0x0e3, 0x069, 0x1f3, 0x0eb, 0x0e6, 0x3f6,
167     0x06e, 0x06a, 0x1f4, 0x3ec, 0x1f0, 0x3f9, 0x0f5, 0x0ec,
168     0x7fb, 0x0ea, 0x06f, 0x3f7, 0x7f9, 0x3f3, 0xfff, 0x0e9,
169     0x06d, 0x3f8, 0x06c, 0x068, 0x1f5, 0x3ee, 0x1f2, 0x7f4,
170     0x7f7, 0x3f1, 0xffe, 0x3ed, 0x1f1, 0x7f5, 0x7fe, 0x3f5,
171     0x7fc,
172 };
173
174 static const uint8_t bits4[81] = {
175      4,  5,  8,  5,  4,  8,  9,  8, 11,  5,  5,  8,  5,  4,  8,  8,
176      7, 10,  9,  8, 11,  8,  8, 10, 11, 10, 11,  4,  5,  8,  4,  4,
177      8,  8,  8, 10,  4,  4,  8,  4,  4,  7,  8,  7,  9,  8,  8, 10,
178      7,  7,  9, 10,  9, 10,  8,  8, 11,  8,  7, 10, 11, 10, 12,  8,
179      7, 10,  7,  7,  9, 10,  9, 11, 11, 10, 12, 10,  9, 11, 11, 10,
180     11,
181 };
182
183 static const uint16_t codes5[81] = {
184     0x1fff, 0x0ff7, 0x07f4, 0x07e8, 0x03f1, 0x07ee, 0x07f9, 0x0ff8,
185     0x1ffd, 0x0ffd, 0x07f1, 0x03e8, 0x01e8, 0x00f0, 0x01ec, 0x03ee,
186     0x07f2, 0x0ffa, 0x0ff4, 0x03ef, 0x01f2, 0x00e8, 0x0070, 0x00ec,
187     0x01f0, 0x03ea, 0x07f3, 0x07eb, 0x01eb, 0x00ea, 0x001a, 0x0008,
188     0x0019, 0x00ee, 0x01ef, 0x07ed, 0x03f0, 0x00f2, 0x0073, 0x000b,
189     0x0000, 0x000a, 0x0071, 0x00f3, 0x07e9, 0x07ef, 0x01ee, 0x00ef,
190     0x0018, 0x0009, 0x001b, 0x00eb, 0x01e9, 0x07ec, 0x07f6, 0x03eb,
191     0x01f3, 0x00ed, 0x0072, 0x00e9, 0x01f1, 0x03ed, 0x07f7, 0x0ff6,
192     0x07f0, 0x03e9, 0x01ed, 0x00f1, 0x01ea, 0x03ec, 0x07f8, 0x0ff9,
193     0x1ffc, 0x0ffc, 0x0ff5, 0x07ea, 0x03f3, 0x03f2, 0x07f5, 0x0ffb,
194     0x1ffe,
195 };
196
197 static const uint8_t bits5[81] = {
198     13, 12, 11, 11, 10, 11, 11, 12, 13, 12, 11, 10,  9,  8,  9, 10,
199     11, 12, 12, 10,  9,  8,  7,  8,  9, 10, 11, 11,  9,  8,  5,  4,
200      5,  8,  9, 11, 10,  8,  7,  4,  1,  4,  7,  8, 11, 11,  9,  8,
201      5,  4,  5,  8,  9, 11, 11, 10,  9,  8,  7,  8,  9, 10, 11, 12,
202     11, 10,  9,  8,  9, 10, 11, 12, 13, 12, 12, 11, 10, 10, 11, 12,
203     13,
204 };
205
206 static const uint16_t codes6[81] = {
207     0x7fe, 0x3fd, 0x1f1, 0x1eb, 0x1f4, 0x1ea, 0x1f0, 0x3fc,
208     0x7fd, 0x3f6, 0x1e5, 0x0ea, 0x06c, 0x071, 0x068, 0x0f0,
209     0x1e6, 0x3f7, 0x1f3, 0x0ef, 0x032, 0x027, 0x028, 0x026,
210     0x031, 0x0eb, 0x1f7, 0x1e8, 0x06f, 0x02e, 0x008, 0x004,
211     0x006, 0x029, 0x06b, 0x1ee, 0x1ef, 0x072, 0x02d, 0x002,
212     0x000, 0x003, 0x02f, 0x073, 0x1fa, 0x1e7, 0x06e, 0x02b,
213     0x007, 0x001, 0x005, 0x02c, 0x06d, 0x1ec, 0x1f9, 0x0ee,
214     0x030, 0x024, 0x02a, 0x025, 0x033, 0x0ec, 0x1f2, 0x3f8,
215     0x1e4, 0x0ed, 0x06a, 0x070, 0x069, 0x074, 0x0f1, 0x3fa,
216     0x7ff, 0x3f9, 0x1f6, 0x1ed, 0x1f8, 0x1e9, 0x1f5, 0x3fb,
217     0x7fc,
218 };
219
220 static const uint8_t bits6[81] = {
221     11, 10,  9,  9,  9,  9,  9, 10, 11, 10,  9,  8,  7,  7,  7,  8,
222      9, 10,  9,  8,  6,  6,  6,  6,  6,  8,  9,  9,  7,  6,  4,  4,
223      4,  6,  7,  9,  9,  7,  6,  4,  4,  4,  6,  7,  9,  9,  7,  6,
224      4,  4,  4,  6,  7,  9,  9,  8,  6,  6,  6,  6,  6,  8,  9, 10,
225      9,  8,  7,  7,  7,  7,  8, 10, 11, 10,  9,  9,  9,  9,  9, 10,
226     11,
227 };
228
229 static const uint16_t codes7[64] = {
230     0x000, 0x005, 0x037, 0x074, 0x0f2, 0x1eb, 0x3ed, 0x7f7,
231     0x004, 0x00c, 0x035, 0x071, 0x0ec, 0x0ee, 0x1ee, 0x1f5,
232     0x036, 0x034, 0x072, 0x0ea, 0x0f1, 0x1e9, 0x1f3, 0x3f5,
233     0x073, 0x070, 0x0eb, 0x0f0, 0x1f1, 0x1f0, 0x3ec, 0x3fa,
234     0x0f3, 0x0ed, 0x1e8, 0x1ef, 0x3ef, 0x3f1, 0x3f9, 0x7fb,
235     0x1ed, 0x0ef, 0x1ea, 0x1f2, 0x3f3, 0x3f8, 0x7f9, 0x7fc,
236     0x3ee, 0x1ec, 0x1f4, 0x3f4, 0x3f7, 0x7f8, 0xffd, 0xffe,
237     0x7f6, 0x3f0, 0x3f2, 0x3f6, 0x7fa, 0x7fd, 0xffc, 0xfff,
238 };
239
240 static const uint8_t bits7[64] = {
241      1,  3,  6,  7,  8,  9, 10, 11,  3,  4,  6,  7,  8,  8,  9,  9,
242      6,  6,  7,  8,  8,  9,  9, 10,  7,  7,  8,  8,  9,  9, 10, 10,
243      8,  8,  9,  9, 10, 10, 10, 11,  9,  8,  9,  9, 10, 10, 11, 11,
244     10,  9,  9, 10, 10, 11, 12, 12, 11, 10, 10, 10, 11, 11, 12, 12,
245 };
246
247 static const uint16_t codes8[64] = {
248     0x00e, 0x005, 0x010, 0x030, 0x06f, 0x0f1, 0x1fa, 0x3fe,
249     0x003, 0x000, 0x004, 0x012, 0x02c, 0x06a, 0x075, 0x0f8,
250     0x00f, 0x002, 0x006, 0x014, 0x02e, 0x069, 0x072, 0x0f5,
251     0x02f, 0x011, 0x013, 0x02a, 0x032, 0x06c, 0x0ec, 0x0fa,
252     0x071, 0x02b, 0x02d, 0x031, 0x06d, 0x070, 0x0f2, 0x1f9,
253     0x0ef, 0x068, 0x033, 0x06b, 0x06e, 0x0ee, 0x0f9, 0x3fc,
254     0x1f8, 0x074, 0x073, 0x0ed, 0x0f0, 0x0f6, 0x1f6, 0x1fd,
255     0x3fd, 0x0f3, 0x0f4, 0x0f7, 0x1f7, 0x1fb, 0x1fc, 0x3ff,
256 };
257
258 static const uint8_t bits8[64] = {
259      5,  4,  5,  6,  7,  8,  9, 10,  4,  3,  4,  5,  6,  7,  7,  8,
260      5,  4,  4,  5,  6,  7,  7,  8,  6,  5,  5,  6,  6,  7,  8,  8,
261      7,  6,  6,  6,  7,  7,  8,  9,  8,  7,  6,  7,  7,  8,  8, 10,
262      9,  7,  7,  8,  8,  8,  9,  9, 10,  8,  8,  8,  9,  9,  9, 10,
263 };
264
265 static const uint16_t codes9[169] = {
266     0x0000, 0x0005, 0x0037, 0x00e7, 0x01de, 0x03ce, 0x03d9, 0x07c8,
267     0x07cd, 0x0fc8, 0x0fdd, 0x1fe4, 0x1fec, 0x0004, 0x000c, 0x0035,
268     0x0072, 0x00ea, 0x00ed, 0x01e2, 0x03d1, 0x03d3, 0x03e0, 0x07d8,
269     0x0fcf, 0x0fd5, 0x0036, 0x0034, 0x0071, 0x00e8, 0x00ec, 0x01e1,
270     0x03cf, 0x03dd, 0x03db, 0x07d0, 0x0fc7, 0x0fd4, 0x0fe4, 0x00e6,
271     0x0070, 0x00e9, 0x01dd, 0x01e3, 0x03d2, 0x03dc, 0x07cc, 0x07ca,
272     0x07de, 0x0fd8, 0x0fea, 0x1fdb, 0x01df, 0x00eb, 0x01dc, 0x01e6,
273     0x03d5, 0x03de, 0x07cb, 0x07dd, 0x07dc, 0x0fcd, 0x0fe2, 0x0fe7,
274     0x1fe1, 0x03d0, 0x01e0, 0x01e4, 0x03d6, 0x07c5, 0x07d1, 0x07db,
275     0x0fd2, 0x07e0, 0x0fd9, 0x0feb, 0x1fe3, 0x1fe9, 0x07c4, 0x01e5,
276     0x03d7, 0x07c6, 0x07cf, 0x07da, 0x0fcb, 0x0fda, 0x0fe3, 0x0fe9,
277     0x1fe6, 0x1ff3, 0x1ff7, 0x07d3, 0x03d8, 0x03e1, 0x07d4, 0x07d9,
278     0x0fd3, 0x0fde, 0x1fdd, 0x1fd9, 0x1fe2, 0x1fea, 0x1ff1, 0x1ff6,
279     0x07d2, 0x03d4, 0x03da, 0x07c7, 0x07d7, 0x07e2, 0x0fce, 0x0fdb,
280     0x1fd8, 0x1fee, 0x3ff0, 0x1ff4, 0x3ff2, 0x07e1, 0x03df, 0x07c9,
281     0x07d6, 0x0fca, 0x0fd0, 0x0fe5, 0x0fe6, 0x1feb, 0x1fef, 0x3ff3,
282     0x3ff4, 0x3ff5, 0x0fe0, 0x07ce, 0x07d5, 0x0fc6, 0x0fd1, 0x0fe1,
283     0x1fe0, 0x1fe8, 0x1ff0, 0x3ff1, 0x3ff8, 0x3ff6, 0x7ffc, 0x0fe8,
284     0x07df, 0x0fc9, 0x0fd7, 0x0fdc, 0x1fdc, 0x1fdf, 0x1fed, 0x1ff5,
285     0x3ff9, 0x3ffb, 0x7ffd, 0x7ffe, 0x1fe7, 0x0fcc, 0x0fd6, 0x0fdf,
286     0x1fde, 0x1fda, 0x1fe5, 0x1ff2, 0x3ffa, 0x3ff7, 0x3ffc, 0x3ffd,
287     0x7fff,
288 };
289
290 static const uint8_t bits9[169] = {
291      1,  3,  6,  8,  9, 10, 10, 11, 11, 12, 12, 13, 13,  3,  4,  6,
292      7,  8,  8,  9, 10, 10, 10, 11, 12, 12,  6,  6,  7,  8,  8,  9,
293     10, 10, 10, 11, 12, 12, 12,  8,  7,  8,  9,  9, 10, 10, 11, 11,
294     11, 12, 12, 13,  9,  8,  9,  9, 10, 10, 11, 11, 11, 12, 12, 12,
295     13, 10,  9,  9, 10, 11, 11, 11, 12, 11, 12, 12, 13, 13, 11,  9,
296     10, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 11, 10, 10, 11, 11,
297     12, 12, 13, 13, 13, 13, 13, 13, 11, 10, 10, 11, 11, 11, 12, 12,
298     13, 13, 14, 13, 14, 11, 10, 11, 11, 12, 12, 12, 12, 13, 13, 14,
299     14, 14, 12, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 12,
300     11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15, 13, 12, 12, 12,
301     13, 13, 13, 13, 14, 14, 14, 14, 15,
302 };
303
304 static const uint16_t codes10[169] = {
305     0x022, 0x008, 0x01d, 0x026, 0x05f, 0x0d3, 0x1cf, 0x3d0,
306     0x3d7, 0x3ed, 0x7f0, 0x7f6, 0xffd, 0x007, 0x000, 0x001,
307     0x009, 0x020, 0x054, 0x060, 0x0d5, 0x0dc, 0x1d4, 0x3cd,
308     0x3de, 0x7e7, 0x01c, 0x002, 0x006, 0x00c, 0x01e, 0x028,
309     0x05b, 0x0cd, 0x0d9, 0x1ce, 0x1dc, 0x3d9, 0x3f1, 0x025,
310     0x00b, 0x00a, 0x00d, 0x024, 0x057, 0x061, 0x0cc, 0x0dd,
311     0x1cc, 0x1de, 0x3d3, 0x3e7, 0x05d, 0x021, 0x01f, 0x023,
312     0x027, 0x059, 0x064, 0x0d8, 0x0df, 0x1d2, 0x1e2, 0x3dd,
313     0x3ee, 0x0d1, 0x055, 0x029, 0x056, 0x058, 0x062, 0x0ce,
314     0x0e0, 0x0e2, 0x1da, 0x3d4, 0x3e3, 0x7eb, 0x1c9, 0x05e,
315     0x05a, 0x05c, 0x063, 0x0ca, 0x0da, 0x1c7, 0x1ca, 0x1e0,
316     0x3db, 0x3e8, 0x7ec, 0x1e3, 0x0d2, 0x0cb, 0x0d0, 0x0d7,
317     0x0db, 0x1c6, 0x1d5, 0x1d8, 0x3ca, 0x3da, 0x7ea, 0x7f1,
318     0x1e1, 0x0d4, 0x0cf, 0x0d6, 0x0de, 0x0e1, 0x1d0, 0x1d6,
319     0x3d1, 0x3d5, 0x3f2, 0x7ee, 0x7fb, 0x3e9, 0x1cd, 0x1c8,
320     0x1cb, 0x1d1, 0x1d7, 0x1df, 0x3cf, 0x3e0, 0x3ef, 0x7e6,
321     0x7f8, 0xffa, 0x3eb, 0x1dd, 0x1d3, 0x1d9, 0x1db, 0x3d2,
322     0x3cc, 0x3dc, 0x3ea, 0x7ed, 0x7f3, 0x7f9, 0xff9, 0x7f2,
323     0x3ce, 0x1e4, 0x3cb, 0x3d8, 0x3d6, 0x3e2, 0x3e5, 0x7e8,
324     0x7f4, 0x7f5, 0x7f7, 0xffb, 0x7fa, 0x3ec, 0x3df, 0x3e1,
325     0x3e4, 0x3e6, 0x3f0, 0x7e9, 0x7ef, 0xff8, 0xffe, 0xffc,
326     0xfff,
327 };
328
329 static const uint8_t bits10[169] = {
330      6,  5,  6,  6,  7,  8,  9, 10, 10, 10, 11, 11, 12,  5,  4,  4,
331      5,  6,  7,  7,  8,  8,  9, 10, 10, 11,  6,  4,  5,  5,  6,  6,
332      7,  8,  8,  9,  9, 10, 10,  6,  5,  5,  5,  6,  7,  7,  8,  8,
333      9,  9, 10, 10,  7,  6,  6,  6,  6,  7,  7,  8,  8,  9,  9, 10,
334     10,  8,  7,  6,  7,  7,  7,  8,  8,  8,  9, 10, 10, 11,  9,  7,
335      7,  7,  7,  8,  8,  9,  9,  9, 10, 10, 11,  9,  8,  8,  8,  8,
336      8,  9,  9,  9, 10, 10, 11, 11,  9,  8,  8,  8,  8,  8,  9,  9,
337     10, 10, 10, 11, 11, 10,  9,  9,  9,  9,  9,  9, 10, 10, 10, 11,
338     11, 12, 10,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 12, 11,
339     10,  9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 11, 10, 10, 10,
340     10, 10, 10, 11, 11, 12, 12, 12, 12,
341 };
342
343 static const uint16_t codes11[289] = {
344     0x000, 0x006, 0x019, 0x03d, 0x09c, 0x0c6, 0x1a7, 0x390,
345     0x3c2, 0x3df, 0x7e6, 0x7f3, 0xffb, 0x7ec, 0xffa, 0xffe,
346     0x38e, 0x005, 0x001, 0x008, 0x014, 0x037, 0x042, 0x092,
347     0x0af, 0x191, 0x1a5, 0x1b5, 0x39e, 0x3c0, 0x3a2, 0x3cd,
348     0x7d6, 0x0ae, 0x017, 0x007, 0x009, 0x018, 0x039, 0x040,
349     0x08e, 0x0a3, 0x0b8, 0x199, 0x1ac, 0x1c1, 0x3b1, 0x396,
350     0x3be, 0x3ca, 0x09d, 0x03c, 0x015, 0x016, 0x01a, 0x03b,
351     0x044, 0x091, 0x0a5, 0x0be, 0x196, 0x1ae, 0x1b9, 0x3a1,
352     0x391, 0x3a5, 0x3d5, 0x094, 0x09a, 0x036, 0x038, 0x03a,
353     0x041, 0x08c, 0x09b, 0x0b0, 0x0c3, 0x19e, 0x1ab, 0x1bc,
354     0x39f, 0x38f, 0x3a9, 0x3cf, 0x093, 0x0bf, 0x03e, 0x03f,
355     0x043, 0x045, 0x09e, 0x0a7, 0x0b9, 0x194, 0x1a2, 0x1ba,
356     0x1c3, 0x3a6, 0x3a7, 0x3bb, 0x3d4, 0x09f, 0x1a0, 0x08f,
357     0x08d, 0x090, 0x098, 0x0a6, 0x0b6, 0x0c4, 0x19f, 0x1af,
358     0x1bf, 0x399, 0x3bf, 0x3b4, 0x3c9, 0x3e7, 0x0a8, 0x1b6,
359     0x0ab, 0x0a4, 0x0aa, 0x0b2, 0x0c2, 0x0c5, 0x198, 0x1a4,
360     0x1b8, 0x38c, 0x3a4, 0x3c4, 0x3c6, 0x3dd, 0x3e8, 0x0ad,
361     0x3af, 0x192, 0x0bd, 0x0bc, 0x18e, 0x197, 0x19a, 0x1a3,
362     0x1b1, 0x38d, 0x398, 0x3b7, 0x3d3, 0x3d1, 0x3db, 0x7dd,
363     0x0b4, 0x3de, 0x1a9, 0x19b, 0x19c, 0x1a1, 0x1aa, 0x1ad,
364     0x1b3, 0x38b, 0x3b2, 0x3b8, 0x3ce, 0x3e1, 0x3e0, 0x7d2,
365     0x7e5, 0x0b7, 0x7e3, 0x1bb, 0x1a8, 0x1a6, 0x1b0, 0x1b2,
366     0x1b7, 0x39b, 0x39a, 0x3ba, 0x3b5, 0x3d6, 0x7d7, 0x3e4,
367     0x7d8, 0x7ea, 0x0ba, 0x7e8, 0x3a0, 0x1bd, 0x1b4, 0x38a,
368     0x1c4, 0x392, 0x3aa, 0x3b0, 0x3bc, 0x3d7, 0x7d4, 0x7dc,
369     0x7db, 0x7d5, 0x7f0, 0x0c1, 0x7fb, 0x3c8, 0x3a3, 0x395,
370     0x39d, 0x3ac, 0x3ae, 0x3c5, 0x3d8, 0x3e2, 0x3e6, 0x7e4,
371     0x7e7, 0x7e0, 0x7e9, 0x7f7, 0x190, 0x7f2, 0x393, 0x1be,
372     0x1c0, 0x394, 0x397, 0x3ad, 0x3c3, 0x3c1, 0x3d2, 0x7da,
373     0x7d9, 0x7df, 0x7eb, 0x7f4, 0x7fa, 0x195, 0x7f8, 0x3bd,
374     0x39c, 0x3ab, 0x3a8, 0x3b3, 0x3b9, 0x3d0, 0x3e3, 0x3e5,
375     0x7e2, 0x7de, 0x7ed, 0x7f1, 0x7f9, 0x7fc, 0x193, 0xffd,
376     0x3dc, 0x3b6, 0x3c7, 0x3cc, 0x3cb, 0x3d9, 0x3da, 0x7d3,
377     0x7e1, 0x7ee, 0x7ef, 0x7f5, 0x7f6, 0xffc, 0xfff, 0x19d,
378     0x1c2, 0x0b5, 0x0a1, 0x096, 0x097, 0x095, 0x099, 0x0a0,
379     0x0a2, 0x0ac, 0x0a9, 0x0b1, 0x0b3, 0x0bb, 0x0c0, 0x18f,
380     0x004,
381 };
382
383 static const uint8_t bits11[289] = {
384      4,  5,  6,  7,  8,  8,  9, 10, 10, 10, 11, 11, 12, 11, 12, 12,
385     10,  5,  4,  5,  6,  7,  7,  8,  8,  9,  9,  9, 10, 10, 10, 10,
386     11,  8,  6,  5,  5,  6,  7,  7,  8,  8,  8,  9,  9,  9, 10, 10,
387     10, 10,  8,  7,  6,  6,  6,  7,  7,  8,  8,  8,  9,  9,  9, 10,
388     10, 10, 10,  8,  8,  7,  7,  7,  7,  8,  8,  8,  8,  9,  9,  9,
389     10, 10, 10, 10,  8,  8,  7,  7,  7,  7,  8,  8,  8,  9,  9,  9,
390      9, 10, 10, 10, 10,  8,  9,  8,  8,  8,  8,  8,  8,  8,  9,  9,
391      9, 10, 10, 10, 10, 10,  8,  9,  8,  8,  8,  8,  8,  8,  9,  9,
392      9, 10, 10, 10, 10, 10, 10,  8, 10,  9,  8,  8,  9,  9,  9,  9,
393      9, 10, 10, 10, 10, 10, 10, 11,  8, 10,  9,  9,  9,  9,  9,  9,
394      9, 10, 10, 10, 10, 10, 10, 11, 11,  8, 11,  9,  9,  9,  9,  9,
395      9, 10, 10, 10, 10, 10, 11, 10, 11, 11,  8, 11, 10,  9,  9, 10,
396      9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,  8, 11, 10, 10, 10,
397     10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11,  9, 11, 10,  9,
398      9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,  9, 11, 10,
399     10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,  9, 12,
400     10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12,  9,
401      9,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  9,
402      5,
403 };
404
405 const uint16_t * const ff_aac_spectral_codes[11] = {
406     codes1,  codes2,  codes3, codes4, codes5, codes6, codes7, codes8,
407     codes9, codes10, codes11,
408 };
409
410 const uint8_t * const ff_aac_spectral_bits[11] = {
411     bits1,  bits2,  bits3, bits4, bits5, bits6, bits7, bits8,
412     bits9, bits10, bits11,
413 };
414
415 const uint16_t ff_aac_spectral_sizes[11] = {
416     81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289,
417 };
418
419 /* NOTE:
420  * 64.0f is a special value indicating the existence of an escape code in the
421  * bitstream.
422  */
423 static const DECLARE_ALIGNED(16, float, codebook_vector0)[324] = {
424  -1.0000000, -1.0000000, -1.0000000, -1.0000000,
425  -1.0000000, -1.0000000, -1.0000000,  0.0000000,
426  -1.0000000, -1.0000000, -1.0000000,  1.0000000,
427  -1.0000000, -1.0000000,  0.0000000, -1.0000000,
428  -1.0000000, -1.0000000,  0.0000000,  0.0000000,
429  -1.0000000, -1.0000000,  0.0000000,  1.0000000,
430  -1.0000000, -1.0000000,  1.0000000, -1.0000000,
431  -1.0000000, -1.0000000,  1.0000000,  0.0000000,
432  -1.0000000, -1.0000000,  1.0000000,  1.0000000,
433  -1.0000000,  0.0000000, -1.0000000, -1.0000000,
434  -1.0000000,  0.0000000, -1.0000000,  0.0000000,
435  -1.0000000,  0.0000000, -1.0000000,  1.0000000,
436  -1.0000000,  0.0000000,  0.0000000, -1.0000000,
437  -1.0000000,  0.0000000,  0.0000000,  0.0000000,
438  -1.0000000,  0.0000000,  0.0000000,  1.0000000,
439  -1.0000000,  0.0000000,  1.0000000, -1.0000000,
440  -1.0000000,  0.0000000,  1.0000000,  0.0000000,
441  -1.0000000,  0.0000000,  1.0000000,  1.0000000,
442  -1.0000000,  1.0000000, -1.0000000, -1.0000000,
443  -1.0000000,  1.0000000, -1.0000000,  0.0000000,
444  -1.0000000,  1.0000000, -1.0000000,  1.0000000,
445  -1.0000000,  1.0000000,  0.0000000, -1.0000000,
446  -1.0000000,  1.0000000,  0.0000000,  0.0000000,
447  -1.0000000,  1.0000000,  0.0000000,  1.0000000,
448  -1.0000000,  1.0000000,  1.0000000, -1.0000000,
449  -1.0000000,  1.0000000,  1.0000000,  0.0000000,
450  -1.0000000,  1.0000000,  1.0000000,  1.0000000,
451   0.0000000, -1.0000000, -1.0000000, -1.0000000,
452   0.0000000, -1.0000000, -1.0000000,  0.0000000,
453   0.0000000, -1.0000000, -1.0000000,  1.0000000,
454   0.0000000, -1.0000000,  0.0000000, -1.0000000,
455   0.0000000, -1.0000000,  0.0000000,  0.0000000,
456   0.0000000, -1.0000000,  0.0000000,  1.0000000,
457   0.0000000, -1.0000000,  1.0000000, -1.0000000,
458   0.0000000, -1.0000000,  1.0000000,  0.0000000,
459   0.0000000, -1.0000000,  1.0000000,  1.0000000,
460   0.0000000,  0.0000000, -1.0000000, -1.0000000,
461   0.0000000,  0.0000000, -1.0000000,  0.0000000,
462   0.0000000,  0.0000000, -1.0000000,  1.0000000,
463   0.0000000,  0.0000000,  0.0000000, -1.0000000,
464   0.0000000,  0.0000000,  0.0000000,  0.0000000,
465   0.0000000,  0.0000000,  0.0000000,  1.0000000,
466   0.0000000,  0.0000000,  1.0000000, -1.0000000,
467   0.0000000,  0.0000000,  1.0000000,  0.0000000,
468   0.0000000,  0.0000000,  1.0000000,  1.0000000,
469   0.0000000,  1.0000000, -1.0000000, -1.0000000,
470   0.0000000,  1.0000000, -1.0000000,  0.0000000,
471   0.0000000,  1.0000000, -1.0000000,  1.0000000,
472   0.0000000,  1.0000000,  0.0000000, -1.0000000,
473   0.0000000,  1.0000000,  0.0000000,  0.0000000,
474   0.0000000,  1.0000000,  0.0000000,  1.0000000,
475   0.0000000,  1.0000000,  1.0000000, -1.0000000,
476   0.0000000,  1.0000000,  1.0000000,  0.0000000,
477   0.0000000,  1.0000000,  1.0000000,  1.0000000,
478   1.0000000, -1.0000000, -1.0000000, -1.0000000,
479   1.0000000, -1.0000000, -1.0000000,  0.0000000,
480   1.0000000, -1.0000000, -1.0000000,  1.0000000,
481   1.0000000, -1.0000000,  0.0000000, -1.0000000,
482   1.0000000, -1.0000000,  0.0000000,  0.0000000,
483   1.0000000, -1.0000000,  0.0000000,  1.0000000,
484   1.0000000, -1.0000000,  1.0000000, -1.0000000,
485   1.0000000, -1.0000000,  1.0000000,  0.0000000,
486   1.0000000, -1.0000000,  1.0000000,  1.0000000,
487   1.0000000,  0.0000000, -1.0000000, -1.0000000,
488   1.0000000,  0.0000000, -1.0000000,  0.0000000,
489   1.0000000,  0.0000000, -1.0000000,  1.0000000,
490   1.0000000,  0.0000000,  0.0000000, -1.0000000,
491   1.0000000,  0.0000000,  0.0000000,  0.0000000,
492   1.0000000,  0.0000000,  0.0000000,  1.0000000,
493   1.0000000,  0.0000000,  1.0000000, -1.0000000,
494   1.0000000,  0.0000000,  1.0000000,  0.0000000,
495   1.0000000,  0.0000000,  1.0000000,  1.0000000,
496   1.0000000,  1.0000000, -1.0000000, -1.0000000,
497   1.0000000,  1.0000000, -1.0000000,  0.0000000,
498   1.0000000,  1.0000000, -1.0000000,  1.0000000,
499   1.0000000,  1.0000000,  0.0000000, -1.0000000,
500   1.0000000,  1.0000000,  0.0000000,  0.0000000,
501   1.0000000,  1.0000000,  0.0000000,  1.0000000,
502   1.0000000,  1.0000000,  1.0000000, -1.0000000,
503   1.0000000,  1.0000000,  1.0000000,  0.0000000,
504   1.0000000,  1.0000000,  1.0000000,  1.0000000,
505 };
506
507 static const DECLARE_ALIGNED(16, float, codebook_vector2)[324] = {
508   0.0000000,  0.0000000,  0.0000000,  0.0000000,
509   0.0000000,  0.0000000,  0.0000000,  1.0000000,
510   0.0000000,  0.0000000,  0.0000000,  2.5198421,
511   0.0000000,  0.0000000,  1.0000000,  0.0000000,
512   0.0000000,  0.0000000,  1.0000000,  1.0000000,
513   0.0000000,  0.0000000,  1.0000000,  2.5198421,
514   0.0000000,  0.0000000,  2.5198421,  0.0000000,
515   0.0000000,  0.0000000,  2.5198421,  1.0000000,
516   0.0000000,  0.0000000,  2.5198421,  2.5198421,
517   0.0000000,  1.0000000,  0.0000000,  0.0000000,
518   0.0000000,  1.0000000,  0.0000000,  1.0000000,
519   0.0000000,  1.0000000,  0.0000000,  2.5198421,
520   0.0000000,  1.0000000,  1.0000000,  0.0000000,
521   0.0000000,  1.0000000,  1.0000000,  1.0000000,
522   0.0000000,  1.0000000,  1.0000000,  2.5198421,
523   0.0000000,  1.0000000,  2.5198421,  0.0000000,
524   0.0000000,  1.0000000,  2.5198421,  1.0000000,
525   0.0000000,  1.0000000,  2.5198421,  2.5198421,
526   0.0000000,  2.5198421,  0.0000000,  0.0000000,
527   0.0000000,  2.5198421,  0.0000000,  1.0000000,
528   0.0000000,  2.5198421,  0.0000000,  2.5198421,
529   0.0000000,  2.5198421,  1.0000000,  0.0000000,
530   0.0000000,  2.5198421,  1.0000000,  1.0000000,
531   0.0000000,  2.5198421,  1.0000000,  2.5198421,
532   0.0000000,  2.5198421,  2.5198421,  0.0000000,
533   0.0000000,  2.5198421,  2.5198421,  1.0000000,
534   0.0000000,  2.5198421,  2.5198421,  2.5198421,
535   1.0000000,  0.0000000,  0.0000000,  0.0000000,
536   1.0000000,  0.0000000,  0.0000000,  1.0000000,
537   1.0000000,  0.0000000,  0.0000000,  2.5198421,
538   1.0000000,  0.0000000,  1.0000000,  0.0000000,
539   1.0000000,  0.0000000,  1.0000000,  1.0000000,
540   1.0000000,  0.0000000,  1.0000000,  2.5198421,
541   1.0000000,  0.0000000,  2.5198421,  0.0000000,
542   1.0000000,  0.0000000,  2.5198421,  1.0000000,
543   1.0000000,  0.0000000,  2.5198421,  2.5198421,
544   1.0000000,  1.0000000,  0.0000000,  0.0000000,
545   1.0000000,  1.0000000,  0.0000000,  1.0000000,
546   1.0000000,  1.0000000,  0.0000000,  2.5198421,
547   1.0000000,  1.0000000,  1.0000000,  0.0000000,
548   1.0000000,  1.0000000,  1.0000000,  1.0000000,
549   1.0000000,  1.0000000,  1.0000000,  2.5198421,
550   1.0000000,  1.0000000,  2.5198421,  0.0000000,
551   1.0000000,  1.0000000,  2.5198421,  1.0000000,
552   1.0000000,  1.0000000,  2.5198421,  2.5198421,
553   1.0000000,  2.5198421,  0.0000000,  0.0000000,
554   1.0000000,  2.5198421,  0.0000000,  1.0000000,
555   1.0000000,  2.5198421,  0.0000000,  2.5198421,
556   1.0000000,  2.5198421,  1.0000000,  0.0000000,
557   1.0000000,  2.5198421,  1.0000000,  1.0000000,
558   1.0000000,  2.5198421,  1.0000000,  2.5198421,
559   1.0000000,  2.5198421,  2.5198421,  0.0000000,
560   1.0000000,  2.5198421,  2.5198421,  1.0000000,
561   1.0000000,  2.5198421,  2.5198421,  2.5198421,
562   2.5198421,  0.0000000,  0.0000000,  0.0000000,
563   2.5198421,  0.0000000,  0.0000000,  1.0000000,
564   2.5198421,  0.0000000,  0.0000000,  2.5198421,
565   2.5198421,  0.0000000,  1.0000000,  0.0000000,
566   2.5198421,  0.0000000,  1.0000000,  1.0000000,
567   2.5198421,  0.0000000,  1.0000000,  2.5198421,
568   2.5198421,  0.0000000,  2.5198421,  0.0000000,
569   2.5198421,  0.0000000,  2.5198421,  1.0000000,
570   2.5198421,  0.0000000,  2.5198421,  2.5198421,
571   2.5198421,  1.0000000,  0.0000000,  0.0000000,
572   2.5198421,  1.0000000,  0.0000000,  1.0000000,
573   2.5198421,  1.0000000,  0.0000000,  2.5198421,
574   2.5198421,  1.0000000,  1.0000000,  0.0000000,
575   2.5198421,  1.0000000,  1.0000000,  1.0000000,
576   2.5198421,  1.0000000,  1.0000000,  2.5198421,
577   2.5198421,  1.0000000,  2.5198421,  0.0000000,
578   2.5198421,  1.0000000,  2.5198421,  1.0000000,
579   2.5198421,  1.0000000,  2.5198421,  2.5198421,
580   2.5198421,  2.5198421,  0.0000000,  0.0000000,
581   2.5198421,  2.5198421,  0.0000000,  1.0000000,
582   2.5198421,  2.5198421,  0.0000000,  2.5198421,
583   2.5198421,  2.5198421,  1.0000000,  0.0000000,
584   2.5198421,  2.5198421,  1.0000000,  1.0000000,
585   2.5198421,  2.5198421,  1.0000000,  2.5198421,
586   2.5198421,  2.5198421,  2.5198421,  0.0000000,
587   2.5198421,  2.5198421,  2.5198421,  1.0000000,
588   2.5198421,  2.5198421,  2.5198421,  2.5198421,
589 };
590
591 static const DECLARE_ALIGNED(16, float, codebook_vector4)[162] = {
592  -6.3496042, -6.3496042, -6.3496042, -4.3267487,
593  -6.3496042, -2.5198421, -6.3496042, -1.0000000,
594  -6.3496042,  0.0000000, -6.3496042,  1.0000000,
595  -6.3496042,  2.5198421, -6.3496042,  4.3267487,
596  -6.3496042,  6.3496042, -4.3267487, -6.3496042,
597  -4.3267487, -4.3267487, -4.3267487, -2.5198421,
598  -4.3267487, -1.0000000, -4.3267487,  0.0000000,
599  -4.3267487,  1.0000000, -4.3267487,  2.5198421,
600  -4.3267487,  4.3267487, -4.3267487,  6.3496042,
601  -2.5198421, -6.3496042, -2.5198421, -4.3267487,
602  -2.5198421, -2.5198421, -2.5198421, -1.0000000,
603  -2.5198421,  0.0000000, -2.5198421,  1.0000000,
604  -2.5198421,  2.5198421, -2.5198421,  4.3267487,
605  -2.5198421,  6.3496042, -1.0000000, -6.3496042,
606  -1.0000000, -4.3267487, -1.0000000, -2.5198421,
607  -1.0000000, -1.0000000, -1.0000000,  0.0000000,
608  -1.0000000,  1.0000000, -1.0000000,  2.5198421,
609  -1.0000000,  4.3267487, -1.0000000,  6.3496042,
610   0.0000000, -6.3496042,  0.0000000, -4.3267487,
611   0.0000000, -2.5198421,  0.0000000, -1.0000000,
612   0.0000000,  0.0000000,  0.0000000,  1.0000000,
613   0.0000000,  2.5198421,  0.0000000,  4.3267487,
614   0.0000000,  6.3496042,  1.0000000, -6.3496042,
615   1.0000000, -4.3267487,  1.0000000, -2.5198421,
616   1.0000000, -1.0000000,  1.0000000,  0.0000000,
617   1.0000000,  1.0000000,  1.0000000,  2.5198421,
618   1.0000000,  4.3267487,  1.0000000,  6.3496042,
619   2.5198421, -6.3496042,  2.5198421, -4.3267487,
620   2.5198421, -2.5198421,  2.5198421, -1.0000000,
621   2.5198421,  0.0000000,  2.5198421,  1.0000000,
622   2.5198421,  2.5198421,  2.5198421,  4.3267487,
623   2.5198421,  6.3496042,  4.3267487, -6.3496042,
624   4.3267487, -4.3267487,  4.3267487, -2.5198421,
625   4.3267487, -1.0000000,  4.3267487,  0.0000000,
626   4.3267487,  1.0000000,  4.3267487,  2.5198421,
627   4.3267487,  4.3267487,  4.3267487,  6.3496042,
628   6.3496042, -6.3496042,  6.3496042, -4.3267487,
629   6.3496042, -2.5198421,  6.3496042, -1.0000000,
630   6.3496042,  0.0000000,  6.3496042,  1.0000000,
631   6.3496042,  2.5198421,  6.3496042,  4.3267487,
632   6.3496042,  6.3496042,
633 };
634
635 static const DECLARE_ALIGNED(16, float, codebook_vector6)[128] = {
636   0.0000000,  0.0000000,  0.0000000,  1.0000000,
637   0.0000000,  2.5198421,  0.0000000,  4.3267487,
638   0.0000000,  6.3496042,  0.0000000,  8.5498797,
639   0.0000000, 10.9027236,  0.0000000, 13.3905183,
640   1.0000000,  0.0000000,  1.0000000,  1.0000000,
641   1.0000000,  2.5198421,  1.0000000,  4.3267487,
642   1.0000000,  6.3496042,  1.0000000,  8.5498797,
643   1.0000000, 10.9027236,  1.0000000, 13.3905183,
644   2.5198421,  0.0000000,  2.5198421,  1.0000000,
645   2.5198421,  2.5198421,  2.5198421,  4.3267487,
646   2.5198421,  6.3496042,  2.5198421,  8.5498797,
647   2.5198421, 10.9027236,  2.5198421, 13.3905183,
648   4.3267487,  0.0000000,  4.3267487,  1.0000000,
649   4.3267487,  2.5198421,  4.3267487,  4.3267487,
650   4.3267487,  6.3496042,  4.3267487,  8.5498797,
651   4.3267487, 10.9027236,  4.3267487, 13.3905183,
652   6.3496042,  0.0000000,  6.3496042,  1.0000000,
653   6.3496042,  2.5198421,  6.3496042,  4.3267487,
654   6.3496042,  6.3496042,  6.3496042,  8.5498797,
655   6.3496042, 10.9027236,  6.3496042, 13.3905183,
656   8.5498797,  0.0000000,  8.5498797,  1.0000000,
657   8.5498797,  2.5198421,  8.5498797,  4.3267487,
658   8.5498797,  6.3496042,  8.5498797,  8.5498797,
659   8.5498797, 10.9027236,  8.5498797, 13.3905183,
660  10.9027236,  0.0000000, 10.9027236,  1.0000000,
661  10.9027236,  2.5198421, 10.9027236,  4.3267487,
662  10.9027236,  6.3496042, 10.9027236,  8.5498797,
663  10.9027236, 10.9027236, 10.9027236, 13.3905183,
664  13.3905183,  0.0000000, 13.3905183,  1.0000000,
665  13.3905183,  2.5198421, 13.3905183,  4.3267487,
666  13.3905183,  6.3496042, 13.3905183,  8.5498797,
667  13.3905183, 10.9027236, 13.3905183, 13.3905183,
668 };
669
670 static const DECLARE_ALIGNED(16, float, codebook_vector8)[338] = {
671   0.0000000,  0.0000000,  0.0000000,  1.0000000,
672   0.0000000,  2.5198421,  0.0000000,  4.3267487,
673   0.0000000,  6.3496042,  0.0000000,  8.5498797,
674   0.0000000, 10.9027236,  0.0000000, 13.3905183,
675   0.0000000, 16.0000000,  0.0000000, 18.7207544,
676   0.0000000, 21.5443469,  0.0000000, 24.4637810,
677   0.0000000, 27.4731418,  1.0000000,  0.0000000,
678   1.0000000,  1.0000000,  1.0000000,  2.5198421,
679   1.0000000,  4.3267487,  1.0000000,  6.3496042,
680   1.0000000,  8.5498797,  1.0000000, 10.9027236,
681   1.0000000, 13.3905183,  1.0000000, 16.0000000,
682   1.0000000, 18.7207544,  1.0000000, 21.5443469,
683   1.0000000, 24.4637810,  1.0000000, 27.4731418,
684   2.5198421,  0.0000000,  2.5198421,  1.0000000,
685   2.5198421,  2.5198421,  2.5198421,  4.3267487,
686   2.5198421,  6.3496042,  2.5198421,  8.5498797,
687   2.5198421, 10.9027236,  2.5198421, 13.3905183,
688   2.5198421, 16.0000000,  2.5198421, 18.7207544,
689   2.5198421, 21.5443469,  2.5198421, 24.4637810,
690   2.5198421, 27.4731418,  4.3267487,  0.0000000,
691   4.3267487,  1.0000000,  4.3267487,  2.5198421,
692   4.3267487,  4.3267487,  4.3267487,  6.3496042,
693   4.3267487,  8.5498797,  4.3267487, 10.9027236,
694   4.3267487, 13.3905183,  4.3267487, 16.0000000,
695   4.3267487, 18.7207544,  4.3267487, 21.5443469,
696   4.3267487, 24.4637810,  4.3267487, 27.4731418,
697   6.3496042,  0.0000000,  6.3496042,  1.0000000,
698   6.3496042,  2.5198421,  6.3496042,  4.3267487,
699   6.3496042,  6.3496042,  6.3496042,  8.5498797,
700   6.3496042, 10.9027236,  6.3496042, 13.3905183,
701   6.3496042, 16.0000000,  6.3496042, 18.7207544,
702   6.3496042, 21.5443469,  6.3496042, 24.4637810,
703   6.3496042, 27.4731418,  8.5498797,  0.0000000,
704   8.5498797,  1.0000000,  8.5498797,  2.5198421,
705   8.5498797,  4.3267487,  8.5498797,  6.3496042,
706   8.5498797,  8.5498797,  8.5498797, 10.9027236,
707   8.5498797, 13.3905183,  8.5498797, 16.0000000,
708   8.5498797, 18.7207544,  8.5498797, 21.5443469,
709   8.5498797, 24.4637810,  8.5498797, 27.4731418,
710  10.9027236,  0.0000000, 10.9027236,  1.0000000,
711  10.9027236,  2.5198421, 10.9027236,  4.3267487,
712  10.9027236,  6.3496042, 10.9027236,  8.5498797,
713  10.9027236, 10.9027236, 10.9027236, 13.3905183,
714  10.9027236, 16.0000000, 10.9027236, 18.7207544,
715  10.9027236, 21.5443469, 10.9027236, 24.4637810,
716  10.9027236, 27.4731418, 13.3905183,  0.0000000,
717  13.3905183,  1.0000000, 13.3905183,  2.5198421,
718  13.3905183,  4.3267487, 13.3905183,  6.3496042,
719  13.3905183,  8.5498797, 13.3905183, 10.9027236,
720  13.3905183, 13.3905183, 13.3905183, 16.0000000,
721  13.3905183, 18.7207544, 13.3905183, 21.5443469,
722  13.3905183, 24.4637810, 13.3905183, 27.4731418,
723  16.0000000,  0.0000000, 16.0000000,  1.0000000,
724  16.0000000,  2.5198421, 16.0000000,  4.3267487,
725  16.0000000,  6.3496042, 16.0000000,  8.5498797,
726  16.0000000, 10.9027236, 16.0000000, 13.3905183,
727  16.0000000, 16.0000000, 16.0000000, 18.7207544,
728  16.0000000, 21.5443469, 16.0000000, 24.4637810,
729  16.0000000, 27.4731418, 18.7207544,  0.0000000,
730  18.7207544,  1.0000000, 18.7207544,  2.5198421,
731  18.7207544,  4.3267487, 18.7207544,  6.3496042,
732  18.7207544,  8.5498797, 18.7207544, 10.9027236,
733  18.7207544, 13.3905183, 18.7207544, 16.0000000,
734  18.7207544, 18.7207544, 18.7207544, 21.5443469,
735  18.7207544, 24.4637810, 18.7207544, 27.4731418,
736  21.5443469,  0.0000000, 21.5443469,  1.0000000,
737  21.5443469,  2.5198421, 21.5443469,  4.3267487,
738  21.5443469,  6.3496042, 21.5443469,  8.5498797,
739  21.5443469, 10.9027236, 21.5443469, 13.3905183,
740  21.5443469, 16.0000000, 21.5443469, 18.7207544,
741  21.5443469, 21.5443469, 21.5443469, 24.4637810,
742  21.5443469, 27.4731418, 24.4637810,  0.0000000,
743  24.4637810,  1.0000000, 24.4637810,  2.5198421,
744  24.4637810,  4.3267487, 24.4637810,  6.3496042,
745  24.4637810,  8.5498797, 24.4637810, 10.9027236,
746  24.4637810, 13.3905183, 24.4637810, 16.0000000,
747  24.4637810, 18.7207544, 24.4637810, 21.5443469,
748  24.4637810, 24.4637810, 24.4637810, 27.4731418,
749  27.4731418,  0.0000000, 27.4731418,  1.0000000,
750  27.4731418,  2.5198421, 27.4731418,  4.3267487,
751  27.4731418,  6.3496042, 27.4731418,  8.5498797,
752  27.4731418, 10.9027236, 27.4731418, 13.3905183,
753  27.4731418, 16.0000000, 27.4731418, 18.7207544,
754  27.4731418, 21.5443469, 27.4731418, 24.4637810,
755  27.4731418, 27.4731418,
756 };
757
758 static const DECLARE_ALIGNED(16, float, codebook_vector10)[578] = {
759   0.0000000,  0.0000000,  0.0000000,  1.0000000,
760   0.0000000,  2.5198421,  0.0000000,  4.3267487,
761   0.0000000,  6.3496042,  0.0000000,  8.5498797,
762   0.0000000, 10.9027236,  0.0000000, 13.3905183,
763   0.0000000, 16.0000000,  0.0000000, 18.7207544,
764   0.0000000, 21.5443469,  0.0000000, 24.4637810,
765   0.0000000, 27.4731418,  0.0000000, 30.5673509,
766   0.0000000, 33.7419917,  0.0000000, 36.9931811,
767   0.0000000,      64.0f,  1.0000000,  0.0000000,
768   1.0000000,  1.0000000,  1.0000000,  2.5198421,
769   1.0000000,  4.3267487,  1.0000000,  6.3496042,
770   1.0000000,  8.5498797,  1.0000000, 10.9027236,
771   1.0000000, 13.3905183,  1.0000000, 16.0000000,
772   1.0000000, 18.7207544,  1.0000000, 21.5443469,
773   1.0000000, 24.4637810,  1.0000000, 27.4731418,
774   1.0000000, 30.5673509,  1.0000000, 33.7419917,
775   1.0000000, 36.9931811,  1.0000000,      64.0f,
776   2.5198421,  0.0000000,  2.5198421,  1.0000000,
777   2.5198421,  2.5198421,  2.5198421,  4.3267487,
778   2.5198421,  6.3496042,  2.5198421,  8.5498797,
779   2.5198421, 10.9027236,  2.5198421, 13.3905183,
780   2.5198421, 16.0000000,  2.5198421, 18.7207544,
781   2.5198421, 21.5443469,  2.5198421, 24.4637810,
782   2.5198421, 27.4731418,  2.5198421, 30.5673509,
783   2.5198421, 33.7419917,  2.5198421, 36.9931811,
784   2.5198421,      64.0f,  4.3267487,  0.0000000,
785   4.3267487,  1.0000000,  4.3267487,  2.5198421,
786   4.3267487,  4.3267487,  4.3267487,  6.3496042,
787   4.3267487,  8.5498797,  4.3267487, 10.9027236,
788   4.3267487, 13.3905183,  4.3267487, 16.0000000,
789   4.3267487, 18.7207544,  4.3267487, 21.5443469,
790   4.3267487, 24.4637810,  4.3267487, 27.4731418,
791   4.3267487, 30.5673509,  4.3267487, 33.7419917,
792   4.3267487, 36.9931811,  4.3267487,      64.0f,
793   6.3496042,  0.0000000,  6.3496042,  1.0000000,
794   6.3496042,  2.5198421,  6.3496042,  4.3267487,
795   6.3496042,  6.3496042,  6.3496042,  8.5498797,
796   6.3496042, 10.9027236,  6.3496042, 13.3905183,
797   6.3496042, 16.0000000,  6.3496042, 18.7207544,
798   6.3496042, 21.5443469,  6.3496042, 24.4637810,
799   6.3496042, 27.4731418,  6.3496042, 30.5673509,
800   6.3496042, 33.7419917,  6.3496042, 36.9931811,
801   6.3496042,      64.0f,  8.5498797,  0.0000000,
802   8.5498797,  1.0000000,  8.5498797,  2.5198421,
803   8.5498797,  4.3267487,  8.5498797,  6.3496042,
804   8.5498797,  8.5498797,  8.5498797, 10.9027236,
805   8.5498797, 13.3905183,  8.5498797, 16.0000000,
806   8.5498797, 18.7207544,  8.5498797, 21.5443469,
807   8.5498797, 24.4637810,  8.5498797, 27.4731418,
808   8.5498797, 30.5673509,  8.5498797, 33.7419917,
809   8.5498797, 36.9931811,  8.5498797,      64.0f,
810  10.9027236,  0.0000000, 10.9027236,  1.0000000,
811  10.9027236,  2.5198421, 10.9027236,  4.3267487,
812  10.9027236,  6.3496042, 10.9027236,  8.5498797,
813  10.9027236, 10.9027236, 10.9027236, 13.3905183,
814  10.9027236, 16.0000000, 10.9027236, 18.7207544,
815  10.9027236, 21.5443469, 10.9027236, 24.4637810,
816  10.9027236, 27.4731418, 10.9027236, 30.5673509,
817  10.9027236, 33.7419917, 10.9027236, 36.9931811,
818  10.9027236,      64.0f, 13.3905183,  0.0000000,
819  13.3905183,  1.0000000, 13.3905183,  2.5198421,
820  13.3905183,  4.3267487, 13.3905183,  6.3496042,
821  13.3905183,  8.5498797, 13.3905183, 10.9027236,
822  13.3905183, 13.3905183, 13.3905183, 16.0000000,
823  13.3905183, 18.7207544, 13.3905183, 21.5443469,
824  13.3905183, 24.4637810, 13.3905183, 27.4731418,
825  13.3905183, 30.5673509, 13.3905183, 33.7419917,
826  13.3905183, 36.9931811, 13.3905183,      64.0f,
827  16.0000000,  0.0000000, 16.0000000,  1.0000000,
828  16.0000000,  2.5198421, 16.0000000,  4.3267487,
829  16.0000000,  6.3496042, 16.0000000,  8.5498797,
830  16.0000000, 10.9027236, 16.0000000, 13.3905183,
831  16.0000000, 16.0000000, 16.0000000, 18.7207544,
832  16.0000000, 21.5443469, 16.0000000, 24.4637810,
833  16.0000000, 27.4731418, 16.0000000, 30.5673509,
834  16.0000000, 33.7419917, 16.0000000, 36.9931811,
835  16.0000000,      64.0f, 18.7207544,  0.0000000,
836  18.7207544,  1.0000000, 18.7207544,  2.5198421,
837  18.7207544,  4.3267487, 18.7207544,  6.3496042,
838  18.7207544,  8.5498797, 18.7207544, 10.9027236,
839  18.7207544, 13.3905183, 18.7207544, 16.0000000,
840  18.7207544, 18.7207544, 18.7207544, 21.5443469,
841  18.7207544, 24.4637810, 18.7207544, 27.4731418,
842  18.7207544, 30.5673509, 18.7207544, 33.7419917,
843  18.7207544, 36.9931811, 18.7207544,      64.0f,
844  21.5443469,  0.0000000, 21.5443469,  1.0000000,
845  21.5443469,  2.5198421, 21.5443469,  4.3267487,
846  21.5443469,  6.3496042, 21.5443469,  8.5498797,
847  21.5443469, 10.9027236, 21.5443469, 13.3905183,
848  21.5443469, 16.0000000, 21.5443469, 18.7207544,
849  21.5443469, 21.5443469, 21.5443469, 24.4637810,
850  21.5443469, 27.4731418, 21.5443469, 30.5673509,
851  21.5443469, 33.7419917, 21.5443469, 36.9931811,
852  21.5443469,      64.0f, 24.4637810,  0.0000000,
853  24.4637810,  1.0000000, 24.4637810,  2.5198421,
854  24.4637810,  4.3267487, 24.4637810,  6.3496042,
855  24.4637810,  8.5498797, 24.4637810, 10.9027236,
856  24.4637810, 13.3905183, 24.4637810, 16.0000000,
857  24.4637810, 18.7207544, 24.4637810, 21.5443469,
858  24.4637810, 24.4637810, 24.4637810, 27.4731418,
859  24.4637810, 30.5673509, 24.4637810, 33.7419917,
860  24.4637810, 36.9931811, 24.4637810,      64.0f,
861  27.4731418,  0.0000000, 27.4731418,  1.0000000,
862  27.4731418,  2.5198421, 27.4731418,  4.3267487,
863  27.4731418,  6.3496042, 27.4731418,  8.5498797,
864  27.4731418, 10.9027236, 27.4731418, 13.3905183,
865  27.4731418, 16.0000000, 27.4731418, 18.7207544,
866  27.4731418, 21.5443469, 27.4731418, 24.4637810,
867  27.4731418, 27.4731418, 27.4731418, 30.5673509,
868  27.4731418, 33.7419917, 27.4731418, 36.9931811,
869  27.4731418,      64.0f, 30.5673509,  0.0000000,
870  30.5673509,  1.0000000, 30.5673509,  2.5198421,
871  30.5673509,  4.3267487, 30.5673509,  6.3496042,
872  30.5673509,  8.5498797, 30.5673509, 10.9027236,
873  30.5673509, 13.3905183, 30.5673509, 16.0000000,
874  30.5673509, 18.7207544, 30.5673509, 21.5443469,
875  30.5673509, 24.4637810, 30.5673509, 27.4731418,
876  30.5673509, 30.5673509, 30.5673509, 33.7419917,
877  30.5673509, 36.9931811, 30.5673509,      64.0f,
878  33.7419917,  0.0000000, 33.7419917,  1.0000000,
879  33.7419917,  2.5198421, 33.7419917,  4.3267487,
880  33.7419917,  6.3496042, 33.7419917,  8.5498797,
881  33.7419917, 10.9027236, 33.7419917, 13.3905183,
882  33.7419917, 16.0000000, 33.7419917, 18.7207544,
883  33.7419917, 21.5443469, 33.7419917, 24.4637810,
884  33.7419917, 27.4731418, 33.7419917, 30.5673509,
885  33.7419917, 33.7419917, 33.7419917, 36.9931811,
886  33.7419917,      64.0f, 36.9931811,  0.0000000,
887  36.9931811,  1.0000000, 36.9931811,  2.5198421,
888  36.9931811,  4.3267487, 36.9931811,  6.3496042,
889  36.9931811,  8.5498797, 36.9931811, 10.9027236,
890  36.9931811, 13.3905183, 36.9931811, 16.0000000,
891  36.9931811, 18.7207544, 36.9931811, 21.5443469,
892  36.9931811, 24.4637810, 36.9931811, 27.4731418,
893  36.9931811, 30.5673509, 36.9931811, 33.7419917,
894  36.9931811, 36.9931811, 36.9931811,      64.0f,
895       64.0f,  0.0000000,      64.0f,  1.0000000,
896       64.0f,  2.5198421,      64.0f,  4.3267487,
897       64.0f,  6.3496042,      64.0f,  8.5498797,
898       64.0f, 10.9027236,      64.0f, 13.3905183,
899       64.0f, 16.0000000,      64.0f, 18.7207544,
900       64.0f, 21.5443469,      64.0f, 24.4637810,
901       64.0f, 27.4731418,      64.0f, 30.5673509,
902       64.0f, 33.7419917,      64.0f, 36.9931811,
903       64.0f,      64.0f,
904 };
905
906 const float * const ff_aac_codebook_vectors[] = {
907     codebook_vector0, codebook_vector0, codebook_vector2,
908     codebook_vector2, codebook_vector4, codebook_vector4,
909     codebook_vector6, codebook_vector6, codebook_vector8,
910     codebook_vector8, codebook_vector10,
911 };
912
913 static const float codebook_vector0_vals[] = {
914    -1.0000000,  0.0000000,  1.0000000
915 };
916
917 /*
918  * bits  0:1, 2:3, 4:5, 6:7  index into _vals array
919  *       8:11                number of non-zero values
920  *      12:15                bit mask of non-zero values
921  */
922 static const uint16_t codebook_vector02_idx[] = {
923     0x0000, 0x8140, 0x8180, 0x4110, 0xc250, 0xc290, 0x4120, 0xc260, 0xc2a0,
924     0x2104, 0xa244, 0xa284, 0x6214, 0xe354, 0xe394, 0x6224, 0xe364, 0xe3a4,
925     0x2108, 0xa248, 0xa288, 0x6218, 0xe358, 0xe398, 0x6228, 0xe368, 0xe3a8,
926     0x1101, 0x9241, 0x9281, 0x5211, 0xd351, 0xd391, 0x5221, 0xd361, 0xd3a1,
927     0x3205, 0xb345, 0xb385, 0x7315, 0xf455, 0xf495, 0x7325, 0xf465, 0xf4a5,
928     0x3209, 0xb349, 0xb389, 0x7319, 0xf459, 0xf499, 0x7329, 0xf469, 0xf4a9,
929     0x1102, 0x9242, 0x9282, 0x5212, 0xd352, 0xd392, 0x5222, 0xd362, 0xd3a2,
930     0x3206, 0xb346, 0xb386, 0x7316, 0xf456, 0xf496, 0x7326, 0xf466, 0xf4a6,
931     0x320a, 0xb34a, 0xb38a, 0x731a, 0xf45a, 0xf49a, 0x732a, 0xf46a, 0xf4aa,
932 };
933
934 static const float codebook_vector4_vals[] = {
935    -6.3496042, -4.3267487,
936    -2.5198421, -1.0000000,
937     0.0000000,  1.0000000,
938     2.5198421,  4.3267487,
939     6.3496042,
940 };
941
942 /*
943  * bits  0:3, 4:7  index into _vals array
944  */
945 static const uint16_t codebook_vector4_idx[] = {
946     0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0070, 0x0080,
947     0x0001, 0x0011, 0x0021, 0x0031, 0x0041, 0x0051, 0x0061, 0x0071, 0x0081,
948     0x0002, 0x0012, 0x0022, 0x0032, 0x0042, 0x0052, 0x0062, 0x0072, 0x0082,
949     0x0003, 0x0013, 0x0023, 0x0033, 0x0043, 0x0053, 0x0063, 0x0073, 0x0083,
950     0x0004, 0x0014, 0x0024, 0x0034, 0x0044, 0x0054, 0x0064, 0x0074, 0x0084,
951     0x0005, 0x0015, 0x0025, 0x0035, 0x0045, 0x0055, 0x0065, 0x0075, 0x0085,
952     0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0076, 0x0086,
953     0x0007, 0x0017, 0x0027, 0x0037, 0x0047, 0x0057, 0x0067, 0x0077, 0x0087,
954     0x0008, 0x0018, 0x0028, 0x0038, 0x0048, 0x0058, 0x0068, 0x0078, 0x0088,
955 };
956
957 /*
958  * bits  0:3, 4:7  index into _vals array
959  *       8:11      number of non-zero values
960  *      12:15      1: only second value non-zero
961  *                 0: other cases
962  */
963 static const uint16_t codebook_vector6_idx[] = {
964     0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
965     0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261, 0x0271,
966     0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262, 0x0272,
967     0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263, 0x0273,
968     0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264, 0x0274,
969     0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265, 0x0275,
970     0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266, 0x0276,
971     0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267, 0x0277,
972 };
973
974 /*
975  * bits  0:3, 4:7  index into _vals array
976  *       8:11      number of non-zero values
977  *      12:15      1: only second value non-zero
978  *                 0: other cases
979  */
980 static const uint16_t codebook_vector8_idx[] = {
981   0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
982   0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0,
983   0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261,
984   0x0271, 0x0281, 0x0291, 0x02a1, 0x02b1, 0x02c1,
985   0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262,
986   0x0272, 0x0282, 0x0292, 0x02a2, 0x02b2, 0x02c2,
987   0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263,
988   0x0273, 0x0283, 0x0293, 0x02a3, 0x02b3, 0x02c3,
989   0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264,
990   0x0274, 0x0284, 0x0294, 0x02a4, 0x02b4, 0x02c4,
991   0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265,
992   0x0275, 0x0285, 0x0295, 0x02a5, 0x02b5, 0x02c5,
993   0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266,
994   0x0276, 0x0286, 0x0296, 0x02a6, 0x02b6, 0x02c6,
995   0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267,
996   0x0277, 0x0287, 0x0297, 0x02a7, 0x02b7, 0x02c7,
997   0x1108, 0x0218, 0x0228, 0x0238, 0x0248, 0x0258, 0x0268,
998   0x0278, 0x0288, 0x0298, 0x02a8, 0x02b8, 0x02c8,
999   0x1109, 0x0219, 0x0229, 0x0239, 0x0249, 0x0259, 0x0269,
1000   0x0279, 0x0289, 0x0299, 0x02a9, 0x02b9, 0x02c9,
1001   0x110a, 0x021a, 0x022a, 0x023a, 0x024a, 0x025a, 0x026a,
1002   0x027a, 0x028a, 0x029a, 0x02aa, 0x02ba, 0x02ca,
1003   0x110b, 0x021b, 0x022b, 0x023b, 0x024b, 0x025b, 0x026b,
1004   0x027b, 0x028b, 0x029b, 0x02ab, 0x02bb, 0x02cb,
1005   0x110c, 0x021c, 0x022c, 0x023c, 0x024c, 0x025c, 0x026c,
1006   0x027c, 0x028c, 0x029c, 0x02ac, 0x02bc, 0x02cc,
1007 };
1008
1009 static const float codebook_vector10_vals[] = {
1010      0.0000000,  1.0000000,
1011      2.5198421,  4.3267487,
1012      6.3496042,  8.5498797,
1013     10.9027236, 13.3905183,
1014     16.0000000, 18.7207544,
1015     21.5443469, 24.4637810,
1016     27.4731418, 30.5673509,
1017     33.7419917, 36.9931811,
1018 };
1019
1020 /*
1021  * bits  0:3, 4:7  index into _vals array
1022  *       8:9       bit mask of escape-coded entries
1023  *      12:15      number of non-zero values
1024  */
1025 static const uint16_t codebook_vector10_idx[] = {
1026     0x0000, 0x1010, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
1027     0x1080, 0x1090, 0x10a0, 0x10b0, 0x10c0, 0x10d0, 0x10e0, 0x10f0, 0x1200,
1028     0x1001, 0x2011, 0x2021, 0x2031, 0x2041, 0x2051, 0x2061, 0x2071,
1029     0x2081, 0x2091, 0x20a1, 0x20b1, 0x20c1, 0x20d1, 0x20e1, 0x20f1, 0x2201,
1030     0x1002, 0x2012, 0x2022, 0x2032, 0x2042, 0x2052, 0x2062, 0x2072,
1031     0x2082, 0x2092, 0x20a2, 0x20b2, 0x20c2, 0x20d2, 0x20e2, 0x20f2, 0x2202,
1032     0x1003, 0x2013, 0x2023, 0x2033, 0x2043, 0x2053, 0x2063, 0x2073,
1033     0x2083, 0x2093, 0x20a3, 0x20b3, 0x20c3, 0x20d3, 0x20e3, 0x20f3, 0x2203,
1034     0x1004, 0x2014, 0x2024, 0x2034, 0x2044, 0x2054, 0x2064, 0x2074,
1035     0x2084, 0x2094, 0x20a4, 0x20b4, 0x20c4, 0x20d4, 0x20e4, 0x20f4, 0x2204,
1036     0x1005, 0x2015, 0x2025, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
1037     0x2085, 0x2095, 0x20a5, 0x20b5, 0x20c5, 0x20d5, 0x20e5, 0x20f5, 0x2205,
1038     0x1006, 0x2016, 0x2026, 0x2036, 0x2046, 0x2056, 0x2066, 0x2076,
1039     0x2086, 0x2096, 0x20a6, 0x20b6, 0x20c6, 0x20d6, 0x20e6, 0x20f6, 0x2206,
1040     0x1007, 0x2017, 0x2027, 0x2037, 0x2047, 0x2057, 0x2067, 0x2077,
1041     0x2087, 0x2097, 0x20a7, 0x20b7, 0x20c7, 0x20d7, 0x20e7, 0x20f7, 0x2207,
1042     0x1008, 0x2018, 0x2028, 0x2038, 0x2048, 0x2058, 0x2068, 0x2078,
1043     0x2088, 0x2098, 0x20a8, 0x20b8, 0x20c8, 0x20d8, 0x20e8, 0x20f8, 0x2208,
1044     0x1009, 0x2019, 0x2029, 0x2039, 0x2049, 0x2059, 0x2069, 0x2079,
1045     0x2089, 0x2099, 0x20a9, 0x20b9, 0x20c9, 0x20d9, 0x20e9, 0x20f9, 0x2209,
1046     0x100a, 0x201a, 0x202a, 0x203a, 0x204a, 0x205a, 0x206a, 0x207a,
1047     0x208a, 0x209a, 0x20aa, 0x20ba, 0x20ca, 0x20da, 0x20ea, 0x20fa, 0x220a,
1048     0x100b, 0x201b, 0x202b, 0x203b, 0x204b, 0x205b, 0x206b, 0x207b,
1049     0x208b, 0x209b, 0x20ab, 0x20bb, 0x20cb, 0x20db, 0x20eb, 0x20fb, 0x220b,
1050     0x100c, 0x201c, 0x202c, 0x203c, 0x204c, 0x205c, 0x206c, 0x207c,
1051     0x208c, 0x209c, 0x20ac, 0x20bc, 0x20cc, 0x20dc, 0x20ec, 0x20fc, 0x220c,
1052     0x100d, 0x201d, 0x202d, 0x203d, 0x204d, 0x205d, 0x206d, 0x207d,
1053     0x208d, 0x209d, 0x20ad, 0x20bd, 0x20cd, 0x20dd, 0x20ed, 0x20fd, 0x220d,
1054     0x100e, 0x201e, 0x202e, 0x203e, 0x204e, 0x205e, 0x206e, 0x207e,
1055     0x208e, 0x209e, 0x20ae, 0x20be, 0x20ce, 0x20de, 0x20ee, 0x20fe, 0x220e,
1056     0x100f, 0x201f, 0x202f, 0x203f, 0x204f, 0x205f, 0x206f, 0x207f,
1057     0x208f, 0x209f, 0x20af, 0x20bf, 0x20cf, 0x20df, 0x20ef, 0x20ff, 0x220f,
1058     0x1100, 0x2110, 0x2120, 0x2130, 0x2140, 0x2150, 0x2160, 0x2170,
1059     0x2180, 0x2190, 0x21a0, 0x21b0, 0x21c0, 0x21d0, 0x21e0, 0x21f0, 0x2300,
1060 };
1061
1062 const float *const ff_aac_codebook_vector_vals[] = {
1063     codebook_vector0_vals,  codebook_vector0_vals,
1064     codebook_vector10_vals, codebook_vector10_vals,
1065     codebook_vector4_vals,  codebook_vector4_vals,
1066     codebook_vector10_vals, codebook_vector10_vals,
1067     codebook_vector10_vals, codebook_vector10_vals,
1068     codebook_vector10_vals,
1069 };
1070
1071 const uint16_t *const ff_aac_codebook_vector_idx[] = {
1072     codebook_vector02_idx, codebook_vector02_idx,
1073     codebook_vector02_idx, codebook_vector02_idx,
1074     codebook_vector4_idx,  codebook_vector4_idx,
1075     codebook_vector6_idx,  codebook_vector6_idx,
1076     codebook_vector8_idx,  codebook_vector8_idx,
1077     codebook_vector10_idx,
1078 };
1079
1080 /* @name swb_offsets
1081  * Sample offset into the window indicating the beginning of a scalefactor
1082  * window band
1083  *
1084  * scalefactor window band - term for scalefactor bands within a window,
1085  * given in Table 4.110 to Table 4.128.
1086  *
1087  * scalefactor band - a set of spectral coefficients which are scaled by one
1088  * scalefactor. In case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band
1089  * may contain several scalefactor window bands of corresponding frequency. For
1090  * all other window_sequences scalefactor bands and scalefactor window bands are
1091  * identical.
1092  * @{
1093  */
1094
1095 static const uint16_t swb_offset_1024_96[] = {
1096       0,   4,   8,  12,  16,  20,  24,  28,
1097      32,  36,  40,  44,  48,  52,  56,  64,
1098      72,  80,  88,  96, 108, 120, 132, 144,
1099     156, 172, 188, 212, 240, 276, 320, 384,
1100     448, 512, 576, 640, 704, 768, 832, 896,
1101     960, 1024
1102 };
1103
1104 static const uint16_t swb_offset_128_96[] = {
1105     0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
1106 };
1107
1108 static const uint16_t swb_offset_1024_64[] = {
1109       0,   4,   8,  12,  16,  20,  24,  28,
1110      32,  36,  40,  44,  48,  52,  56,  64,
1111      72,  80,  88, 100, 112, 124, 140, 156,
1112     172, 192, 216, 240, 268, 304, 344, 384,
1113     424, 464, 504, 544, 584, 624, 664, 704,
1114     744, 784, 824, 864, 904, 944, 984, 1024
1115 };
1116
1117 static const uint16_t swb_offset_1024_48[] = {
1118       0,   4,   8,  12,  16,  20,  24,  28,
1119      32,  36,  40,  48,  56,  64,  72,  80,
1120      88,  96, 108, 120, 132, 144, 160, 176,
1121     196, 216, 240, 264, 292, 320, 352, 384,
1122     416, 448, 480, 512, 544, 576, 608, 640,
1123     672, 704, 736, 768, 800, 832, 864, 896,
1124     928, 1024
1125 };
1126
1127 static const uint16_t swb_offset_512_48[] = {
1128       0,   4,   8,  12,  16,  20,  24,  28,
1129      32,  36,  40,  44,  48,  52,  56,  60,
1130      68,  76,  84,  92, 100, 112, 124, 136,
1131     148, 164, 184, 208, 236, 268, 300, 332,
1132     364, 396, 428, 460, 512
1133 };
1134
1135 static const uint16_t swb_offset_480_48[] = {
1136       0,   4,   8,  12,  16,  20,  24,  28,
1137      32,  36,  40,  44,  48,  52,  56,  64,
1138      72,  80,  88,  96, 108, 120, 132, 144,
1139     156, 172, 188, 212, 240, 272, 304, 336,
1140     368, 400, 432, 480
1141 };
1142
1143 static const uint16_t swb_offset_128_48[] = {
1144      0,   4,   8,  12,  16,  20,  28,  36,
1145     44,  56,  68,  80,  96, 112, 128
1146 };
1147
1148 static const uint16_t swb_offset_1024_32[] = {
1149       0,   4,   8,  12,  16,  20,  24,  28,
1150      32,  36,  40,  48,  56,  64,  72,  80,
1151      88,  96, 108, 120, 132, 144, 160, 176,
1152     196, 216, 240, 264, 292, 320, 352, 384,
1153     416, 448, 480, 512, 544, 576, 608, 640,
1154     672, 704, 736, 768, 800, 832, 864, 896,
1155     928, 960, 992, 1024
1156 };
1157
1158 static const uint16_t swb_offset_512_32[] = {
1159       0,   4,   8,  12,  16,  20,  24,  28,
1160      32,  36,  40,  44,  48,  52,  56,  64,
1161      72,  80,  88,  96, 108, 120, 132, 144,
1162     160, 176, 192, 212, 236, 260, 288, 320,
1163     352, 384, 416, 448, 480, 512
1164 };
1165
1166 static const uint16_t swb_offset_480_32[] = {
1167       0,   4,   8,  12,  16,  20,  24,  28,
1168      32,  36,  40,  44,  48,  52,  56,  60,
1169      64,  72,  80,  88,  96, 104, 112, 124,
1170     136, 148, 164, 180, 200, 224, 256, 288,
1171     320, 352, 384, 416, 448, 480
1172  };
1173
1174 static const uint16_t swb_offset_1024_24[] = {
1175       0,   4,   8,  12,  16,  20,  24,  28,
1176      32,  36,  40,  44,  52,  60,  68,  76,
1177      84,  92, 100, 108, 116, 124, 136, 148,
1178     160, 172, 188, 204, 220, 240, 260, 284,
1179     308, 336, 364, 396, 432, 468, 508, 552,
1180     600, 652, 704, 768, 832, 896, 960, 1024
1181 };
1182
1183 static const uint16_t swb_offset_512_24[] = {
1184       0,   4,   8,  12,  16,  20,  24,  28,
1185      32,  36,  40,  44,  52,  60,  68,  80,
1186      92, 104, 120, 140, 164, 192, 224, 256,
1187     288, 320, 352, 384, 416, 448, 480, 512,
1188 };
1189
1190 static const uint16_t swb_offset_480_24[] = {
1191       0,   4,   8,  12,  16,  20,  24,  28,
1192      32,  36,  40,  44,  52,  60,  68,  80,
1193      92, 104, 120, 140, 164, 192, 224, 256,
1194     288, 320, 352, 384, 416, 448, 480
1195 };
1196
1197 static const uint16_t swb_offset_128_24[] = {
1198      0,   4,   8,  12,  16,  20,  24,  28,
1199     36,  44,  52,  64,  76,  92, 108, 128
1200 };
1201
1202 static const uint16_t swb_offset_1024_16[] = {
1203       0,   8,  16,  24,  32,  40,  48,  56,
1204      64,  72,  80,  88, 100, 112, 124, 136,
1205     148, 160, 172, 184, 196, 212, 228, 244,
1206     260, 280, 300, 320, 344, 368, 396, 424,
1207     456, 492, 532, 572, 616, 664, 716, 772,
1208     832, 896, 960, 1024
1209 };
1210
1211 static const uint16_t swb_offset_128_16[] = {
1212      0,   4,   8,  12,  16,  20,  24,  28,
1213     32,  40,  48,  60,  72,  88, 108, 128
1214 };
1215
1216 static const uint16_t swb_offset_1024_8[] = {
1217       0,  12,  24,  36,  48,  60,  72,  84,
1218      96, 108, 120, 132, 144, 156, 172, 188,
1219     204, 220, 236, 252, 268, 288, 308, 328,
1220     348, 372, 396, 420, 448, 476, 508, 544,
1221     580, 620, 664, 712, 764, 820, 880, 944,
1222     1024
1223 };
1224
1225 static const uint16_t swb_offset_128_8[] = {
1226      0,   4,   8,  12,  16,  20,  24,  28,
1227     36,  44,  52,  60,  72,  88, 108, 128
1228 };
1229
1230 const uint16_t * const ff_swb_offset_1024[] = {
1231     swb_offset_1024_96, swb_offset_1024_96, swb_offset_1024_64,
1232     swb_offset_1024_48, swb_offset_1024_48, swb_offset_1024_32,
1233     swb_offset_1024_24, swb_offset_1024_24, swb_offset_1024_16,
1234     swb_offset_1024_16, swb_offset_1024_16, swb_offset_1024_8,
1235     swb_offset_1024_8
1236 };
1237
1238 const uint16_t * const ff_swb_offset_512[] = {
1239     NULL,               NULL,               NULL,
1240     swb_offset_512_48,  swb_offset_512_48,  swb_offset_512_32,
1241     swb_offset_512_24,  swb_offset_512_24,  NULL,
1242     NULL,               NULL,               NULL,
1243     NULL
1244 };
1245
1246 const uint16_t * const ff_swb_offset_480[] = {
1247     NULL,               NULL,               NULL,
1248     swb_offset_480_48,  swb_offset_480_48,  swb_offset_480_32,
1249     swb_offset_480_24,  swb_offset_480_24,  NULL,
1250     NULL,               NULL,               NULL,
1251     NULL
1252 };
1253
1254 const uint16_t * const ff_swb_offset_128[] = {
1255     /* The last entry on the following row is swb_offset_128_64 but is a
1256        duplicate of swb_offset_128_96. */
1257     swb_offset_128_96, swb_offset_128_96, swb_offset_128_96,
1258     swb_offset_128_48, swb_offset_128_48, swb_offset_128_48,
1259     swb_offset_128_24, swb_offset_128_24, swb_offset_128_16,
1260     swb_offset_128_16, swb_offset_128_16, swb_offset_128_8,
1261     swb_offset_128_8
1262 };
1263
1264 // @}
1265
1266 /* @name ff_tns_max_bands
1267  * The maximum number of scalefactor bands on which TNS can operate for the long
1268  * and short transforms respectively. The index to these tables is related to
1269  * the sample rate of the audio.
1270  * @{
1271  */
1272 const uint8_t ff_tns_max_bands_1024[] = {
1273     31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
1274 };
1275
1276 const uint8_t ff_tns_max_bands_512[] = {
1277     0, 0, 0, 31, 32, 37, 31, 31, 0, 0, 0, 0, 0
1278 };
1279
1280 const uint8_t ff_tns_max_bands_480[] = {
1281     0, 0, 0, 31, 32, 37, 30, 30, 0, 0, 0, 0, 0
1282 };
1283
1284 const uint8_t ff_tns_max_bands_128[] = {
1285     9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
1286 };
1287 // @}
1288
1289 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_512)[1920] = {
1290      0.00338834,  0.00567745,  0.00847677,  0.01172641,
1291      0.01532555,  0.01917664,  0.02318809,  0.02729259,
1292      0.03144503,  0.03560261,  0.03972499,  0.04379783,
1293      0.04783094,  0.05183357,  0.05581342,  0.05977723,
1294      0.06373173,  0.06768364,  0.07163937,  0.07559976,
1295      0.07956096,  0.08352024,  0.08747623,  0.09143035,
1296      0.09538618,  0.09934771,  0.10331917,  0.10730456,
1297      0.11130697,  0.11532867,  0.11937133,  0.12343922,
1298      0.12753911,  0.13167705,  0.13585812,  0.14008529,
1299      0.14435986,  0.14868291,  0.15305531,  0.15747594,
1300      0.16194193,  0.16645070,  0.17099991,  0.17558633,
1301      0.18020600,  0.18485548,  0.18953191,  0.19423322,
1302      0.19895800,  0.20370512,  0.20847374,  0.21326312,
1303      0.21807244,  0.22290083,  0.22774742,  0.23261210,
1304      0.23749542,  0.24239767,  0.24731889,  0.25225887,
1305      0.25721719,  0.26219330,  0.26718648,  0.27219630,
1306      0.27722262,  0.28226514,  0.28732336,  0.29239628,
1307      0.29748247,  0.30258055,  0.30768914,  0.31280508,
1308      0.31792385,  0.32304172,  0.32815579,  0.33326397,
1309      0.33836470,  0.34345661,  0.34853868,  0.35361188,
1310      0.35867865,  0.36374072,  0.36879900,  0.37385347,
1311      0.37890349,  0.38394836,  0.38898730,  0.39401912,
1312      0.39904236,  0.40405575,  0.40905820,  0.41404819,
1313      0.41902398,  0.42398423,  0.42892805,  0.43385441,
1314      0.43876210,  0.44365014,  0.44851786,  0.45336632,
1315      0.45819759,  0.46301302,  0.46781309,  0.47259722,
1316      0.47736435,  0.48211365,  0.48684450,  0.49155594,
1317      0.49624679,  0.50091636,  0.50556440,  0.51019132,
1318      0.51479771,  0.51938391,  0.52394998,  0.52849587,
1319      0.53302151,  0.53752680,  0.54201160,  0.54647575,
1320      0.55091916,  0.55534181,  0.55974376,  0.56412513,
1321      0.56848615,  0.57282710,  0.57714834,  0.58145030,
1322      0.58492489,  0.58918511,  0.59342326,  0.59763936,
1323      0.60183347,  0.60600561,  0.61015581,  0.61428412,
1324      0.61839056,  0.62247517,  0.62653799,  0.63057912,
1325      0.63459872,  0.63859697,  0.64257403,  0.64653001,
1326      0.65046495,  0.65437887,  0.65827181,  0.66214383,
1327      0.66599499,  0.66982535,  0.67363499,  0.67742394,
1328      0.68119219,  0.68493972,  0.68866653,  0.69237258,
1329      0.69605778,  0.69972207,  0.70336537,  0.70698758,
1330      0.71058862,  0.71416837,  0.71772674,  0.72126361,
1331      0.72477889,  0.72827246,  0.73174419,  0.73519392,
1332      0.73862141,  0.74202643,  0.74540874,  0.74876817,
1333      0.75210458,  0.75541785,  0.75870785,  0.76197437,
1334      0.76521709,  0.76843570,  0.77162988,  0.77479939,
1335      0.77794403,  0.78106359,  0.78415789,  0.78722670,
1336      0.79026979,  0.79328694,  0.79627791,  0.79924244,
1337      0.80218027,  0.80509112,  0.80797472,  0.81083081,
1338      0.81365915,  0.81645949,  0.81923160,  0.82197528,
1339      0.82469037,  0.82737673,  0.83003419,  0.83266262,
1340      0.83526186,  0.83783176,  0.84037217,  0.84288297,
1341      0.84536401,  0.84781517,  0.85023632,  0.85262739,
1342      0.85498836,  0.85731921,  0.85961993,  0.86189052,
1343      0.86413101,  0.86634140,  0.86852173,  0.87067211,
1344      0.87279275,  0.87488384,  0.87694559,  0.87897824,
1345      0.88098206,  0.88295729,  0.88490423,  0.88682332,
1346      0.88871519,  0.89058048,  0.89241983,  0.89423391,
1347      0.89602338,  0.89778893,  0.89953126,  0.90125142,
1348      0.90295086,  0.90463104,  0.90629341,  0.90793946,
1349      0.90957067,  0.91118856,  0.91279464,  0.91439073,
1350      0.91597898,  0.91756153,  0.91914049,  0.92071690,
1351      0.92229070,  0.92386182,  0.92542993,  0.92698946,
1352      0.92852960,  0.93003929,  0.93150727,  0.93291739,
1353      0.93424863,  0.93547974,  0.93658982,  0.93756587,
1354      0.93894072,  0.93922780,  0.93955477,  0.93991290,
1355      0.94029104,  0.94067794,  0.94106258,  0.94144084,
1356      0.94181549,  0.94218963,  0.94256628,  0.94294662,
1357      0.94332998,  0.94371562,  0.94410280,  0.94449122,
1358      0.94488106,  0.94527249,  0.94566568,  0.94606074,
1359      0.94645772,  0.94685665,  0.94725759,  0.94766054,
1360      0.94806547,  0.94847234,  0.94888115,  0.94929190,
1361      0.94970469,  0.95011960,  0.95053672,  0.95095604,
1362      0.95137751,  0.95180105,  0.95222658,  0.95265413,
1363      0.95308380,  0.95351571,  0.95394994,  0.95438653,
1364      0.95482538,  0.95526643,  0.95570958,  0.95615486,
1365      0.95660234,  0.95705214,  0.95750433,  0.95795892,
1366      0.95841582,  0.95887493,  0.95933616,  0.95979949,
1367      0.96026500,  0.96073277,  0.96120286,  0.96167526,
1368      0.96214986,  0.96262655,  0.96310522,  0.96358586,
1369      0.96406853,  0.96455330,  0.96504026,  0.96552936,
1370      0.96602051,  0.96651360,  0.96700850,  0.96750520,
1371      0.96800376,  0.96850424,  0.96900670,  0.96951112,
1372      0.97001738,  0.97052533,  0.97103488,  0.97154597,
1373      0.97205867,  0.97257304,  0.97308915,  0.97360694,
1374      0.97412631,  0.97464711,  0.97516923,  0.97569262,
1375      0.97621735,  0.97674350,  0.97727111,  0.97780016,
1376      0.97833051,  0.97886205,  0.97939463,  0.97992823,
1377      0.98046291,  0.98099875,  0.98153580,  0.98207405,
1378      0.98261337,  0.98315364,  0.98369474,  0.98423664,
1379      0.98477941,  0.98532311,  0.98586780,  0.98641348,
1380      0.98696003,  0.98750734,  0.98805530,  0.98860389,
1381      0.98915320,  0.98970328,  0.99025423,  0.99080602,
1382      0.99135855,  0.99191171,  0.99246541,  0.99301962,
1383      0.99357443,  0.99412992,  0.99468617,  0.99524320,
1384      0.99580092,  0.99635926,  0.99691814,  0.99747748,
1385      0.99803721,  0.99859725,  0.99915752,  0.99971793,
1386      1.00028215,  1.00084319,  1.00140472,  1.00196665,
1387      1.00252889,  1.00309139,  1.00365404,  1.00421679,
1388      1.00477954,  1.00534221,  1.00590474,  1.00646713,
1389      1.00702945,  1.00759179,  1.00815424,  1.00871678,
1390      1.00927930,  1.00984169,  1.01040384,  1.01096575,
1391      1.01152747,  1.01208910,  1.01265070,  1.01321226,
1392      1.01377365,  1.01433478,  1.01489551,  1.01545584,
1393      1.01601582,  1.01657553,  1.01713502,  1.01769427,
1394      1.01825316,  1.01881154,  1.01936929,  1.01992639,
1395      1.02048289,  1.02103888,  1.02159441,  1.02214945,
1396      1.02270387,  1.02325751,  1.02381025,  1.02436204,
1397      1.02491295,  1.02546304,  1.02601238,  1.02656092,
1398      1.02710853,  1.02765508,  1.02820041,  1.02874449,
1399      1.02928737,  1.02982913,  1.03036981,  1.03090937,
1400      1.03144768,  1.03198460,  1.03252000,  1.03305384,
1401      1.03358617,  1.03411707,  1.03464659,  1.03517470,
1402      1.03570128,  1.03622620,  1.03674934,  1.03727066,
1403      1.03779024,  1.03830815,  1.03882446,  1.03933914,
1404      1.03985206,  1.04036312,  1.04087217,  1.04137920,
1405      1.04188428,  1.04238748,  1.04288888,  1.04338845,
1406      1.04388610,  1.04438170,  1.04487515,  1.04536645,
1407      1.04585569,  1.04634297,  1.04682838,  1.04731192,
1408      1.04779350,  1.04827303,  1.04875042,  1.04922568,
1409      1.04969891,  1.05017022,  1.05063974,  1.05110746,
1410      1.05157332,  1.05203721,  1.05249907,  1.05295889,
1411      1.05341676,  1.05387277,  1.05432700,  1.05477948,
1412      1.05523018,  1.05567906,  1.05612608,  1.05657124,
1413      1.05701459,  1.05745616,  1.05789601,  1.05833426,
1414      1.05877109,  1.05920669,  1.05964125,  1.06007444,
1415      1.06050542,  1.06093335,  1.06135746,  1.06177909,
1416      1.06220164,  1.06262858,  1.06306309,  1.06350050,
1417      1.06392837,  1.06433391,  1.06470443,  1.06502996,
1418      1.06481076,  1.06469765,  1.06445004,  1.06408002,
1419      1.06361382,  1.06307719,  1.06249453,  1.06188365,
1420      1.06125612,  1.06062291,  1.05999418,  1.05937132,
1421      1.05874726,  1.05811486,  1.05746728,  1.05680000,
1422      1.05611070,  1.05539715,  1.05465735,  1.05389329,
1423      1.05311083,  1.05231578,  1.05151372,  1.05070811,
1424      1.04990044,  1.04909210,  1.04828434,  1.04747647,
1425      1.04666590,  1.04585003,  1.04502628,  1.04419009,
1426      1.04333499,  1.04245452,  1.04154244,  1.04059452,
1427      1.03960846,  1.03858207,  1.03751326,  1.03640189,
1428      1.03524976,  1.03405868,  1.03283047,  1.03156812,
1429      1.03027574,  1.02895743,  1.02761717,  1.02625804,
1430      1.02488222,  1.02349184,  1.02208892,  1.02067450,
1431      1.01924861,  1.01781123,  1.01636229,  1.01490045,
1432      1.01342315,  1.01192778,  1.01041175,  1.00887284,
1433      1.00730915,  1.00571882,  1.00409996,  1.00245032,
1434      1.00076734,  0.99904842,  0.99729101,  0.99549380,
1435      0.99365664,  0.99177946,  0.98986234,  0.98791024,
1436      0.98593294,  0.98394037,  0.98194226,  0.97994532,
1437      0.97795324,  0.97596955,  0.97399748,  0.97203326,
1438      0.97006624,  0.96808546,  0.96608018,  0.96404416,
1439      0.96197556,  0.95987276,  0.95773420,  0.95556018,
1440      0.95335291,  0.95111462,  0.94884764,  0.94655663,
1441      0.94424858,  0.94193055,  0.93960953,  0.93729154,
1442      0.93498157,  0.93268456,  0.93040503,  0.92813771,
1443      0.92586755,  0.92357910,  0.92125731,  0.91889642,
1444      0.91649998,  0.91407191,  0.91161623,  0.90913975,
1445      0.90665202,  0.90416271,  0.90168115,  0.89920934,
1446      0.89674189,  0.89427312,  0.89179743,  0.88931147,
1447      0.88681415,  0.88430445,  0.88178141,  0.87924528,
1448      0.87669753,  0.87413966,  0.87157318,  0.86899958,
1449      0.86642037,  0.86383703,  0.86125106,  0.85866393,
1450      0.85604236,  0.85344385,  0.85083093,  0.84820550,
1451      0.84556943,  0.84292458,  0.84027278,  0.83761586,
1452      0.83495565,  0.83229393,  0.82963243,  0.82697135,
1453      0.82430933,  0.82164496,  0.81897669,  0.81630017,
1454      0.81360822,  0.81089355,  0.80814924,  0.80537741,
1455      0.80258920,  0.79979611,  0.79700954,  0.79423813,
1456      0.79148780,  0.78876432,  0.78607290,  0.78340590,
1457      0.78074288,  0.77806279,  0.77534514,  0.77258187,
1458      0.76977737,  0.76693654,  0.76406441,  0.76116851,
1459      0.75825892,  0.75534582,  0.75243924,  0.74954634,
1460      0.74667135,  0.74381840,  0.74099145,  0.73819147,
1461      0.73541641,  0.73266408,  0.72993193,  0.72720913,
1462      0.72447661,  0.72171494,  0.71890515,  0.71603932,
1463      0.71312056,  0.71015250,  0.70713900,  0.70409084,
1464      0.70102565,  0.69796137,  0.69491556,  0.69189772,
1465      0.68890931,  0.68595141,  0.68302498,  0.68012852,
1466      0.67725801,  0.67440936,  0.67157841,  0.66876081,
1467      0.66595195,  0.66314722,  0.66034194,  0.65753027,
1468      0.65470525,  0.65185984,  0.64898709,  0.64608214,
1469      0.64314221,  0.64016460,  0.63714680,  0.63409034,
1470      0.63100082,  0.62788400,  0.62474577,  0.62159473,
1471      0.61844225,  0.61529977,  0.61217866,  0.60908811,
1472      0.60603510,  0.60302654,  0.60006916,  0.59716588,
1473      0.59431580,  0.59151787,  0.58877068,  0.58606495,
1474      0.58338353,  0.58070891,  0.57802356,  0.57530864,
1475      0.57254404,  0.56970958,  0.56678577,  0.56376860,
1476      0.56066951,  0.55750064,  0.55427451,  0.55101301,
1477      0.54774732,  0.54450907,  0.54132936,  0.53822744,
1478      0.53521072,  0.53228613,  0.52945979,  0.52671997,
1479      0.52403708,  0.52138072,  0.51872085,  0.51603570,
1480      0.51331170,  0.51053560,  0.50769466,  0.50478931,
1481      0.50183308,  0.49884001,  0.49582406,  0.49279905,
1482      0.48985748,  0.48679641,  0.48379429,  0.48085363,
1483      0.47796576,  0.47512151,  0.47231151,  0.46952402,
1484      0.46674486,  0.46395978,  0.46115496,  0.45832607,
1485      0.45547830,  0.45261727,  0.44974866,  0.44688011,
1486      0.44402125,  0.44118178,  0.43837094,  0.43558772,
1487      0.43282082,  0.43005847,  0.42728913,  0.42450572,
1488      0.42170567,  0.41888658,  0.41604633,  0.41318897,
1489      0.41032472,  0.40746405,  0.40461724,  0.40178943,
1490      0.39898066,  0.39619073,  0.39341940,  0.39066519,
1491      0.38792536,  0.38519713,  0.38247773,  0.37976476,
1492      0.37705620,  0.37435006,  0.37164438,  0.36893869,
1493      0.36623396,  0.36353124,  0.36083153,  0.35813533,
1494      0.35544262,  0.35275338,  0.35006755,  0.34738530,
1495      0.34470699,  0.34203296,  0.33936359,  0.33669922,
1496      0.33404027,  0.33138711,  0.32874013,  0.32609944,
1497      0.32346493,  0.32083645,  0.31821388,  0.31559703,
1498      0.31298573,  0.31037987,  0.30777941,  0.30518446,
1499      0.30259525,  0.30001202,  0.29743499,  0.29486428,
1500      0.29229989,  0.28974179,  0.28718997,  0.28464452,
1501      0.28210562,  0.27957346,  0.27704820,  0.27452992,
1502      0.27201854,  0.26951399,  0.26701622,  0.26452533,
1503      0.26204158,  0.25956526,  0.25709662,  0.25463583,
1504      0.25218294,  0.24973798,  0.24730100,  0.24487207,
1505      0.24245133,  0.24003893,  0.23763500,  0.23523959,
1506      0.23285262,  0.23047401,  0.22810369,  0.22574170,
1507      0.22338818,  0.22104329,  0.21870719,  0.21637986,
1508      0.21406117,  0.21175095,  0.20944904,  0.20715535,
1509      0.20486987,  0.20259261,  0.20032356,  0.19806259,
1510      0.19580944,  0.19356385,  0.19132556,  0.18909442,
1511      0.18687040,  0.18465350,  0.18244372,  0.18024164,
1512      0.17804841,  0.17586521,  0.17369322,  0.17153360,
1513      0.16938755,  0.16725622,  0.16514081,  0.16304247,
1514      0.16098974,  0.15896561,  0.15696026,  0.15497259,
1515      0.15300151,  0.15104590,  0.14910466,  0.14717666,
1516      0.14526081,  0.14335599,  0.14146111,  0.13957570,
1517      0.13769993,  0.13583399,  0.13397806,  0.13213229,
1518      0.13029682,  0.12847178,  0.12665729,  0.12485353,
1519      0.12306074,  0.12127916,  0.11950900,  0.11775043,
1520      0.11600347,  0.11426820,  0.11254464,  0.11083292,
1521      0.10913318,  0.10744559,  0.10577028,  0.10410733,
1522      0.10245672,  0.10081842,  0.09919240,  0.09757872,
1523      0.09597750,  0.09438884,  0.09281288,  0.09124964,
1524      0.08969907,  0.08816111,  0.08663570,  0.08512288,
1525      0.08362274,  0.08213540,  0.08066096,  0.07919944,
1526      0.07775076,  0.07631484,  0.07489161,  0.07348108,
1527      0.07208335,  0.07069851,  0.06932666,  0.06796781,
1528      0.06662187,  0.06528874,  0.06396833,  0.06266065,
1529      0.06136578,  0.06008380,  0.05881480,  0.05755876,
1530      0.05631557,  0.05508511,  0.05386728,  0.05266206,
1531      0.05146951,  0.05028971,  0.04912272,  0.04796855,
1532      0.04682709,  0.04569825,  0.04458194,  0.04347817,
1533      0.04238704,  0.04130868,  0.04024318,  0.03919056,
1534      0.03815071,  0.03712352,  0.03610890,  0.03510679,
1535      0.03411720,  0.03314013,  0.03217560,  0.03122343,
1536      0.03028332,  0.02935494,  0.02843799,  0.02753230,
1537      0.02663788,  0.02575472,  0.02488283,  0.02402232,
1538      0.02317341,  0.02233631,  0.02151124,  0.02069866,
1539      0.01989922,  0.01911359,  0.01834241,  0.01758563,
1540      0.01684248,  0.01611219,  0.01539397,  0.01468726,
1541      0.01399167,  0.01330687,  0.01263250,  0.01196871,
1542      0.01131609,  0.01067527,  0.01004684,  0.00943077,
1543      0.00882641,  0.00823307,  0.00765011,  0.00707735,
1544      0.00651513,  0.00596377,  0.00542364,  0.00489514,
1545      0.00437884,  0.00387530,  0.00338509,  0.00290795,
1546      0.00244282,  0.00198860,  0.00154417,  0.00110825,
1547      0.00067934,  0.00025589, -0.00016357, -0.00057897,
1548     -0.00098865, -0.00139089, -0.00178397, -0.00216547,
1549     -0.00253230, -0.00288133, -0.00320955, -0.00351626,
1550     -0.00380315, -0.00407198, -0.00432457, -0.00456373,
1551     -0.00479326, -0.00501699, -0.00523871, -0.00546066,
1552     -0.00568360, -0.00590821, -0.00613508, -0.00636311,
1553     -0.00658944, -0.00681117, -0.00702540, -0.00722982,
1554     -0.00742268, -0.00760226, -0.00776687, -0.00791580,
1555     -0.00804933, -0.00816774, -0.00827139, -0.00836122,
1556     -0.00843882, -0.00850583, -0.00856383, -0.00861430,
1557     -0.00865853, -0.00869781, -0.00873344, -0.00876633,
1558     -0.00879707, -0.00882622, -0.00885433, -0.00888132,
1559     -0.00890652, -0.00892925, -0.00894881, -0.00896446,
1560     -0.00897541, -0.00898088, -0.00898010, -0.00897234,
1561     -0.00895696, -0.00893330, -0.00890076, -0.00885914,
1562     -0.00880875, -0.00874987, -0.00868282, -0.00860825,
1563     -0.00852716, -0.00844055, -0.00834941, -0.00825485,
1564     -0.00815807, -0.00806025, -0.00796253, -0.00786519,
1565     -0.00776767, -0.00766937, -0.00756971, -0.00746790,
1566     -0.00736305, -0.00725422, -0.00714055, -0.00702161,
1567     -0.00689746, -0.00676816, -0.00663381, -0.00649489,
1568     -0.00635230, -0.00620694, -0.00605969, -0.00591116,
1569     -0.00576167, -0.00561155, -0.00546110, -0.00531037,
1570     -0.00515917, -0.00500732, -0.00485462, -0.00470075,
1571     -0.00454530, -0.00438786, -0.00422805, -0.00406594,
1572     -0.00390204, -0.00373686, -0.00357091, -0.00340448,
1573     -0.00323770, -0.00307066, -0.00290344, -0.00273610,
1574     -0.00256867, -0.00240117, -0.00223365, -0.00206614,
1575     -0.00189866, -0.00173123, -0.00156390, -0.00139674,
1576     -0.00122989, -0.00106351, -0.00089772, -0.00073267,
1577     -0.00056849, -0.00040530, -0.00024324, -0.00008241,
1578      0.00008214,  0.00024102,  0.00039922,  0.00055660,
1579      0.00071299,  0.00086826,  0.00102224,  0.00117480,
1580      0.00132579,  0.00147507,  0.00162252,  0.00176804,
1581      0.00191161,  0.00205319,  0.00219277,  0.00233029,
1582      0.00246567,  0.00259886,  0.00272975,  0.00285832,
1583      0.00298453,  0.00310839,  0.00322990,  0.00334886,
1584      0.00346494,  0.00357778,  0.00368706,  0.00379273,
1585      0.00389501,  0.00399411,  0.00409020,  0.00418350,
1586      0.00427419,  0.00436249,  0.00444858,  0.00453250,
1587      0.00461411,  0.00469328,  0.00476988,  0.00484356,
1588      0.00491375,  0.00497987,  0.00504139,  0.00509806,
1589      0.00514990,  0.00519693,  0.00523920,  0.00527700,
1590      0.00531083,  0.00534122,  0.00536864,  0.00539357,
1591      0.00541649,  0.00543785,  0.00545809,  0.00547713,
1592      0.00549441,  0.00550936,  0.00552146,  0.00553017,
1593      0.00553494,  0.00553524,  0.00553058,  0.00552065,
1594      0.00550536,  0.00548459,  0.00545828,  0.00542662,
1595      0.00539007,  0.00534910,  0.00530415,  0.00525568,
1596      0.00520417,  0.00515009,  0.00509387,  0.00503595,
1597      0.00497674,  0.00491665,  0.00485605,  0.00479503,
1598      0.00473336,  0.00467082,  0.00460721,  0.00454216,
1599      0.00447517,  0.00440575,  0.00433344,  0.00425768,
1600      0.00417786,  0.00409336,  0.00400363,  0.00390837,
1601      0.00380759,  0.00370130,  0.00358952,  0.00347268,
1602      0.00335157,  0.00322699,  0.00309975,  0.00297088,
1603      0.00284164,  0.00271328,  0.00258700,  0.00246328,
1604      0.00234195,  0.00222281,  0.00210562,  0.00198958,
1605      0.00187331,  0.00175546,  0.00163474,  0.00151020,
1606      0.00138130,  0.00124750,  0.00110831,  0.00096411,
1607      0.00081611,  0.00066554,  0.00051363,  0.00036134,
1608      0.00020940,  0.00005853, -0.00009058, -0.00023783,
1609     -0.00038368, -0.00052861, -0.00067310, -0.00081757,
1610     -0.00096237, -0.00110786, -0.00125442, -0.00140210,
1611     -0.00155065, -0.00169984, -0.00184940, -0.00199910,
1612     -0.00214872, -0.00229798, -0.00244664, -0.00259462,
1613     -0.00274205, -0.00288912, -0.00303596, -0.00318259,
1614     -0.00332890, -0.00347480, -0.00362024, -0.00376519,
1615     -0.00390962, -0.00405345, -0.00419658, -0.00433902,
1616     -0.00448085, -0.00462219, -0.00476309, -0.00490357,
1617     -0.00504361, -0.00518321, -0.00532243, -0.00546132,
1618     -0.00559988, -0.00573811, -0.00587602, -0.00601363,
1619     -0.00615094, -0.00628795, -0.00642466, -0.00656111,
1620     -0.00669737, -0.00683352, -0.00696963, -0.00710578,
1621     -0.00724208, -0.00737862, -0.00751554, -0.00765295,
1622     -0.00779098, -0.00792976, -0.00806941, -0.00821006,
1623     -0.00835183, -0.00849485, -0.00863926, -0.00878522,
1624     -0.00893293, -0.00908260, -0.00923444, -0.00938864,
1625     -0.00954537, -0.00970482, -0.00986715, -0.01003173,
1626     -0.01019711, -0.01036164, -0.01052357, -0.01068184,
1627     -0.01083622, -0.01098652, -0.01113252, -0.01127409,
1628     -0.01141114, -0.01154358, -0.01167135, -0.01179439,
1629     -0.01191268, -0.01202619, -0.01213493, -0.01223891,
1630     -0.01233817, -0.01243275, -0.01252272, -0.01260815,
1631     -0.01268915, -0.01276583, -0.01283832, -0.01290685,
1632     -0.01297171, -0.01303320, -0.01309168, -0.01314722,
1633     -0.01319969, -0.01324889, -0.01329466, -0.01333693,
1634     -0.01337577, -0.01341125, -0.01344345, -0.01347243,
1635     -0.01349823, -0.01352089, -0.01354045, -0.01355700,
1636     -0.01357068, -0.01358164, -0.01359003, -0.01359587,
1637     -0.01359901, -0.01359931, -0.01359661, -0.01359087,
1638     -0.01358219, -0.01357065, -0.01355637, -0.01353935,
1639     -0.01351949, -0.01349670, -0.01347088, -0.01344214,
1640     -0.01341078, -0.01337715, -0.01334158, -0.01330442,
1641     -0.01326601, -0.01322671, -0.01318689, -0.01314692,
1642     -0.01310123, -0.01306470, -0.01302556, -0.01298381,
1643     -0.01293948, -0.01289255, -0.01284305, -0.01279095,
1644     -0.01273625, -0.01267893, -0.01261897, -0.01255632,
1645     -0.01249096, -0.01242283, -0.01235190, -0.01227827,
1646     -0.01220213, -0.01212366, -0.01204304, -0.01196032,
1647     -0.01187543, -0.01178829, -0.01169884, -0.01160718,
1648     -0.01151352, -0.01141809, -0.01132111, -0.01122272,
1649     -0.01112304, -0.01102217, -0.01092022, -0.01081730,
1650     -0.01071355, -0.01060912, -0.01050411, -0.01039854,
1651     -0.01029227, -0.01018521, -0.01007727, -0.00996859,
1652     -0.00985959, -0.00975063, -0.00964208, -0.00953420,
1653     -0.00942723, -0.00932135, -0.00921677, -0.00911364,
1654     -0.00901208, -0.00891220, -0.00881412, -0.00871792,
1655     -0.00862369, -0.00853153, -0.00844149, -0.00835360,
1656     -0.00826785, -0.00818422, -0.00810267, -0.00802312,
1657     -0.00794547, -0.00786959, -0.00779533, -0.00772165,
1658     -0.00764673, -0.00756886, -0.00748649, -0.00739905,
1659     -0.00730681, -0.00721006, -0.00710910, -0.00700419,
1660     -0.00689559, -0.00678354, -0.00666829, -0.00655007,
1661     -0.00642916, -0.00630579, -0.00618022, -0.00605267,
1662     -0.00592333, -0.00579240, -0.00566006, -0.00552651,
1663     -0.00539194, -0.00525653, -0.00512047, -0.00498390,
1664     -0.00484693, -0.00470969, -0.00457228, -0.00443482,
1665     -0.00429746, -0.00416034, -0.00402359, -0.00388738,
1666     -0.00375185, -0.00361718, -0.00348350, -0.00335100,
1667     -0.00321991, -0.00309043, -0.00296276, -0.00283698,
1668     -0.00271307, -0.00259098, -0.00247066, -0.00235210,
1669     -0.00223531, -0.00212030, -0.00200709, -0.00189576,
1670     -0.00178647, -0.00167936, -0.00157457, -0.00147216,
1671     -0.00137205, -0.00127418, -0.00117849, -0.00108498,
1672     -0.00099375, -0.00090486, -0.00081840, -0.00073444,
1673     -0.00065309, -0.00057445, -0.00049860, -0.00042551,
1674     -0.00035503, -0.00028700, -0.00022125, -0.00015761,
1675     -0.00009588, -0.00003583,  0.00002272,  0.00007975,
1676      0.00013501,  0.00018828,  0.00023933,  0.00028784,
1677      0.00033342,  0.00037572,  0.00041438,  0.00044939,
1678      0.00048103,  0.00050958,  0.00053533,  0.00055869,
1679      0.00058015,  0.00060022,  0.00061935,  0.00063781,
1680      0.00065568,  0.00067303,  0.00068991,  0.00070619,
1681      0.00072155,  0.00073567,  0.00074826,  0.00075912,
1682      0.00076811,  0.00077509,  0.00077997,  0.00078275,
1683      0.00078351,  0.00078237,  0.00077943,  0.00077484,
1684      0.00076884,  0.00076160,  0.00075335,  0.00074423,
1685      0.00073442,  0.00072404,  0.00071323,  0.00070209,
1686      0.00069068,  0.00067906,  0.00066728,  0.00065534,
1687      0.00064321,  0.00063086,  0.00061824,  0.00060534,
1688      0.00059211,  0.00057855,  0.00056462,  0.00055033,
1689      0.00053566,  0.00052063,  0.00050522,  0.00048949,
1690      0.00047349,  0.00045728,  0.00044092,  0.00042447,
1691      0.00040803,  0.00039166,  0.00037544,  0.00035943,
1692      0.00034371,  0.00032833,  0.00031333,  0.00029874,
1693      0.00028452,  0.00027067,  0.00025715,  0.00024395,
1694      0.00023104,  0.00021842,  0.00020606,  0.00019398,
1695      0.00018218,  0.00017069,  0.00015953,  0.00014871,
1696      0.00013827,  0.00012823,  0.00011861,  0.00010942,
1697      0.00010067,  0.00009236,  0.00008448,  0.00007703,
1698      0.00006999,  0.00006337,  0.00005714,  0.00005129,
1699      0.00004583,  0.00004072,  0.00003597,  0.00003157,
1700      0.00002752,  0.00002380,  0.00002042,  0.00001736,
1701      0.00001461,  0.00001215,  0.00000998,  0.00000807,
1702      0.00000641,  0.00000499,  0.00000378,  0.00000278,
1703      0.00000196,  0.00000132,  0.00000082,  0.00000046,
1704      0.00000020,  0.00000005, -0.00000003, -0.00000006,
1705     -0.00000004, -0.00000001,  0.00000001,  0.00000001,
1706      0.00000001,  0.00000001, -0.00000001, -0.00000004,
1707     -0.00000005, -0.00000003,  0.00000005,  0.00000020,
1708      0.00000043,  0.00000077,  0.00000123,  0.00000183,
1709      0.00000257,  0.00000348,  0.00000455,  0.00000581,
1710      0.00000727,  0.00000893,  0.00001080,  0.00001290,
1711      0.00001522,  0.00001778,  0.00002057,  0.00002362,
1712      0.00002691,  0.00003044,  0.00003422,  0.00003824,
1713      0.00004250,  0.00004701,  0.00005176,  0.00005676,
1714      0.00006200,  0.00006749,  0.00007322,  0.00007920,
1715      0.00008541,  0.00009186,  0.00009854,  0.00010543,
1716      0.00011251,  0.00011975,  0.00012714,  0.00013465,
1717      0.00014227,  0.00014997,  0.00015775,  0.00016558,
1718      0.00017348,  0.00018144,  0.00018947,  0.00019756,
1719      0.00020573,  0.00021399,  0.00022233,  0.00023076,
1720      0.00023924,  0.00024773,  0.00025621,  0.00026462,
1721      0.00027293,  0.00028108,  0.00028904,  0.00029675,
1722      0.00030419,  0.00031132,  0.00031810,  0.00032453,
1723      0.00033061,  0.00033632,  0.00034169,  0.00034672,
1724      0.00035142,  0.00035580,  0.00035988,  0.00036369,
1725      0.00036723,  0.00037053,  0.00037361,  0.00037647,
1726      0.00037909,  0.00038145,  0.00038352,  0.00038527,
1727      0.00038663,  0.00038757,  0.00038801,  0.00038790,
1728      0.00038717,  0.00038572,  0.00038350,  0.00038044,
1729      0.00037651,  0.00037170,  0.00036597,  0.00035936,
1730      0.00035191,  0.00034370,  0.00033480,  0.00032531,
1731      0.00031537,  0.00030512,  0.00029470,  0.00028417,
1732      0.00027354,  0.00026279,  0.00025191,  0.00024081,
1733      0.00022933,  0.00021731,  0.00020458,  0.00019101,
1734      0.00017654,  0.00016106,  0.00014452,  0.00012694,
1735      0.00010848,  0.00008929,  0.00006953,  0.00004935,
1736      0.00002884,  0.00000813, -0.00001268, -0.00003357,
1737     -0.00005457, -0.00007574, -0.00009714, -0.00011882,
1738     -0.00014082, -0.00016318, -0.00018595, -0.00020912,
1739     -0.00023265, -0.00025650, -0.00028060, -0.00030492,
1740     -0.00032941, -0.00035400, -0.00037865, -0.00040333,
1741     -0.00042804, -0.00045279, -0.00047759, -0.00050243,
1742     -0.00052728, -0.00055209, -0.00057685, -0.00060153,
1743     -0.00062611, -0.00065056, -0.00067485, -0.00069895,
1744     -0.00072287, -0.00074660, -0.00077013, -0.00079345,
1745     -0.00081653, -0.00083936, -0.00086192, -0.00088421,
1746     -0.00090619, -0.00092786, -0.00094919, -0.00097017,
1747     -0.00099077, -0.00101098, -0.00103077, -0.00105012,
1748     -0.00106904, -0.00108750, -0.00110549, -0.00112301,
1749     -0.00114005, -0.00115660, -0.00117265, -0.00118821,
1750     -0.00120325, -0.00121779, -0.00123180, -0.00124528,
1751     -0.00125822, -0.00127061, -0.00128243, -0.00129368,
1752     -0.00130435, -0.00131445, -0.00132395, -0.00133285,
1753     -0.00134113, -0.00134878, -0.00135577, -0.00136215,
1754     -0.00136797, -0.00137333, -0.00137834, -0.00138305,
1755     -0.00138748, -0.00139163, -0.00139551, -0.00139913,
1756     -0.00140249, -0.00140559, -0.00140844, -0.00141102,
1757     -0.00141334, -0.00141538, -0.00141714, -0.00141861,
1758     -0.00141978, -0.00142064, -0.00142117, -0.00142138,
1759     -0.00142125, -0.00142077, -0.00141992, -0.00141870,
1760     -0.00141710, -0.00141510, -0.00141268, -0.00140986,
1761     -0.00140663, -0.00140301, -0.00139900, -0.00139460,
1762     -0.00138981, -0.00138464, -0.00137908, -0.00137313,
1763     -0.00136680, -0.00136010, -0.00135301, -0.00134555,
1764     -0.00133772, -0.00132952, -0.00132095, -0.00131201,
1765     -0.00130272, -0.00129307, -0.00128309, -0.00127277,
1766     -0.00126211, -0.00125113, -0.00123981, -0.00122817,
1767     -0.00121622, -0.00120397, -0.00119141, -0.00117859,
1768     -0.00116552, -0.00115223, -0.00113877, -0.00112517,
1769     -0.00111144, -0.00109764, -0.00108377, -0.00106989,
1770 };
1771
1772 /* Q30 representation of ff_aac_eld_window_512 table */
1773 const DECLARE_ALIGNED(32, int, ff_aac_eld_window_512_fixed)[1920] = {
1774     0x003783ba, 0x005d04f4, 0x008ae226, 0x00c02021,
1775     0x00fb1804, 0x013a30a8, 0x017be9e6, 0x01bf296c,
1776     0x02033204, 0x0247502c, 0x028adab0, 0x02cd9568,
1777     0x030fa980, 0x03513dc0, 0x03927274, 0x03d363e0,
1778     0x04142e40, 0x0454edc0, 0x0495bd48, 0x04d6a060,
1779     0x051786d8, 0x05586548, 0x059935e8, 0x05d9feb0,
1780     0x061acea0, 0x065bb680, 0x069cc800, 0x06de13f0,
1781     0x071fa748, 0x07618b80, 0x07a3c7a8, 0x07e66da0,
1782     0x082999d0, 0x086d6590, 0x08b1e640, 0x08f72850,
1783     0x093d3120, 0x09840550, 0x09cba880, 0x0a1415f0,
1784     0x0a5d41b0, 0x0aa720d0, 0x0af1a9a0, 0x0b3cce70,
1785     0x0b887ec0, 0x0bd4ac10, 0x0c214a70, 0x0c6e5130,
1786     0x0cbbba50, 0x0d098130, 0x0d57a240, 0x0da61a60,
1787     0x0df4e620, 0x0e4401d0, 0x0e9369f0, 0x0ee31de0,
1788     0x0f332000, 0x0f837180, 0x0fd412a0, 0x10250260,
1789     0x10763f20, 0x10c7c660, 0x11199560, 0x116baa00,
1790     0x11be0400, 0x1210a1c0, 0x12638180, 0x12b69ee0,
1791     0x1309f3e0, 0x135d7ac0, 0x13b12dc0, 0x1404ffa0,
1792     0x1458dd40, 0x14acb720, 0x15008120, 0x15543260,
1793     0x15a7c460, 0x15fb3160, 0x164e7520, 0x16a193c0,
1794     0x16f49740, 0x17478720, 0x179a6720, 0x17ed3720,
1795     0x183ff460, 0x18929c20, 0x18e52b00, 0x19379c00,
1796     0x1989e900, 0x19dc0ca0, 0x1a2e0280, 0x1a7fc400,
1797     0x1ad14a00, 0x1b228ec0, 0x1b738ea0, 0x1bc44540,
1798     0x1c14ada0, 0x1c64c380, 0x1cb48440, 0x1d03f420,
1799     0x1d531c00, 0x1da20160, 0x1df0a660, 0x1e3f0860,
1800     0x1e8d2340, 0x1edaf340, 0x1f2875e0, 0x1f75a700,
1801     0x1fc281e0, 0x200f0380, 0x205b2ac0, 0x20a6f980,
1802     0x20f27200, 0x213d9600, 0x21886580, 0x21d2e040,
1803     0x221d0640, 0x2266d6c0, 0x22b05180, 0x22f97580,
1804     0x23424280, 0x238ab880, 0x23d2d780, 0x241aa040,
1805     0x246213c0, 0x24a93300, 0x24efff80, 0x25367b40,
1806     0x256f68c0, 0x25b53580, 0x25faa580, 0x263fb940,
1807     0x26847080, 0x26c8cbc0, 0x270ccb00, 0x27506e40,
1808     0x2793b600, 0x27d6a200, 0x281932c0, 0x285b6880,
1809     0x289d4400, 0x28dec5c0, 0x291feec0, 0x2960bf80,
1810     0x29a137c0, 0x29e15800, 0x2a212000, 0x2a609080,
1811     0x2a9fa980, 0x2ade6b40, 0x2b1cd600, 0x2b5aea00,
1812     0x2b98a740, 0x2bd60d80, 0x2c131cc0, 0x2c4fd500,
1813     0x2c8c3600, 0x2cc83f00, 0x2d03f040, 0x2d3f48c0,
1814     0x2d7a48c0, 0x2db4ef40, 0x2def3c40, 0x2e292ec0,
1815     0x2e62c700, 0x2e9c0400, 0x2ed4e580, 0x2f0d6ac0,
1816     0x2f4592c0, 0x2f7d5c80, 0x2fb4c6c0, 0x2febd140,
1817     0x30227b40, 0x3058c400, 0x308eab40, 0x30c43040,
1818     0x30f95100, 0x312e0d00, 0x31626240, 0x31965040,
1819     0x31c9d5c0, 0x31fcf240, 0x322fa480, 0x3261ec00,
1820     0x3293c7c0, 0x32c53680, 0x32f63780, 0x3326c9c0,
1821     0x3356ec00, 0x33869d00, 0x33b5db80, 0x33e4a700,
1822     0x3412fdc0, 0x3440df40, 0x346e4a80, 0x349b3e40,
1823     0x34c7ba00, 0x34f3bd80, 0x351f47c0, 0x354a5840,
1824     0x3574ee40, 0x359f0900, 0x35c8a840, 0x35f1cb80,
1825     0x361a71c0, 0x36429a80, 0x366a4580, 0x36917280,
1826     0x36b82100, 0x36de5180, 0x37040340, 0x372936c0,
1827     0x374dec40, 0x37722340, 0x3795dc40, 0x37b91780,
1828     0x37dbd600, 0x37fe18c0, 0x381fe080, 0x38412e00,
1829     0x38620280, 0x38825f40, 0x38a24540, 0x38c1b680,
1830     0x38e0b5c0, 0x38ff4540, 0x391d6800, 0x393b20c0,
1831     0x39587280, 0x39755fc0, 0x3991eb80, 0x39ae1a80,
1832     0x39c9f280, 0x39e57980, 0x3a00b600, 0x3a1bae00,
1833     0x3a366800, 0x3a50e9c0, 0x3a6b3a40, 0x3a8560c0,
1834     0x3a9f6640, 0x3ab95400, 0x3ad332c0, 0x3aed0680,
1835     0x3b06cf80, 0x3b208d40, 0x3b3a3e80, 0x3b53cb80,
1836     0x3b6d0780, 0x3b85c380, 0x3b9dd0c0, 0x3bb4eb40,
1837     0x3bcabac0, 0x3bdee680, 0x3bf11680, 0x3c011440,
1838     0x3c179ac0, 0x3c1c4f00, 0x3c21aa40, 0x3c278880,
1839     0x3c2dba80, 0x3c341140, 0x3c3a5e80, 0x3c409100,
1840     0x3c46b480, 0x3c4cd5c0, 0x3c530180, 0x3c593cc0,
1841     0x3c5f84c0, 0x3c65d640, 0x3c6c2e40, 0x3c728b40,
1842     0x3c78ee80, 0x3c7f5840, 0x3c85c940, 0x3c8c4240,
1843     0x3c92c380, 0x3c994cc0, 0x3c9fde40, 0x3ca67880,
1844     0x3cad1ac0, 0x3cb3c540, 0x3cba7800, 0x3cc132c0,
1845     0x3cc7f640, 0x3ccec280, 0x3cd59800, 0x3cdc76c0,
1846     0x3ce35e80, 0x3cea4f00, 0x3cf147c0, 0x3cf84900,
1847     0x3cff5340, 0x3d0666c0, 0x3d0d8400, 0x3d14ab40,
1848     0x3d1bdc00, 0x3d2315c0, 0x3d2a5880, 0x3d31a440,
1849     0x3d38f900, 0x3d405780, 0x3d47c040, 0x3d4f3300,
1850     0x3d56af40, 0x3d5e3500, 0x3d65c380, 0x3d6d5ac0,
1851     0x3d74fb40, 0x3d7ca540, 0x3d845900, 0x3d8c1680,
1852     0x3d93dd00, 0x3d9bac80, 0x3da38400, 0x3dab6400,
1853     0x3db34c80, 0x3dbb3dc0, 0x3dc33840, 0x3dcb3bc0,
1854     0x3dd347c0, 0x3ddb5bc0, 0x3de37780, 0x3deb9b00,
1855     0x3df3c600, 0x3dfbf940, 0x3e0434c0, 0x3e0c7840,
1856     0x3e14c3c0, 0x3e1d1640, 0x3e256f80, 0x3e2dcf40,
1857     0x3e363580, 0x3e3ea300, 0x3e4717c0, 0x3e4f9380,
1858     0x3e581600, 0x3e609e40, 0x3e692c40, 0x3e71bf80,
1859     0x3e7a5840, 0x3e82f740, 0x3e8b9c40, 0x3e944700,
1860     0x3e9cf780, 0x3ea5ad00, 0x3eae66c0, 0x3eb72500,
1861     0x3ebfe780, 0x3ec8af00, 0x3ed17b80, 0x3eda4d00,
1862     0x3ee32340, 0x3eebfd40, 0x3ef4dac0, 0x3efdbbc0,
1863     0x3f06a040, 0x3f0f88c0, 0x3f187540, 0x3f216600,
1864     0x3f2a5a80, 0x3f335200, 0x3f3c4c40, 0x3f454940,
1865     0x3f4e4940, 0x3f574c80, 0x3f605340, 0x3f695dc0,
1866     0x3f726b40, 0x3f7b7b40, 0x3f848dc0, 0x3f8da240,
1867     0x3f96b940, 0x3f9fd300, 0x3fa8f040, 0x3fb21080,
1868     0x3fbb33c0, 0x3fc459c0, 0x3fcd81c0, 0x3fd6abc0,
1869     0x3fdfd780, 0x3fe90480, 0x3ff23280, 0x3ffb6100,
1870     0x40049f80, 0x400dd080, 0x40170400, 0x40203880,
1871     0x40296f00, 0x4032a600, 0x403bde00, 0x40451680,
1872     0x404e4f00, 0x40578700, 0x4060be80, 0x4069f500,
1873     0x40732b80, 0x407c6280, 0x40859980, 0x408ed100,
1874     0x40980800, 0x40a13f00, 0x40aa7500, 0x40b3a980,
1875     0x40bcdd80, 0x40c61180, 0x40cf4500, 0x40d87800,
1876     0x40e1ab00, 0x40eadc80, 0x40f40c80, 0x40fd3a80,
1877     0x41066700, 0x410f9300, 0x4118bd80, 0x4121e700,
1878     0x412b0f80, 0x41343580, 0x413d5880, 0x41467980,
1879     0x414f9780, 0x4158b380, 0x4161cd80, 0x416ae580,
1880     0x4173fb00, 0x417d0d00, 0x41861b80, 0x418f2600,
1881     0x41982c80, 0x41a12f80, 0x41aa3000, 0x41b32c80,
1882     0x41bc2580, 0x41c51a00, 0x41ce0900, 0x41d6f300,
1883     0x41dfd800, 0x41e8b880, 0x41f19400, 0x41fa6b80,
1884     0x42033d00, 0x420c0900, 0x4214cf00, 0x421d8e00,
1885     0x42264680, 0x422ef980, 0x4237a680, 0x42404d80,
1886     0x4248ee00, 0x42518780, 0x425a1a00, 0x4262a480,
1887     0x426b2800, 0x4273a400, 0x427c1980, 0x42848880,
1888     0x428cef80, 0x42954f00, 0x429da680, 0x42a5f500,
1889     0x42ae3b80, 0x42b67a00, 0x42beb100, 0x42c6e080,
1890     0x42cf0780, 0x42d72680, 0x42df3c00, 0x42e74880,
1891     0x42ef4c80, 0x42f74880, 0x42ff3c80, 0x43072880,
1892     0x430f0c80, 0x4316e800, 0x431eba00, 0x43268380,
1893     0x432e4480, 0x4335fd00, 0x433dae80, 0x43455800,
1894     0x434cfa00, 0x43549400, 0x435c2500, 0x4363ad80,
1895     0x436b2e00, 0x4372a700, 0x437a1800, 0x43818200,
1896     0x4388e400, 0x43903f00, 0x43979200, 0x439edd00,
1897     0x43a62080, 0x43ad5c80, 0x43b49180, 0x43bbbf80,
1898     0x43c2e800, 0x43ca0b00, 0x43d12980, 0x43d84280,
1899     0x43df5200, 0x43e65500, 0x43ed4800, 0x43f43080,
1900     0x43fb1c80, 0x44021b80, 0x44093a00, 0x44106480,
1901     0x44176700, 0x441e0c00, 0x44241e00, 0x44297380,
1902     0x4425dc00, 0x44240180, 0x441ff300, 0x4419e300,
1903     0x44123f80, 0x44097500, 0x43ffe900, 0x43f5e700,
1904     0x43eb9f00, 0x43e13f00, 0x43d6f200, 0x43ccbd80,
1905     0x43c28400, 0x43b82780, 0x43ad8b00, 0x43a29c80,
1906     0x43975180, 0x438ba080, 0x437f8180, 0x4372fd00,
1907     0x43662b00, 0x43592480, 0x434c0000, 0x433ecd00,
1908     0x43319180, 0x43245300, 0x43171700, 0x4309da80,
1909     0x42fc9300, 0x42ef3500, 0x42e1b600, 0x42d40280,
1910     0x42c60000, 0x42b79300, 0x42a8a180, 0x42991a00,
1911     0x4288f200, 0x42782100, 0x42669e00, 0x42546880,
1912     0x42418800, 0x422e0480, 0x4219e500, 0x42053680,
1913     0x41f00980, 0x41da7080, 0x41c47b00, 0x41ae3600,
1914     0x4197ab80, 0x4180e400, 0x4169e780, 0x4152bb00,
1915     0x413b5e80, 0x4123d180, 0x410c1480, 0x40f42100,
1916     0x40dbed00, 0x40c36c80, 0x40aa9600, 0x40915f80,
1917     0x4077c100, 0x405db280, 0x40432c80, 0x40282580,
1918     0x400c9280, 0x3ff068c0, 0x3fd39dc0, 0x3fb62bc0,
1919     0x3f981200, 0x3f795080, 0x3f59e780, 0x3f39ebc0,
1920     0x3f198680, 0x3ef8e100, 0x3ed82440, 0x3eb76c80,
1921     0x3e96c940, 0x3e764900, 0x3e55f980, 0x3e35cb00,
1922     0x3e1590c0, 0x3df51cc0, 0x3dd44200, 0x3db2e640,
1923     0x3d910200, 0x3d6e8e40, 0x3d4b8480, 0x3d27e600,
1924     0x3d03bc00, 0x3cdf0fc0, 0x3cb9eb80, 0x3c946240,
1925     0x3c6e9180, 0x3c489700, 0x3c229000, 0x3bfc95c0,
1926     0x3bd6bd00, 0x3bb11a80, 0x3b8bc180, 0x3b669bc0,
1927     0x3b416a00, 0x3b1beb80, 0x3af5e140, 0x3acf3300,
1928     0x3aa7ef80, 0x3a802780, 0x3a57eb80, 0x3a2f5880,
1929     0x3a069640, 0x39ddcd40, 0x39b524c0, 0x398ca540,
1930     0x39643800, 0x393bc540, 0x39133580, 0x38ea7ac0,
1931     0x38c19040, 0x389871c0, 0x386f1b40, 0x38458e00,
1932     0x381bd000, 0x37f1e780, 0x37c7db00, 0x379db080,
1933     0x37736e80, 0x37491b00, 0x371ebcc0, 0x36f45980,
1934     0x36c96600, 0x369ed300, 0x36740380, 0x3648ffc0,
1935     0x361dcf40, 0x35f27a00, 0x35c70780, 0x359b7f80,
1936     0x356fe9c0, 0x35444dc0, 0x3518b280, 0x34ed1940,
1937     0x34c17c00, 0x3495d4c0, 0x346a1d40, 0x343e4300,
1938     0x34122840, 0x33e5ae00, 0x33b8b780, 0x338b4dc0,
1939     0x335d9f00, 0x332fdc00, 0x33023440, 0x32d4cc40,
1940     0x32a7bc80, 0x327b1d40, 0x324f04c0, 0x32235280,
1941     0x31f7b100, 0x31cbc7c0, 0x319f4140, 0x3171fb40,
1942     0x31440840, 0x31157d00, 0x30e66e80, 0x30b6fc40,
1943     0x30875080, 0x30579600, 0x3027f700, 0x2ff89140,
1944     0x2fc976c0, 0x2f9ab880, 0x2f6c6780, 0x2f3e8780,
1945     0x2f111000, 0x2ee3f800, 0x2eb73480, 0x2e8a9840,
1946     0x2e5dd340, 0x2e3093c0, 0x2e028ac0, 0x2dd39680,
1947     0x2da3c480, 0x2d732380, 0x2d41c400, 0x2d0fd300,
1948     0x2cdd9ac0, 0x2cab6640, 0x2c797f00, 0x2c480d40,
1949     0x2c171700, 0x2be6a0c0, 0x2bb6ae80, 0x2b8739c0,
1950     0x2b583200, 0x2b298600, 0x2afb2400, 0x2accfa40,
1951     0x2a9ef500, 0x2a710100, 0x2a430ac0, 0x2a14f9c0,
1952     0x29e6b0c0, 0x29b81240, 0x29890140, 0x29596900,
1953     0x29293e00, 0x28f87500, 0x28c70340, 0x2894efc0,
1954     0x28625140, 0x282f4040, 0x27fbd5c0, 0x27c83540,
1955     0x27948ec0, 0x27611240, 0x272def80, 0x26fb4cc0,
1956     0x26c94780, 0x2697fcc0, 0x26678880, 0x2637f740,
1957     0x26094540, 0x25db6dc0, 0x25ae6b40, 0x25821680,
1958     0x255627c0, 0x252a55c0, 0x24fe5680, 0x24d1db40,
1959     0x24a48fc0, 0x24761f40, 0x244637c0, 0x2414c900,
1960     0x23e20240, 0x23ae1740, 0x23793bc0, 0x2343cc00,
1961     0x230e4ac0, 0x22d93c80, 0x22a52400, 0x22725180,
1962     0x2240e480, 0x2210f9c0, 0x21e2ab40, 0x21b5c7c0,
1963     0x2189d2c0, 0x215e4d40, 0x2132b900, 0x2106ba80,
1964     0x20da1940, 0x20ac9d80, 0x207e11c0, 0x204e77c0,
1965     0x201e0880, 0x1fecfea0, 0x1fbb94e0, 0x1f8a0500,
1966     0x1f59d340, 0x1f27ac20, 0x1ef67c60, 0x1ec64e40,
1967     0x1e96fdc0, 0x1e686400, 0x1e3a5a00, 0x1e0cae80,
1968     0x1ddf25e0, 0x1db18460, 0x1d839020, 0x1d5536e0,
1969     0x1d268e80, 0x1cf7ae60, 0x1cc8aea0, 0x1c99af00,
1970     0x1c6ad820, 0x1c3c5280, 0x1c0e4500, 0x1be0ab60,
1971     0x1bb35620, 0x1b861400, 0x1b58b480, 0x1b2b1a00,
1972     0x1afd39c0, 0x1acf09a0, 0x1aa080c0, 0x1a71b020,
1973     0x1a42c2a0, 0x1a13e420, 0x19e53fc0, 0x19b6eb00,
1974     0x1988e620, 0x195b3060, 0x192dc8a0, 0x1900a8a0,
1975     0x18d3c4e0, 0x18a711e0, 0x187a83e0, 0x184e10e0,
1976     0x1821b060, 0x17f55a00, 0x17c90580, 0x179cb100,
1977     0x177060a0, 0x17441880, 0x1717dd20, 0x16ebb080,
1978     0x16bf9260, 0x169382e0, 0x166781c0, 0x163b8f80,
1979     0x160fade0, 0x15e3de40, 0x15b82220, 0x158c7ae0,
1980     0x1560ea80, 0x15357240, 0x150a1400, 0x14ded020,
1981     0x14b3a640, 0x148895a0, 0x145d9dc0, 0x1432bde0,
1982     0x1407f540, 0x13dd4380, 0x13b2a860, 0x13882460,
1983     0x135db880, 0x133365a0, 0x13092cc0, 0x12df0e60,
1984     0x12b50aa0, 0x128b2120, 0x12615200, 0x12379da0,
1985     0x120e04c0, 0x11e48820, 0x11bb2860, 0x1191e600,
1986     0x1168c080, 0x113fb7a0, 0x1116cb40, 0x10edfba0,
1987     0x10c54a00, 0x109cb7a0, 0x10744560, 0x104bf420,
1988     0x1023c3e0, 0x0ffbb500, 0x0fd3c790, 0x0fabfbe0,
1989     0x0f845290, 0x0f5ccc40, 0x0f356970, 0x0f0e2a60,
1990     0x0ee70eb0, 0x0ec01610, 0x0e994040, 0x0e728d50,
1991     0x0e4bfdf0, 0x0e2592c0, 0x0dff4c70, 0x0dd92af0,
1992     0x0db32da0, 0x0d8d53e0, 0x0d679cf0, 0x0d420880,
1993     0x0d1c9680, 0x0cf74700, 0x0cd219f0, 0x0cad0eb0,
1994     0x0c882450, 0x0c6359a0, 0x0c3ead90, 0x0c1a1f80,
1995     0x0bf5af40, 0x0bd15cf0, 0x0bad2870, 0x0b891440,
1996     0x0b652530, 0x0b416020, 0x0b1dca30, 0x0afa6810,
1997     0x0ad73ee0, 0x0ab45370, 0x0a91aac0, 0x0a6f49b0,
1998     0x0a4da7f0, 0x0a2c7e20, 0x0a0ba310, 0x09eb1220,
1999     0x09cac6e0, 0x09aabc70, 0x098aee40, 0x096b57a0,
2000     0x094bf400, 0x092cbea0, 0x090db2e0, 0x08eecef0,
2001     0x08d01360, 0x08b18110, 0x089318b0, 0x0874db00,
2002     0x0856c880, 0x0838e1b0, 0x081b2730, 0x07fd99a8,
2003     0x07e03a28, 0x07c309a8, 0x07a60910, 0x07893918,
2004     0x076c99d0, 0x07502b90, 0x0733ee70, 0x0717e2f8,
2005     0x06fc09b8, 0x06e06378, 0x06c4f0b8, 0x06a9b1c8,
2006     0x068ea6a0, 0x0673cf18, 0x06592b18, 0x063ebad0,
2007     0x06247ed0, 0x060a7780, 0x05f0a570, 0x05d708b8,
2008     0x05bda128, 0x05a46e80, 0x058b7078, 0x0572a740,
2009     0x055a1330, 0x0541b4d8, 0x05298c98, 0x05119a88,
2010     0x04f9de50, 0x04e257a0, 0x04cb0630, 0x04b3ea00,
2011     0x049d0378, 0x04865308, 0x046fd918, 0x045995a8,
2012     0x04438860, 0x042db0d0, 0x04180ea0, 0x0402a1d0,
2013     0x03ed6abc, 0x03d869b8, 0x03c39f28, 0x03af0af0,
2014     0x039aaca0, 0x038683b4, 0x03728fc0, 0x035ed0b0,
2015     0x034b46c4, 0x0337f254, 0x0324d3a0, 0x0311eab0,
2016     0x02ff370c, 0x02ecb85c, 0x02da6e34, 0x02c858a8,
2017     0x02b67820, 0x02a4cd28, 0x02935820, 0x02821920,
2018     0x02710fac, 0x02603b54, 0x024f9bb4, 0x023f308c,
2019     0x022ef9e8, 0x021ef7c8, 0x020f2a40, 0x01ff908e,
2020     0x01f02974, 0x01e0f38a, 0x01d1ed94, 0x01c316d6,
2021     0x01b46f5e, 0x01a5f720, 0x0197ae28, 0x018994ea,
2022     0x017bac54, 0x016df546, 0x016070ae, 0x01532078,
2023     0x01460760, 0x01392834, 0x012c85a4, 0x01201f7a,
2024     0x0113f27c, 0x0107fb6c, 0x00fc36fd, 0x00f0a2d5,
2025     0x00e53d51, 0x00da050f, 0x00cef88c, 0x00c41869,
2026     0x00b9671f, 0x00aee754, 0x00a49b80, 0x009a8384,
2027     0x00909ca6, 0x0086e400, 0x007d56e3, 0x0073f48f,
2028     0x006abe70, 0x0061b5de, 0x0058dc65, 0x005033b5,
2029     0x0047be30, 0x003f7e30, 0x00377619, 0x002fa4d4,
2030     0x002805ee, 0x002094cb, 0x00194cb8, 0x00122856,
2031     0x000b215c, 0x00043148, 0xfffd51f1, 0xfff683a1,
2032     0xffefcd4e, 0xffe93630, 0xffe2c57e, 0xffdc855d,
2033     0xffd682c4, 0xffd0cad4, 0xffcb6a2d, 0xffc663bd,
2034     0xffc1b070, 0xffbd48e2, 0xffb92571, 0xffb53a55,
2035     0xffb1779d, 0xffadcd39, 0xffaa2b43, 0xffa68856,
2036     0xffa2e142, 0xff9f332d, 0xff9b7b9d, 0xff97bf2f,
2037     0xff9409e3, 0xff9067e3, 0xff8ce557, 0xff898bf1,
2038     0xff866307, 0xff8371d0, 0xff80bf64, 0xff7e4ebb,
2039     0xff7c1eab, 0xff7a2e05, 0xff787b48, 0xff770281,
2040     0xff75bd07, 0xff74a3f8, 0xff73b0b3, 0xff72dd03,
2041     0xff72237f, 0xff717ebf, 0xff70e94d, 0xff705f5a,
2042     0xff6fde6b, 0xff6f6427, 0xff6eee41, 0xff6e7d0c,
2043     0xff6e135a, 0xff6db404, 0xff6d61f9, 0xff6d2055,
2044     0xff6cf268, 0xff6cdb77, 0xff6cdebc, 0xff6cff48,
2045     0xff6d3fca, 0xff6da307, 0xff6e2b83, 0xff6eda14,
2046     0xff6fad6e, 0xff70a464, 0xff71bd9e, 0xff72f663,
2047     0xff744a81, 0xff75b5c5, 0xff77340a, 0xff78c0a7,
2048     0xff7a5694, 0xff7bf0dd, 0xff7d8abc, 0xff7f2302,
2049     0xff80bc09, 0xff825855, 0xff83fa57, 0xff85a55c,
2050     0xff875d22, 0xff892599, 0xff8b025e, 0xff8cf53c,
2051     0xff8efdf5, 0xff911c48, 0xff934fca, 0xff959676,
2052     0xff97ec87, 0xff9a4e36, 0xff9cb7d2, 0xff9f26cd,
2053     0xffa199cf, 0xffa40f75, 0xffa6867d, 0xffa8feb2,
2054     0xffab78e0, 0xffadf5c8, 0xffb07640, 0xffb2fba1,
2055     0xffb587a2, 0xffb81bfc, 0xffbaba47, 0xffbd6237,
2056     0xffc011a9, 0xffc2c67a, 0xffc57e85, 0xffc83894,
2057     0xffcaf41b, 0xffcdb0b9, 0xffd06e18, 0xffd32bf8,
2058     0xffd5ea38, 0xffd8a8c4, 0xffdb6765, 0xffde25fc,
2059     0xffe0e472, 0xffe3a2b3, 0xffe66088, 0xffe91da7,
2060     0xffebd979, 0xffee9352, 0xfff14ab1, 0xfff3fef7,
2061     0xfff6af95, 0xfff95c0d, 0xfffc03c8, 0xfffea65a,
2062     0x00015885, 0x0003f2e9, 0x00068a73, 0x00091e8d,
2063     0x000bae7f, 0x000e39bf, 0x0010bf96, 0x00133f78,
2064     0x0015b8c4, 0x00182ae4, 0x001a9558, 0x001cf7b3,
2065     0x001f51e0, 0x0021a3b4, 0x0023ed25, 0x00262df2,
2066     0x002865c5, 0x002a9469, 0x002cb967, 0x002ed4aa,
2067     0x0030e607, 0x0032ed88, 0x0034eb2f, 0x0036de23,
2068     0x0038c503, 0x003a9e4c, 0x003c68a7, 0x003e23dd,
2069     0x003fd0db, 0x00417083, 0x0043038b, 0x00448adf,
2070     0x00460741, 0x0047799c, 0x0048e2b3, 0x004a42af,
2071     0x004b98fb, 0x004ce50b, 0x004e2654, 0x004f5b5d,
2072     0x005081c3, 0x00519717, 0x00529920, 0x005386d0,
2073     0x0054603f, 0x00552581, 0x0055d6cc, 0x00567558,
2074     0x0057033d, 0x005782b4, 0x0057f5b6, 0x00585e46,
2075     0x0058be68, 0x005917ff, 0x00596ce4, 0x0059bcc0,
2076     0x005a053a, 0x005a43ef, 0x005a76af, 0x005a9b37,
2077     0x005aaf39, 0x005ab07b, 0x005a9cef, 0x005a7349,
2078     0x005a3328, 0x0059dc0a, 0x00596db0, 0x0058e8e5,
2079     0x00584f98, 0x0057a3c1, 0x0056e738, 0x00561bec,
2080     0x005543df, 0x0054610b, 0x0053753e, 0x0052824e,
2081     0x005189f6, 0x00508ded, 0x004f8fc0, 0x004e8fd1,
2082     0x004d8d27, 0x004c86d7, 0x004b7c0a, 0x004a6b33,
2083     0x00495239, 0x00482f0e, 0x0046ffc4, 0x0045c201,
2084     0x00447337, 0x004310cc, 0x00419871, 0x004008e5,
2085     0x003e6231, 0x003ca461, 0x003acf8a, 0x0038e57a,
2086     0x0036e981, 0x0034defa, 0x0032c94b, 0x0030acc6,
2087     0x002e8eb4, 0x002c7452, 0x002a62aa, 0x00285bbf,
2088     0x00265eda, 0x00246b24, 0x00227f9c, 0x002098e7,
2089     0x001eb13b, 0x001cc2ef, 0x001ac899, 0x0018be3d,
2090     0x0016a198, 0x00147065, 0x00122897, 0x000fcbc5,
2091     0x000d5f03, 0x000ae77a, 0x00086a52, 0x0005eb92,
2092     0x00036e4a, 0x0000f57e, 0xfffe8415, 0xfffc1a79,
2093     0xfff9b6bc, 0xfff756da, 0xfff4f8d1, 0xfff29ade,
2094     0xfff03b88, 0xffedd94d, 0xffeb7296, 0xffe9072c,
2095     0xffe6981b, 0xffe4265c, 0xffe1b30f, 0xffdf3f2c,
2096     0xffdccb9e, 0xffda5994, 0xffd7ea0d, 0xffd57d61,
2097     0xffd31303, 0xffd0aa28, 0xffce4244, 0xffcbdb41,
2098     0xffc97596, 0xffc711a3, 0xffc4af9e, 0xffc24fa7,
2099     0xffbff1de, 0xffbd969a, 0xffbb3e45, 0xffb8e8d6,
2100     0xffb695f5, 0xffb44522, 0xffb1f628, 0xffafa8f1,
2101     0xffad5d92, 0xffab140b, 0xffa8cc1d, 0xffa68591,
2102     0xffa44067, 0xffa1fca0, 0xff9fba30, 0xff9d7903,
2103     0xff9b3917, 0xff98fa6e, 0xff96bd07, 0xff9480b7,
2104     0xff924532, 0xff900a25, 0xff8dcf42, 0xff8b9434,
2105     0xff895885, 0xff871bd4, 0xff84dd8b, 0xff829d34,
2106     0xff805a44, 0xff7e142e, 0xff7bca72, 0xff797c84,
2107     0xff7729e4, 0xff74d205, 0xff727452, 0xff70101f,
2108     0xff6da494, 0xff6b30d2, 0xff68b3f5, 0xff662d32,
2109     0xff639bd2, 0xff60ff0a, 0xff5e562d, 0xff5ba3e1,
2110     0xff58ee3a, 0xff563c23, 0xff5394f4, 0xff50fd1f,
2111     0xff4e759a, 0xff4bff33, 0xff499ad5, 0xff47490b,
2112     0xff450a37, 0xff42deb8, 0xff40c6d0, 0xff3ec2bf,
2113     0xff3cd29a, 0xff3af682, 0xff392e6b, 0xff377a4b,
2114     0xff35d9f8, 0xff344d45, 0xff32d3e9, 0xff316d97,
2115     0xff3019da, 0xff2ed83b, 0xff2da830, 0xff2c88c0,
2116     0xff2b78b5, 0xff2a76cd, 0xff298185, 0xff289891,
2117     0xff27bc7e, 0xff26ee22, 0xff262e29, 0xff257cdd,
2118     0xff24d9f5, 0xff244525, 0xff23be16, 0xff234489,
2119     0xff22d853, 0xff227948, 0xff22273e, 0xff21e1d3,
2120     0xff21a872, 0xff217a7a, 0xff215749, 0xff213ecb,
2121     0xff21319f, 0xff21305d, 0xff213bb0, 0xff2153c3,
2122     0xff21782c, 0xff21a893, 0xff21e478, 0xff222bdb,
2123     0xff227f27, 0xff22debe, 0xff234b0a, 0xff23c395,
2124     0xff24471e, 0xff24d42c, 0xff25695d, 0xff260539,
2125     0xff26a653, 0xff274b29, 0xff27f22e, 0xff2899d3,
2126     0xff295976, 0xff29f2ae, 0xff2a96d8, 0xff2b45f5,
2127     0xff2bffe4, 0xff2cc4bb, 0xff2d9459, 0xff2e6edf,
2128     0xff2f544d, 0xff3044b8, 0xff314035, 0xff3246fb,
2129     0xff33591f, 0xff3476e1, 0xff35a061, 0xff36d535,
2130     0xff381490, 0xff395db0, 0xff3aafd5, 0xff3c0ac9,
2131     0xff3d6ed7, 0xff3edc55, 0xff405383, 0xff41d3f6,
2132     0xff435ccd, 0xff44ed10, 0xff4683d4, 0xff482081,
2133     0xff49c298, 0xff4b69ac, 0xff4d1548, 0xff4ec4f6,
2134     0xff50781e, 0xff522e21, 0xff53e693, 0xff55a15e,
2135     0xff575f18, 0xff592023, 0xff5ae4df, 0xff5cacb5,
2136     0xff5e75e3, 0xff603ee6, 0xff620630, 0xff63caac,
2137     0xff658b56, 0xff67476e, 0xff68fe12, 0xff6aaea1,
2138     0xff6c589a, 0xff6dfb87, 0xff6f96e8, 0xff712a66,
2139     0xff72b5a0, 0xff74382c, 0xff75b1d4, 0xff772277,
2140     0xff788a21, 0xff79e8e6, 0xff7b3ef1, 0xff7c8c99,
2141     0xff7dd24a, 0xff7f108d, 0xff804805, 0xff817d0e,
2142     0xff82b74b, 0xff83fde7, 0xff855763, 0xff86c623,
2143     0xff884905, 0xff89ded2, 0xff8b8647, 0xff8d3e4d,
2144     0xff8f05cd, 0xff90dbc6, 0xff92bf2b, 0xff94af05,
2145     0xff96aa27, 0xff98af9a, 0xff9abe48, 0xff9cd544,
2146     0xff9ef3c2, 0xffa118eb, 0xffa343fe, 0xffa57424,
2147     0xffa7a891, 0xffa9e085, 0xffac1b32, 0xffae5803,
2148     0xffb09681, 0xffb2d622, 0xffb51678, 0xffb75705,
2149     0xffb99726, 0xffbbd646, 0xffbe13d8, 0xffc04f26,
2150     0xffc2879b, 0xffc4bc73, 0xffc6ed25, 0xffc918e4,
2151     0xffcb3eb9, 0xffcd5dcd, 0xffcf754a, 0xffd184d9,
2152     0xffd38c90, 0xffd58ca5, 0xffd7854e, 0xffd97695,
2153     0xffdb606f, 0xffdd42d2, 0xffdf1da8, 0xffe0f09c,
2154     0xffe2bb01, 0xffe47c42, 0xffe633c7, 0xffe7e151,
2155     0xffe98535, 0xffeb1fb5, 0xffecb10f, 0xffee3945,
2156     0xffefb7ea, 0xfff12cbf, 0xfff29763, 0xfff3f78a,
2157     0xfff54cbf, 0xfff69696, 0xfff7d4b9, 0xfff90749,
2158     0xfffa2ee6, 0xfffb4c3d, 0xfffc6004, 0xfffd6af1,
2159     0xfffe6ddb, 0xffff69b9, 0x00005f4b, 0x00014e7f,
2160     0x00023646, 0x000315b4, 0x0003ebd3, 0x0004b74a,
2161     0x00057677, 0x000627e2, 0x0006ca09, 0x00075ce1,
2162     0x0007e196, 0x00085955, 0x0008c556, 0x00092751,
2163     0x00098153, 0x0009d581, 0x000a25be, 0x000a732b,
2164     0x000abe1f, 0x000b06e4, 0x000b4db1, 0x000b91fa,
2165     0x000bd266, 0x000c0da0, 0x000c426e, 0x000c6ffb,
2166     0x000c95b0, 0x000cb2f7, 0x000cc76e, 0x000cd317,
2167     0x000cd647, 0x000cd17f, 0x000cc52b, 0x000cb1ea,
2168     0x000c98c0, 0x000c7a62, 0x000c57c7, 0x000c3187,
2169     0x000c0862, 0x000bdcd8, 0x000baf81, 0x000b80c7,
2170     0x000b50ec, 0x000b202f, 0x000aeec6, 0x000abcb2,
2171     0x000a89d2, 0x000a5605, 0x000a2116, 0x0009eafb,
2172     0x0009b37d, 0x00097a9d, 0x00094030, 0x00090440,
2173     0x0008c6b9, 0x000887ae, 0x0008470c, 0x00080512,
2174     0x0007c1f6, 0x00077df9, 0x0007395a, 0x0006f45b,
2175     0x0006af67, 0x00066abe, 0x000626b6, 0x0005e38f,
2176     0x0005a1a0, 0x0005611e, 0x00052234, 0x0004e502,
2177     0x0004a95d, 0x00046f46, 0x00043691, 0x0003ff33,
2178     0x0003c90d, 0x0003941f, 0x00036047, 0x00032d9c,
2179     0x0002fc1e, 0x0002cbed, 0x00029d1e, 0x00026fbc,
2180     0x000243f2, 0x000219d6, 0x0001f17d, 0x0001caf1,
2181     0x0001a63e, 0x00018363, 0x00016256, 0x00014316,
2182     0x0001258f, 0x000109cb, 0x0000efaa, 0x0000d720,
2183     0x0000c03a, 0x0000aacb, 0x000096de, 0x0000846a,
2184     0x0000736d, 0x000063d3, 0x000055a6, 0x000048d0,
2185     0x00003d47, 0x000032f6, 0x000029dc, 0x000021d9,
2186     0x00001ae3, 0x000014ee, 0x00000fdb, 0x00000ba9,
2187     0x00000839, 0x00000589, 0x00000370, 0x000001ee,
2188     0x000000d7, 0x00000036, 0xffffffe1, 0xffffffc1,
2189     0xffffffd6, 0xfffffff6, 0x0000000b, 0x0000000b,
2190     0x0000000b, 0x0000000b, 0xfffffff6, 0xffffffd6,
2191     0xffffffcb, 0xffffffe1, 0x00000036, 0x000000d7,
2192     0x000001ce, 0x0000033b, 0x00000529, 0x000007ad,
2193     0x00000ac8, 0x00000e99, 0x00001316, 0x0000185e,
2194     0x00001e7e, 0x00002575, 0x00002d4c, 0x0000361b,
2195     0x00003fd6, 0x00004a93, 0x00005647, 0x00006312,
2196     0x000070de, 0x00007fad, 0x00008f87, 0x0000a064,
2197     0x0000b242, 0x0000c52d, 0x0000d919, 0x0000ee12,
2198     0x0001040c, 0x00011b13, 0x0001331b, 0x00014c30,
2199     0x0001663c, 0x0001814a, 0x00019d4f, 0x0001ba35,
2200     0x0001d7e7, 0x0001f645, 0x00021544, 0x000234c3,
2201     0x000254b9, 0x00027505, 0x000295a7, 0x0002b67e,
2202     0x0002d7a1, 0x0002f904, 0x00031ab2, 0x00033ca0,
2203     0x00035ee5, 0x0003818a, 0x0003a485, 0x0003c7e1,
2204     0x0003eb72, 0x00040f0e, 0x0004329f, 0x000455e6,
2205     0x000478c0, 0x00049aef, 0x0004bc52, 0x0004dca9,
2206     0x0004fbde, 0x000519c5, 0x00053635, 0x0005512d,
2207     0x00056aae, 0x000582a1, 0x00059927, 0x0005ae40,
2208     0x0005c1f6, 0x0005d455, 0x0005e572, 0x0005f56d,
2209     0x00060446, 0x0006121e, 0x00061f09, 0x00062b08,
2210     0x00063605, 0x00063feb, 0x00064899, 0x00064ff1,
2211     0x000655a5, 0x00065996, 0x00065b6f, 0x00065af8,
2212     0x000657e9, 0x000651d4, 0x00064884, 0x00063bae,
2213     0x00062b33, 0x00061706, 0x0005fefd, 0x0005e344,
2214     0x0005c405, 0x0005a195, 0x00057c41, 0x00055473,
2215     0x00052ac2, 0x0004ffc4, 0x0004d410, 0x0004a7e5,
2216     0x00047b4f, 0x00044e39, 0x00042096, 0x0003f208,
2217     0x0003c1e1, 0x00038f77, 0x00035a12, 0x00032127,
2218     0x0002e476, 0x0002a389, 0x00025e29, 0x0002146d,
2219     0x0001c700, 0x00017682, 0x000123a1, 0x0000cefd,
2220     0x000078f7, 0x0000221a, 0xffffcad2, 0xffff7333,
2221     0xffff1b1f, 0xfffec254, 0xfffe6892, 0xfffe0da3,
2222     0xfffdb15d, 0xfffd5394, 0xfffcf413, 0xfffc92e4,
2223     0xfffc3033, 0xfffbcc2a, 0xfffb6715, 0xfffb0114,
2224     0xfffa9a5c, 0xfffa3338, 0xfff9cbd5, 0xfff96451,
2225     0xfff8fcad, 0xfff894dd, 0xfff82cd9, 0xfff7c4a9,
2226     0xfff75c6e, 0xfff6f45f, 0xfff68c85, 0xfff62501,
2227     0xfff5bde8, 0xfff5575b, 0xfff4f17a, 0xfff48c65,
2228     0xfff42811, 0xfff3c489, 0xfff361d8, 0xfff30009,
2229     0xfff29f3b, 0xfff23f79, 0xfff1e0d9, 0xfff1835c,
2230     0xfff1272b, 0xfff0cc47, 0xfff072d0, 0xfff01ad1,
2231     0xffefc46a, 0xffef6fa5, 0xffef1ca4, 0xffeecb7b,
2232     0xffee7c20, 0xffee2eb3, 0xffede33e, 0xffed99c2,
2233     0xffed524a, 0xffed0cdf, 0xffecc98e, 0xffec884a,
2234     0xffec4935, 0xffec0c39, 0xffebd176, 0xffeb98ec,
2235     0xffeb62a5, 0xffeb2eae, 0xffeafd1a, 0xffeacdeb,
2236     0xffeaa12a, 0xffea76cd, 0xffea4ef4, 0xffea29a0,
2237     0xffea06e6, 0xffe9e6cf, 0xffe9c97e, 0xffe9aebc,
2238     0xffe99652, 0xffe97fd7, 0xffe96ad4, 0xffe95712,
2239     0xffe9447e, 0xffe93316, 0xffe922cf, 0xffe913a1,
2240     0xffe90589, 0xffe8f888, 0xffe8ec94, 0xffe8e1c2,
2241     0xffe8d807, 0xffe8cf78, 0xffe8c816, 0xffe8c1ec,
2242     0xffe8bd04, 0xffe8b968, 0xffe8b72f, 0xffe8b64e,
2243     0xffe8b6d9, 0xffe8b8dd, 0xffe8bc6d, 0xffe8c18b,
2244     0xffe8c841, 0xffe8d0a5, 0xffe8dacb, 0xffe8e69f,
2245     0xffe8f42b, 0xffe9035a, 0xffe9142c, 0xffe926a1,
2246     0xffe93ab8, 0xffe95067, 0xffe967b9, 0xffe980ae,
2247     0xffe99b3b, 0xffe9b755, 0xffe9d512, 0xffe9f45c,
2248     0xffea1533, 0xffea3798, 0xffea5b8a, 0xffea8109,
2249     0xffeaa800, 0xffead07a, 0xffeafa56, 0xffeb259f,
2250     0xffeb5255, 0xffeb8062, 0xffebafdd, 0xffebe0af,
2251     0xffec12cf, 0xffec4630, 0xffec7ade, 0xffecb0a4,
2252     0xffece775, 0xffed1f33, 0xffed57a8, 0xffed90b3,
2253     0xffedca49, 0xffee042b, 0xffee3e58, 0xffee788f,
2254 };
2255
2256 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_480)[1800] = {
2257      0.00101191,  0.00440397,  0.00718669,  0.01072130,
2258      0.01459757,  0.01875954,  0.02308987,  0.02751541,
2259      0.03198130,  0.03643738,  0.04085290,  0.04522835,
2260      0.04957620,  0.05390454,  0.05821503,  0.06251214,
2261      0.06680463,  0.07109582,  0.07538014,  0.07965207,
2262      0.08390857,  0.08815177,  0.09238785,  0.09662163,
2263      0.10085860,  0.10510892,  0.10938110,  0.11367819,
2264      0.11800355,  0.12236410,  0.12676834,  0.13122384,
2265      0.13573476,  0.14030106,  0.14492340,  0.14960315,
2266      0.15433828,  0.15912396,  0.16395663,  0.16883310,
2267      0.17374837,  0.17869679,  0.18367394,  0.18867661,
2268      0.19370368,  0.19875413,  0.20382641,  0.20892055,
2269      0.21403775,  0.21917761,  0.22433899,  0.22952250,
2270      0.23472991,  0.23996189,  0.24521859,  0.25049930,
2271      0.25580312,  0.26112942,  0.26647748,  0.27184703,
2272      0.27723785,  0.28264967,  0.28808086,  0.29352832,
2273      0.29898979,  0.30446379,  0.30994292,  0.31541664,
2274      0.32087942,  0.32632772,  0.33176291,  0.33718641,
2275      0.34259612,  0.34799346,  0.35338857,  0.35878843,
2276      0.36419504,  0.36960630,  0.37501567,  0.38042067,
2277      0.38582069,  0.39121276,  0.39659312,  0.40195993,
2278      0.40731155,  0.41264382,  0.41795277,  0.42323670,
2279      0.42849480,  0.43372753,  0.43893452,  0.44411398,
2280      0.44927117,  0.45441882,  0.45956191,  0.46470167,
2281      0.46983016,  0.47493636,  0.48001827,  0.48507480,
2282      0.49010240,  0.49509781,  0.50005986,  0.50499037,
2283      0.50989790,  0.51478708,  0.51965805,  0.52450975,
2284      0.52933955,  0.53414668,  0.53893113,  0.54369178,
2285      0.54842731,  0.55313757,  0.55782259,  0.56248253,
2286      0.56711762,  0.57172819,  0.57631468,  0.58087761,
2287      0.58719976,  0.59173064,  0.59623644,  0.60071719,
2288      0.60517294,  0.60960372,  0.61400958,  0.61839056,
2289      0.62274670,  0.62707805,  0.63138475,  0.63566700,
2290      0.63992500,  0.64415895,  0.64836893,  0.65255499,
2291      0.65671715,  0.66085548,  0.66497005,  0.66906094,
2292      0.67312824,  0.67717199,  0.68119219,  0.68518882,
2293      0.68916187,  0.69311129,  0.69703698,  0.70093884,
2294      0.70481679,  0.70867071,  0.71250047,  0.71630596,
2295      0.72008705,  0.72384360,  0.72757549,  0.73128256,
2296      0.73496463,  0.73862141,  0.74225263,  0.74585799,
2297      0.74943730,  0.75299039,  0.75651711,  0.76001729,
2298      0.76349062,  0.76693670,  0.77035516,  0.77374564,
2299      0.77710790,  0.78044169,  0.78374678,  0.78702291,
2300      0.79026979,  0.79348715,  0.79667471,  0.79983215,
2301      0.80295914,  0.80605536,  0.80912047,  0.81215417,
2302      0.81515616,  0.81812616,  0.82106389,  0.82396915,
2303      0.82684176,  0.82968154,  0.83248830,  0.83526186,
2304      0.83800204,  0.84070866,  0.84338156,  0.84602058,
2305      0.84862556,  0.85119636,  0.85373292,  0.85623523,
2306      0.85870326,  0.86113701,  0.86353649,  0.86590173,
2307      0.86823275,  0.87052968,  0.87279275,  0.87502220,
2308      0.87721829,  0.87938130,  0.88151157,  0.88360940,
2309      0.88567517,  0.88770954,  0.88971328,  0.89168716,
2310      0.89363199,  0.89554856,  0.89743771,  0.89930025,
2311      0.90113740,  0.90295086,  0.90474240,  0.90651380,
2312      0.90826684,  0.91000335,  0.91172515,  0.91343416,
2313      0.91513276,  0.91682357,  0.91850924,  0.92019170,
2314      0.92187129,  0.92354778,  0.92522116,  0.92688597,
2315      0.92852960,  0.93013861,  0.93169897,  0.93319114,
2316      0.93458502,  0.93587626,  0.93694276,  0.93825562,
2317      0.93882222,  0.93910780,  0.93944183,  0.93981497,
2318      0.94021434,  0.94062629,  0.94103714,  0.94144084,
2319      0.94184042,  0.94223966,  0.94264206,  0.94304859,
2320      0.94345831,  0.94387033,  0.94428390,  0.94469895,
2321      0.94511572,  0.94553441,  0.94595520,  0.94637816,
2322      0.94680335,  0.94723080,  0.94766054,  0.94809253,
2323      0.94852674,  0.94896314,  0.94940178,  0.94984276,
2324      0.95028618,  0.95073213,  0.95118056,  0.95163139,
2325      0.95208451,  0.95253992,  0.95299770,  0.95345799,
2326      0.95392092,  0.95438653,  0.95485472,  0.95532539,
2327      0.95579847,  0.95627397,  0.95675201,  0.95723273,
2328      0.95771618,  0.95820232,  0.95869103,  0.95918218,
2329      0.95967573,  0.96017172,  0.96067026,  0.96117144,
2330      0.96167526,  0.96218157,  0.96269026,  0.96320119,
2331      0.96371437,  0.96422988,  0.96474782,  0.96526824,
2332      0.96579106,  0.96631614,  0.96684334,  0.96737257,
2333      0.96790390,  0.96843740,  0.96897315,  0.96951112,
2334      0.97005119,  0.97059318,  0.97113697,  0.97168253,
2335      0.97222994,  0.97277928,  0.97333058,  0.97388375,
2336      0.97443863,  0.97499505,  0.97555292,  0.97611230,
2337      0.97667326,  0.97723589,  0.97780016,  0.97836591,
2338      0.97893300,  0.97950127,  0.98007071,  0.98064139,
2339      0.98121342,  0.98178684,  0.98236156,  0.98293743,
2340      0.98351428,  0.98409205,  0.98467078,  0.98525056,
2341      0.98583146,  0.98641348,  0.98699650,  0.98758037,
2342      0.98816497,  0.98875030,  0.98933647,  0.98992356,
2343      0.99051163,  0.99110062,  0.99169038,  0.99228079,
2344      0.99287177,  0.99346341,  0.99405581,  0.99464907,
2345      0.99524320,  0.99583812,  0.99643375,  0.99702997,
2346      0.99762671,  0.99822386,  0.99882134,  0.99941903,
2347      1.00058131,  1.00118006,  1.00177930,  1.00237893,
2348      1.00297887,  1.00357902,  1.00417927,  1.00477954,
2349      1.00537972,  1.00597973,  1.00657959,  1.00717940,
2350      1.00777926,  1.00837925,  1.00897929,  1.00957926,
2351      1.01017901,  1.01077847,  1.01137769,  1.01197678,
2352      1.01257582,  1.01317482,  1.01377365,  1.01437217,
2353      1.01497025,  1.01556786,  1.01616510,  1.01676205,
2354      1.01735876,  1.01795514,  1.01855103,  1.01914627,
2355      1.01974076,  1.02033455,  1.02092772,  1.02152037,
2356      1.02211247,  1.02270387,  1.02329439,  1.02388387,
2357      1.02447229,  1.02505972,  1.02564624,  1.02623190,
2358      1.02681660,  1.02740017,  1.02798242,  1.02856326,
2359      1.02914272,  1.02972087,  1.03029778,  1.03087344,
2360      1.03144768,  1.03202035,  1.03259127,  1.03316042,
2361      1.03372788,  1.03429373,  1.03485801,  1.03542064,
2362      1.03598146,  1.03654030,  1.03709708,  1.03765185,
2363      1.03820470,  1.03875571,  1.03930488,  1.03985206,
2364      1.04039712,  1.04093989,  1.04148037,  1.04201865,
2365      1.04255481,  1.04308893,  1.04362093,  1.04415068,
2366      1.04467803,  1.04520292,  1.04572542,  1.04624566,
2367      1.04676376,  1.04727974,  1.04779350,  1.04830493,
2368      1.04881391,  1.04932048,  1.04982477,  1.05032693,
2369      1.05082705,  1.05132510,  1.05182098,  1.05231457,
2370      1.05280584,  1.05329485,  1.05378171,  1.05426654,
2371      1.05474937,  1.05523018,  1.05570892,  1.05618554,
2372      1.05666005,  1.05713251,  1.05760297,  1.05807149,
2373      1.05853828,  1.05900355,  1.05946756,  1.05993024,
2374      1.06039075,  1.06084806,  1.06130111,  1.06175099,
2375      1.06220164,  1.06265732,  1.06312146,  1.06358726,
2376      1.06403924,  1.06446186,  1.06484048,  1.06516440,
2377      1.06527864,  1.06498077,  1.06470196,  1.06425743,
2378      1.06372091,  1.06311464,  1.06246622,  1.06179277,
2379      1.06110808,  1.06042455,  1.05974495,  1.05906206,
2380      1.05836706,  1.05765243,  1.05691470,  1.05615178,
2381      1.05536069,  1.05454152,  1.05370030,  1.05284445,
2382      1.05198094,  1.05111433,  1.05024634,  1.04937859,
2383      1.04851245,  1.04764614,  1.04677586,  1.04589855,
2384      1.04501046,  1.04410500,  1.04317417,  1.04221010,
2385      1.04120649,  1.04016012,  1.03906851,  1.03792894,
2386      1.03674090,  1.03550649,  1.03422800,  1.03290769,
2387      1.03154944,  1.03015834,  1.02873938,  1.02729712,
2388      1.02583470,  1.02435463,  1.02285952,  1.02135114,
2389      1.01982974,  1.01829520,  1.01674752,  1.01518534,
2390      1.01360559,  1.01200510,  1.01038076,  1.00872996,
2391      1.00705045,  1.00533999,  1.00359618,  1.00181613,
2392      0.99999673,  0.99813477,  0.99622793,  0.99427571,
2393      0.99227814,  0.99023501,  0.98815128,  0.98603857,
2394      0.98390898,  0.98177413,  0.97964151,  0.97751528,
2395      0.97539999,  0.97329751,  0.97119933,  0.96909179,
2396      0.96696152,  0.96479824,  0.96259840,  0.96036028,
2397      0.95808180,  0.95576295,  0.95340622,  0.95101436,
2398      0.94859030,  0.94614009,  0.94367232,  0.94119555,
2399      0.93871796,  0.93624630,  0.93378636,  0.93134465,
2400      0.92892076,  0.92649974,  0.92406255,  0.92159041,
2401      0.91907411,  0.91651711,  0.91392425,  0.91130056,
2402      0.90865471,  0.90599838,  0.90334350,  0.90069934,
2403      0.89806435,  0.89543132,  0.89279335,  0.89014496,
2404      0.88748403,  0.88480945,  0.88211997,  0.87941558,
2405      0.87669794,  0.87396891,  0.87123030,  0.86848394,
2406      0.86573164,  0.86297523,  0.86021649,  0.85745725,
2407      0.85474342,  0.85193656,  0.84911455,  0.84627969,
2408      0.84343424,  0.84058046,  0.83772057,  0.83485680,
2409      0.83199134,  0.82912621,  0.82626143,  0.82339529,
2410      0.82052619,  0.81765147,  0.81476433,  0.81185593,
2411      0.80891701,  0.80594452,  0.80294885,  0.79994431,
2412      0.79694485,  0.79396166,  0.79100220,  0.78807349,
2413      0.78518123,  0.78231422,  0.77944709,  0.77655407,
2414      0.77361369,  0.77062281,  0.76758806,  0.76451506,
2415      0.76141145,  0.75828860,  0.75515892,  0.75203479,
2416      0.74892561,  0.74583682,  0.74277342,  0.73974008,
2417      0.73673754,  0.73376310,  0.73081444,  0.72788616,
2418      0.72496070,  0.72201426,  0.71902283,  0.71596990,
2419      0.71285541,  0.70968427,  0.70646064,  0.70319589,
2420      0.69991077,  0.69662714,  0.69336592,  0.69013742,
2421      0.68694302,  0.68378420,  0.68066143,  0.67757157,
2422      0.67450951,  0.67147030,  0.66844879,  0.66543949,
2423      0.66243677,  0.65943505,  0.65642754,  0.65340591,
2424      0.65036160,  0.64728630,  0.64417440,  0.64102268,
2425      0.63782771,  0.63458757,  0.63130628,  0.62799109,
2426      0.62464879,  0.62128816,  0.61792203,  0.61456438,
2427      0.61122915,  0.60792802,  0.60466971,  0.60146257,
2428      0.59831460,  0.59522876,  0.59220375,  0.58923859,
2429      0.58632936,  0.58346064,  0.58061078,  0.57775874,
2430      0.57488246,  0.57195790,  0.56896078,  0.56586637,
2431      0.56266594,  0.55937186,  0.55599898,  0.55256299,
2432      0.54909184,  0.54562376,  0.54219742,  0.53884728,
2433      0.53559047,  0.53243453,  0.52938894,  0.52645052,
2434      0.52358958,  0.52076862,  0.51795080,  0.51510761,
2435      0.51222179,  0.50927733,  0.50625944,  0.50317073,
2436      0.50002767,  0.49685021,  0.49364116,  0.49048690,
2437      0.48726128,  0.48404889,  0.48090875,  0.47783482,
2438      0.47481564,  0.47184024,  0.46889391,  0.46595836,
2439      0.46301611,  0.46005089,  0.45705924,  0.45404822,
2440      0.45102447,  0.44799543,  0.44497138,  0.44196397,
2441      0.43898547,  0.43604105,  0.43312057,  0.43020942,
2442      0.42729337,  0.42436272,  0.42141388,  0.41844400,
2443      0.41545081,  0.41244014,  0.40942464,  0.40641716,
2444      0.40342874,  0.40046292,  0.39751923,  0.39459758,
2445      0.39169692,  0.38881435,  0.38594643,  0.38308980,
2446      0.38024146,  0.37739896,  0.37455986,  0.37172187,
2447      0.36888463,  0.36604937,  0.36321735,  0.36038967,
2448      0.35756668,  0.35474832,  0.35193455,  0.34912542,
2449      0.34632129,  0.34352258,  0.34072974,  0.33794323,
2450      0.33516354,  0.33239114,  0.32962648,  0.32686967,
2451      0.32412042,  0.32137919,  0.31864044,  0.31588373,
2452      0.31309909,  0.31028631,  0.30745528,  0.30462678,
2453      0.30180656,  0.29899424,  0.29619082,  0.29339717,
2454      0.29061333,  0.28783935,  0.28507563,  0.28232266,
2455      0.27958067,  0.27684984,  0.27413017,  0.27142157,
2456      0.26872396,  0.26603737,  0.26336211,  0.26069855,
2457      0.25804700,  0.25540830,  0.25278329,  0.25017211,
2458      0.24757451,  0.24498713,  0.24240740,  0.23983550,
2459      0.23727200,  0.23471866,  0.23217624,  0.22964458,
2460      0.22712346,  0.22461258,  0.22211202,  0.21962197,
2461      0.21714290,  0.21467522,  0.21221877,  0.20977323,
2462      0.20733693,  0.20490860,  0.20248823,  0.20007615,
2463      0.19767358,  0.19528091,  0.19289781,  0.19052347,
2464      0.18815661,  0.18579693,  0.18344441,  0.18110010,
2465      0.17876595,  0.17644344,  0.17413400,  0.17183905,
2466      0.16956003,  0.16729836,  0.16505547,  0.16283278,
2467      0.15990780,  0.15776021,  0.15563325,  0.15352557,
2468      0.15143584,  0.14936270,  0.14730481,  0.14526081,
2469      0.14322937,  0.14120918,  0.13919977,  0.13720138,
2470      0.13521422,  0.13323852,  0.13127445,  0.12932216,
2471      0.12738181,  0.12545358,  0.12353773,  0.12163457,
2472      0.11974436,  0.11786730,  0.11600347,  0.11415293,
2473      0.11231573,  0.11049201,  0.10868196,  0.10688578,
2474      0.10510362,  0.10333551,  0.10158143,  0.09984133,
2475      0.09811524,  0.09640327,  0.09470556,  0.09302228,
2476      0.09135347,  0.08969907,  0.08805903,  0.08643326,
2477      0.08482183,  0.08322486,  0.08164249,  0.08007481,
2478      0.07852179,  0.07698335,  0.07545938,  0.07394984,
2479      0.07245482,  0.07097444,  0.06950883,  0.06805800,
2480      0.06662187,  0.06520031,  0.06379324,  0.06240065,
2481      0.06102266,  0.05965936,  0.05831084,  0.05697701,
2482      0.05565775,  0.05435290,  0.05306239,  0.05178628,
2483      0.05052464,  0.04927758,  0.04804510,  0.04682709,
2484      0.04562344,  0.04443405,  0.04325893,  0.04209822,
2485      0.04095208,  0.03982059,  0.03870371,  0.03760131,
2486      0.03651325,  0.03543944,  0.03437987,  0.03333454,
2487      0.03230348,  0.03128653,  0.03028332,  0.02929346,
2488      0.02831658,  0.02735252,  0.02640127,  0.02546283,
2489      0.02453725,  0.02362471,  0.02272547,  0.02183980,
2490      0.02096810,  0.02011108,  0.01926957,  0.01844439,
2491      0.01763565,  0.01684248,  0.01606394,  0.01529909,
2492      0.01454726,  0.01380802,  0.01308092,  0.01236569,
2493      0.01166273,  0.01097281,  0.01029671,  0.00963479,
2494      0.00898646,  0.00835089,  0.00772725,  0.00711521,
2495      0.00651513,  0.00592741,  0.00535249,  0.00479089,
2496      0.00424328,  0.00371041,  0.00319271,  0.00268947,
2497      0.00219928,  0.00172084,  0.00125271,  0.00079311,
2498      0.00034023, -0.00010786, -0.00055144, -0.00098865,
2499     -0.00141741, -0.00183557, -0.00224010, -0.00262725,
2500     -0.00299314, -0.00333475, -0.00365250, -0.00394867,
2501     -0.00422533, -0.00448528, -0.00473278, -0.00497252,
2502     -0.00520916, -0.00544584, -0.00568360, -0.00592326,
2503     -0.00616547, -0.00640861, -0.00664914, -0.00688354,
2504     -0.00710845, -0.00732136, -0.00752022, -0.00770289,
2505     -0.00786789, -0.00801521, -0.00814526, -0.00825839,
2506     -0.00835563, -0.00843882, -0.00850996, -0.00857097,
2507     -0.00862360, -0.00866943, -0.00871004, -0.00874688,
2508     -0.00878091, -0.00881277, -0.00884320, -0.00887248,
2509     -0.00890002, -0.00892494, -0.00894641, -0.00896355,
2510     -0.00897541, -0.00898104, -0.00897948, -0.00896990,
2511     -0.00895149, -0.00892346, -0.00888519, -0.00883670,
2512     -0.00877839, -0.00871058, -0.00863388, -0.00854936,
2513     -0.00845826, -0.00836179, -0.00826124, -0.00815807,
2514     -0.00805372, -0.00794953, -0.00784572, -0.00774156,
2515     -0.00763634, -0.00752929, -0.00741941, -0.00730556,
2516     -0.00718664, -0.00706184, -0.00693107, -0.00679443,
2517     -0.00665200, -0.00650428, -0.00635230, -0.00619718,
2518     -0.00603995, -0.00588133, -0.00572169, -0.00556143,
2519     -0.00540085, -0.00523988, -0.00507828, -0.00491582,
2520     -0.00475220, -0.00458693, -0.00441953, -0.00424950,
2521     -0.00407681, -0.00390204, -0.00372581, -0.00354874,
2522     -0.00337115, -0.00319318, -0.00301494, -0.00283652,
2523     -0.00265797, -0.00247934, -0.00230066, -0.00212197,
2524     -0.00194331, -0.00176471, -0.00158620, -0.00140787,
2525     -0.00122989, -0.00105244, -0.00087567, -0.00069976,
2526     -0.00052487, -0.00035115, -0.00017875, -0.00000782,
2527      0.00000779,  0.00017701,  0.00034552,  0.00051313,
2528      0.00067966,  0.00084492,  0.00100873,  0.00117093,
2529      0.00133133,  0.00148978,  0.00164611,  0.00180023,
2530      0.00195211,  0.00210172,  0.00224898,  0.00239383,
2531      0.00253618,  0.00267593,  0.00281306,  0.00294756,
2532      0.00307942,  0.00320864,  0.00333502,  0.00345816,
2533      0.00357762,  0.00369297,  0.00380414,  0.00391140,
2534      0.00401499,  0.00411524,  0.00421242,  0.00430678,
2535      0.00439859,  0.00448799,  0.00457487,  0.00465908,
2536      0.00474045,  0.00481857,  0.00489277,  0.00496235,
2537      0.00502666,  0.00508546,  0.00513877,  0.00518662,
2538      0.00522904,  0.00526648,  0.00529956,  0.00532895,
2539      0.00535532,  0.00537929,  0.00540141,  0.00542228,
2540      0.00544196,  0.00545981,  0.00547515,  0.00548726,
2541      0.00549542,  0.00549899,  0.00549732,  0.00548986,
2542      0.00547633,  0.00545664,  0.00543067,  0.00539849,
2543      0.00536061,  0.00531757,  0.00526993,  0.00521822,
2544      0.00516300,  0.00510485,  0.00504432,  0.00498194,
2545      0.00491822,  0.00485364,  0.00478862,  0.00472309,
2546      0.00465675,  0.00458939,  0.00452067,  0.00445003,
2547      0.00437688,  0.00430063,  0.00422062,  0.00413609,
2548      0.00404632,  0.00395060,  0.00384863,  0.00374044,
2549      0.00362600,  0.00350540,  0.00337934,  0.00324885,
2550      0.00311486,  0.00297849,  0.00284122,  0.00270458,
2551      0.00257013,  0.00243867,  0.00231005,  0.00218399,
2552      0.00206023,  0.00193766,  0.00181460,  0.00168938,
2553      0.00156050,  0.00142701,  0.00128830,  0.00114365,
2554      0.00099297,  0.00083752,  0.00067884,  0.00051845,
2555      0.00035760,  0.00019720,  0.00003813, -0.00011885,
2556     -0.00027375, -0.00042718, -0.00057975, -0.00073204,
2557     -0.00088453, -0.00103767, -0.00119192, -0.00134747,
2558     -0.00150411, -0.00166151, -0.00181932, -0.00197723,
2559     -0.00213493, -0.00229210, -0.00244849, -0.00260415,
2560     -0.00275928, -0.00291410, -0.00306879, -0.00322332,
2561     -0.00337759, -0.00353145, -0.00368470, -0.00383722,
2562     -0.00398892, -0.00413972, -0.00428967, -0.00443889,
2563     -0.00458749, -0.00473571, -0.00488366, -0.00503137,
2564     -0.00517887, -0.00532610, -0.00547302, -0.00561965,
2565     -0.00576598, -0.00591199, -0.00605766, -0.00620300,
2566     -0.00634801, -0.00649273, -0.00663727, -0.00678170,
2567     -0.00692617, -0.00707084, -0.00721583, -0.00736129,
2568     -0.00750735, -0.00765415, -0.00780184, -0.00795059,
2569     -0.00810058, -0.00825195, -0.00840487, -0.00855950,
2570     -0.00871607, -0.00887480, -0.00903596, -0.00919978,
2571     -0.00936650, -0.00953635, -0.00970931, -0.00988421,
2572     -0.01005916, -0.01023208, -0.01040130, -0.01056627,
2573     -0.01072678, -0.01088259, -0.01103348, -0.01117933,
2574     -0.01132004, -0.01145552, -0.01158573, -0.01171065,
2575     -0.01183025, -0.01194454, -0.01205352, -0.01215722,
2576     -0.01225572, -0.01234911, -0.01243749, -0.01252102,
2577     -0.01259985, -0.01267419, -0.01274437, -0.01281078,
2578     -0.01287379, -0.01293350, -0.01298972, -0.01304224,
2579     -0.01309086, -0.01313556, -0.01317644, -0.01321357,
2580     -0.01324707, -0.01327697, -0.01330334, -0.01332622,
2581     -0.01334570, -0.01336194, -0.01337510, -0.01338538,
2582     -0.01339276, -0.01339708, -0.01339816, -0.01339584,
2583     -0.01339014, -0.01338116, -0.01336903, -0.01335382,
2584     -0.01333545, -0.01331381, -0.01328876, -0.01326033,
2585     -0.01322880, -0.01319457, -0.01315806, -0.01311968,
2586     -0.01307987, -0.01303906, -0.01299769, -0.01295623,
2587     -0.01308207, -0.01304153, -0.01299802, -0.01295155,
2588     -0.01290215, -0.01284980, -0.01279450, -0.01273625,
2589     -0.01267501, -0.01261077, -0.01254347, -0.01247306,
2590     -0.01239950, -0.01232277, -0.01224304, -0.01216055,
2591     -0.01207554, -0.01198813, -0.01189829, -0.01180590,
2592     -0.01171090, -0.01161335, -0.01151352, -0.01141167,
2593     -0.01130807, -0.01120289, -0.01109626, -0.01098830,
2594     -0.01087916, -0.01076898, -0.01065793, -0.01054618,
2595     -0.01043380, -0.01032068, -0.01020670, -0.01009171,
2596     -0.00997585, -0.00985959, -0.00974338, -0.00962765,
2597     -0.00951273, -0.00939888, -0.00928634, -0.00917534,
2598     -0.00906604, -0.00895860, -0.00885313, -0.00874977,
2599     -0.00864862, -0.00854979, -0.00845337, -0.00835939,
2600     -0.00826785, -0.00817872, -0.00809195, -0.00800745,
2601     -0.00792506, -0.00784469, -0.00776588, -0.00768695,
2602     -0.00760568, -0.00752004, -0.00742875, -0.00733186,
2603     -0.00722976, -0.00712279, -0.00701130, -0.00689559,
2604     -0.00677595, -0.00665269, -0.00652610, -0.00639649,
2605     -0.00626417, -0.00612943, -0.00599252, -0.00585368,
2606     -0.00571315, -0.00557115, -0.00542792, -0.00528367,
2607     -0.00513864, -0.00499301, -0.00484693, -0.00470054,
2608     -0.00455395, -0.00440733, -0.00426086, -0.00411471,
2609     -0.00396904, -0.00382404, -0.00367991, -0.00353684,
2610     -0.00339502, -0.00325472, -0.00311618, -0.00297967,
2611     -0.00284531, -0.00271307, -0.00258290, -0.00245475,
2612     -0.00232860, -0.00220447, -0.00208236, -0.00196233,
2613     -0.00184450, -0.00172906, -0.00161620, -0.00150603,
2614     -0.00139852, -0.00129358, -0.00119112, -0.00109115,
2615     -0.00099375, -0.00089902, -0.00080705, -0.00071796,
2616     -0.00063185, -0.00054886, -0.00046904, -0.00039231,
2617     -0.00031845, -0.00024728, -0.00017860, -0.00011216,
2618     -0.00004771,  0.00001500,  0.00007600,  0.00013501,
2619      0.00019176,  0.00024595,  0.00029720,  0.00034504,
2620      0.00038902,  0.00042881,  0.00046456,  0.00049662,
2621      0.00052534,  0.00055114,  0.00057459,  0.00059629,
2622      0.00061684,  0.00063660,  0.00065568,  0.00067417,
2623      0.00069213,  0.00070935,  0.00072545,  0.00074005,
2624      0.00075283,  0.00076356,  0.00077209,  0.00077828,
2625      0.00078205,  0.00078350,  0.00078275,  0.00077992,
2626      0.00077520,  0.00076884,  0.00076108,  0.00075218,
2627      0.00074232,  0.00073170,  0.00072048,  0.00070881,
2628      0.00069680,  0.00068450,  0.00067201,  0.00065934,
2629      0.00064647,  0.00063335,  0.00061994,  0.00060621,
2630      0.00059211,  0.00057763,  0.00056274,  0.00054743,
2631      0.00053169,  0.00051553,  0.00049897,  0.00048206,
2632      0.00046487,  0.00044748,  0.00042996,  0.00041241,
2633      0.00039492,  0.00037759,  0.00036049,  0.00034371,
2634      0.00032732,  0.00031137,  0.00029587,  0.00028079,
2635      0.00026612,  0.00025183,  0.00023789,  0.00022428,
2636      0.00021097,  0.00019797,  0.00018530,  0.00017297,
2637      0.00016100,  0.00014942,  0.00013827,  0.00012757,
2638      0.00011736,  0.00010764,  0.00009841,  0.00008969,
2639      0.00008145,  0.00007369,  0.00006641,  0.00005958,
2640      0.00005320,  0.00004725,  0.00004171,  0.00003659,
2641      0.00003186,  0.00002752,  0.00002357,  0.00001999,
2642      0.00001679,  0.00001392,  0.00001140,  0.00000918,
2643      0.00000726,  0.00000562,  0.00000424,  0.00000309,
2644      0.00000217,  0.00000143,  0.00000088,  0.00000048,
2645      0.00000020,  0.00000004, -0.00000004, -0.00000006,
2646     -0.00000004, -0.00000000,  0.00000002,  0.00000000,
2647      0.00000000,  0.00000002, -0.00000000, -0.00000004,
2648     -0.00000005, -0.00000004,  0.00000004,  0.00000019,
2649      0.00000045,  0.00000083,  0.00000134,  0.00000201,
2650      0.00000285,  0.00000387,  0.00000510,  0.00000654,
2651      0.00000821,  0.00001011,  0.00001227,  0.00001468,
2652      0.00001735,  0.00002030,  0.00002352,  0.00002702,
2653      0.00003080,  0.00003486,  0.00003918,  0.00004379,
2654      0.00004866,  0.00005382,  0.00005924,  0.00006495,
2655      0.00007093,  0.00007719,  0.00008373,  0.00009053,
2656      0.00009758,  0.00010488,  0.00011240,  0.00012010,
2657      0.00012796,  0.00013596,  0.00014406,  0.00015226,
2658      0.00016053,  0.00016886,  0.00017725,  0.00018571,
2659      0.00019424,  0.00020286,  0.00021156,  0.00022037,
2660      0.00022928,  0.00023825,  0.00024724,  0.00025621,
2661      0.00026509,  0.00027385,  0.00028241,  0.00029072,
2662      0.00029874,  0.00030643,  0.00031374,  0.00032065,
2663      0.00032715,  0.00033325,  0.00033895,  0.00034425,
2664      0.00034917,  0.00035374,  0.00035796,  0.00036187,
2665      0.00036549,  0.00036883,  0.00037194,  0.00037479,
2666      0.00037736,  0.00037963,  0.00038154,  0.00038306,
2667      0.00038411,  0.00038462,  0.00038453,  0.00038373,
2668      0.00038213,  0.00037965,  0.00037621,  0.00037179,
2669      0.00036636,  0.00035989,  0.00035244,  0.00034407,
2670      0.00033488,  0.00032497,  0.00031449,  0.00030361,
2671      0.00029252,  0.00028133,  0.00027003,  0.00025862,
2672      0.00024706,  0.00023524,  0.00022297,  0.00021004,
2673      0.00019626,  0.00018150,  0.00016566,  0.00014864,
2674      0.00013041,  0.00011112,  0.00009096,  0.00007014,
2675      0.00004884,  0.00002718,  0.00000530, -0.00001667,
2676     -0.00003871, -0.00006090, -0.00008331, -0.00010600,
2677     -0.00012902, -0.00015244, -0.00017631, -0.00020065,
2678     -0.00022541, -0.00025052, -0.00027594, -0.00030159,
2679     -0.00032740, -0.00035332, -0.00037928, -0.00040527,
2680     -0.00043131, -0.00045741, -0.00048357, -0.00050978,
2681     -0.00053599, -0.00056217, -0.00058827, -0.00061423,
2682     -0.00064002, -0.00066562, -0.00069100, -0.00071616,
2683     -0.00074110, -0.00076584, -0.00079036, -0.00081465,
2684     -0.00083869, -0.00086245, -0.00088590, -0.00090901,
2685     -0.00093176, -0.00095413, -0.00097608, -0.00099758,
2686     -0.00101862, -0.00103918, -0.00105924, -0.00107879,
2687     -0.00109783, -0.00111635, -0.00113434, -0.00115181,
2688     -0.00116873, -0.00118510, -0.00120091, -0.00121615,
2689     -0.00123082, -0.00124490, -0.00125838, -0.00127125,
2690     -0.00128350, -0.00129511, -0.00130610, -0.00131643,
2691     -0.00132610, -0.00133509, -0.00134334, -0.00135069,
2692     -0.00135711, -0.00136272, -0.00136768, -0.00137225,
2693     -0.00137649, -0.00138042, -0.00138404, -0.00138737,
2694     -0.00139041, -0.00139317, -0.00139565, -0.00139785,
2695     -0.00139976, -0.00140137, -0.00140267, -0.00140366,
2696     -0.00140432, -0.00140464, -0.00140461, -0.00140423,
2697     -0.00140347, -0.00140235, -0.00140084, -0.00139894,
2698     -0.00139664, -0.00139388, -0.00139065, -0.00138694,
2699     -0.00138278, -0.00137818, -0.00137317, -0.00136772,
2700     -0.00136185, -0.00135556, -0.00134884, -0.00134170,
2701     -0.00133415, -0.00132619, -0.00131784, -0.00130908,
2702     -0.00129991, -0.00129031, -0.00128031, -0.00126990,
2703     -0.00125912, -0.00124797, -0.00123645, -0.00122458,
2704     -0.00121233, -0.00119972, -0.00118676, -0.00117347,
2705     -0.00115988, -0.00114605, -0.00113200, -0.00111778,
2706     -0.00110343, -0.00108898, -0.00107448, -0.00105995,
2707 };