FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
aactab.c
Go to the documentation of this file.
1 /*
2  * AAC data
3  * Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4  * Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5  *
6  * This file is part of FFmpeg.
7  *
8  * FFmpeg is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * FFmpeg is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with FFmpeg; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  */
22 
23 /**
24  * @file
25  * AAC data
26  * @author Oded Shimon ( ods15 ods15 dyndns org )
27  * @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28  */
29 
30 #include "libavutil/mem.h"
31 #include "aac.h"
32 #include "aac_tablegen.h"
33 
34 #include <stdint.h>
35 
38 
40  41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40, 40
41 };
42 
44  0, 0, 0, 36, 36, 37, 31, 31, 0, 0, 0, 0, 0
45 };
46 
48  0, 0, 0, 35, 35, 37, 30, 30, 0, 0, 0, 0, 0
49 };
50 
52  12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15
53 };
54 
56  33, 33, 38, 40, 40, 40, 41, 41, 37, 37, 37, 34, 34
57 };
58 
59 const uint32_t ff_aac_scalefactor_code[121] = {
60  0x3ffe8, 0x3ffe6, 0x3ffe7, 0x3ffe5, 0x7fff5, 0x7fff1, 0x7ffed, 0x7fff6,
61  0x7ffee, 0x7ffef, 0x7fff0, 0x7fffc, 0x7fffd, 0x7ffff, 0x7fffe, 0x7fff7,
62  0x7fff8, 0x7fffb, 0x7fff9, 0x3ffe4, 0x7fffa, 0x3ffe3, 0x1ffef, 0x1fff0,
63  0x0fff5, 0x1ffee, 0x0fff2, 0x0fff3, 0x0fff4, 0x0fff1, 0x07ff6, 0x07ff7,
64  0x03ff9, 0x03ff5, 0x03ff7, 0x03ff3, 0x03ff6, 0x03ff2, 0x01ff7, 0x01ff5,
65  0x00ff9, 0x00ff7, 0x00ff6, 0x007f9, 0x00ff4, 0x007f8, 0x003f9, 0x003f7,
66  0x003f5, 0x001f8, 0x001f7, 0x000fa, 0x000f8, 0x000f6, 0x00079, 0x0003a,
67  0x00038, 0x0001a, 0x0000b, 0x00004, 0x00000, 0x0000a, 0x0000c, 0x0001b,
68  0x00039, 0x0003b, 0x00078, 0x0007a, 0x000f7, 0x000f9, 0x001f6, 0x001f9,
69  0x003f4, 0x003f6, 0x003f8, 0x007f5, 0x007f4, 0x007f6, 0x007f7, 0x00ff5,
70  0x00ff8, 0x01ff4, 0x01ff6, 0x01ff8, 0x03ff8, 0x03ff4, 0x0fff0, 0x07ff4,
71  0x0fff6, 0x07ff5, 0x3ffe2, 0x7ffd9, 0x7ffda, 0x7ffdb, 0x7ffdc, 0x7ffdd,
72  0x7ffde, 0x7ffd8, 0x7ffd2, 0x7ffd3, 0x7ffd4, 0x7ffd5, 0x7ffd6, 0x7fff2,
73  0x7ffdf, 0x7ffe7, 0x7ffe8, 0x7ffe9, 0x7ffea, 0x7ffeb, 0x7ffe6, 0x7ffe0,
74  0x7ffe1, 0x7ffe2, 0x7ffe3, 0x7ffe4, 0x7ffe5, 0x7ffd7, 0x7ffec, 0x7fff4,
75  0x7fff3,
76 };
77 
79  18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
80  19, 19, 19, 18, 19, 18, 17, 17, 16, 17, 16, 16, 16, 16, 15, 15,
81  14, 14, 14, 14, 14, 14, 13, 13, 12, 12, 12, 11, 12, 11, 10, 10,
82  10, 9, 9, 8, 8, 8, 7, 6, 6, 5, 4, 3, 1, 4, 4, 5,
83  6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 11, 11, 12,
84  12, 13, 13, 13, 14, 14, 16, 15, 16, 15, 18, 19, 19, 19, 19, 19,
85  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
86  19, 19, 19, 19, 19, 19, 19, 19, 19,
87 };
88 
89 static const uint16_t codes1[81] = {
90  0x7f8, 0x1f1, 0x7fd, 0x3f5, 0x068, 0x3f0, 0x7f7, 0x1ec,
91  0x7f5, 0x3f1, 0x072, 0x3f4, 0x074, 0x011, 0x076, 0x1eb,
92  0x06c, 0x3f6, 0x7fc, 0x1e1, 0x7f1, 0x1f0, 0x061, 0x1f6,
93  0x7f2, 0x1ea, 0x7fb, 0x1f2, 0x069, 0x1ed, 0x077, 0x017,
94  0x06f, 0x1e6, 0x064, 0x1e5, 0x067, 0x015, 0x062, 0x012,
95  0x000, 0x014, 0x065, 0x016, 0x06d, 0x1e9, 0x063, 0x1e4,
96  0x06b, 0x013, 0x071, 0x1e3, 0x070, 0x1f3, 0x7fe, 0x1e7,
97  0x7f3, 0x1ef, 0x060, 0x1ee, 0x7f0, 0x1e2, 0x7fa, 0x3f3,
98  0x06a, 0x1e8, 0x075, 0x010, 0x073, 0x1f4, 0x06e, 0x3f7,
99  0x7f6, 0x1e0, 0x7f9, 0x3f2, 0x066, 0x1f5, 0x7ff, 0x1f7,
100  0x7f4,
101 };
102 
103 static const uint8_t bits1[81] = {
104  11, 9, 11, 10, 7, 10, 11, 9, 11, 10, 7, 10, 7, 5, 7, 9,
105  7, 10, 11, 9, 11, 9, 7, 9, 11, 9, 11, 9, 7, 9, 7, 5,
106  7, 9, 7, 9, 7, 5, 7, 5, 1, 5, 7, 5, 7, 9, 7, 9,
107  7, 5, 7, 9, 7, 9, 11, 9, 11, 9, 7, 9, 11, 9, 11, 10,
108  7, 9, 7, 5, 7, 9, 7, 10, 11, 9, 11, 10, 7, 9, 11, 9,
109  11,
110 };
111 
112 static const uint16_t codes2[81] = {
113  0x1f3, 0x06f, 0x1fd, 0x0eb, 0x023, 0x0ea, 0x1f7, 0x0e8,
114  0x1fa, 0x0f2, 0x02d, 0x070, 0x020, 0x006, 0x02b, 0x06e,
115  0x028, 0x0e9, 0x1f9, 0x066, 0x0f8, 0x0e7, 0x01b, 0x0f1,
116  0x1f4, 0x06b, 0x1f5, 0x0ec, 0x02a, 0x06c, 0x02c, 0x00a,
117  0x027, 0x067, 0x01a, 0x0f5, 0x024, 0x008, 0x01f, 0x009,
118  0x000, 0x007, 0x01d, 0x00b, 0x030, 0x0ef, 0x01c, 0x064,
119  0x01e, 0x00c, 0x029, 0x0f3, 0x02f, 0x0f0, 0x1fc, 0x071,
120  0x1f2, 0x0f4, 0x021, 0x0e6, 0x0f7, 0x068, 0x1f8, 0x0ee,
121  0x022, 0x065, 0x031, 0x002, 0x026, 0x0ed, 0x025, 0x06a,
122  0x1fb, 0x072, 0x1fe, 0x069, 0x02e, 0x0f6, 0x1ff, 0x06d,
123  0x1f6,
124 };
125 
126 static const uint8_t bits2[81] = {
127  9, 7, 9, 8, 6, 8, 9, 8, 9, 8, 6, 7, 6, 5, 6, 7,
128  6, 8, 9, 7, 8, 8, 6, 8, 9, 7, 9, 8, 6, 7, 6, 5,
129  6, 7, 6, 8, 6, 5, 6, 5, 3, 5, 6, 5, 6, 8, 6, 7,
130  6, 5, 6, 8, 6, 8, 9, 7, 9, 8, 6, 8, 8, 7, 9, 8,
131  6, 7, 6, 4, 6, 8, 6, 7, 9, 7, 9, 7, 6, 8, 9, 7,
132  9,
133 };
134 
135 static const uint16_t codes3[81] = {
136  0x0000, 0x0009, 0x00ef, 0x000b, 0x0019, 0x00f0, 0x01eb, 0x01e6,
137  0x03f2, 0x000a, 0x0035, 0x01ef, 0x0034, 0x0037, 0x01e9, 0x01ed,
138  0x01e7, 0x03f3, 0x01ee, 0x03ed, 0x1ffa, 0x01ec, 0x01f2, 0x07f9,
139  0x07f8, 0x03f8, 0x0ff8, 0x0008, 0x0038, 0x03f6, 0x0036, 0x0075,
140  0x03f1, 0x03eb, 0x03ec, 0x0ff4, 0x0018, 0x0076, 0x07f4, 0x0039,
141  0x0074, 0x03ef, 0x01f3, 0x01f4, 0x07f6, 0x01e8, 0x03ea, 0x1ffc,
142  0x00f2, 0x01f1, 0x0ffb, 0x03f5, 0x07f3, 0x0ffc, 0x00ee, 0x03f7,
143  0x7ffe, 0x01f0, 0x07f5, 0x7ffd, 0x1ffb, 0x3ffa, 0xffff, 0x00f1,
144  0x03f0, 0x3ffc, 0x01ea, 0x03ee, 0x3ffb, 0x0ff6, 0x0ffa, 0x7ffc,
145  0x07f2, 0x0ff5, 0xfffe, 0x03f4, 0x07f7, 0x7ffb, 0x0ff7, 0x0ff9,
146  0x7ffa,
147 };
148 
149 static const uint8_t bits3[81] = {
150  1, 4, 8, 4, 5, 8, 9, 9, 10, 4, 6, 9, 6, 6, 9, 9,
151  9, 10, 9, 10, 13, 9, 9, 11, 11, 10, 12, 4, 6, 10, 6, 7,
152  10, 10, 10, 12, 5, 7, 11, 6, 7, 10, 9, 9, 11, 9, 10, 13,
153  8, 9, 12, 10, 11, 12, 8, 10, 15, 9, 11, 15, 13, 14, 16, 8,
154  10, 14, 9, 10, 14, 12, 12, 15, 11, 12, 16, 10, 11, 15, 12, 12,
155  15,
156 };
157 
158 static const uint16_t codes4[81] = {
159  0x007, 0x016, 0x0f6, 0x018, 0x008, 0x0ef, 0x1ef, 0x0f3,
160  0x7f8, 0x019, 0x017, 0x0ed, 0x015, 0x001, 0x0e2, 0x0f0,
161  0x070, 0x3f0, 0x1ee, 0x0f1, 0x7fa, 0x0ee, 0x0e4, 0x3f2,
162  0x7f6, 0x3ef, 0x7fd, 0x005, 0x014, 0x0f2, 0x009, 0x004,
163  0x0e5, 0x0f4, 0x0e8, 0x3f4, 0x006, 0x002, 0x0e7, 0x003,
164  0x000, 0x06b, 0x0e3, 0x069, 0x1f3, 0x0eb, 0x0e6, 0x3f6,
165  0x06e, 0x06a, 0x1f4, 0x3ec, 0x1f0, 0x3f9, 0x0f5, 0x0ec,
166  0x7fb, 0x0ea, 0x06f, 0x3f7, 0x7f9, 0x3f3, 0xfff, 0x0e9,
167  0x06d, 0x3f8, 0x06c, 0x068, 0x1f5, 0x3ee, 0x1f2, 0x7f4,
168  0x7f7, 0x3f1, 0xffe, 0x3ed, 0x1f1, 0x7f5, 0x7fe, 0x3f5,
169  0x7fc,
170 };
171 
172 static const uint8_t bits4[81] = {
173  4, 5, 8, 5, 4, 8, 9, 8, 11, 5, 5, 8, 5, 4, 8, 8,
174  7, 10, 9, 8, 11, 8, 8, 10, 11, 10, 11, 4, 5, 8, 4, 4,
175  8, 8, 8, 10, 4, 4, 8, 4, 4, 7, 8, 7, 9, 8, 8, 10,
176  7, 7, 9, 10, 9, 10, 8, 8, 11, 8, 7, 10, 11, 10, 12, 8,
177  7, 10, 7, 7, 9, 10, 9, 11, 11, 10, 12, 10, 9, 11, 11, 10,
178  11,
179 };
180 
181 static const uint16_t codes5[81] = {
182  0x1fff, 0x0ff7, 0x07f4, 0x07e8, 0x03f1, 0x07ee, 0x07f9, 0x0ff8,
183  0x1ffd, 0x0ffd, 0x07f1, 0x03e8, 0x01e8, 0x00f0, 0x01ec, 0x03ee,
184  0x07f2, 0x0ffa, 0x0ff4, 0x03ef, 0x01f2, 0x00e8, 0x0070, 0x00ec,
185  0x01f0, 0x03ea, 0x07f3, 0x07eb, 0x01eb, 0x00ea, 0x001a, 0x0008,
186  0x0019, 0x00ee, 0x01ef, 0x07ed, 0x03f0, 0x00f2, 0x0073, 0x000b,
187  0x0000, 0x000a, 0x0071, 0x00f3, 0x07e9, 0x07ef, 0x01ee, 0x00ef,
188  0x0018, 0x0009, 0x001b, 0x00eb, 0x01e9, 0x07ec, 0x07f6, 0x03eb,
189  0x01f3, 0x00ed, 0x0072, 0x00e9, 0x01f1, 0x03ed, 0x07f7, 0x0ff6,
190  0x07f0, 0x03e9, 0x01ed, 0x00f1, 0x01ea, 0x03ec, 0x07f8, 0x0ff9,
191  0x1ffc, 0x0ffc, 0x0ff5, 0x07ea, 0x03f3, 0x03f2, 0x07f5, 0x0ffb,
192  0x1ffe,
193 };
194 
195 static const uint8_t bits5[81] = {
196  13, 12, 11, 11, 10, 11, 11, 12, 13, 12, 11, 10, 9, 8, 9, 10,
197  11, 12, 12, 10, 9, 8, 7, 8, 9, 10, 11, 11, 9, 8, 5, 4,
198  5, 8, 9, 11, 10, 8, 7, 4, 1, 4, 7, 8, 11, 11, 9, 8,
199  5, 4, 5, 8, 9, 11, 11, 10, 9, 8, 7, 8, 9, 10, 11, 12,
200  11, 10, 9, 8, 9, 10, 11, 12, 13, 12, 12, 11, 10, 10, 11, 12,
201  13,
202 };
203 
204 static const uint16_t codes6[81] = {
205  0x7fe, 0x3fd, 0x1f1, 0x1eb, 0x1f4, 0x1ea, 0x1f0, 0x3fc,
206  0x7fd, 0x3f6, 0x1e5, 0x0ea, 0x06c, 0x071, 0x068, 0x0f0,
207  0x1e6, 0x3f7, 0x1f3, 0x0ef, 0x032, 0x027, 0x028, 0x026,
208  0x031, 0x0eb, 0x1f7, 0x1e8, 0x06f, 0x02e, 0x008, 0x004,
209  0x006, 0x029, 0x06b, 0x1ee, 0x1ef, 0x072, 0x02d, 0x002,
210  0x000, 0x003, 0x02f, 0x073, 0x1fa, 0x1e7, 0x06e, 0x02b,
211  0x007, 0x001, 0x005, 0x02c, 0x06d, 0x1ec, 0x1f9, 0x0ee,
212  0x030, 0x024, 0x02a, 0x025, 0x033, 0x0ec, 0x1f2, 0x3f8,
213  0x1e4, 0x0ed, 0x06a, 0x070, 0x069, 0x074, 0x0f1, 0x3fa,
214  0x7ff, 0x3f9, 0x1f6, 0x1ed, 0x1f8, 0x1e9, 0x1f5, 0x3fb,
215  0x7fc,
216 };
217 
218 static const uint8_t bits6[81] = {
219  11, 10, 9, 9, 9, 9, 9, 10, 11, 10, 9, 8, 7, 7, 7, 8,
220  9, 10, 9, 8, 6, 6, 6, 6, 6, 8, 9, 9, 7, 6, 4, 4,
221  4, 6, 7, 9, 9, 7, 6, 4, 4, 4, 6, 7, 9, 9, 7, 6,
222  4, 4, 4, 6, 7, 9, 9, 8, 6, 6, 6, 6, 6, 8, 9, 10,
223  9, 8, 7, 7, 7, 7, 8, 10, 11, 10, 9, 9, 9, 9, 9, 10,
224  11,
225 };
226 
227 static const uint16_t codes7[64] = {
228  0x000, 0x005, 0x037, 0x074, 0x0f2, 0x1eb, 0x3ed, 0x7f7,
229  0x004, 0x00c, 0x035, 0x071, 0x0ec, 0x0ee, 0x1ee, 0x1f5,
230  0x036, 0x034, 0x072, 0x0ea, 0x0f1, 0x1e9, 0x1f3, 0x3f5,
231  0x073, 0x070, 0x0eb, 0x0f0, 0x1f1, 0x1f0, 0x3ec, 0x3fa,
232  0x0f3, 0x0ed, 0x1e8, 0x1ef, 0x3ef, 0x3f1, 0x3f9, 0x7fb,
233  0x1ed, 0x0ef, 0x1ea, 0x1f2, 0x3f3, 0x3f8, 0x7f9, 0x7fc,
234  0x3ee, 0x1ec, 0x1f4, 0x3f4, 0x3f7, 0x7f8, 0xffd, 0xffe,
235  0x7f6, 0x3f0, 0x3f2, 0x3f6, 0x7fa, 0x7fd, 0xffc, 0xfff,
236 };
237 
238 static const uint8_t bits7[64] = {
239  1, 3, 6, 7, 8, 9, 10, 11, 3, 4, 6, 7, 8, 8, 9, 9,
240  6, 6, 7, 8, 8, 9, 9, 10, 7, 7, 8, 8, 9, 9, 10, 10,
241  8, 8, 9, 9, 10, 10, 10, 11, 9, 8, 9, 9, 10, 10, 11, 11,
242  10, 9, 9, 10, 10, 11, 12, 12, 11, 10, 10, 10, 11, 11, 12, 12,
243 };
244 
245 static const uint16_t codes8[64] = {
246  0x00e, 0x005, 0x010, 0x030, 0x06f, 0x0f1, 0x1fa, 0x3fe,
247  0x003, 0x000, 0x004, 0x012, 0x02c, 0x06a, 0x075, 0x0f8,
248  0x00f, 0x002, 0x006, 0x014, 0x02e, 0x069, 0x072, 0x0f5,
249  0x02f, 0x011, 0x013, 0x02a, 0x032, 0x06c, 0x0ec, 0x0fa,
250  0x071, 0x02b, 0x02d, 0x031, 0x06d, 0x070, 0x0f2, 0x1f9,
251  0x0ef, 0x068, 0x033, 0x06b, 0x06e, 0x0ee, 0x0f9, 0x3fc,
252  0x1f8, 0x074, 0x073, 0x0ed, 0x0f0, 0x0f6, 0x1f6, 0x1fd,
253  0x3fd, 0x0f3, 0x0f4, 0x0f7, 0x1f7, 0x1fb, 0x1fc, 0x3ff,
254 };
255 
256 static const uint8_t bits8[64] = {
257  5, 4, 5, 6, 7, 8, 9, 10, 4, 3, 4, 5, 6, 7, 7, 8,
258  5, 4, 4, 5, 6, 7, 7, 8, 6, 5, 5, 6, 6, 7, 8, 8,
259  7, 6, 6, 6, 7, 7, 8, 9, 8, 7, 6, 7, 7, 8, 8, 10,
260  9, 7, 7, 8, 8, 8, 9, 9, 10, 8, 8, 8, 9, 9, 9, 10,
261 };
262 
263 static const uint16_t codes9[169] = {
264  0x0000, 0x0005, 0x0037, 0x00e7, 0x01de, 0x03ce, 0x03d9, 0x07c8,
265  0x07cd, 0x0fc8, 0x0fdd, 0x1fe4, 0x1fec, 0x0004, 0x000c, 0x0035,
266  0x0072, 0x00ea, 0x00ed, 0x01e2, 0x03d1, 0x03d3, 0x03e0, 0x07d8,
267  0x0fcf, 0x0fd5, 0x0036, 0x0034, 0x0071, 0x00e8, 0x00ec, 0x01e1,
268  0x03cf, 0x03dd, 0x03db, 0x07d0, 0x0fc7, 0x0fd4, 0x0fe4, 0x00e6,
269  0x0070, 0x00e9, 0x01dd, 0x01e3, 0x03d2, 0x03dc, 0x07cc, 0x07ca,
270  0x07de, 0x0fd8, 0x0fea, 0x1fdb, 0x01df, 0x00eb, 0x01dc, 0x01e6,
271  0x03d5, 0x03de, 0x07cb, 0x07dd, 0x07dc, 0x0fcd, 0x0fe2, 0x0fe7,
272  0x1fe1, 0x03d0, 0x01e0, 0x01e4, 0x03d6, 0x07c5, 0x07d1, 0x07db,
273  0x0fd2, 0x07e0, 0x0fd9, 0x0feb, 0x1fe3, 0x1fe9, 0x07c4, 0x01e5,
274  0x03d7, 0x07c6, 0x07cf, 0x07da, 0x0fcb, 0x0fda, 0x0fe3, 0x0fe9,
275  0x1fe6, 0x1ff3, 0x1ff7, 0x07d3, 0x03d8, 0x03e1, 0x07d4, 0x07d9,
276  0x0fd3, 0x0fde, 0x1fdd, 0x1fd9, 0x1fe2, 0x1fea, 0x1ff1, 0x1ff6,
277  0x07d2, 0x03d4, 0x03da, 0x07c7, 0x07d7, 0x07e2, 0x0fce, 0x0fdb,
278  0x1fd8, 0x1fee, 0x3ff0, 0x1ff4, 0x3ff2, 0x07e1, 0x03df, 0x07c9,
279  0x07d6, 0x0fca, 0x0fd0, 0x0fe5, 0x0fe6, 0x1feb, 0x1fef, 0x3ff3,
280  0x3ff4, 0x3ff5, 0x0fe0, 0x07ce, 0x07d5, 0x0fc6, 0x0fd1, 0x0fe1,
281  0x1fe0, 0x1fe8, 0x1ff0, 0x3ff1, 0x3ff8, 0x3ff6, 0x7ffc, 0x0fe8,
282  0x07df, 0x0fc9, 0x0fd7, 0x0fdc, 0x1fdc, 0x1fdf, 0x1fed, 0x1ff5,
283  0x3ff9, 0x3ffb, 0x7ffd, 0x7ffe, 0x1fe7, 0x0fcc, 0x0fd6, 0x0fdf,
284  0x1fde, 0x1fda, 0x1fe5, 0x1ff2, 0x3ffa, 0x3ff7, 0x3ffc, 0x3ffd,
285  0x7fff,
286 };
287 
288 static const uint8_t bits9[169] = {
289  1, 3, 6, 8, 9, 10, 10, 11, 11, 12, 12, 13, 13, 3, 4, 6,
290  7, 8, 8, 9, 10, 10, 10, 11, 12, 12, 6, 6, 7, 8, 8, 9,
291  10, 10, 10, 11, 12, 12, 12, 8, 7, 8, 9, 9, 10, 10, 11, 11,
292  11, 12, 12, 13, 9, 8, 9, 9, 10, 10, 11, 11, 11, 12, 12, 12,
293  13, 10, 9, 9, 10, 11, 11, 11, 12, 11, 12, 12, 13, 13, 11, 9,
294  10, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 11, 10, 10, 11, 11,
295  12, 12, 13, 13, 13, 13, 13, 13, 11, 10, 10, 11, 11, 11, 12, 12,
296  13, 13, 14, 13, 14, 11, 10, 11, 11, 12, 12, 12, 12, 13, 13, 14,
297  14, 14, 12, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 12,
298  11, 12, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15, 13, 12, 12, 12,
299  13, 13, 13, 13, 14, 14, 14, 14, 15,
300 };
301 
302 static const uint16_t codes10[169] = {
303  0x022, 0x008, 0x01d, 0x026, 0x05f, 0x0d3, 0x1cf, 0x3d0,
304  0x3d7, 0x3ed, 0x7f0, 0x7f6, 0xffd, 0x007, 0x000, 0x001,
305  0x009, 0x020, 0x054, 0x060, 0x0d5, 0x0dc, 0x1d4, 0x3cd,
306  0x3de, 0x7e7, 0x01c, 0x002, 0x006, 0x00c, 0x01e, 0x028,
307  0x05b, 0x0cd, 0x0d9, 0x1ce, 0x1dc, 0x3d9, 0x3f1, 0x025,
308  0x00b, 0x00a, 0x00d, 0x024, 0x057, 0x061, 0x0cc, 0x0dd,
309  0x1cc, 0x1de, 0x3d3, 0x3e7, 0x05d, 0x021, 0x01f, 0x023,
310  0x027, 0x059, 0x064, 0x0d8, 0x0df, 0x1d2, 0x1e2, 0x3dd,
311  0x3ee, 0x0d1, 0x055, 0x029, 0x056, 0x058, 0x062, 0x0ce,
312  0x0e0, 0x0e2, 0x1da, 0x3d4, 0x3e3, 0x7eb, 0x1c9, 0x05e,
313  0x05a, 0x05c, 0x063, 0x0ca, 0x0da, 0x1c7, 0x1ca, 0x1e0,
314  0x3db, 0x3e8, 0x7ec, 0x1e3, 0x0d2, 0x0cb, 0x0d0, 0x0d7,
315  0x0db, 0x1c6, 0x1d5, 0x1d8, 0x3ca, 0x3da, 0x7ea, 0x7f1,
316  0x1e1, 0x0d4, 0x0cf, 0x0d6, 0x0de, 0x0e1, 0x1d0, 0x1d6,
317  0x3d1, 0x3d5, 0x3f2, 0x7ee, 0x7fb, 0x3e9, 0x1cd, 0x1c8,
318  0x1cb, 0x1d1, 0x1d7, 0x1df, 0x3cf, 0x3e0, 0x3ef, 0x7e6,
319  0x7f8, 0xffa, 0x3eb, 0x1dd, 0x1d3, 0x1d9, 0x1db, 0x3d2,
320  0x3cc, 0x3dc, 0x3ea, 0x7ed, 0x7f3, 0x7f9, 0xff9, 0x7f2,
321  0x3ce, 0x1e4, 0x3cb, 0x3d8, 0x3d6, 0x3e2, 0x3e5, 0x7e8,
322  0x7f4, 0x7f5, 0x7f7, 0xffb, 0x7fa, 0x3ec, 0x3df, 0x3e1,
323  0x3e4, 0x3e6, 0x3f0, 0x7e9, 0x7ef, 0xff8, 0xffe, 0xffc,
324  0xfff,
325 };
326 
327 static const uint8_t bits10[169] = {
328  6, 5, 6, 6, 7, 8, 9, 10, 10, 10, 11, 11, 12, 5, 4, 4,
329  5, 6, 7, 7, 8, 8, 9, 10, 10, 11, 6, 4, 5, 5, 6, 6,
330  7, 8, 8, 9, 9, 10, 10, 6, 5, 5, 5, 6, 7, 7, 8, 8,
331  9, 9, 10, 10, 7, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 10,
332  10, 8, 7, 6, 7, 7, 7, 8, 8, 8, 9, 10, 10, 11, 9, 7,
333  7, 7, 7, 8, 8, 9, 9, 9, 10, 10, 11, 9, 8, 8, 8, 8,
334  8, 9, 9, 9, 10, 10, 11, 11, 9, 8, 8, 8, 8, 8, 9, 9,
335  10, 10, 10, 11, 11, 10, 9, 9, 9, 9, 9, 9, 10, 10, 10, 11,
336  11, 12, 10, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 12, 11,
337  10, 9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 11, 10, 10, 10,
338  10, 10, 10, 11, 11, 12, 12, 12, 12,
339 };
340 
341 static const uint16_t codes11[289] = {
342  0x000, 0x006, 0x019, 0x03d, 0x09c, 0x0c6, 0x1a7, 0x390,
343  0x3c2, 0x3df, 0x7e6, 0x7f3, 0xffb, 0x7ec, 0xffa, 0xffe,
344  0x38e, 0x005, 0x001, 0x008, 0x014, 0x037, 0x042, 0x092,
345  0x0af, 0x191, 0x1a5, 0x1b5, 0x39e, 0x3c0, 0x3a2, 0x3cd,
346  0x7d6, 0x0ae, 0x017, 0x007, 0x009, 0x018, 0x039, 0x040,
347  0x08e, 0x0a3, 0x0b8, 0x199, 0x1ac, 0x1c1, 0x3b1, 0x396,
348  0x3be, 0x3ca, 0x09d, 0x03c, 0x015, 0x016, 0x01a, 0x03b,
349  0x044, 0x091, 0x0a5, 0x0be, 0x196, 0x1ae, 0x1b9, 0x3a1,
350  0x391, 0x3a5, 0x3d5, 0x094, 0x09a, 0x036, 0x038, 0x03a,
351  0x041, 0x08c, 0x09b, 0x0b0, 0x0c3, 0x19e, 0x1ab, 0x1bc,
352  0x39f, 0x38f, 0x3a9, 0x3cf, 0x093, 0x0bf, 0x03e, 0x03f,
353  0x043, 0x045, 0x09e, 0x0a7, 0x0b9, 0x194, 0x1a2, 0x1ba,
354  0x1c3, 0x3a6, 0x3a7, 0x3bb, 0x3d4, 0x09f, 0x1a0, 0x08f,
355  0x08d, 0x090, 0x098, 0x0a6, 0x0b6, 0x0c4, 0x19f, 0x1af,
356  0x1bf, 0x399, 0x3bf, 0x3b4, 0x3c9, 0x3e7, 0x0a8, 0x1b6,
357  0x0ab, 0x0a4, 0x0aa, 0x0b2, 0x0c2, 0x0c5, 0x198, 0x1a4,
358  0x1b8, 0x38c, 0x3a4, 0x3c4, 0x3c6, 0x3dd, 0x3e8, 0x0ad,
359  0x3af, 0x192, 0x0bd, 0x0bc, 0x18e, 0x197, 0x19a, 0x1a3,
360  0x1b1, 0x38d, 0x398, 0x3b7, 0x3d3, 0x3d1, 0x3db, 0x7dd,
361  0x0b4, 0x3de, 0x1a9, 0x19b, 0x19c, 0x1a1, 0x1aa, 0x1ad,
362  0x1b3, 0x38b, 0x3b2, 0x3b8, 0x3ce, 0x3e1, 0x3e0, 0x7d2,
363  0x7e5, 0x0b7, 0x7e3, 0x1bb, 0x1a8, 0x1a6, 0x1b0, 0x1b2,
364  0x1b7, 0x39b, 0x39a, 0x3ba, 0x3b5, 0x3d6, 0x7d7, 0x3e4,
365  0x7d8, 0x7ea, 0x0ba, 0x7e8, 0x3a0, 0x1bd, 0x1b4, 0x38a,
366  0x1c4, 0x392, 0x3aa, 0x3b0, 0x3bc, 0x3d7, 0x7d4, 0x7dc,
367  0x7db, 0x7d5, 0x7f0, 0x0c1, 0x7fb, 0x3c8, 0x3a3, 0x395,
368  0x39d, 0x3ac, 0x3ae, 0x3c5, 0x3d8, 0x3e2, 0x3e6, 0x7e4,
369  0x7e7, 0x7e0, 0x7e9, 0x7f7, 0x190, 0x7f2, 0x393, 0x1be,
370  0x1c0, 0x394, 0x397, 0x3ad, 0x3c3, 0x3c1, 0x3d2, 0x7da,
371  0x7d9, 0x7df, 0x7eb, 0x7f4, 0x7fa, 0x195, 0x7f8, 0x3bd,
372  0x39c, 0x3ab, 0x3a8, 0x3b3, 0x3b9, 0x3d0, 0x3e3, 0x3e5,
373  0x7e2, 0x7de, 0x7ed, 0x7f1, 0x7f9, 0x7fc, 0x193, 0xffd,
374  0x3dc, 0x3b6, 0x3c7, 0x3cc, 0x3cb, 0x3d9, 0x3da, 0x7d3,
375  0x7e1, 0x7ee, 0x7ef, 0x7f5, 0x7f6, 0xffc, 0xfff, 0x19d,
376  0x1c2, 0x0b5, 0x0a1, 0x096, 0x097, 0x095, 0x099, 0x0a0,
377  0x0a2, 0x0ac, 0x0a9, 0x0b1, 0x0b3, 0x0bb, 0x0c0, 0x18f,
378  0x004,
379 };
380 
381 static const uint8_t bits11[289] = {
382  4, 5, 6, 7, 8, 8, 9, 10, 10, 10, 11, 11, 12, 11, 12, 12,
383  10, 5, 4, 5, 6, 7, 7, 8, 8, 9, 9, 9, 10, 10, 10, 10,
384  11, 8, 6, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10,
385  10, 10, 8, 7, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 10,
386  10, 10, 10, 8, 8, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
387  10, 10, 10, 10, 8, 8, 7, 7, 7, 7, 8, 8, 8, 9, 9, 9,
388  9, 10, 10, 10, 10, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 9,
389  9, 10, 10, 10, 10, 10, 8, 9, 8, 8, 8, 8, 8, 8, 9, 9,
390  9, 10, 10, 10, 10, 10, 10, 8, 10, 9, 8, 8, 9, 9, 9, 9,
391  9, 10, 10, 10, 10, 10, 10, 11, 8, 10, 9, 9, 9, 9, 9, 9,
392  9, 10, 10, 10, 10, 10, 10, 11, 11, 8, 11, 9, 9, 9, 9, 9,
393  9, 10, 10, 10, 10, 10, 11, 10, 11, 11, 8, 11, 10, 9, 9, 10,
394  9, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 8, 11, 10, 10, 10,
395  10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 9, 11, 10, 9,
396  9, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 9, 11, 10,
397  10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 9, 12,
398  10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 12, 12, 9,
399  9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
400  5,
401 };
402 
403 const uint16_t * const ff_aac_spectral_codes[11] = {
406 };
407 
408 const uint8_t * const ff_aac_spectral_bits[11] = {
410  bits9, bits10, bits11,
411 };
412 
413 const uint16_t ff_aac_spectral_sizes[11] = {
414  81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289,
415 };
416 
417 /* NOTE:
418  * 64.0f is a special value indicating the existence of an escape code in the
419  * bitstream.
420  */
421 static const DECLARE_ALIGNED(16, float, codebook_vector0)[324] = {
422  -1.0000000, -1.0000000, -1.0000000, -1.0000000,
423  -1.0000000, -1.0000000, -1.0000000, 0.0000000,
424  -1.0000000, -1.0000000, -1.0000000, 1.0000000,
425  -1.0000000, -1.0000000, 0.0000000, -1.0000000,
426  -1.0000000, -1.0000000, 0.0000000, 0.0000000,
427  -1.0000000, -1.0000000, 0.0000000, 1.0000000,
428  -1.0000000, -1.0000000, 1.0000000, -1.0000000,
429  -1.0000000, -1.0000000, 1.0000000, 0.0000000,
430  -1.0000000, -1.0000000, 1.0000000, 1.0000000,
431  -1.0000000, 0.0000000, -1.0000000, -1.0000000,
432  -1.0000000, 0.0000000, -1.0000000, 0.0000000,
433  -1.0000000, 0.0000000, -1.0000000, 1.0000000,
434  -1.0000000, 0.0000000, 0.0000000, -1.0000000,
435  -1.0000000, 0.0000000, 0.0000000, 0.0000000,
436  -1.0000000, 0.0000000, 0.0000000, 1.0000000,
437  -1.0000000, 0.0000000, 1.0000000, -1.0000000,
438  -1.0000000, 0.0000000, 1.0000000, 0.0000000,
439  -1.0000000, 0.0000000, 1.0000000, 1.0000000,
440  -1.0000000, 1.0000000, -1.0000000, -1.0000000,
441  -1.0000000, 1.0000000, -1.0000000, 0.0000000,
442  -1.0000000, 1.0000000, -1.0000000, 1.0000000,
443  -1.0000000, 1.0000000, 0.0000000, -1.0000000,
444  -1.0000000, 1.0000000, 0.0000000, 0.0000000,
445  -1.0000000, 1.0000000, 0.0000000, 1.0000000,
446  -1.0000000, 1.0000000, 1.0000000, -1.0000000,
447  -1.0000000, 1.0000000, 1.0000000, 0.0000000,
448  -1.0000000, 1.0000000, 1.0000000, 1.0000000,
449  0.0000000, -1.0000000, -1.0000000, -1.0000000,
450  0.0000000, -1.0000000, -1.0000000, 0.0000000,
451  0.0000000, -1.0000000, -1.0000000, 1.0000000,
452  0.0000000, -1.0000000, 0.0000000, -1.0000000,
453  0.0000000, -1.0000000, 0.0000000, 0.0000000,
454  0.0000000, -1.0000000, 0.0000000, 1.0000000,
455  0.0000000, -1.0000000, 1.0000000, -1.0000000,
456  0.0000000, -1.0000000, 1.0000000, 0.0000000,
457  0.0000000, -1.0000000, 1.0000000, 1.0000000,
458  0.0000000, 0.0000000, -1.0000000, -1.0000000,
459  0.0000000, 0.0000000, -1.0000000, 0.0000000,
460  0.0000000, 0.0000000, -1.0000000, 1.0000000,
461  0.0000000, 0.0000000, 0.0000000, -1.0000000,
462  0.0000000, 0.0000000, 0.0000000, 0.0000000,
463  0.0000000, 0.0000000, 0.0000000, 1.0000000,
464  0.0000000, 0.0000000, 1.0000000, -1.0000000,
465  0.0000000, 0.0000000, 1.0000000, 0.0000000,
466  0.0000000, 0.0000000, 1.0000000, 1.0000000,
467  0.0000000, 1.0000000, -1.0000000, -1.0000000,
468  0.0000000, 1.0000000, -1.0000000, 0.0000000,
469  0.0000000, 1.0000000, -1.0000000, 1.0000000,
470  0.0000000, 1.0000000, 0.0000000, -1.0000000,
471  0.0000000, 1.0000000, 0.0000000, 0.0000000,
472  0.0000000, 1.0000000, 0.0000000, 1.0000000,
473  0.0000000, 1.0000000, 1.0000000, -1.0000000,
474  0.0000000, 1.0000000, 1.0000000, 0.0000000,
475  0.0000000, 1.0000000, 1.0000000, 1.0000000,
476  1.0000000, -1.0000000, -1.0000000, -1.0000000,
477  1.0000000, -1.0000000, -1.0000000, 0.0000000,
478  1.0000000, -1.0000000, -1.0000000, 1.0000000,
479  1.0000000, -1.0000000, 0.0000000, -1.0000000,
480  1.0000000, -1.0000000, 0.0000000, 0.0000000,
481  1.0000000, -1.0000000, 0.0000000, 1.0000000,
482  1.0000000, -1.0000000, 1.0000000, -1.0000000,
483  1.0000000, -1.0000000, 1.0000000, 0.0000000,
484  1.0000000, -1.0000000, 1.0000000, 1.0000000,
485  1.0000000, 0.0000000, -1.0000000, -1.0000000,
486  1.0000000, 0.0000000, -1.0000000, 0.0000000,
487  1.0000000, 0.0000000, -1.0000000, 1.0000000,
488  1.0000000, 0.0000000, 0.0000000, -1.0000000,
489  1.0000000, 0.0000000, 0.0000000, 0.0000000,
490  1.0000000, 0.0000000, 0.0000000, 1.0000000,
491  1.0000000, 0.0000000, 1.0000000, -1.0000000,
492  1.0000000, 0.0000000, 1.0000000, 0.0000000,
493  1.0000000, 0.0000000, 1.0000000, 1.0000000,
494  1.0000000, 1.0000000, -1.0000000, -1.0000000,
495  1.0000000, 1.0000000, -1.0000000, 0.0000000,
496  1.0000000, 1.0000000, -1.0000000, 1.0000000,
497  1.0000000, 1.0000000, 0.0000000, -1.0000000,
498  1.0000000, 1.0000000, 0.0000000, 0.0000000,
499  1.0000000, 1.0000000, 0.0000000, 1.0000000,
500  1.0000000, 1.0000000, 1.0000000, -1.0000000,
501  1.0000000, 1.0000000, 1.0000000, 0.0000000,
502  1.0000000, 1.0000000, 1.0000000, 1.0000000,
503 };
504 
505 static const DECLARE_ALIGNED(16, float, codebook_vector2)[324] = {
506  0.0000000, 0.0000000, 0.0000000, 0.0000000,
507  0.0000000, 0.0000000, 0.0000000, 1.0000000,
508  0.0000000, 0.0000000, 0.0000000, 2.5198421,
509  0.0000000, 0.0000000, 1.0000000, 0.0000000,
510  0.0000000, 0.0000000, 1.0000000, 1.0000000,
511  0.0000000, 0.0000000, 1.0000000, 2.5198421,
512  0.0000000, 0.0000000, 2.5198421, 0.0000000,
513  0.0000000, 0.0000000, 2.5198421, 1.0000000,
514  0.0000000, 0.0000000, 2.5198421, 2.5198421,
515  0.0000000, 1.0000000, 0.0000000, 0.0000000,
516  0.0000000, 1.0000000, 0.0000000, 1.0000000,
517  0.0000000, 1.0000000, 0.0000000, 2.5198421,
518  0.0000000, 1.0000000, 1.0000000, 0.0000000,
519  0.0000000, 1.0000000, 1.0000000, 1.0000000,
520  0.0000000, 1.0000000, 1.0000000, 2.5198421,
521  0.0000000, 1.0000000, 2.5198421, 0.0000000,
522  0.0000000, 1.0000000, 2.5198421, 1.0000000,
523  0.0000000, 1.0000000, 2.5198421, 2.5198421,
524  0.0000000, 2.5198421, 0.0000000, 0.0000000,
525  0.0000000, 2.5198421, 0.0000000, 1.0000000,
526  0.0000000, 2.5198421, 0.0000000, 2.5198421,
527  0.0000000, 2.5198421, 1.0000000, 0.0000000,
528  0.0000000, 2.5198421, 1.0000000, 1.0000000,
529  0.0000000, 2.5198421, 1.0000000, 2.5198421,
530  0.0000000, 2.5198421, 2.5198421, 0.0000000,
531  0.0000000, 2.5198421, 2.5198421, 1.0000000,
532  0.0000000, 2.5198421, 2.5198421, 2.5198421,
533  1.0000000, 0.0000000, 0.0000000, 0.0000000,
534  1.0000000, 0.0000000, 0.0000000, 1.0000000,
535  1.0000000, 0.0000000, 0.0000000, 2.5198421,
536  1.0000000, 0.0000000, 1.0000000, 0.0000000,
537  1.0000000, 0.0000000, 1.0000000, 1.0000000,
538  1.0000000, 0.0000000, 1.0000000, 2.5198421,
539  1.0000000, 0.0000000, 2.5198421, 0.0000000,
540  1.0000000, 0.0000000, 2.5198421, 1.0000000,
541  1.0000000, 0.0000000, 2.5198421, 2.5198421,
542  1.0000000, 1.0000000, 0.0000000, 0.0000000,
543  1.0000000, 1.0000000, 0.0000000, 1.0000000,
544  1.0000000, 1.0000000, 0.0000000, 2.5198421,
545  1.0000000, 1.0000000, 1.0000000, 0.0000000,
546  1.0000000, 1.0000000, 1.0000000, 1.0000000,
547  1.0000000, 1.0000000, 1.0000000, 2.5198421,
548  1.0000000, 1.0000000, 2.5198421, 0.0000000,
549  1.0000000, 1.0000000, 2.5198421, 1.0000000,
550  1.0000000, 1.0000000, 2.5198421, 2.5198421,
551  1.0000000, 2.5198421, 0.0000000, 0.0000000,
552  1.0000000, 2.5198421, 0.0000000, 1.0000000,
553  1.0000000, 2.5198421, 0.0000000, 2.5198421,
554  1.0000000, 2.5198421, 1.0000000, 0.0000000,
555  1.0000000, 2.5198421, 1.0000000, 1.0000000,
556  1.0000000, 2.5198421, 1.0000000, 2.5198421,
557  1.0000000, 2.5198421, 2.5198421, 0.0000000,
558  1.0000000, 2.5198421, 2.5198421, 1.0000000,
559  1.0000000, 2.5198421, 2.5198421, 2.5198421,
560  2.5198421, 0.0000000, 0.0000000, 0.0000000,
561  2.5198421, 0.0000000, 0.0000000, 1.0000000,
562  2.5198421, 0.0000000, 0.0000000, 2.5198421,
563  2.5198421, 0.0000000, 1.0000000, 0.0000000,
564  2.5198421, 0.0000000, 1.0000000, 1.0000000,
565  2.5198421, 0.0000000, 1.0000000, 2.5198421,
566  2.5198421, 0.0000000, 2.5198421, 0.0000000,
567  2.5198421, 0.0000000, 2.5198421, 1.0000000,
568  2.5198421, 0.0000000, 2.5198421, 2.5198421,
569  2.5198421, 1.0000000, 0.0000000, 0.0000000,
570  2.5198421, 1.0000000, 0.0000000, 1.0000000,
571  2.5198421, 1.0000000, 0.0000000, 2.5198421,
572  2.5198421, 1.0000000, 1.0000000, 0.0000000,
573  2.5198421, 1.0000000, 1.0000000, 1.0000000,
574  2.5198421, 1.0000000, 1.0000000, 2.5198421,
575  2.5198421, 1.0000000, 2.5198421, 0.0000000,
576  2.5198421, 1.0000000, 2.5198421, 1.0000000,
577  2.5198421, 1.0000000, 2.5198421, 2.5198421,
578  2.5198421, 2.5198421, 0.0000000, 0.0000000,
579  2.5198421, 2.5198421, 0.0000000, 1.0000000,
580  2.5198421, 2.5198421, 0.0000000, 2.5198421,
581  2.5198421, 2.5198421, 1.0000000, 0.0000000,
582  2.5198421, 2.5198421, 1.0000000, 1.0000000,
583  2.5198421, 2.5198421, 1.0000000, 2.5198421,
584  2.5198421, 2.5198421, 2.5198421, 0.0000000,
585  2.5198421, 2.5198421, 2.5198421, 1.0000000,
586  2.5198421, 2.5198421, 2.5198421, 2.5198421,
587 };
588 
589 static const DECLARE_ALIGNED(16, float, codebook_vector4)[162] = {
590  -6.3496042, -6.3496042, -6.3496042, -4.3267487,
591  -6.3496042, -2.5198421, -6.3496042, -1.0000000,
592  -6.3496042, 0.0000000, -6.3496042, 1.0000000,
593  -6.3496042, 2.5198421, -6.3496042, 4.3267487,
594  -6.3496042, 6.3496042, -4.3267487, -6.3496042,
595  -4.3267487, -4.3267487, -4.3267487, -2.5198421,
596  -4.3267487, -1.0000000, -4.3267487, 0.0000000,
597  -4.3267487, 1.0000000, -4.3267487, 2.5198421,
598  -4.3267487, 4.3267487, -4.3267487, 6.3496042,
599  -2.5198421, -6.3496042, -2.5198421, -4.3267487,
600  -2.5198421, -2.5198421, -2.5198421, -1.0000000,
601  -2.5198421, 0.0000000, -2.5198421, 1.0000000,
602  -2.5198421, 2.5198421, -2.5198421, 4.3267487,
603  -2.5198421, 6.3496042, -1.0000000, -6.3496042,
604  -1.0000000, -4.3267487, -1.0000000, -2.5198421,
605  -1.0000000, -1.0000000, -1.0000000, 0.0000000,
606  -1.0000000, 1.0000000, -1.0000000, 2.5198421,
607  -1.0000000, 4.3267487, -1.0000000, 6.3496042,
608  0.0000000, -6.3496042, 0.0000000, -4.3267487,
609  0.0000000, -2.5198421, 0.0000000, -1.0000000,
610  0.0000000, 0.0000000, 0.0000000, 1.0000000,
611  0.0000000, 2.5198421, 0.0000000, 4.3267487,
612  0.0000000, 6.3496042, 1.0000000, -6.3496042,
613  1.0000000, -4.3267487, 1.0000000, -2.5198421,
614  1.0000000, -1.0000000, 1.0000000, 0.0000000,
615  1.0000000, 1.0000000, 1.0000000, 2.5198421,
616  1.0000000, 4.3267487, 1.0000000, 6.3496042,
617  2.5198421, -6.3496042, 2.5198421, -4.3267487,
618  2.5198421, -2.5198421, 2.5198421, -1.0000000,
619  2.5198421, 0.0000000, 2.5198421, 1.0000000,
620  2.5198421, 2.5198421, 2.5198421, 4.3267487,
621  2.5198421, 6.3496042, 4.3267487, -6.3496042,
622  4.3267487, -4.3267487, 4.3267487, -2.5198421,
623  4.3267487, -1.0000000, 4.3267487, 0.0000000,
624  4.3267487, 1.0000000, 4.3267487, 2.5198421,
625  4.3267487, 4.3267487, 4.3267487, 6.3496042,
626  6.3496042, -6.3496042, 6.3496042, -4.3267487,
627  6.3496042, -2.5198421, 6.3496042, -1.0000000,
628  6.3496042, 0.0000000, 6.3496042, 1.0000000,
629  6.3496042, 2.5198421, 6.3496042, 4.3267487,
630  6.3496042, 6.3496042,
631 };
632 
633 static const DECLARE_ALIGNED(16, float, codebook_vector6)[128] = {
634  0.0000000, 0.0000000, 0.0000000, 1.0000000,
635  0.0000000, 2.5198421, 0.0000000, 4.3267487,
636  0.0000000, 6.3496042, 0.0000000, 8.5498797,
637  0.0000000, 10.9027236, 0.0000000, 13.3905183,
638  1.0000000, 0.0000000, 1.0000000, 1.0000000,
639  1.0000000, 2.5198421, 1.0000000, 4.3267487,
640  1.0000000, 6.3496042, 1.0000000, 8.5498797,
641  1.0000000, 10.9027236, 1.0000000, 13.3905183,
642  2.5198421, 0.0000000, 2.5198421, 1.0000000,
643  2.5198421, 2.5198421, 2.5198421, 4.3267487,
644  2.5198421, 6.3496042, 2.5198421, 8.5498797,
645  2.5198421, 10.9027236, 2.5198421, 13.3905183,
646  4.3267487, 0.0000000, 4.3267487, 1.0000000,
647  4.3267487, 2.5198421, 4.3267487, 4.3267487,
648  4.3267487, 6.3496042, 4.3267487, 8.5498797,
649  4.3267487, 10.9027236, 4.3267487, 13.3905183,
650  6.3496042, 0.0000000, 6.3496042, 1.0000000,
651  6.3496042, 2.5198421, 6.3496042, 4.3267487,
652  6.3496042, 6.3496042, 6.3496042, 8.5498797,
653  6.3496042, 10.9027236, 6.3496042, 13.3905183,
654  8.5498797, 0.0000000, 8.5498797, 1.0000000,
655  8.5498797, 2.5198421, 8.5498797, 4.3267487,
656  8.5498797, 6.3496042, 8.5498797, 8.5498797,
657  8.5498797, 10.9027236, 8.5498797, 13.3905183,
658  10.9027236, 0.0000000, 10.9027236, 1.0000000,
659  10.9027236, 2.5198421, 10.9027236, 4.3267487,
660  10.9027236, 6.3496042, 10.9027236, 8.5498797,
661  10.9027236, 10.9027236, 10.9027236, 13.3905183,
662  13.3905183, 0.0000000, 13.3905183, 1.0000000,
663  13.3905183, 2.5198421, 13.3905183, 4.3267487,
664  13.3905183, 6.3496042, 13.3905183, 8.5498797,
665  13.3905183, 10.9027236, 13.3905183, 13.3905183,
666 };
667 
668 static const DECLARE_ALIGNED(16, float, codebook_vector8)[338] = {
669  0.0000000, 0.0000000, 0.0000000, 1.0000000,
670  0.0000000, 2.5198421, 0.0000000, 4.3267487,
671  0.0000000, 6.3496042, 0.0000000, 8.5498797,
672  0.0000000, 10.9027236, 0.0000000, 13.3905183,
673  0.0000000, 16.0000000, 0.0000000, 18.7207544,
674  0.0000000, 21.5443469, 0.0000000, 24.4637810,
675  0.0000000, 27.4731418, 1.0000000, 0.0000000,
676  1.0000000, 1.0000000, 1.0000000, 2.5198421,
677  1.0000000, 4.3267487, 1.0000000, 6.3496042,
678  1.0000000, 8.5498797, 1.0000000, 10.9027236,
679  1.0000000, 13.3905183, 1.0000000, 16.0000000,
680  1.0000000, 18.7207544, 1.0000000, 21.5443469,
681  1.0000000, 24.4637810, 1.0000000, 27.4731418,
682  2.5198421, 0.0000000, 2.5198421, 1.0000000,
683  2.5198421, 2.5198421, 2.5198421, 4.3267487,
684  2.5198421, 6.3496042, 2.5198421, 8.5498797,
685  2.5198421, 10.9027236, 2.5198421, 13.3905183,
686  2.5198421, 16.0000000, 2.5198421, 18.7207544,
687  2.5198421, 21.5443469, 2.5198421, 24.4637810,
688  2.5198421, 27.4731418, 4.3267487, 0.0000000,
689  4.3267487, 1.0000000, 4.3267487, 2.5198421,
690  4.3267487, 4.3267487, 4.3267487, 6.3496042,
691  4.3267487, 8.5498797, 4.3267487, 10.9027236,
692  4.3267487, 13.3905183, 4.3267487, 16.0000000,
693  4.3267487, 18.7207544, 4.3267487, 21.5443469,
694  4.3267487, 24.4637810, 4.3267487, 27.4731418,
695  6.3496042, 0.0000000, 6.3496042, 1.0000000,
696  6.3496042, 2.5198421, 6.3496042, 4.3267487,
697  6.3496042, 6.3496042, 6.3496042, 8.5498797,
698  6.3496042, 10.9027236, 6.3496042, 13.3905183,
699  6.3496042, 16.0000000, 6.3496042, 18.7207544,
700  6.3496042, 21.5443469, 6.3496042, 24.4637810,
701  6.3496042, 27.4731418, 8.5498797, 0.0000000,
702  8.5498797, 1.0000000, 8.5498797, 2.5198421,
703  8.5498797, 4.3267487, 8.5498797, 6.3496042,
704  8.5498797, 8.5498797, 8.5498797, 10.9027236,
705  8.5498797, 13.3905183, 8.5498797, 16.0000000,
706  8.5498797, 18.7207544, 8.5498797, 21.5443469,
707  8.5498797, 24.4637810, 8.5498797, 27.4731418,
708  10.9027236, 0.0000000, 10.9027236, 1.0000000,
709  10.9027236, 2.5198421, 10.9027236, 4.3267487,
710  10.9027236, 6.3496042, 10.9027236, 8.5498797,
711  10.9027236, 10.9027236, 10.9027236, 13.3905183,
712  10.9027236, 16.0000000, 10.9027236, 18.7207544,
713  10.9027236, 21.5443469, 10.9027236, 24.4637810,
714  10.9027236, 27.4731418, 13.3905183, 0.0000000,
715  13.3905183, 1.0000000, 13.3905183, 2.5198421,
716  13.3905183, 4.3267487, 13.3905183, 6.3496042,
717  13.3905183, 8.5498797, 13.3905183, 10.9027236,
718  13.3905183, 13.3905183, 13.3905183, 16.0000000,
719  13.3905183, 18.7207544, 13.3905183, 21.5443469,
720  13.3905183, 24.4637810, 13.3905183, 27.4731418,
721  16.0000000, 0.0000000, 16.0000000, 1.0000000,
722  16.0000000, 2.5198421, 16.0000000, 4.3267487,
723  16.0000000, 6.3496042, 16.0000000, 8.5498797,
724  16.0000000, 10.9027236, 16.0000000, 13.3905183,
725  16.0000000, 16.0000000, 16.0000000, 18.7207544,
726  16.0000000, 21.5443469, 16.0000000, 24.4637810,
727  16.0000000, 27.4731418, 18.7207544, 0.0000000,
728  18.7207544, 1.0000000, 18.7207544, 2.5198421,
729  18.7207544, 4.3267487, 18.7207544, 6.3496042,
730  18.7207544, 8.5498797, 18.7207544, 10.9027236,
731  18.7207544, 13.3905183, 18.7207544, 16.0000000,
732  18.7207544, 18.7207544, 18.7207544, 21.5443469,
733  18.7207544, 24.4637810, 18.7207544, 27.4731418,
734  21.5443469, 0.0000000, 21.5443469, 1.0000000,
735  21.5443469, 2.5198421, 21.5443469, 4.3267487,
736  21.5443469, 6.3496042, 21.5443469, 8.5498797,
737  21.5443469, 10.9027236, 21.5443469, 13.3905183,
738  21.5443469, 16.0000000, 21.5443469, 18.7207544,
739  21.5443469, 21.5443469, 21.5443469, 24.4637810,
740  21.5443469, 27.4731418, 24.4637810, 0.0000000,
741  24.4637810, 1.0000000, 24.4637810, 2.5198421,
742  24.4637810, 4.3267487, 24.4637810, 6.3496042,
743  24.4637810, 8.5498797, 24.4637810, 10.9027236,
744  24.4637810, 13.3905183, 24.4637810, 16.0000000,
745  24.4637810, 18.7207544, 24.4637810, 21.5443469,
746  24.4637810, 24.4637810, 24.4637810, 27.4731418,
747  27.4731418, 0.0000000, 27.4731418, 1.0000000,
748  27.4731418, 2.5198421, 27.4731418, 4.3267487,
749  27.4731418, 6.3496042, 27.4731418, 8.5498797,
750  27.4731418, 10.9027236, 27.4731418, 13.3905183,
751  27.4731418, 16.0000000, 27.4731418, 18.7207544,
752  27.4731418, 21.5443469, 27.4731418, 24.4637810,
753  27.4731418, 27.4731418,
754 };
755 
756 static const DECLARE_ALIGNED(16, float, codebook_vector10)[578] = {
757  0.0000000, 0.0000000, 0.0000000, 1.0000000,
758  0.0000000, 2.5198421, 0.0000000, 4.3267487,
759  0.0000000, 6.3496042, 0.0000000, 8.5498797,
760  0.0000000, 10.9027236, 0.0000000, 13.3905183,
761  0.0000000, 16.0000000, 0.0000000, 18.7207544,
762  0.0000000, 21.5443469, 0.0000000, 24.4637810,
763  0.0000000, 27.4731418, 0.0000000, 30.5673509,
764  0.0000000, 33.7419917, 0.0000000, 36.9931811,
765  0.0000000, 64.0f, 1.0000000, 0.0000000,
766  1.0000000, 1.0000000, 1.0000000, 2.5198421,
767  1.0000000, 4.3267487, 1.0000000, 6.3496042,
768  1.0000000, 8.5498797, 1.0000000, 10.9027236,
769  1.0000000, 13.3905183, 1.0000000, 16.0000000,
770  1.0000000, 18.7207544, 1.0000000, 21.5443469,
771  1.0000000, 24.4637810, 1.0000000, 27.4731418,
772  1.0000000, 30.5673509, 1.0000000, 33.7419917,
773  1.0000000, 36.9931811, 1.0000000, 64.0f,
774  2.5198421, 0.0000000, 2.5198421, 1.0000000,
775  2.5198421, 2.5198421, 2.5198421, 4.3267487,
776  2.5198421, 6.3496042, 2.5198421, 8.5498797,
777  2.5198421, 10.9027236, 2.5198421, 13.3905183,
778  2.5198421, 16.0000000, 2.5198421, 18.7207544,
779  2.5198421, 21.5443469, 2.5198421, 24.4637810,
780  2.5198421, 27.4731418, 2.5198421, 30.5673509,
781  2.5198421, 33.7419917, 2.5198421, 36.9931811,
782  2.5198421, 64.0f, 4.3267487, 0.0000000,
783  4.3267487, 1.0000000, 4.3267487, 2.5198421,
784  4.3267487, 4.3267487, 4.3267487, 6.3496042,
785  4.3267487, 8.5498797, 4.3267487, 10.9027236,
786  4.3267487, 13.3905183, 4.3267487, 16.0000000,
787  4.3267487, 18.7207544, 4.3267487, 21.5443469,
788  4.3267487, 24.4637810, 4.3267487, 27.4731418,
789  4.3267487, 30.5673509, 4.3267487, 33.7419917,
790  4.3267487, 36.9931811, 4.3267487, 64.0f,
791  6.3496042, 0.0000000, 6.3496042, 1.0000000,
792  6.3496042, 2.5198421, 6.3496042, 4.3267487,
793  6.3496042, 6.3496042, 6.3496042, 8.5498797,
794  6.3496042, 10.9027236, 6.3496042, 13.3905183,
795  6.3496042, 16.0000000, 6.3496042, 18.7207544,
796  6.3496042, 21.5443469, 6.3496042, 24.4637810,
797  6.3496042, 27.4731418, 6.3496042, 30.5673509,
798  6.3496042, 33.7419917, 6.3496042, 36.9931811,
799  6.3496042, 64.0f, 8.5498797, 0.0000000,
800  8.5498797, 1.0000000, 8.5498797, 2.5198421,
801  8.5498797, 4.3267487, 8.5498797, 6.3496042,
802  8.5498797, 8.5498797, 8.5498797, 10.9027236,
803  8.5498797, 13.3905183, 8.5498797, 16.0000000,
804  8.5498797, 18.7207544, 8.5498797, 21.5443469,
805  8.5498797, 24.4637810, 8.5498797, 27.4731418,
806  8.5498797, 30.5673509, 8.5498797, 33.7419917,
807  8.5498797, 36.9931811, 8.5498797, 64.0f,
808  10.9027236, 0.0000000, 10.9027236, 1.0000000,
809  10.9027236, 2.5198421, 10.9027236, 4.3267487,
810  10.9027236, 6.3496042, 10.9027236, 8.5498797,
811  10.9027236, 10.9027236, 10.9027236, 13.3905183,
812  10.9027236, 16.0000000, 10.9027236, 18.7207544,
813  10.9027236, 21.5443469, 10.9027236, 24.4637810,
814  10.9027236, 27.4731418, 10.9027236, 30.5673509,
815  10.9027236, 33.7419917, 10.9027236, 36.9931811,
816  10.9027236, 64.0f, 13.3905183, 0.0000000,
817  13.3905183, 1.0000000, 13.3905183, 2.5198421,
818  13.3905183, 4.3267487, 13.3905183, 6.3496042,
819  13.3905183, 8.5498797, 13.3905183, 10.9027236,
820  13.3905183, 13.3905183, 13.3905183, 16.0000000,
821  13.3905183, 18.7207544, 13.3905183, 21.5443469,
822  13.3905183, 24.4637810, 13.3905183, 27.4731418,
823  13.3905183, 30.5673509, 13.3905183, 33.7419917,
824  13.3905183, 36.9931811, 13.3905183, 64.0f,
825  16.0000000, 0.0000000, 16.0000000, 1.0000000,
826  16.0000000, 2.5198421, 16.0000000, 4.3267487,
827  16.0000000, 6.3496042, 16.0000000, 8.5498797,
828  16.0000000, 10.9027236, 16.0000000, 13.3905183,
829  16.0000000, 16.0000000, 16.0000000, 18.7207544,
830  16.0000000, 21.5443469, 16.0000000, 24.4637810,
831  16.0000000, 27.4731418, 16.0000000, 30.5673509,
832  16.0000000, 33.7419917, 16.0000000, 36.9931811,
833  16.0000000, 64.0f, 18.7207544, 0.0000000,
834  18.7207544, 1.0000000, 18.7207544, 2.5198421,
835  18.7207544, 4.3267487, 18.7207544, 6.3496042,
836  18.7207544, 8.5498797, 18.7207544, 10.9027236,
837  18.7207544, 13.3905183, 18.7207544, 16.0000000,
838  18.7207544, 18.7207544, 18.7207544, 21.5443469,
839  18.7207544, 24.4637810, 18.7207544, 27.4731418,
840  18.7207544, 30.5673509, 18.7207544, 33.7419917,
841  18.7207544, 36.9931811, 18.7207544, 64.0f,
842  21.5443469, 0.0000000, 21.5443469, 1.0000000,
843  21.5443469, 2.5198421, 21.5443469, 4.3267487,
844  21.5443469, 6.3496042, 21.5443469, 8.5498797,
845  21.5443469, 10.9027236, 21.5443469, 13.3905183,
846  21.5443469, 16.0000000, 21.5443469, 18.7207544,
847  21.5443469, 21.5443469, 21.5443469, 24.4637810,
848  21.5443469, 27.4731418, 21.5443469, 30.5673509,
849  21.5443469, 33.7419917, 21.5443469, 36.9931811,
850  21.5443469, 64.0f, 24.4637810, 0.0000000,
851  24.4637810, 1.0000000, 24.4637810, 2.5198421,
852  24.4637810, 4.3267487, 24.4637810, 6.3496042,
853  24.4637810, 8.5498797, 24.4637810, 10.9027236,
854  24.4637810, 13.3905183, 24.4637810, 16.0000000,
855  24.4637810, 18.7207544, 24.4637810, 21.5443469,
856  24.4637810, 24.4637810, 24.4637810, 27.4731418,
857  24.4637810, 30.5673509, 24.4637810, 33.7419917,
858  24.4637810, 36.9931811, 24.4637810, 64.0f,
859  27.4731418, 0.0000000, 27.4731418, 1.0000000,
860  27.4731418, 2.5198421, 27.4731418, 4.3267487,
861  27.4731418, 6.3496042, 27.4731418, 8.5498797,
862  27.4731418, 10.9027236, 27.4731418, 13.3905183,
863  27.4731418, 16.0000000, 27.4731418, 18.7207544,
864  27.4731418, 21.5443469, 27.4731418, 24.4637810,
865  27.4731418, 27.4731418, 27.4731418, 30.5673509,
866  27.4731418, 33.7419917, 27.4731418, 36.9931811,
867  27.4731418, 64.0f, 30.5673509, 0.0000000,
868  30.5673509, 1.0000000, 30.5673509, 2.5198421,
869  30.5673509, 4.3267487, 30.5673509, 6.3496042,
870  30.5673509, 8.5498797, 30.5673509, 10.9027236,
871  30.5673509, 13.3905183, 30.5673509, 16.0000000,
872  30.5673509, 18.7207544, 30.5673509, 21.5443469,
873  30.5673509, 24.4637810, 30.5673509, 27.4731418,
874  30.5673509, 30.5673509, 30.5673509, 33.7419917,
875  30.5673509, 36.9931811, 30.5673509, 64.0f,
876  33.7419917, 0.0000000, 33.7419917, 1.0000000,
877  33.7419917, 2.5198421, 33.7419917, 4.3267487,
878  33.7419917, 6.3496042, 33.7419917, 8.5498797,
879  33.7419917, 10.9027236, 33.7419917, 13.3905183,
880  33.7419917, 16.0000000, 33.7419917, 18.7207544,
881  33.7419917, 21.5443469, 33.7419917, 24.4637810,
882  33.7419917, 27.4731418, 33.7419917, 30.5673509,
883  33.7419917, 33.7419917, 33.7419917, 36.9931811,
884  33.7419917, 64.0f, 36.9931811, 0.0000000,
885  36.9931811, 1.0000000, 36.9931811, 2.5198421,
886  36.9931811, 4.3267487, 36.9931811, 6.3496042,
887  36.9931811, 8.5498797, 36.9931811, 10.9027236,
888  36.9931811, 13.3905183, 36.9931811, 16.0000000,
889  36.9931811, 18.7207544, 36.9931811, 21.5443469,
890  36.9931811, 24.4637810, 36.9931811, 27.4731418,
891  36.9931811, 30.5673509, 36.9931811, 33.7419917,
892  36.9931811, 36.9931811, 36.9931811, 64.0f,
893  64.0f, 0.0000000, 64.0f, 1.0000000,
894  64.0f, 2.5198421, 64.0f, 4.3267487,
895  64.0f, 6.3496042, 64.0f, 8.5498797,
896  64.0f, 10.9027236, 64.0f, 13.3905183,
897  64.0f, 16.0000000, 64.0f, 18.7207544,
898  64.0f, 21.5443469, 64.0f, 24.4637810,
899  64.0f, 27.4731418, 64.0f, 30.5673509,
900  64.0f, 33.7419917, 64.0f, 36.9931811,
901  64.0f, 64.0f,
902 };
903 
904 const float * const ff_aac_codebook_vectors[] = {
909 };
910 
911 static const float codebook_vector0_vals[] = {
912  -1.0000000, 0.0000000, 1.0000000
913 };
914 
915 /*
916  * bits 0:1, 2:3, 4:5, 6:7 index into _vals array
917  * 8:11 number of non-zero values
918  * 12:15 bit mask of non-zero values
919  */
920 static const uint16_t codebook_vector02_idx[] = {
921  0x0000, 0x8140, 0x8180, 0x4110, 0xc250, 0xc290, 0x4120, 0xc260, 0xc2a0,
922  0x2104, 0xa244, 0xa284, 0x6214, 0xe354, 0xe394, 0x6224, 0xe364, 0xe3a4,
923  0x2108, 0xa248, 0xa288, 0x6218, 0xe358, 0xe398, 0x6228, 0xe368, 0xe3a8,
924  0x1101, 0x9241, 0x9281, 0x5211, 0xd351, 0xd391, 0x5221, 0xd361, 0xd3a1,
925  0x3205, 0xb345, 0xb385, 0x7315, 0xf455, 0xf495, 0x7325, 0xf465, 0xf4a5,
926  0x3209, 0xb349, 0xb389, 0x7319, 0xf459, 0xf499, 0x7329, 0xf469, 0xf4a9,
927  0x1102, 0x9242, 0x9282, 0x5212, 0xd352, 0xd392, 0x5222, 0xd362, 0xd3a2,
928  0x3206, 0xb346, 0xb386, 0x7316, 0xf456, 0xf496, 0x7326, 0xf466, 0xf4a6,
929  0x320a, 0xb34a, 0xb38a, 0x731a, 0xf45a, 0xf49a, 0x732a, 0xf46a, 0xf4aa,
930 };
931 
932 static const float codebook_vector4_vals[] = {
933  -6.3496042, -4.3267487,
934  -2.5198421, -1.0000000,
935  0.0000000, 1.0000000,
936  2.5198421, 4.3267487,
937  6.3496042,
938 };
939 
940 /*
941  * bits 0:3, 4:7 index into _vals array
942  */
943 static const uint16_t codebook_vector4_idx[] = {
944  0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0050, 0x0060, 0x0070, 0x0080,
945  0x0001, 0x0011, 0x0021, 0x0031, 0x0041, 0x0051, 0x0061, 0x0071, 0x0081,
946  0x0002, 0x0012, 0x0022, 0x0032, 0x0042, 0x0052, 0x0062, 0x0072, 0x0082,
947  0x0003, 0x0013, 0x0023, 0x0033, 0x0043, 0x0053, 0x0063, 0x0073, 0x0083,
948  0x0004, 0x0014, 0x0024, 0x0034, 0x0044, 0x0054, 0x0064, 0x0074, 0x0084,
949  0x0005, 0x0015, 0x0025, 0x0035, 0x0045, 0x0055, 0x0065, 0x0075, 0x0085,
950  0x0006, 0x0016, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0076, 0x0086,
951  0x0007, 0x0017, 0x0027, 0x0037, 0x0047, 0x0057, 0x0067, 0x0077, 0x0087,
952  0x0008, 0x0018, 0x0028, 0x0038, 0x0048, 0x0058, 0x0068, 0x0078, 0x0088,
953 };
954 
955 /*
956  * bits 0:3, 4:7 index into _vals array
957  * 8:11 number of non-zero values
958  * 12:15 1: only second value non-zero
959  * 0: other cases
960  */
961 static const uint16_t codebook_vector6_idx[] = {
962  0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170,
963  0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261, 0x0271,
964  0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262, 0x0272,
965  0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263, 0x0273,
966  0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264, 0x0274,
967  0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265, 0x0275,
968  0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266, 0x0276,
969  0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267, 0x0277,
970 };
971 
972 /*
973  * bits 0:3, 4:7 index into _vals array
974  * 8:11 number of non-zero values
975  * 12:15 1: only second value non-zero
976  * 0: other cases
977  */
978 static const uint16_t codebook_vector8_idx[] = {
979  0x0000, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160,
980  0x0170, 0x0180, 0x0190, 0x01a0, 0x01b0, 0x01c0,
981  0x1101, 0x0211, 0x0221, 0x0231, 0x0241, 0x0251, 0x0261,
982  0x0271, 0x0281, 0x0291, 0x02a1, 0x02b1, 0x02c1,
983  0x1102, 0x0212, 0x0222, 0x0232, 0x0242, 0x0252, 0x0262,
984  0x0272, 0x0282, 0x0292, 0x02a2, 0x02b2, 0x02c2,
985  0x1103, 0x0213, 0x0223, 0x0233, 0x0243, 0x0253, 0x0263,
986  0x0273, 0x0283, 0x0293, 0x02a3, 0x02b3, 0x02c3,
987  0x1104, 0x0214, 0x0224, 0x0234, 0x0244, 0x0254, 0x0264,
988  0x0274, 0x0284, 0x0294, 0x02a4, 0x02b4, 0x02c4,
989  0x1105, 0x0215, 0x0225, 0x0235, 0x0245, 0x0255, 0x0265,
990  0x0275, 0x0285, 0x0295, 0x02a5, 0x02b5, 0x02c5,
991  0x1106, 0x0216, 0x0226, 0x0236, 0x0246, 0x0256, 0x0266,
992  0x0276, 0x0286, 0x0296, 0x02a6, 0x02b6, 0x02c6,
993  0x1107, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0267,
994  0x0277, 0x0287, 0x0297, 0x02a7, 0x02b7, 0x02c7,
995  0x1108, 0x0218, 0x0228, 0x0238, 0x0248, 0x0258, 0x0268,
996  0x0278, 0x0288, 0x0298, 0x02a8, 0x02b8, 0x02c8,
997  0x1109, 0x0219, 0x0229, 0x0239, 0x0249, 0x0259, 0x0269,
998  0x0279, 0x0289, 0x0299, 0x02a9, 0x02b9, 0x02c9,
999  0x110a, 0x021a, 0x022a, 0x023a, 0x024a, 0x025a, 0x026a,
1000  0x027a, 0x028a, 0x029a, 0x02aa, 0x02ba, 0x02ca,
1001  0x110b, 0x021b, 0x022b, 0x023b, 0x024b, 0x025b, 0x026b,
1002  0x027b, 0x028b, 0x029b, 0x02ab, 0x02bb, 0x02cb,
1003  0x110c, 0x021c, 0x022c, 0x023c, 0x024c, 0x025c, 0x026c,
1004  0x027c, 0x028c, 0x029c, 0x02ac, 0x02bc, 0x02cc,
1005 };
1006 
1007 static const float codebook_vector10_vals[] = {
1008  0.0000000, 1.0000000,
1009  2.5198421, 4.3267487,
1010  6.3496042, 8.5498797,
1011  10.9027236, 13.3905183,
1012  16.0000000, 18.7207544,
1013  21.5443469, 24.4637810,
1014  27.4731418, 30.5673509,
1015  33.7419917, 36.9931811,
1016 };
1017 
1018 /*
1019  * bits 0:3, 4:7 index into _vals array
1020  * 8:9 bit mask of escape-coded entries
1021  * 12:15 number of non-zero values
1022  */
1023 static const uint16_t codebook_vector10_idx[] = {
1024  0x0000, 0x1010, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, 0x1070,
1025  0x1080, 0x1090, 0x10a0, 0x10b0, 0x10c0, 0x10d0, 0x10e0, 0x10f0, 0x1200,
1026  0x1001, 0x2011, 0x2021, 0x2031, 0x2041, 0x2051, 0x2061, 0x2071,
1027  0x2081, 0x2091, 0x20a1, 0x20b1, 0x20c1, 0x20d1, 0x20e1, 0x20f1, 0x2201,
1028  0x1002, 0x2012, 0x2022, 0x2032, 0x2042, 0x2052, 0x2062, 0x2072,
1029  0x2082, 0x2092, 0x20a2, 0x20b2, 0x20c2, 0x20d2, 0x20e2, 0x20f2, 0x2202,
1030  0x1003, 0x2013, 0x2023, 0x2033, 0x2043, 0x2053, 0x2063, 0x2073,
1031  0x2083, 0x2093, 0x20a3, 0x20b3, 0x20c3, 0x20d3, 0x20e3, 0x20f3, 0x2203,
1032  0x1004, 0x2014, 0x2024, 0x2034, 0x2044, 0x2054, 0x2064, 0x2074,
1033  0x2084, 0x2094, 0x20a4, 0x20b4, 0x20c4, 0x20d4, 0x20e4, 0x20f4, 0x2204,
1034  0x1005, 0x2015, 0x2025, 0x2035, 0x2045, 0x2055, 0x2065, 0x2075,
1035  0x2085, 0x2095, 0x20a5, 0x20b5, 0x20c5, 0x20d5, 0x20e5, 0x20f5, 0x2205,
1036  0x1006, 0x2016, 0x2026, 0x2036, 0x2046, 0x2056, 0x2066, 0x2076,
1037  0x2086, 0x2096, 0x20a6, 0x20b6, 0x20c6, 0x20d6, 0x20e6, 0x20f6, 0x2206,
1038  0x1007, 0x2017, 0x2027, 0x2037, 0x2047, 0x2057, 0x2067, 0x2077,
1039  0x2087, 0x2097, 0x20a7, 0x20b7, 0x20c7, 0x20d7, 0x20e7, 0x20f7, 0x2207,
1040  0x1008, 0x2018, 0x2028, 0x2038, 0x2048, 0x2058, 0x2068, 0x2078,
1041  0x2088, 0x2098, 0x20a8, 0x20b8, 0x20c8, 0x20d8, 0x20e8, 0x20f8, 0x2208,
1042  0x1009, 0x2019, 0x2029, 0x2039, 0x2049, 0x2059, 0x2069, 0x2079,
1043  0x2089, 0x2099, 0x20a9, 0x20b9, 0x20c9, 0x20d9, 0x20e9, 0x20f9, 0x2209,
1044  0x100a, 0x201a, 0x202a, 0x203a, 0x204a, 0x205a, 0x206a, 0x207a,
1045  0x208a, 0x209a, 0x20aa, 0x20ba, 0x20ca, 0x20da, 0x20ea, 0x20fa, 0x220a,
1046  0x100b, 0x201b, 0x202b, 0x203b, 0x204b, 0x205b, 0x206b, 0x207b,
1047  0x208b, 0x209b, 0x20ab, 0x20bb, 0x20cb, 0x20db, 0x20eb, 0x20fb, 0x220b,
1048  0x100c, 0x201c, 0x202c, 0x203c, 0x204c, 0x205c, 0x206c, 0x207c,
1049  0x208c, 0x209c, 0x20ac, 0x20bc, 0x20cc, 0x20dc, 0x20ec, 0x20fc, 0x220c,
1050  0x100d, 0x201d, 0x202d, 0x203d, 0x204d, 0x205d, 0x206d, 0x207d,
1051  0x208d, 0x209d, 0x20ad, 0x20bd, 0x20cd, 0x20dd, 0x20ed, 0x20fd, 0x220d,
1052  0x100e, 0x201e, 0x202e, 0x203e, 0x204e, 0x205e, 0x206e, 0x207e,
1053  0x208e, 0x209e, 0x20ae, 0x20be, 0x20ce, 0x20de, 0x20ee, 0x20fe, 0x220e,
1054  0x100f, 0x201f, 0x202f, 0x203f, 0x204f, 0x205f, 0x206f, 0x207f,
1055  0x208f, 0x209f, 0x20af, 0x20bf, 0x20cf, 0x20df, 0x20ef, 0x20ff, 0x220f,
1056  0x1100, 0x2110, 0x2120, 0x2130, 0x2140, 0x2150, 0x2160, 0x2170,
1057  0x2180, 0x2190, 0x21a0, 0x21b0, 0x21c0, 0x21d0, 0x21e0, 0x21f0, 0x2300,
1058 };
1059 
1060 const float *const ff_aac_codebook_vector_vals[] = {
1067 };
1068 
1069 const uint16_t *const ff_aac_codebook_vector_idx[] = {
1076 };
1077 
1078 /* @name swb_offsets
1079  * Sample offset into the window indicating the beginning of a scalefactor
1080  * window band
1081  *
1082  * scalefactor window band - term for scalefactor bands within a window,
1083  * given in Table 4.110 to Table 4.128.
1084  *
1085  * scalefactor band - a set of spectral coefficients which are scaled by one
1086  * scalefactor. In case of EIGHT_SHORT_SEQUENCE and grouping a scalefactor band
1087  * may contain several scalefactor window bands of corresponding frequency. For
1088  * all other window_sequences scalefactor bands and scalefactor window bands are
1089  * identical.
1090  * @{
1091  */
1092 
1093 static const uint16_t swb_offset_1024_96[] = {
1094  0, 4, 8, 12, 16, 20, 24, 28,
1095  32, 36, 40, 44, 48, 52, 56, 64,
1096  72, 80, 88, 96, 108, 120, 132, 144,
1097  156, 172, 188, 212, 240, 276, 320, 384,
1098  448, 512, 576, 640, 704, 768, 832, 896,
1099  960, 1024
1100 };
1101 
1102 static const uint16_t swb_offset_128_96[] = {
1103  0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
1104 };
1105 
1106 static const uint16_t swb_offset_1024_64[] = {
1107  0, 4, 8, 12, 16, 20, 24, 28,
1108  32, 36, 40, 44, 48, 52, 56, 64,
1109  72, 80, 88, 100, 112, 124, 140, 156,
1110  172, 192, 216, 240, 268, 304, 344, 384,
1111  424, 464, 504, 544, 584, 624, 664, 704,
1112  744, 784, 824, 864, 904, 944, 984, 1024
1113 };
1114 
1115 static const uint16_t swb_offset_1024_48[] = {
1116  0, 4, 8, 12, 16, 20, 24, 28,
1117  32, 36, 40, 48, 56, 64, 72, 80,
1118  88, 96, 108, 120, 132, 144, 160, 176,
1119  196, 216, 240, 264, 292, 320, 352, 384,
1120  416, 448, 480, 512, 544, 576, 608, 640,
1121  672, 704, 736, 768, 800, 832, 864, 896,
1122  928, 1024
1123 };
1124 
1125 static const uint16_t swb_offset_512_48[] = {
1126  0, 4, 8, 12, 16, 20, 24, 28,
1127  32, 36, 40, 44, 48, 52, 56, 60,
1128  68, 76, 84, 92, 100, 112, 124, 136,
1129  148, 164, 184, 208, 236, 268, 300, 332,
1130  364, 396, 428, 460, 512
1131 };
1132 
1133 static const uint16_t swb_offset_480_48[] = {
1134  0, 4, 8, 12, 16, 20, 24, 28,
1135  32, 36, 40, 44, 48, 52, 56, 64,
1136  72, 80, 88, 96, 108, 120, 132, 144,
1137  156, 172, 188, 212, 240, 272, 304, 336,
1138  368, 400, 432, 480
1139 };
1140 
1141 static const uint16_t swb_offset_128_48[] = {
1142  0, 4, 8, 12, 16, 20, 28, 36,
1143  44, 56, 68, 80, 96, 112, 128
1144 };
1145 
1146 static const uint16_t swb_offset_1024_32[] = {
1147  0, 4, 8, 12, 16, 20, 24, 28,
1148  32, 36, 40, 48, 56, 64, 72, 80,
1149  88, 96, 108, 120, 132, 144, 160, 176,
1150  196, 216, 240, 264, 292, 320, 352, 384,
1151  416, 448, 480, 512, 544, 576, 608, 640,
1152  672, 704, 736, 768, 800, 832, 864, 896,
1153  928, 960, 992, 1024
1154 };
1155 
1156 static const uint16_t swb_offset_512_32[] = {
1157  0, 4, 8, 12, 16, 20, 24, 28,
1158  32, 36, 40, 44, 48, 52, 56, 64,
1159  72, 80, 88, 96, 108, 120, 132, 144,
1160  160, 176, 192, 212, 236, 260, 288, 320,
1161  352, 384, 416, 448, 480, 512
1162 };
1163 
1164 static const uint16_t swb_offset_480_32[] = {
1165  0, 4, 8, 12, 16, 20, 24, 28,
1166  32, 36, 40, 44, 48, 52, 56, 60,
1167  64, 72, 80, 88, 96, 104, 112, 124,
1168  136, 148, 164, 180, 200, 224, 256, 288,
1169  320, 352, 384, 416, 448, 480
1170  };
1171 
1172 static const uint16_t swb_offset_1024_24[] = {
1173  0, 4, 8, 12, 16, 20, 24, 28,
1174  32, 36, 40, 44, 52, 60, 68, 76,
1175  84, 92, 100, 108, 116, 124, 136, 148,
1176  160, 172, 188, 204, 220, 240, 260, 284,
1177  308, 336, 364, 396, 432, 468, 508, 552,
1178  600, 652, 704, 768, 832, 896, 960, 1024
1179 };
1180 
1181 static const uint16_t swb_offset_512_24[] = {
1182  0, 4, 8, 12, 16, 20, 24, 28,
1183  32, 36, 40, 44, 52, 60, 68, 80,
1184  92, 104, 120, 140, 164, 192, 224, 256,
1185  288, 320, 352, 384, 416, 448, 480, 512,
1186 };
1187 
1188 static const uint16_t swb_offset_480_24[] = {
1189  0, 4, 8, 12, 16, 20, 24, 28,
1190  32, 36, 40, 44, 52, 60, 68, 80,
1191  92, 104, 120, 140, 164, 192, 224, 256,
1192  288, 320, 352, 384, 416, 448, 480
1193 };
1194 
1195 static const uint16_t swb_offset_128_24[] = {
1196  0, 4, 8, 12, 16, 20, 24, 28,
1197  36, 44, 52, 64, 76, 92, 108, 128
1198 };
1199 
1200 static const uint16_t swb_offset_1024_16[] = {
1201  0, 8, 16, 24, 32, 40, 48, 56,
1202  64, 72, 80, 88, 100, 112, 124, 136,
1203  148, 160, 172, 184, 196, 212, 228, 244,
1204  260, 280, 300, 320, 344, 368, 396, 424,
1205  456, 492, 532, 572, 616, 664, 716, 772,
1206  832, 896, 960, 1024
1207 };
1208 
1209 static const uint16_t swb_offset_128_16[] = {
1210  0, 4, 8, 12, 16, 20, 24, 28,
1211  32, 40, 48, 60, 72, 88, 108, 128
1212 };
1213 
1214 static const uint16_t swb_offset_1024_8[] = {
1215  0, 12, 24, 36, 48, 60, 72, 84,
1216  96, 108, 120, 132, 144, 156, 172, 188,
1217  204, 220, 236, 252, 268, 288, 308, 328,
1218  348, 372, 396, 420, 448, 476, 508, 544,
1219  580, 620, 664, 712, 764, 820, 880, 944,
1220  1024
1221 };
1222 
1223 static const uint16_t swb_offset_128_8[] = {
1224  0, 4, 8, 12, 16, 20, 24, 28,
1225  36, 44, 52, 60, 72, 88, 108, 128
1226 };
1227 
1228 const uint16_t * const ff_swb_offset_1024[] = {
1233  swb_offset_1024_8
1234 };
1235 
1236 const uint16_t * const ff_swb_offset_512[] = {
1237  NULL, NULL, NULL,
1240  NULL, NULL, NULL,
1241  NULL
1242 };
1243 
1244 const uint16_t * const ff_swb_offset_480[] = {
1245  NULL, NULL, NULL,
1248  NULL, NULL, NULL,
1249  NULL
1250 };
1251 
1252 const uint16_t * const ff_swb_offset_128[] = {
1253  /* The last entry on the following row is swb_offset_128_64 but is a
1254  duplicate of swb_offset_128_96. */
1259  swb_offset_128_8
1260 };
1261 
1262 // @}
1263 
1264 /* @name ff_tns_max_bands
1265  * The maximum number of scalefactor bands on which TNS can operate for the long
1266  * and short transforms respectively. The index to these tables is related to
1267  * the sample rate of the audio.
1268  * @{
1269  */
1271  31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
1272 };
1273 
1275  0, 0, 0, 31, 32, 37, 31, 31, 0, 0, 0, 0, 0
1276 };
1277 
1279  0, 0, 0, 31, 32, 37, 30, 30, 0, 0, 0, 0, 0
1280 };
1281 
1283  9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
1284 };
1285 // @}
1286 
1287 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_512)[1920] = {
1288  0.00338834, 0.00567745, 0.00847677, 0.01172641,
1289  0.01532555, 0.01917664, 0.02318809, 0.02729259,
1290  0.03144503, 0.03560261, 0.03972499, 0.04379783,
1291  0.04783094, 0.05183357, 0.05581342, 0.05977723,
1292  0.06373173, 0.06768364, 0.07163937, 0.07559976,
1293  0.07956096, 0.08352024, 0.08747623, 0.09143035,
1294  0.09538618, 0.09934771, 0.10331917, 0.10730456,
1295  0.11130697, 0.11532867, 0.11937133, 0.12343922,
1296  0.12753911, 0.13167705, 0.13585812, 0.14008529,
1297  0.14435986, 0.14868291, 0.15305531, 0.15747594,
1298  0.16194193, 0.16645070, 0.17099991, 0.17558633,
1299  0.18020600, 0.18485548, 0.18953191, 0.19423322,
1300  0.19895800, 0.20370512, 0.20847374, 0.21326312,
1301  0.21807244, 0.22290083, 0.22774742, 0.23261210,
1302  0.23749542, 0.24239767, 0.24731889, 0.25225887,
1303  0.25721719, 0.26219330, 0.26718648, 0.27219630,
1304  0.27722262, 0.28226514, 0.28732336, 0.29239628,
1305  0.29748247, 0.30258055, 0.30768914, 0.31280508,
1306  0.31792385, 0.32304172, 0.32815579, 0.33326397,
1307  0.33836470, 0.34345661, 0.34853868, 0.35361188,
1308  0.35867865, 0.36374072, 0.36879900, 0.37385347,
1309  0.37890349, 0.38394836, 0.38898730, 0.39401912,
1310  0.39904236, 0.40405575, 0.40905820, 0.41404819,
1311  0.41902398, 0.42398423, 0.42892805, 0.43385441,
1312  0.43876210, 0.44365014, 0.44851786, 0.45336632,
1313  0.45819759, 0.46301302, 0.46781309, 0.47259722,
1314  0.47736435, 0.48211365, 0.48684450, 0.49155594,
1315  0.49624679, 0.50091636, 0.50556440, 0.51019132,
1316  0.51479771, 0.51938391, 0.52394998, 0.52849587,
1317  0.53302151, 0.53752680, 0.54201160, 0.54647575,
1318  0.55091916, 0.55534181, 0.55974376, 0.56412513,
1319  0.56848615, 0.57282710, 0.57714834, 0.58145030,
1320  0.58492489, 0.58918511, 0.59342326, 0.59763936,
1321  0.60183347, 0.60600561, 0.61015581, 0.61428412,
1322  0.61839056, 0.62247517, 0.62653799, 0.63057912,
1323  0.63459872, 0.63859697, 0.64257403, 0.64653001,
1324  0.65046495, 0.65437887, 0.65827181, 0.66214383,
1325  0.66599499, 0.66982535, 0.67363499, 0.67742394,
1326  0.68119219, 0.68493972, 0.68866653, 0.69237258,
1327  0.69605778, 0.69972207, 0.70336537, 0.70698758,
1328  0.71058862, 0.71416837, 0.71772674, 0.72126361,
1329  0.72477889, 0.72827246, 0.73174419, 0.73519392,
1330  0.73862141, 0.74202643, 0.74540874, 0.74876817,
1331  0.75210458, 0.75541785, 0.75870785, 0.76197437,
1332  0.76521709, 0.76843570, 0.77162988, 0.77479939,
1333  0.77794403, 0.78106359, 0.78415789, 0.78722670,
1334  0.79026979, 0.79328694, 0.79627791, 0.79924244,
1335  0.80218027, 0.80509112, 0.80797472, 0.81083081,
1336  0.81365915, 0.81645949, 0.81923160, 0.82197528,
1337  0.82469037, 0.82737673, 0.83003419, 0.83266262,
1338  0.83526186, 0.83783176, 0.84037217, 0.84288297,
1339  0.84536401, 0.84781517, 0.85023632, 0.85262739,
1340  0.85498836, 0.85731921, 0.85961993, 0.86189052,
1341  0.86413101, 0.86634140, 0.86852173, 0.87067211,
1342  0.87279275, 0.87488384, 0.87694559, 0.87897824,
1343  0.88098206, 0.88295729, 0.88490423, 0.88682332,
1344  0.88871519, 0.89058048, 0.89241983, 0.89423391,
1345  0.89602338, 0.89778893, 0.89953126, 0.90125142,
1346  0.90295086, 0.90463104, 0.90629341, 0.90793946,
1347  0.90957067, 0.91118856, 0.91279464, 0.91439073,
1348  0.91597898, 0.91756153, 0.91914049, 0.92071690,
1349  0.92229070, 0.92386182, 0.92542993, 0.92698946,
1350  0.92852960, 0.93003929, 0.93150727, 0.93291739,
1351  0.93424863, 0.93547974, 0.93658982, 0.93756587,
1352  0.93894072, 0.93922780, 0.93955477, 0.93991290,
1353  0.94029104, 0.94067794, 0.94106258, 0.94144084,
1354  0.94181549, 0.94218963, 0.94256628, 0.94294662,
1355  0.94332998, 0.94371562, 0.94410280, 0.94449122,
1356  0.94488106, 0.94527249, 0.94566568, 0.94606074,
1357  0.94645772, 0.94685665, 0.94725759, 0.94766054,
1358  0.94806547, 0.94847234, 0.94888115, 0.94929190,
1359  0.94970469, 0.95011960, 0.95053672, 0.95095604,
1360  0.95137751, 0.95180105, 0.95222658, 0.95265413,
1361  0.95308380, 0.95351571, 0.95394994, 0.95438653,
1362  0.95482538, 0.95526643, 0.95570958, 0.95615486,
1363  0.95660234, 0.95705214, 0.95750433, 0.95795892,
1364  0.95841582, 0.95887493, 0.95933616, 0.95979949,
1365  0.96026500, 0.96073277, 0.96120286, 0.96167526,
1366  0.96214986, 0.96262655, 0.96310522, 0.96358586,
1367  0.96406853, 0.96455330, 0.96504026, 0.96552936,
1368  0.96602051, 0.96651360, 0.96700850, 0.96750520,
1369  0.96800376, 0.96850424, 0.96900670, 0.96951112,
1370  0.97001738, 0.97052533, 0.97103488, 0.97154597,
1371  0.97205867, 0.97257304, 0.97308915, 0.97360694,
1372  0.97412631, 0.97464711, 0.97516923, 0.97569262,
1373  0.97621735, 0.97674350, 0.97727111, 0.97780016,
1374  0.97833051, 0.97886205, 0.97939463, 0.97992823,
1375  0.98046291, 0.98099875, 0.98153580, 0.98207405,
1376  0.98261337, 0.98315364, 0.98369474, 0.98423664,
1377  0.98477941, 0.98532311, 0.98586780, 0.98641348,
1378  0.98696003, 0.98750734, 0.98805530, 0.98860389,
1379  0.98915320, 0.98970328, 0.99025423, 0.99080602,
1380  0.99135855, 0.99191171, 0.99246541, 0.99301962,
1381  0.99357443, 0.99412992, 0.99468617, 0.99524320,
1382  0.99580092, 0.99635926, 0.99691814, 0.99747748,
1383  0.99803721, 0.99859725, 0.99915752, 0.99971793,
1384  1.00028215, 1.00084319, 1.00140472, 1.00196665,
1385  1.00252889, 1.00309139, 1.00365404, 1.00421679,
1386  1.00477954, 1.00534221, 1.00590474, 1.00646713,
1387  1.00702945, 1.00759179, 1.00815424, 1.00871678,
1388  1.00927930, 1.00984169, 1.01040384, 1.01096575,
1389  1.01152747, 1.01208910, 1.01265070, 1.01321226,
1390  1.01377365, 1.01433478, 1.01489551, 1.01545584,
1391  1.01601582, 1.01657553, 1.01713502, 1.01769427,
1392  1.01825316, 1.01881154, 1.01936929, 1.01992639,
1393  1.02048289, 1.02103888, 1.02159441, 1.02214945,
1394  1.02270387, 1.02325751, 1.02381025, 1.02436204,
1395  1.02491295, 1.02546304, 1.02601238, 1.02656092,
1396  1.02710853, 1.02765508, 1.02820041, 1.02874449,
1397  1.02928737, 1.02982913, 1.03036981, 1.03090937,
1398  1.03144768, 1.03198460, 1.03252000, 1.03305384,
1399  1.03358617, 1.03411707, 1.03464659, 1.03517470,
1400  1.03570128, 1.03622620, 1.03674934, 1.03727066,
1401  1.03779024, 1.03830815, 1.03882446, 1.03933914,
1402  1.03985206, 1.04036312, 1.04087217, 1.04137920,
1403  1.04188428, 1.04238748, 1.04288888, 1.04338845,
1404  1.04388610, 1.04438170, 1.04487515, 1.04536645,
1405  1.04585569, 1.04634297, 1.04682838, 1.04731192,
1406  1.04779350, 1.04827303, 1.04875042, 1.04922568,
1407  1.04969891, 1.05017022, 1.05063974, 1.05110746,
1408  1.05157332, 1.05203721, 1.05249907, 1.05295889,
1409  1.05341676, 1.05387277, 1.05432700, 1.05477948,
1410  1.05523018, 1.05567906, 1.05612608, 1.05657124,
1411  1.05701459, 1.05745616, 1.05789601, 1.05833426,
1412  1.05877109, 1.05920669, 1.05964125, 1.06007444,
1413  1.06050542, 1.06093335, 1.06135746, 1.06177909,
1414  1.06220164, 1.06262858, 1.06306309, 1.06350050,
1415  1.06392837, 1.06433391, 1.06470443, 1.06502996,
1416  1.06481076, 1.06469765, 1.06445004, 1.06408002,
1417  1.06361382, 1.06307719, 1.06249453, 1.06188365,
1418  1.06125612, 1.06062291, 1.05999418, 1.05937132,
1419  1.05874726, 1.05811486, 1.05746728, 1.05680000,
1420  1.05611070, 1.05539715, 1.05465735, 1.05389329,
1421  1.05311083, 1.05231578, 1.05151372, 1.05070811,
1422  1.04990044, 1.04909210, 1.04828434, 1.04747647,
1423  1.04666590, 1.04585003, 1.04502628, 1.04419009,
1424  1.04333499, 1.04245452, 1.04154244, 1.04059452,
1425  1.03960846, 1.03858207, 1.03751326, 1.03640189,
1426  1.03524976, 1.03405868, 1.03283047, 1.03156812,
1427  1.03027574, 1.02895743, 1.02761717, 1.02625804,
1428  1.02488222, 1.02349184, 1.02208892, 1.02067450,
1429  1.01924861, 1.01781123, 1.01636229, 1.01490045,
1430  1.01342315, 1.01192778, 1.01041175, 1.00887284,
1431  1.00730915, 1.00571882, 1.00409996, 1.00245032,
1432  1.00076734, 0.99904842, 0.99729101, 0.99549380,
1433  0.99365664, 0.99177946, 0.98986234, 0.98791024,
1434  0.98593294, 0.98394037, 0.98194226, 0.97994532,
1435  0.97795324, 0.97596955, 0.97399748, 0.97203326,
1436  0.97006624, 0.96808546, 0.96608018, 0.96404416,
1437  0.96197556, 0.95987276, 0.95773420, 0.95556018,
1438  0.95335291, 0.95111462, 0.94884764, 0.94655663,
1439  0.94424858, 0.94193055, 0.93960953, 0.93729154,
1440  0.93498157, 0.93268456, 0.93040503, 0.92813771,
1441  0.92586755, 0.92357910, 0.92125731, 0.91889642,
1442  0.91649998, 0.91407191, 0.91161623, 0.90913975,
1443  0.90665202, 0.90416271, 0.90168115, 0.89920934,
1444  0.89674189, 0.89427312, 0.89179743, 0.88931147,
1445  0.88681415, 0.88430445, 0.88178141, 0.87924528,
1446  0.87669753, 0.87413966, 0.87157318, 0.86899958,
1447  0.86642037, 0.86383703, 0.86125106, 0.85866393,
1448  0.85604236, 0.85344385, 0.85083093, 0.84820550,
1449  0.84556943, 0.84292458, 0.84027278, 0.83761586,
1450  0.83495565, 0.83229393, 0.82963243, 0.82697135,
1451  0.82430933, 0.82164496, 0.81897669, 0.81630017,
1452  0.81360822, 0.81089355, 0.80814924, 0.80537741,
1453  0.80258920, 0.79979611, 0.79700954, 0.79423813,
1454  0.79148780, 0.78876432, 0.78607290, 0.78340590,
1455  0.78074288, 0.77806279, 0.77534514, 0.77258187,
1456  0.76977737, 0.76693654, 0.76406441, 0.76116851,
1457  0.75825892, 0.75534582, 0.75243924, 0.74954634,
1458  0.74667135, 0.74381840, 0.74099145, 0.73819147,
1459  0.73541641, 0.73266408, 0.72993193, 0.72720913,
1460  0.72447661, 0.72171494, 0.71890515, 0.71603932,
1461  0.71312056, 0.71015250, 0.70713900, 0.70409084,
1462  0.70102565, 0.69796137, 0.69491556, 0.69189772,
1463  0.68890931, 0.68595141, 0.68302498, 0.68012852,
1464  0.67725801, 0.67440936, 0.67157841, 0.66876081,
1465  0.66595195, 0.66314722, 0.66034194, 0.65753027,
1466  0.65470525, 0.65185984, 0.64898709, 0.64608214,
1467  0.64314221, 0.64016460, 0.63714680, 0.63409034,
1468  0.63100082, 0.62788400, 0.62474577, 0.62159473,
1469  0.61844225, 0.61529977, 0.61217866, 0.60908811,
1470  0.60603510, 0.60302654, 0.60006916, 0.59716588,
1471  0.59431580, 0.59151787, 0.58877068, 0.58606495,
1472  0.58338353, 0.58070891, 0.57802356, 0.57530864,
1473  0.57254404, 0.56970958, 0.56678577, 0.56376860,
1474  0.56066951, 0.55750064, 0.55427451, 0.55101301,
1475  0.54774732, 0.54450907, 0.54132936, 0.53822744,
1476  0.53521072, 0.53228613, 0.52945979, 0.52671997,
1477  0.52403708, 0.52138072, 0.51872085, 0.51603570,
1478  0.51331170, 0.51053560, 0.50769466, 0.50478931,
1479  0.50183308, 0.49884001, 0.49582406, 0.49279905,
1480  0.48985748, 0.48679641, 0.48379429, 0.48085363,
1481  0.47796576, 0.47512151, 0.47231151, 0.46952402,
1482  0.46674486, 0.46395978, 0.46115496, 0.45832607,
1483  0.45547830, 0.45261727, 0.44974866, 0.44688011,
1484  0.44402125, 0.44118178, 0.43837094, 0.43558772,
1485  0.43282082, 0.43005847, 0.42728913, 0.42450572,
1486  0.42170567, 0.41888658, 0.41604633, 0.41318897,
1487  0.41032472, 0.40746405, 0.40461724, 0.40178943,
1488  0.39898066, 0.39619073, 0.39341940, 0.39066519,
1489  0.38792536, 0.38519713, 0.38247773, 0.37976476,
1490  0.37705620, 0.37435006, 0.37164438, 0.36893869,
1491  0.36623396, 0.36353124, 0.36083153, 0.35813533,
1492  0.35544262, 0.35275338, 0.35006755, 0.34738530,
1493  0.34470699, 0.34203296, 0.33936359, 0.33669922,
1494  0.33404027, 0.33138711, 0.32874013, 0.32609944,
1495  0.32346493, 0.32083645, 0.31821388, 0.31559703,
1496  0.31298573, 0.31037987, 0.30777941, 0.30518446,
1497  0.30259525, 0.30001202, 0.29743499, 0.29486428,
1498  0.29229989, 0.28974179, 0.28718997, 0.28464452,
1499  0.28210562, 0.27957346, 0.27704820, 0.27452992,
1500  0.27201854, 0.26951399, 0.26701622, 0.26452533,
1501  0.26204158, 0.25956526, 0.25709662, 0.25463583,
1502  0.25218294, 0.24973798, 0.24730100, 0.24487207,
1503  0.24245133, 0.24003893, 0.23763500, 0.23523959,
1504  0.23285262, 0.23047401, 0.22810369, 0.22574170,
1505  0.22338818, 0.22104329, 0.21870719, 0.21637986,
1506  0.21406117, 0.21175095, 0.20944904, 0.20715535,
1507  0.20486987, 0.20259261, 0.20032356, 0.19806259,
1508  0.19580944, 0.19356385, 0.19132556, 0.18909442,
1509  0.18687040, 0.18465350, 0.18244372, 0.18024164,
1510  0.17804841, 0.17586521, 0.17369322, 0.17153360,
1511  0.16938755, 0.16725622, 0.16514081, 0.16304247,
1512  0.16098974, 0.15896561, 0.15696026, 0.15497259,
1513  0.15300151, 0.15104590, 0.14910466, 0.14717666,
1514  0.14526081, 0.14335599, 0.14146111, 0.13957570,
1515  0.13769993, 0.13583399, 0.13397806, 0.13213229,
1516  0.13029682, 0.12847178, 0.12665729, 0.12485353,
1517  0.12306074, 0.12127916, 0.11950900, 0.11775043,
1518  0.11600347, 0.11426820, 0.11254464, 0.11083292,
1519  0.10913318, 0.10744559, 0.10577028, 0.10410733,
1520  0.10245672, 0.10081842, 0.09919240, 0.09757872,
1521  0.09597750, 0.09438884, 0.09281288, 0.09124964,
1522  0.08969907, 0.08816111, 0.08663570, 0.08512288,
1523  0.08362274, 0.08213540, 0.08066096, 0.07919944,
1524  0.07775076, 0.07631484, 0.07489161, 0.07348108,
1525  0.07208335, 0.07069851, 0.06932666, 0.06796781,
1526  0.06662187, 0.06528874, 0.06396833, 0.06266065,
1527  0.06136578, 0.06008380, 0.05881480, 0.05755876,
1528  0.05631557, 0.05508511, 0.05386728, 0.05266206,
1529  0.05146951, 0.05028971, 0.04912272, 0.04796855,
1530  0.04682709, 0.04569825, 0.04458194, 0.04347817,
1531  0.04238704, 0.04130868, 0.04024318, 0.03919056,
1532  0.03815071, 0.03712352, 0.03610890, 0.03510679,
1533  0.03411720, 0.03314013, 0.03217560, 0.03122343,
1534  0.03028332, 0.02935494, 0.02843799, 0.02753230,
1535  0.02663788, 0.02575472, 0.02488283, 0.02402232,
1536  0.02317341, 0.02233631, 0.02151124, 0.02069866,
1537  0.01989922, 0.01911359, 0.01834241, 0.01758563,
1538  0.01684248, 0.01611219, 0.01539397, 0.01468726,
1539  0.01399167, 0.01330687, 0.01263250, 0.01196871,
1540  0.01131609, 0.01067527, 0.01004684, 0.00943077,
1541  0.00882641, 0.00823307, 0.00765011, 0.00707735,
1542  0.00651513, 0.00596377, 0.00542364, 0.00489514,
1543  0.00437884, 0.00387530, 0.00338509, 0.00290795,
1544  0.00244282, 0.00198860, 0.00154417, 0.00110825,
1545  0.00067934, 0.00025589, -0.00016357, -0.00057897,
1546  -0.00098865, -0.00139089, -0.00178397, -0.00216547,
1547  -0.00253230, -0.00288133, -0.00320955, -0.00351626,
1548  -0.00380315, -0.00407198, -0.00432457, -0.00456373,
1549  -0.00479326, -0.00501699, -0.00523871, -0.00546066,
1550  -0.00568360, -0.00590821, -0.00613508, -0.00636311,
1551  -0.00658944, -0.00681117, -0.00702540, -0.00722982,
1552  -0.00742268, -0.00760226, -0.00776687, -0.00791580,
1553  -0.00804933, -0.00816774, -0.00827139, -0.00836122,
1554  -0.00843882, -0.00850583, -0.00856383, -0.00861430,
1555  -0.00865853, -0.00869781, -0.00873344, -0.00876633,
1556  -0.00879707, -0.00882622, -0.00885433, -0.00888132,
1557  -0.00890652, -0.00892925, -0.00894881, -0.00896446,
1558  -0.00897541, -0.00898088, -0.00898010, -0.00897234,
1559  -0.00895696, -0.00893330, -0.00890076, -0.00885914,
1560  -0.00880875, -0.00874987, -0.00868282, -0.00860825,
1561  -0.00852716, -0.00844055, -0.00834941, -0.00825485,
1562  -0.00815807, -0.00806025, -0.00796253, -0.00786519,
1563  -0.00776767, -0.00766937, -0.00756971, -0.00746790,
1564  -0.00736305, -0.00725422, -0.00714055, -0.00702161,
1565  -0.00689746, -0.00676816, -0.00663381, -0.00649489,
1566  -0.00635230, -0.00620694, -0.00605969, -0.00591116,
1567  -0.00576167, -0.00561155, -0.00546110, -0.00531037,
1568  -0.00515917, -0.00500732, -0.00485462, -0.00470075,
1569  -0.00454530, -0.00438786, -0.00422805, -0.00406594,
1570  -0.00390204, -0.00373686, -0.00357091, -0.00340448,
1571  -0.00323770, -0.00307066, -0.00290344, -0.00273610,
1572  -0.00256867, -0.00240117, -0.00223365, -0.00206614,
1573  -0.00189866, -0.00173123, -0.00156390, -0.00139674,
1574  -0.00122989, -0.00106351, -0.00089772, -0.00073267,
1575  -0.00056849, -0.00040530, -0.00024324, -0.00008241,
1576  0.00008214, 0.00024102, 0.00039922, 0.00055660,
1577  0.00071299, 0.00086826, 0.00102224, 0.00117480,
1578  0.00132579, 0.00147507, 0.00162252, 0.00176804,
1579  0.00191161, 0.00205319, 0.00219277, 0.00233029,
1580  0.00246567, 0.00259886, 0.00272975, 0.00285832,
1581  0.00298453, 0.00310839, 0.00322990, 0.00334886,
1582  0.00346494, 0.00357778, 0.00368706, 0.00379273,
1583  0.00389501, 0.00399411, 0.00409020, 0.00418350,
1584  0.00427419, 0.00436249, 0.00444858, 0.00453250,
1585  0.00461411, 0.00469328, 0.00476988, 0.00484356,
1586  0.00491375, 0.00497987, 0.00504139, 0.00509806,
1587  0.00514990, 0.00519693, 0.00523920, 0.00527700,
1588  0.00531083, 0.00534122, 0.00536864, 0.00539357,
1589  0.00541649, 0.00543785, 0.00545809, 0.00547713,
1590  0.00549441, 0.00550936, 0.00552146, 0.00553017,
1591  0.00553494, 0.00553524, 0.00553058, 0.00552065,
1592  0.00550536, 0.00548459, 0.00545828, 0.00542662,
1593  0.00539007, 0.00534910, 0.00530415, 0.00525568,
1594  0.00520417, 0.00515009, 0.00509387, 0.00503595,
1595  0.00497674, 0.00491665, 0.00485605, 0.00479503,
1596  0.00473336, 0.00467082, 0.00460721, 0.00454216,
1597  0.00447517, 0.00440575, 0.00433344, 0.00425768,
1598  0.00417786, 0.00409336, 0.00400363, 0.00390837,
1599  0.00380759, 0.00370130, 0.00358952, 0.00347268,
1600  0.00335157, 0.00322699, 0.00309975, 0.00297088,
1601  0.00284164, 0.00271328, 0.00258700, 0.00246328,
1602  0.00234195, 0.00222281, 0.00210562, 0.00198958,
1603  0.00187331, 0.00175546, 0.00163474, 0.00151020,
1604  0.00138130, 0.00124750, 0.00110831, 0.00096411,
1605  0.00081611, 0.00066554, 0.00051363, 0.00036134,
1606  0.00020940, 0.00005853, -0.00009058, -0.00023783,
1607  -0.00038368, -0.00052861, -0.00067310, -0.00081757,
1608  -0.00096237, -0.00110786, -0.00125442, -0.00140210,
1609  -0.00155065, -0.00169984, -0.00184940, -0.00199910,
1610  -0.00214872, -0.00229798, -0.00244664, -0.00259462,
1611  -0.00274205, -0.00288912, -0.00303596, -0.00318259,
1612  -0.00332890, -0.00347480, -0.00362024, -0.00376519,
1613  -0.00390962, -0.00405345, -0.00419658, -0.00433902,
1614  -0.00448085, -0.00462219, -0.00476309, -0.00490357,
1615  -0.00504361, -0.00518321, -0.00532243, -0.00546132,
1616  -0.00559988, -0.00573811, -0.00587602, -0.00601363,
1617  -0.00615094, -0.00628795, -0.00642466, -0.00656111,
1618  -0.00669737, -0.00683352, -0.00696963, -0.00710578,
1619  -0.00724208, -0.00737862, -0.00751554, -0.00765295,
1620  -0.00779098, -0.00792976, -0.00806941, -0.00821006,
1621  -0.00835183, -0.00849485, -0.00863926, -0.00878522,
1622  -0.00893293, -0.00908260, -0.00923444, -0.00938864,
1623  -0.00954537, -0.00970482, -0.00986715, -0.01003173,
1624  -0.01019711, -0.01036164, -0.01052357, -0.01068184,
1625  -0.01083622, -0.01098652, -0.01113252, -0.01127409,
1626  -0.01141114, -0.01154358, -0.01167135, -0.01179439,
1627  -0.01191268, -0.01202619, -0.01213493, -0.01223891,
1628  -0.01233817, -0.01243275, -0.01252272, -0.01260815,
1629  -0.01268915, -0.01276583, -0.01283832, -0.01290685,
1630  -0.01297171, -0.01303320, -0.01309168, -0.01314722,
1631  -0.01319969, -0.01324889, -0.01329466, -0.01333693,
1632  -0.01337577, -0.01341125, -0.01344345, -0.01347243,
1633  -0.01349823, -0.01352089, -0.01354045, -0.01355700,
1634  -0.01357068, -0.01358164, -0.01359003, -0.01359587,
1635  -0.01359901, -0.01359931, -0.01359661, -0.01359087,
1636  -0.01358219, -0.01357065, -0.01355637, -0.01353935,
1637  -0.01351949, -0.01349670, -0.01347088, -0.01344214,
1638  -0.01341078, -0.01337715, -0.01334158, -0.01330442,
1639  -0.01326601, -0.01322671, -0.01318689, -0.01314692,
1640  -0.01310123, -0.01306470, -0.01302556, -0.01298381,
1641  -0.01293948, -0.01289255, -0.01284305, -0.01279095,
1642  -0.01273625, -0.01267893, -0.01261897, -0.01255632,
1643  -0.01249096, -0.01242283, -0.01235190, -0.01227827,
1644  -0.01220213, -0.01212366, -0.01204304, -0.01196032,
1645  -0.01187543, -0.01178829, -0.01169884, -0.01160718,
1646  -0.01151352, -0.01141809, -0.01132111, -0.01122272,
1647  -0.01112304, -0.01102217, -0.01092022, -0.01081730,
1648  -0.01071355, -0.01060912, -0.01050411, -0.01039854,
1649  -0.01029227, -0.01018521, -0.01007727, -0.00996859,
1650  -0.00985959, -0.00975063, -0.00964208, -0.00953420,
1651  -0.00942723, -0.00932135, -0.00921677, -0.00911364,
1652  -0.00901208, -0.00891220, -0.00881412, -0.00871792,
1653  -0.00862369, -0.00853153, -0.00844149, -0.00835360,
1654  -0.00826785, -0.00818422, -0.00810267, -0.00802312,
1655  -0.00794547, -0.00786959, -0.00779533, -0.00772165,
1656  -0.00764673, -0.00756886, -0.00748649, -0.00739905,
1657  -0.00730681, -0.00721006, -0.00710910, -0.00700419,
1658  -0.00689559, -0.00678354, -0.00666829, -0.00655007,
1659  -0.00642916, -0.00630579, -0.00618022, -0.00605267,
1660  -0.00592333, -0.00579240, -0.00566006, -0.00552651,
1661  -0.00539194, -0.00525653, -0.00512047, -0.00498390,
1662  -0.00484693, -0.00470969, -0.00457228, -0.00443482,
1663  -0.00429746, -0.00416034, -0.00402359, -0.00388738,
1664  -0.00375185, -0.00361718, -0.00348350, -0.00335100,
1665  -0.00321991, -0.00309043, -0.00296276, -0.00283698,
1666  -0.00271307, -0.00259098, -0.00247066, -0.00235210,
1667  -0.00223531, -0.00212030, -0.00200709, -0.00189576,
1668  -0.00178647, -0.00167936, -0.00157457, -0.00147216,
1669  -0.00137205, -0.00127418, -0.00117849, -0.00108498,
1670  -0.00099375, -0.00090486, -0.00081840, -0.00073444,
1671  -0.00065309, -0.00057445, -0.00049860, -0.00042551,
1672  -0.00035503, -0.00028700, -0.00022125, -0.00015761,
1673  -0.00009588, -0.00003583, 0.00002272, 0.00007975,
1674  0.00013501, 0.00018828, 0.00023933, 0.00028784,
1675  0.00033342, 0.00037572, 0.00041438, 0.00044939,
1676  0.00048103, 0.00050958, 0.00053533, 0.00055869,
1677  0.00058015, 0.00060022, 0.00061935, 0.00063781,
1678  0.00065568, 0.00067303, 0.00068991, 0.00070619,
1679  0.00072155, 0.00073567, 0.00074826, 0.00075912,
1680  0.00076811, 0.00077509, 0.00077997, 0.00078275,
1681  0.00078351, 0.00078237, 0.00077943, 0.00077484,
1682  0.00076884, 0.00076160, 0.00075335, 0.00074423,
1683  0.00073442, 0.00072404, 0.00071323, 0.00070209,
1684  0.00069068, 0.00067906, 0.00066728, 0.00065534,
1685  0.00064321, 0.00063086, 0.00061824, 0.00060534,
1686  0.00059211, 0.00057855, 0.00056462, 0.00055033,
1687  0.00053566, 0.00052063, 0.00050522, 0.00048949,
1688  0.00047349, 0.00045728, 0.00044092, 0.00042447,
1689  0.00040803, 0.00039166, 0.00037544, 0.00035943,
1690  0.00034371, 0.00032833, 0.00031333, 0.00029874,
1691  0.00028452, 0.00027067, 0.00025715, 0.00024395,
1692  0.00023104, 0.00021842, 0.00020606, 0.00019398,
1693  0.00018218, 0.00017069, 0.00015953, 0.00014871,
1694  0.00013827, 0.00012823, 0.00011861, 0.00010942,
1695  0.00010067, 0.00009236, 0.00008448, 0.00007703,
1696  0.00006999, 0.00006337, 0.00005714, 0.00005129,
1697  0.00004583, 0.00004072, 0.00003597, 0.00003157,
1698  0.00002752, 0.00002380, 0.00002042, 0.00001736,
1699  0.00001461, 0.00001215, 0.00000998, 0.00000807,
1700  0.00000641, 0.00000499, 0.00000378, 0.00000278,
1701  0.00000196, 0.00000132, 0.00000082, 0.00000046,
1702  0.00000020, 0.00000005, -0.00000003, -0.00000006,
1703  -0.00000004, -0.00000001, 0.00000001, 0.00000001,
1704  0.00000001, 0.00000001, -0.00000001, -0.00000004,
1705  -0.00000005, -0.00000003, 0.00000005, 0.00000020,
1706  0.00000043, 0.00000077, 0.00000123, 0.00000183,
1707  0.00000257, 0.00000348, 0.00000455, 0.00000581,
1708  0.00000727, 0.00000893, 0.00001080, 0.00001290,
1709  0.00001522, 0.00001778, 0.00002057, 0.00002362,
1710  0.00002691, 0.00003044, 0.00003422, 0.00003824,
1711  0.00004250, 0.00004701, 0.00005176, 0.00005676,
1712  0.00006200, 0.00006749, 0.00007322, 0.00007920,
1713  0.00008541, 0.00009186, 0.00009854, 0.00010543,
1714  0.00011251, 0.00011975, 0.00012714, 0.00013465,
1715  0.00014227, 0.00014997, 0.00015775, 0.00016558,
1716  0.00017348, 0.00018144, 0.00018947, 0.00019756,
1717  0.00020573, 0.00021399, 0.00022233, 0.00023076,
1718  0.00023924, 0.00024773, 0.00025621, 0.00026462,
1719  0.00027293, 0.00028108, 0.00028904, 0.00029675,
1720  0.00030419, 0.00031132, 0.00031810, 0.00032453,
1721  0.00033061, 0.00033632, 0.00034169, 0.00034672,
1722  0.00035142, 0.00035580, 0.00035988, 0.00036369,
1723  0.00036723, 0.00037053, 0.00037361, 0.00037647,
1724  0.00037909, 0.00038145, 0.00038352, 0.00038527,
1725  0.00038663, 0.00038757, 0.00038801, 0.00038790,
1726  0.00038717, 0.00038572, 0.00038350, 0.00038044,
1727  0.00037651, 0.00037170, 0.00036597, 0.00035936,
1728  0.00035191, 0.00034370, 0.00033480, 0.00032531,
1729  0.00031537, 0.00030512, 0.00029470, 0.00028417,
1730  0.00027354, 0.00026279, 0.00025191, 0.00024081,
1731  0.00022933, 0.00021731, 0.00020458, 0.00019101,
1732  0.00017654, 0.00016106, 0.00014452, 0.00012694,
1733  0.00010848, 0.00008929, 0.00006953, 0.00004935,
1734  0.00002884, 0.00000813, -0.00001268, -0.00003357,
1735  -0.00005457, -0.00007574, -0.00009714, -0.00011882,
1736  -0.00014082, -0.00016318, -0.00018595, -0.00020912,
1737  -0.00023265, -0.00025650, -0.00028060, -0.00030492,
1738  -0.00032941, -0.00035400, -0.00037865, -0.00040333,
1739  -0.00042804, -0.00045279, -0.00047759, -0.00050243,
1740  -0.00052728, -0.00055209, -0.00057685, -0.00060153,
1741  -0.00062611, -0.00065056, -0.00067485, -0.00069895,
1742  -0.00072287, -0.00074660, -0.00077013, -0.00079345,
1743  -0.00081653, -0.00083936, -0.00086192, -0.00088421,
1744  -0.00090619, -0.00092786, -0.00094919, -0.00097017,
1745  -0.00099077, -0.00101098, -0.00103077, -0.00105012,
1746  -0.00106904, -0.00108750, -0.00110549, -0.00112301,
1747  -0.00114005, -0.00115660, -0.00117265, -0.00118821,
1748  -0.00120325, -0.00121779, -0.00123180, -0.00124528,
1749  -0.00125822, -0.00127061, -0.00128243, -0.00129368,
1750  -0.00130435, -0.00131445, -0.00132395, -0.00133285,
1751  -0.00134113, -0.00134878, -0.00135577, -0.00136215,
1752  -0.00136797, -0.00137333, -0.00137834, -0.00138305,
1753  -0.00138748, -0.00139163, -0.00139551, -0.00139913,
1754  -0.00140249, -0.00140559, -0.00140844, -0.00141102,
1755  -0.00141334, -0.00141538, -0.00141714, -0.00141861,
1756  -0.00141978, -0.00142064, -0.00142117, -0.00142138,
1757  -0.00142125, -0.00142077, -0.00141992, -0.00141870,
1758  -0.00141710, -0.00141510, -0.00141268, -0.00140986,
1759  -0.00140663, -0.00140301, -0.00139900, -0.00139460,
1760  -0.00138981, -0.00138464, -0.00137908, -0.00137313,
1761  -0.00136680, -0.00136010, -0.00135301, -0.00134555,
1762  -0.00133772, -0.00132952, -0.00132095, -0.00131201,
1763  -0.00130272, -0.00129307, -0.00128309, -0.00127277,
1764  -0.00126211, -0.00125113, -0.00123981, -0.00122817,
1765  -0.00121622, -0.00120397, -0.00119141, -0.00117859,
1766  -0.00116552, -0.00115223, -0.00113877, -0.00112517,
1767  -0.00111144, -0.00109764, -0.00108377, -0.00106989,
1768 };
1769 
1770 const DECLARE_ALIGNED(32, float, ff_aac_eld_window_480)[1800] = {
1771  0.00101191, 0.00440397, 0.00718669, 0.01072130,
1772  0.01459757, 0.01875954, 0.02308987, 0.02751541,
1773  0.03198130, 0.03643738, 0.04085290, 0.04522835,
1774  0.04957620, 0.05390454, 0.05821503, 0.06251214,
1775  0.06680463, 0.07109582, 0.07538014, 0.07965207,
1776  0.08390857, 0.08815177, 0.09238785, 0.09662163,
1777  0.10085860, 0.10510892, 0.10938110, 0.11367819,
1778  0.11800355, 0.12236410, 0.12676834, 0.13122384,
1779  0.13573476, 0.14030106, 0.14492340, 0.14960315,
1780  0.15433828, 0.15912396, 0.16395663, 0.16883310,
1781  0.17374837, 0.17869679, 0.18367394, 0.18867661,
1782  0.19370368, 0.19875413, 0.20382641, 0.20892055,
1783  0.21403775, 0.21917761, 0.22433899, 0.22952250,
1784  0.23472991, 0.23996189, 0.24521859, 0.25049930,
1785  0.25580312, 0.26112942, 0.26647748, 0.27184703,
1786  0.27723785, 0.28264967, 0.28808086, 0.29352832,
1787  0.29898979, 0.30446379, 0.30994292, 0.31541664,
1788  0.32087942, 0.32632772, 0.33176291, 0.33718641,
1789  0.34259612, 0.34799346, 0.35338857, 0.35878843,
1790  0.36419504, 0.36960630, 0.37501567, 0.38042067,
1791  0.38582069, 0.39121276, 0.39659312, 0.40195993,
1792  0.40731155, 0.41264382, 0.41795277, 0.42323670,
1793  0.42849480, 0.43372753, 0.43893452, 0.44411398,
1794  0.44927117, 0.45441882, 0.45956191, 0.46470167,
1795  0.46983016, 0.47493636, 0.48001827, 0.48507480,
1796  0.49010240, 0.49509781, 0.50005986, 0.50499037,
1797  0.50989790, 0.51478708, 0.51965805, 0.52450975,
1798  0.52933955, 0.53414668, 0.53893113, 0.54369178,
1799  0.54842731, 0.55313757, 0.55782259, 0.56248253,
1800  0.56711762, 0.57172819, 0.57631468, 0.58087761,
1801  0.58719976, 0.59173064, 0.59623644, 0.60071719,
1802  0.60517294, 0.60960372, 0.61400958, 0.61839056,
1803  0.62274670, 0.62707805, 0.63138475, 0.63566700,
1804  0.63992500, 0.64415895, 0.64836893, 0.65255499,
1805  0.65671715, 0.66085548, 0.66497005, 0.66906094,
1806  0.67312824, 0.67717199, 0.68119219, 0.68518882,
1807  0.68916187, 0.69311129, 0.69703698, 0.70093884,
1808  0.70481679, 0.70867071, 0.71250047, 0.71630596,
1809  0.72008705, 0.72384360, 0.72757549, 0.73128256,
1810  0.73496463, 0.73862141, 0.74225263, 0.74585799,
1811  0.74943730, 0.75299039, 0.75651711, 0.76001729,
1812  0.76349062, 0.76693670, 0.77035516, 0.77374564,
1813  0.77710790, 0.78044169, 0.78374678, 0.78702291,
1814  0.79026979, 0.79348715, 0.79667471, 0.79983215,
1815  0.80295914, 0.80605536, 0.80912047, 0.81215417,
1816  0.81515616, 0.81812616, 0.82106389, 0.82396915,
1817  0.82684176, 0.82968154, 0.83248830, 0.83526186,
1818  0.83800204, 0.84070866, 0.84338156, 0.84602058,
1819  0.84862556, 0.85119636, 0.85373292, 0.85623523,
1820  0.85870326, 0.86113701, 0.86353649, 0.86590173,
1821  0.86823275, 0.87052968, 0.87279275, 0.87502220,
1822  0.87721829, 0.87938130, 0.88151157, 0.88360940,
1823  0.88567517, 0.88770954, 0.88971328, 0.89168716,
1824  0.89363199, 0.89554856, 0.89743771, 0.89930025,
1825  0.90113740, 0.90295086, 0.90474240, 0.90651380,
1826  0.90826684, 0.91000335, 0.91172515, 0.91343416,
1827  0.91513276, 0.91682357, 0.91850924, 0.92019170,
1828  0.92187129, 0.92354778, 0.92522116, 0.92688597,
1829  0.92852960, 0.93013861, 0.93169897, 0.93319114,
1830  0.93458502, 0.93587626, 0.93694276, 0.93825562,
1831  0.93882222, 0.93910780, 0.93944183, 0.93981497,
1832  0.94021434, 0.94062629, 0.94103714, 0.94144084,
1833  0.94184042, 0.94223966, 0.94264206, 0.94304859,
1834  0.94345831, 0.94387033, 0.94428390, 0.94469895,
1835  0.94511572, 0.94553441, 0.94595520, 0.94637816,
1836  0.94680335, 0.94723080, 0.94766054, 0.94809253,
1837  0.94852674, 0.94896314, 0.94940178, 0.94984276,
1838  0.95028618, 0.95073213, 0.95118056, 0.95163139,
1839  0.95208451, 0.95253992, 0.95299770, 0.95345799,
1840  0.95392092, 0.95438653, 0.95485472, 0.95532539,
1841  0.95579847, 0.95627397, 0.95675201, 0.95723273,
1842  0.95771618, 0.95820232, 0.95869103, 0.95918218,
1843  0.95967573, 0.96017172, 0.96067026, 0.96117144,
1844  0.96167526, 0.96218157, 0.96269026, 0.96320119,
1845  0.96371437, 0.96422988, 0.96474782, 0.96526824,
1846  0.96579106, 0.96631614, 0.96684334, 0.96737257,
1847  0.96790390, 0.96843740, 0.96897315, 0.96951112,
1848  0.97005119, 0.97059318, 0.97113697, 0.97168253,
1849  0.97222994, 0.97277928, 0.97333058, 0.97388375,
1850  0.97443863, 0.97499505, 0.97555292, 0.97611230,
1851  0.97667326, 0.97723589, 0.97780016, 0.97836591,
1852  0.97893300, 0.97950127, 0.98007071, 0.98064139,
1853  0.98121342, 0.98178684, 0.98236156, 0.98293743,
1854  0.98351428, 0.98409205, 0.98467078, 0.98525056,
1855  0.98583146, 0.98641348, 0.98699650, 0.98758037,
1856  0.98816497, 0.98875030, 0.98933647, 0.98992356,
1857  0.99051163, 0.99110062, 0.99169038, 0.99228079,
1858  0.99287177, 0.99346341, 0.99405581, 0.99464907,
1859  0.99524320, 0.99583812, 0.99643375, 0.99702997,
1860  0.99762671, 0.99822386, 0.99882134, 0.99941903,
1861  1.00058131, 1.00118006, 1.00177930, 1.00237893,
1862  1.00297887, 1.00357902, 1.00417927, 1.00477954,
1863  1.00537972, 1.00597973, 1.00657959, 1.00717940,
1864  1.00777926, 1.00837925, 1.00897929, 1.00957926,
1865  1.01017901, 1.01077847, 1.01137769, 1.01197678,
1866  1.01257582, 1.01317482, 1.01377365, 1.01437217,
1867  1.01497025, 1.01556786, 1.01616510, 1.01676205,
1868  1.01735876, 1.01795514, 1.01855103, 1.01914627,
1869  1.01974076, 1.02033455, 1.02092772, 1.02152037,
1870  1.02211247, 1.02270387, 1.02329439, 1.02388387,
1871  1.02447229, 1.02505972, 1.02564624, 1.02623190,
1872  1.02681660, 1.02740017, 1.02798242, 1.02856326,
1873  1.02914272, 1.02972087, 1.03029778, 1.03087344,
1874  1.03144768, 1.03202035, 1.03259127, 1.03316042,
1875  1.03372788, 1.03429373, 1.03485801, 1.03542064,
1876  1.03598146, 1.03654030, 1.03709708, 1.03765185,
1877  1.03820470, 1.03875571, 1.03930488, 1.03985206,
1878  1.04039712, 1.04093989, 1.04148037, 1.04201865,
1879  1.04255481, 1.04308893, 1.04362093, 1.04415068,
1880  1.04467803, 1.04520292, 1.04572542, 1.04624566,
1881  1.04676376, 1.04727974, 1.04779350, 1.04830493,
1882  1.04881391, 1.04932048, 1.04982477, 1.05032693,
1883  1.05082705, 1.05132510, 1.05182098, 1.05231457,
1884  1.05280584, 1.05329485, 1.05378171, 1.05426654,
1885  1.05474937, 1.05523018, 1.05570892, 1.05618554,
1886  1.05666005, 1.05713251, 1.05760297, 1.05807149,
1887  1.05853828, 1.05900355, 1.05946756, 1.05993024,
1888  1.06039075, 1.06084806, 1.06130111, 1.06175099,
1889  1.06220164, 1.06265732, 1.06312146, 1.06358726,
1890  1.06403924, 1.06446186, 1.06484048, 1.06516440,
1891  1.06527864, 1.06498077, 1.06470196, 1.06425743,
1892  1.06372091, 1.06311464, 1.06246622, 1.06179277,
1893  1.06110808, 1.06042455, 1.05974495, 1.05906206,
1894  1.05836706, 1.05765243, 1.05691470, 1.05615178,
1895  1.05536069, 1.05454152, 1.05370030, 1.05284445,
1896  1.05198094, 1.05111433, 1.05024634, 1.04937859,
1897  1.04851245, 1.04764614, 1.04677586, 1.04589855,
1898  1.04501046, 1.04410500, 1.04317417, 1.04221010,
1899  1.04120649, 1.04016012, 1.03906851, 1.03792894,
1900  1.03674090, 1.03550649, 1.03422800, 1.03290769,
1901  1.03154944, 1.03015834, 1.02873938, 1.02729712,
1902  1.02583470, 1.02435463, 1.02285952, 1.02135114,
1903  1.01982974, 1.01829520, 1.01674752, 1.01518534,
1904  1.01360559, 1.01200510, 1.01038076, 1.00872996,
1905  1.00705045, 1.00533999, 1.00359618, 1.00181613,
1906  0.99999673, 0.99813477, 0.99622793, 0.99427571,
1907  0.99227814, 0.99023501, 0.98815128, 0.98603857,
1908  0.98390898, 0.98177413, 0.97964151, 0.97751528,
1909  0.97539999, 0.97329751, 0.97119933, 0.96909179,
1910  0.96696152, 0.96479824, 0.96259840, 0.96036028,
1911  0.95808180, 0.95576295, 0.95340622, 0.95101436,
1912  0.94859030, 0.94614009, 0.94367232, 0.94119555,
1913  0.93871796, 0.93624630, 0.93378636, 0.93134465,
1914  0.92892076, 0.92649974, 0.92406255, 0.92159041,
1915  0.91907411, 0.91651711, 0.91392425, 0.91130056,
1916  0.90865471, 0.90599838, 0.90334350, 0.90069934,
1917  0.89806435, 0.89543132, 0.89279335, 0.89014496,
1918  0.88748403, 0.88480945, 0.88211997, 0.87941558,
1919  0.87669794, 0.87396891, 0.87123030, 0.86848394,
1920  0.86573164, 0.86297523, 0.86021649, 0.85745725,
1921  0.85474342, 0.85193656, 0.84911455, 0.84627969,
1922  0.84343424, 0.84058046, 0.83772057, 0.83485680,
1923  0.83199134, 0.82912621, 0.82626143, 0.82339529,
1924  0.82052619, 0.81765147, 0.81476433, 0.81185593,
1925  0.80891701, 0.80594452, 0.80294885, 0.79994431,
1926  0.79694485, 0.79396166, 0.79100220, 0.78807349,
1927  0.78518123, 0.78231422, 0.77944709, 0.77655407,
1928  0.77361369, 0.77062281, 0.76758806, 0.76451506,
1929  0.76141145, 0.75828860, 0.75515892, 0.75203479,
1930  0.74892561, 0.74583682, 0.74277342, 0.73974008,
1931  0.73673754, 0.73376310, 0.73081444, 0.72788616,
1932  0.72496070, 0.72201426, 0.71902283, 0.71596990,
1933  0.71285541, 0.70968427, 0.70646064, 0.70319589,
1934  0.69991077, 0.69662714, 0.69336592, 0.69013742,
1935  0.68694302, 0.68378420, 0.68066143, 0.67757157,
1936  0.67450951, 0.67147030, 0.66844879, 0.66543949,
1937  0.66243677, 0.65943505, 0.65642754, 0.65340591,
1938  0.65036160, 0.64728630, 0.64417440, 0.64102268,
1939  0.63782771, 0.63458757, 0.63130628, 0.62799109,
1940  0.62464879, 0.62128816, 0.61792203, 0.61456438,
1941  0.61122915, 0.60792802, 0.60466971, 0.60146257,
1942  0.59831460, 0.59522876, 0.59220375, 0.58923859,
1943  0.58632936, 0.58346064, 0.58061078, 0.57775874,
1944  0.57488246, 0.57195790, 0.56896078, 0.56586637,
1945  0.56266594, 0.55937186, 0.55599898, 0.55256299,
1946  0.54909184, 0.54562376, 0.54219742, 0.53884728,
1947  0.53559047, 0.53243453, 0.52938894, 0.52645052,
1948  0.52358958, 0.52076862, 0.51795080, 0.51510761,
1949  0.51222179, 0.50927733, 0.50625944, 0.50317073,
1950  0.50002767, 0.49685021, 0.49364116, 0.49048690,
1951  0.48726128, 0.48404889, 0.48090875, 0.47783482,
1952  0.47481564, 0.47184024, 0.46889391, 0.46595836,
1953  0.46301611, 0.46005089, 0.45705924, 0.45404822,
1954  0.45102447, 0.44799543, 0.44497138, 0.44196397,
1955  0.43898547, 0.43604105, 0.43312057, 0.43020942,
1956  0.42729337, 0.42436272, 0.42141388, 0.41844400,
1957  0.41545081, 0.41244014, 0.40942464, 0.40641716,
1958  0.40342874, 0.40046292, 0.39751923, 0.39459758,
1959  0.39169692, 0.38881435, 0.38594643, 0.38308980,
1960  0.38024146, 0.37739896, 0.37455986, 0.37172187,
1961  0.36888463, 0.36604937, 0.36321735, 0.36038967,
1962  0.35756668, 0.35474832, 0.35193455, 0.34912542,
1963  0.34632129, 0.34352258, 0.34072974, 0.33794323,
1964  0.33516354, 0.33239114, 0.32962648, 0.32686967,
1965  0.32412042, 0.32137919, 0.31864044, 0.31588373,
1966  0.31309909, 0.31028631, 0.30745528, 0.30462678,
1967  0.30180656, 0.29899424, 0.29619082, 0.29339717,
1968  0.29061333, 0.28783935, 0.28507563, 0.28232266,
1969  0.27958067, 0.27684984, 0.27413017, 0.27142157,
1970  0.26872396, 0.26603737, 0.26336211, 0.26069855,
1971  0.25804700, 0.25540830, 0.25278329, 0.25017211,
1972  0.24757451, 0.24498713, 0.24240740, 0.23983550,
1973  0.23727200, 0.23471866, 0.23217624, 0.22964458,
1974  0.22712346, 0.22461258, 0.22211202, 0.21962197,
1975  0.21714290, 0.21467522, 0.21221877, 0.20977323,
1976  0.20733693, 0.20490860, 0.20248823, 0.20007615,
1977  0.19767358, 0.19528091, 0.19289781, 0.19052347,
1978  0.18815661, 0.18579693, 0.18344441, 0.18110010,
1979  0.17876595, 0.17644344, 0.17413400, 0.17183905,
1980  0.16956003, 0.16729836, 0.16505547, 0.16283278,
1981  0.15990780, 0.15776021, 0.15563325, 0.15352557,
1982  0.15143584, 0.14936270, 0.14730481, 0.14526081,
1983  0.14322937, 0.14120918, 0.13919977, 0.13720138,
1984  0.13521422, 0.13323852, 0.13127445, 0.12932216,
1985  0.12738181, 0.12545358, 0.12353773, 0.12163457,
1986  0.11974436, 0.11786730, 0.11600347, 0.11415293,
1987  0.11231573, 0.11049201, 0.10868196, 0.10688578,
1988  0.10510362, 0.10333551, 0.10158143, 0.09984133,
1989  0.09811524, 0.09640327, 0.09470556, 0.09302228,
1990  0.09135347, 0.08969907, 0.08805903, 0.08643326,
1991  0.08482183, 0.08322486, 0.08164249, 0.08007481,
1992  0.07852179, 0.07698335, 0.07545938, 0.07394984,
1993  0.07245482, 0.07097444, 0.06950883, 0.06805800,
1994  0.06662187, 0.06520031, 0.06379324, 0.06240065,
1995  0.06102266, 0.05965936, 0.05831084, 0.05697701,
1996  0.05565775, 0.05435290, 0.05306239, 0.05178628,
1997  0.05052464, 0.04927758, 0.04804510, 0.04682709,
1998  0.04562344, 0.04443405, 0.04325893, 0.04209822,
1999  0.04095208, 0.03982059, 0.03870371, 0.03760131,
2000  0.03651325, 0.03543944, 0.03437987, 0.03333454,
2001  0.03230348, 0.03128653, 0.03028332, 0.02929346,
2002  0.02831658, 0.02735252, 0.02640127, 0.02546283,
2003  0.02453725, 0.02362471, 0.02272547, 0.02183980,
2004  0.02096810, 0.02011108, 0.01926957, 0.01844439,
2005  0.01763565, 0.01684248, 0.01606394, 0.01529909,
2006  0.01454726, 0.01380802, 0.01308092, 0.01236569,
2007  0.01166273, 0.01097281, 0.01029671, 0.00963479,
2008  0.00898646, 0.00835089, 0.00772725, 0.00711521,
2009  0.00651513, 0.00592741, 0.00535249, 0.00479089,
2010  0.00424328, 0.00371041, 0.00319271, 0.00268947,
2011  0.00219928, 0.00172084, 0.00125271, 0.00079311,
2012  0.00034023, -0.00010786, -0.00055144, -0.00098865,
2013  -0.00141741, -0.00183557, -0.00224010, -0.00262725,
2014  -0.00299314, -0.00333475, -0.00365250, -0.00394867,
2015  -0.00422533, -0.00448528, -0.00473278, -0.00497252,
2016  -0.00520916, -0.00544584, -0.00568360, -0.00592326,
2017  -0.00616547, -0.00640861, -0.00664914, -0.00688354,
2018  -0.00710845, -0.00732136, -0.00752022, -0.00770289,
2019  -0.00786789, -0.00801521, -0.00814526, -0.00825839,
2020  -0.00835563, -0.00843882, -0.00850996, -0.00857097,
2021  -0.00862360, -0.00866943, -0.00871004, -0.00874688,
2022  -0.00878091, -0.00881277, -0.00884320, -0.00887248,
2023  -0.00890002, -0.00892494, -0.00894641, -0.00896355,
2024  -0.00897541, -0.00898104, -0.00897948, -0.00896990,
2025  -0.00895149, -0.00892346, -0.00888519, -0.00883670,
2026  -0.00877839, -0.00871058, -0.00863388, -0.00854936,
2027  -0.00845826, -0.00836179, -0.00826124, -0.00815807,
2028  -0.00805372, -0.00794953, -0.00784572, -0.00774156,
2029  -0.00763634, -0.00752929, -0.00741941, -0.00730556,
2030  -0.00718664, -0.00706184, -0.00693107, -0.00679443,
2031  -0.00665200, -0.00650428, -0.00635230, -0.00619718,
2032  -0.00603995, -0.00588133, -0.00572169, -0.00556143,
2033  -0.00540085, -0.00523988, -0.00507828, -0.00491582,
2034  -0.00475220, -0.00458693, -0.00441953, -0.00424950,
2035  -0.00407681, -0.00390204, -0.00372581, -0.00354874,
2036  -0.00337115, -0.00319318, -0.00301494, -0.00283652,
2037  -0.00265797, -0.00247934, -0.00230066, -0.00212197,
2038  -0.00194331, -0.00176471, -0.00158620, -0.00140787,
2039  -0.00122989, -0.00105244, -0.00087567, -0.00069976,
2040  -0.00052487, -0.00035115, -0.00017875, -0.00000782,
2041  0.00000779, 0.00017701, 0.00034552, 0.00051313,
2042  0.00067966, 0.00084492, 0.00100873, 0.00117093,
2043  0.00133133, 0.00148978, 0.00164611, 0.00180023,
2044  0.00195211, 0.00210172, 0.00224898, 0.00239383,
2045  0.00253618, 0.00267593, 0.00281306, 0.00294756,
2046  0.00307942, 0.00320864, 0.00333502, 0.00345816,
2047  0.00357762, 0.00369297, 0.00380414, 0.00391140,
2048  0.00401499, 0.00411524, 0.00421242, 0.00430678,
2049  0.00439859, 0.00448799, 0.00457487, 0.00465908,
2050  0.00474045, 0.00481857, 0.00489277, 0.00496235,
2051  0.00502666, 0.00508546, 0.00513877, 0.00518662,
2052  0.00522904, 0.00526648, 0.00529956, 0.00532895,
2053  0.00535532, 0.00537929, 0.00540141, 0.00542228,
2054  0.00544196, 0.00545981, 0.00547515, 0.00548726,
2055  0.00549542, 0.00549899, 0.00549732, 0.00548986,
2056  0.00547633, 0.00545664, 0.00543067, 0.00539849,
2057  0.00536061, 0.00531757, 0.00526993, 0.00521822,
2058  0.00516300, 0.00510485, 0.00504432, 0.00498194,
2059  0.00491822, 0.00485364, 0.00478862, 0.00472309,
2060  0.00465675, 0.00458939, 0.00452067, 0.00445003,
2061  0.00437688, 0.00430063, 0.00422062, 0.00413609,
2062  0.00404632, 0.00395060, 0.00384863, 0.00374044,
2063  0.00362600, 0.00350540, 0.00337934, 0.00324885,
2064  0.00311486, 0.00297849, 0.00284122, 0.00270458,
2065  0.00257013, 0.00243867, 0.00231005, 0.00218399,
2066  0.00206023, 0.00193766, 0.00181460, 0.00168938,
2067  0.00156050, 0.00142701, 0.00128830, 0.00114365,
2068  0.00099297, 0.00083752, 0.00067884, 0.00051845,
2069  0.00035760, 0.00019720, 0.00003813, -0.00011885,
2070  -0.00027375, -0.00042718, -0.00057975, -0.00073204,
2071  -0.00088453, -0.00103767, -0.00119192, -0.00134747,
2072  -0.00150411, -0.00166151, -0.00181932, -0.00197723,
2073  -0.00213493, -0.00229210, -0.00244849, -0.00260415,
2074  -0.00275928, -0.00291410, -0.00306879, -0.00322332,
2075  -0.00337759, -0.00353145, -0.00368470, -0.00383722,
2076  -0.00398892, -0.00413972, -0.00428967, -0.00443889,
2077  -0.00458749, -0.00473571, -0.00488366, -0.00503137,
2078  -0.00517887, -0.00532610, -0.00547302, -0.00561965,
2079  -0.00576598, -0.00591199, -0.00605766, -0.00620300,
2080  -0.00634801, -0.00649273, -0.00663727, -0.00678170,
2081  -0.00692617, -0.00707084, -0.00721583, -0.00736129,
2082  -0.00750735, -0.00765415, -0.00780184, -0.00795059,
2083  -0.00810058, -0.00825195, -0.00840487, -0.00855950,
2084  -0.00871607, -0.00887480, -0.00903596, -0.00919978,
2085  -0.00936650, -0.00953635, -0.00970931, -0.00988421,
2086  -0.01005916, -0.01023208, -0.01040130, -0.01056627,
2087  -0.01072678, -0.01088259, -0.01103348, -0.01117933,
2088  -0.01132004, -0.01145552, -0.01158573, -0.01171065,
2089  -0.01183025, -0.01194454, -0.01205352, -0.01215722,
2090  -0.01225572, -0.01234911, -0.01243749, -0.01252102,
2091  -0.01259985, -0.01267419, -0.01274437, -0.01281078,
2092  -0.01287379, -0.01293350, -0.01298972, -0.01304224,
2093  -0.01309086, -0.01313556, -0.01317644, -0.01321357,
2094  -0.01324707, -0.01327697, -0.01330334, -0.01332622,
2095  -0.01334570, -0.01336194, -0.01337510, -0.01338538,
2096  -0.01339276, -0.01339708, -0.01339816, -0.01339584,
2097  -0.01339014, -0.01338116, -0.01336903, -0.01335382,
2098  -0.01333545, -0.01331381, -0.01328876, -0.01326033,
2099  -0.01322880, -0.01319457, -0.01315806, -0.01311968,
2100  -0.01307987, -0.01303906, -0.01299769, -0.01295623,
2101  -0.01308207, -0.01304153, -0.01299802, -0.01295155,
2102  -0.01290215, -0.01284980, -0.01279450, -0.01273625,
2103  -0.01267501, -0.01261077, -0.01254347, -0.01247306,
2104  -0.01239950, -0.01232277, -0.01224304, -0.01216055,
2105  -0.01207554, -0.01198813, -0.01189829, -0.01180590,
2106  -0.01171090, -0.01161335, -0.01151352, -0.01141167,
2107  -0.01130807, -0.01120289, -0.01109626, -0.01098830,
2108  -0.01087916, -0.01076898, -0.01065793, -0.01054618,
2109  -0.01043380, -0.01032068, -0.01020670, -0.01009171,
2110  -0.00997585, -0.00985959, -0.00974338, -0.00962765,
2111  -0.00951273, -0.00939888, -0.00928634, -0.00917534,
2112  -0.00906604, -0.00895860, -0.00885313, -0.00874977,
2113  -0.00864862, -0.00854979, -0.00845337, -0.00835939,
2114  -0.00826785, -0.00817872, -0.00809195, -0.00800745,
2115  -0.00792506, -0.00784469, -0.00776588, -0.00768695,
2116  -0.00760568, -0.00752004, -0.00742875, -0.00733186,
2117  -0.00722976, -0.00712279, -0.00701130, -0.00689559,
2118  -0.00677595, -0.00665269, -0.00652610, -0.00639649,
2119  -0.00626417, -0.00612943, -0.00599252, -0.00585368,
2120  -0.00571315, -0.00557115, -0.00542792, -0.00528367,
2121  -0.00513864, -0.00499301, -0.00484693, -0.00470054,
2122  -0.00455395, -0.00440733, -0.00426086, -0.00411471,
2123  -0.00396904, -0.00382404, -0.00367991, -0.00353684,
2124  -0.00339502, -0.00325472, -0.00311618, -0.00297967,
2125  -0.00284531, -0.00271307, -0.00258290, -0.00245475,
2126  -0.00232860, -0.00220447, -0.00208236, -0.00196233,
2127  -0.00184450, -0.00172906, -0.00161620, -0.00150603,
2128  -0.00139852, -0.00129358, -0.00119112, -0.00109115,
2129  -0.00099375, -0.00089902, -0.00080705, -0.00071796,
2130  -0.00063185, -0.00054886, -0.00046904, -0.00039231,
2131  -0.00031845, -0.00024728, -0.00017860, -0.00011216,
2132  -0.00004771, 0.00001500, 0.00007600, 0.00013501,
2133  0.00019176, 0.00024595, 0.00029720, 0.00034504,
2134  0.00038902, 0.00042881, 0.00046456, 0.00049662,
2135  0.00052534, 0.00055114, 0.00057459, 0.00059629,
2136  0.00061684, 0.00063660, 0.00065568, 0.00067417,
2137  0.00069213, 0.00070935, 0.00072545, 0.00074005,
2138  0.00075283, 0.00076356, 0.00077209, 0.00077828,
2139  0.00078205, 0.00078350, 0.00078275, 0.00077992,
2140  0.00077520, 0.00076884, 0.00076108, 0.00075218,
2141  0.00074232, 0.00073170, 0.00072048, 0.00070881,
2142  0.00069680, 0.00068450, 0.00067201, 0.00065934,
2143  0.00064647, 0.00063335, 0.00061994, 0.00060621,
2144  0.00059211, 0.00057763, 0.00056274, 0.00054743,
2145  0.00053169, 0.00051553, 0.00049897, 0.00048206,
2146  0.00046487, 0.00044748, 0.00042996, 0.00041241,
2147  0.00039492, 0.00037759, 0.00036049, 0.00034371,
2148  0.00032732, 0.00031137, 0.00029587, 0.00028079,
2149  0.00026612, 0.00025183, 0.00023789, 0.00022428,
2150  0.00021097, 0.00019797, 0.00018530, 0.00017297,
2151  0.00016100, 0.00014942, 0.00013827, 0.00012757,
2152  0.00011736, 0.00010764, 0.00009841, 0.00008969,
2153  0.00008145, 0.00007369, 0.00006641, 0.00005958,
2154  0.00005320, 0.00004725, 0.00004171, 0.00003659,
2155  0.00003186, 0.00002752, 0.00002357, 0.00001999,
2156  0.00001679, 0.00001392, 0.00001140, 0.00000918,
2157  0.00000726, 0.00000562, 0.00000424, 0.00000309,
2158  0.00000217, 0.00000143, 0.00000088, 0.00000048,
2159  0.00000020, 0.00000004, -0.00000004, -0.00000006,
2160  -0.00000004, -0.00000000, 0.00000002, 0.00000000,
2161  0.00000000, 0.00000002, -0.00000000, -0.00000004,
2162  -0.00000005, -0.00000004, 0.00000004, 0.00000019,
2163  0.00000045, 0.00000083, 0.00000134, 0.00000201,
2164  0.00000285, 0.00000387, 0.00000510, 0.00000654,
2165  0.00000821, 0.00001011, 0.00001227, 0.00001468,
2166  0.00001735, 0.00002030, 0.00002352, 0.00002702,
2167  0.00003080, 0.00003486, 0.00003918, 0.00004379,
2168  0.00004866, 0.00005382, 0.00005924, 0.00006495,
2169  0.00007093, 0.00007719, 0.00008373, 0.00009053,
2170  0.00009758, 0.00010488, 0.00011240, 0.00012010,
2171  0.00012796, 0.00013596, 0.00014406, 0.00015226,
2172  0.00016053, 0.00016886, 0.00017725, 0.00018571,
2173  0.00019424, 0.00020286, 0.00021156, 0.00022037,
2174  0.00022928, 0.00023825, 0.00024724, 0.00025621,
2175  0.00026509, 0.00027385, 0.00028241, 0.00029072,
2176  0.00029874, 0.00030643, 0.00031374, 0.00032065,
2177  0.00032715, 0.00033325, 0.00033895, 0.00034425,
2178  0.00034917, 0.00035374, 0.00035796, 0.00036187,
2179  0.00036549, 0.00036883, 0.00037194, 0.00037479,
2180  0.00037736, 0.00037963, 0.00038154, 0.00038306,
2181  0.00038411, 0.00038462, 0.00038453, 0.00038373,
2182  0.00038213, 0.00037965, 0.00037621, 0.00037179,
2183  0.00036636, 0.00035989, 0.00035244, 0.00034407,
2184  0.00033488, 0.00032497, 0.00031449, 0.00030361,
2185  0.00029252, 0.00028133, 0.00027003, 0.00025862,
2186  0.00024706, 0.00023524, 0.00022297, 0.00021004,
2187  0.00019626, 0.00018150, 0.00016566, 0.00014864,
2188  0.00013041, 0.00011112, 0.00009096, 0.00007014,
2189  0.00004884, 0.00002718, 0.00000530, -0.00001667,
2190  -0.00003871, -0.00006090, -0.00008331, -0.00010600,
2191  -0.00012902, -0.00015244, -0.00017631, -0.00020065,
2192  -0.00022541, -0.00025052, -0.00027594, -0.00030159,
2193  -0.00032740, -0.00035332, -0.00037928, -0.00040527,
2194  -0.00043131, -0.00045741, -0.00048357, -0.00050978,
2195  -0.00053599, -0.00056217, -0.00058827, -0.00061423,
2196  -0.00064002, -0.00066562, -0.00069100, -0.00071616,
2197  -0.00074110, -0.00076584, -0.00079036, -0.00081465,
2198  -0.00083869, -0.00086245, -0.00088590, -0.00090901,
2199  -0.00093176, -0.00095413, -0.00097608, -0.00099758,
2200  -0.00101862, -0.00103918, -0.00105924, -0.00107879,
2201  -0.00109783, -0.00111635, -0.00113434, -0.00115181,
2202  -0.00116873, -0.00118510, -0.00120091, -0.00121615,
2203  -0.00123082, -0.00124490, -0.00125838, -0.00127125,
2204  -0.00128350, -0.00129511, -0.00130610, -0.00131643,
2205  -0.00132610, -0.00133509, -0.00134334, -0.00135069,
2206  -0.00135711, -0.00136272, -0.00136768, -0.00137225,
2207  -0.00137649, -0.00138042, -0.00138404, -0.00138737,
2208  -0.00139041, -0.00139317, -0.00139565, -0.00139785,
2209  -0.00139976, -0.00140137, -0.00140267, -0.00140366,
2210  -0.00140432, -0.00140464, -0.00140461, -0.00140423,
2211  -0.00140347, -0.00140235, -0.00140084, -0.00139894,
2212  -0.00139664, -0.00139388, -0.00139065, -0.00138694,
2213  -0.00138278, -0.00137818, -0.00137317, -0.00136772,
2214  -0.00136185, -0.00135556, -0.00134884, -0.00134170,
2215  -0.00133415, -0.00132619, -0.00131784, -0.00130908,
2216  -0.00129991, -0.00129031, -0.00128031, -0.00126990,
2217  -0.00125912, -0.00124797, -0.00123645, -0.00122458,
2218  -0.00121233, -0.00119972, -0.00118676, -0.00117347,
2219  -0.00115988, -0.00114605, -0.00113200, -0.00111778,
2220  -0.00110343, -0.00108898, -0.00107448, -0.00105995,
2221 };
#define NULL
Definition: coverity.c:32
static const uint16_t codes3[81]
Definition: aactab.c:135
memory handling functions
static const uint16_t codes5[81]
Definition: aactab.c:181
static const uint16_t swb_offset_480_48[]
Definition: aactab.c:1133
#define DECLARE_ALIGNED(n, t, v)
Definition: mem.h:53
static const uint16_t codebook_vector10_idx[]
Definition: aactab.c:1023
static const float codebook_vector0_vals[]
Definition: aactab.c:911
static const uint16_t codebook_vector02_idx[]
Definition: aactab.c:920
static const uint16_t swb_offset_128_24[]
Definition: aactab.c:1195
static const uint16_t swb_offset_128_48[]
Definition: aactab.c:1141
static const float codebook_vector6[128]
Definition: aactab.c:633
const uint8_t ff_aac_num_swb_128[]
Definition: aactab.c:51
static const uint16_t codes10[169]
Definition: aactab.c:302
static const uint16_t swb_offset_1024_24[]
Definition: aactab.c:1172
uint8_t
static const uint16_t swb_offset_1024_48[]
Definition: aactab.c:1115
const uint16_t *const ff_swb_offset_480[]
Definition: aactab.c:1244
const uint16_t *const ff_swb_offset_512[]
Definition: aactab.c:1236
const uint8_t ff_tns_max_bands_480[]
Definition: aactab.c:1278
const uint8_t ff_aac_scalefactor_bits[121]
Definition: aactab.c:78
static const uint8_t bits6[81]
Definition: aactab.c:218
static const uint8_t bits2[81]
Definition: aactab.c:126
static const uint16_t swb_offset_1024_64[]
Definition: aactab.c:1106
static const uint16_t codes7[64]
Definition: aactab.c:227
const float *const ff_aac_codebook_vector_vals[]
Definition: aactab.c:1060
static const uint16_t codes6[81]
Definition: aactab.c:204
static const uint16_t codes9[169]
Definition: aactab.c:263
static const uint16_t swb_offset_1024_32[]
Definition: aactab.c:1146
static const uint16_t swb_offset_512_32[]
Definition: aactab.c:1156
const uint8_t ff_aac_num_swb_1024[]
Definition: aactab.c:39
static const uint16_t swb_offset_1024_16[]
Definition: aactab.c:1200
float ff_aac_kbd_long_1024[1024]
Definition: aactab.c:36
const uint16_t ff_aac_spectral_sizes[11]
Definition: aactab.c:413
static const float codebook_vector2[324]
Definition: aactab.c:505
const float ff_aac_eld_window_512[1920]
Definition: aactab.c:1287
const float *const ff_aac_codebook_vectors[]
Definition: aactab.c:904
static const uint16_t codes1[81]
Definition: aactab.c:89
static const uint8_t bits10[169]
Definition: aactab.c:327
static const uint16_t swb_offset_128_8[]
Definition: aactab.c:1223
static const uint16_t codes11[289]
Definition: aactab.c:341
static const uint16_t swb_offset_512_24[]
Definition: aactab.c:1181
const uint8_t ff_aac_num_swb_512[]
Definition: aactab.c:43
const uint8_t *const ff_aac_spectral_bits[11]
Definition: aactab.c:408
static const uint16_t codes2[81]
Definition: aactab.c:112
static const uint16_t swb_offset_1024_96[]
Definition: aactab.c:1093
static const uint8_t bits7[64]
Definition: aactab.c:238
static const uint16_t codes8[64]
Definition: aactab.c:245
static const uint16_t swb_offset_480_24[]
Definition: aactab.c:1188
AAC definitions and structures.
const uint8_t ff_tns_max_bands_1024[]
Definition: aactab.c:1270
static const uint16_t codebook_vector8_idx[]
Definition: aactab.c:978
static const uint8_t bits11[289]
Definition: aactab.c:381
float ff_aac_kbd_short_128[128]
Definition: aactab.c:37
static const float codebook_vector0[324]
Definition: aactab.c:421
static const uint16_t swb_offset_512_48[]
Definition: aactab.c:1125
static const uint16_t swb_offset_128_16[]
Definition: aactab.c:1209
static const uint8_t bits4[81]
Definition: aactab.c:172
static const float codebook_vector10[578]
Definition: aactab.c:756
static const float codebook_vector8[338]
Definition: aactab.c:668
const uint32_t ff_aac_scalefactor_code[121]
Definition: aactab.c:59
const uint8_t ff_tns_max_bands_128[]
Definition: aactab.c:1282
static const float codebook_vector10_vals[]
Definition: aactab.c:1007
const uint8_t ff_aac_pred_sfb_max[]
Definition: aactab.c:55
const float ff_aac_eld_window_480[1800]
Definition: aactab.c:1770
static const float codebook_vector4[162]
Definition: aactab.c:589
static const uint16_t swb_offset_1024_8[]
Definition: aactab.c:1214
const uint8_t ff_aac_num_swb_480[]
Definition: aactab.c:47
const uint16_t *const ff_swb_offset_1024[]
Definition: aactab.c:1228
static const uint16_t codebook_vector6_idx[]
Definition: aactab.c:961
static const uint8_t bits3[81]
Definition: aactab.c:149
const uint16_t *const ff_aac_codebook_vector_idx[]
Definition: aactab.c:1069
static const uint8_t bits8[64]
Definition: aactab.c:256
const uint16_t *const ff_aac_spectral_codes[11]
Definition: aactab.c:403
static const uint8_t bits9[169]
Definition: aactab.c:288
const uint8_t ff_tns_max_bands_512[]
Definition: aactab.c:1274
static const uint8_t bits5[81]
Definition: aactab.c:195
const uint16_t *const ff_swb_offset_128[]
Definition: aactab.c:1252
static const uint16_t swb_offset_128_96[]
Definition: aactab.c:1102
static const uint16_t codes4[81]
Definition: aactab.c:158
static const float codebook_vector4_vals[]
Definition: aactab.c:932
static const uint16_t swb_offset_480_32[]
Definition: aactab.c:1164
static const uint16_t codebook_vector4_idx[]
Definition: aactab.c:943
static const uint8_t bits1[81]
Definition: aactab.c:103