FFmpeg
tab.c
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012 Andrew D'Addesio
3  * Copyright (c) 2013-2014 Mozilla Corporation
4  * Copyright (c) 2016 Rostislav Pehlivanov <atomnuker@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 #include "libavutil/mem_internal.h"
24 
25 #include "tab.h"
26 
27 const uint8_t ff_opus_default_coupled_streams[] = { 0, 1, 1, 2, 2, 2, 2, 3 };
28 
29 const uint8_t ff_celt_band_end[] = { 13, 17, 17, 19, 21 };
30 
31 const uint16_t ff_silk_model_lbrr_flags_40[] = { 256, 0, 53, 106, 256 };
32 const uint16_t ff_silk_model_lbrr_flags_60[] = { 256, 0, 41, 61, 90, 131, 146, 174, 256 };
33 
34 const uint16_t ff_silk_model_stereo_s1[] = {
35  256, 7, 9, 10, 11, 12, 22, 46, 54, 55, 56, 59, 82, 174, 197, 200,
36  201, 202, 210, 234, 244, 245, 246, 247, 249, 256
37 };
38 
39 const uint16_t ff_silk_model_stereo_s2[] = {256, 85, 171, 256};
40 
41 const uint16_t ff_silk_model_stereo_s3[] = {256, 51, 102, 154, 205, 256};
42 
43 const uint16_t ff_silk_model_mid_only[] = {256, 192, 256};
44 
45 const uint16_t ff_silk_model_frame_type_inactive[] = {256, 26, 256};
46 
47 const uint16_t ff_silk_model_frame_type_active[] = {256, 24, 98, 246, 256};
48 
49 const uint16_t ff_silk_model_gain_highbits[3][9] = {
50  {256, 32, 144, 212, 241, 253, 254, 255, 256},
51  {256, 2, 19, 64, 124, 186, 233, 252, 256},
52  {256, 1, 4, 30, 101, 195, 245, 254, 256}
53 };
54 
55 const uint16_t ff_silk_model_gain_lowbits[] = {256, 32, 64, 96, 128, 160, 192, 224, 256};
56 
57 const uint16_t ff_silk_model_gain_delta[] = {
58  256, 6, 11, 22, 53, 185, 206, 214, 218, 221, 223, 225, 227, 228, 229, 230,
59  231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246,
60  247, 248, 249, 250, 251, 252, 253, 254, 255, 256
61 };
62 const uint16_t ff_silk_model_lsf_s1[2][2][33] = {
63  {
64  { // NB or MB, unvoiced
65  256, 44, 78, 108, 127, 148, 160, 171, 174, 177, 179, 195, 197, 199, 200, 205,
66  207, 208, 211, 214, 215, 216, 218, 220, 222, 225, 226, 235, 244, 246, 253, 255, 256
67  }, { // NB or MB, voiced
68  256, 1, 11, 12, 20, 23, 31, 39, 53, 66, 80, 81, 95, 107, 120, 131,
69  142, 154, 165, 175, 185, 196, 204, 213, 221, 228, 236, 237, 238, 244, 245, 251, 256
70  }
71  }, {
72  { // WB, unvoiced
73  256, 31, 52, 55, 72, 73, 81, 98, 102, 103, 121, 137, 141, 143, 146, 147,
74  157, 158, 161, 177, 188, 204, 206, 208, 211, 213, 224, 225, 229, 238, 246, 253, 256
75  }, { // WB, voiced
76  256, 1, 5, 21, 26, 44, 55, 60, 74, 89, 90, 93, 105, 118, 132, 146,
77  152, 166, 178, 180, 186, 187, 199, 211, 222, 232, 235, 245, 250, 251, 252, 253, 256
78  }
79  }
80 };
81 
82 const uint16_t ff_silk_model_lsf_s2[32][10] = {
83  // NB, MB
84  { 256, 1, 2, 3, 18, 242, 253, 254, 255, 256 },
85  { 256, 1, 2, 4, 38, 221, 253, 254, 255, 256 },
86  { 256, 1, 2, 6, 48, 197, 252, 254, 255, 256 },
87  { 256, 1, 2, 10, 62, 185, 246, 254, 255, 256 },
88  { 256, 1, 4, 20, 73, 174, 248, 254, 255, 256 },
89  { 256, 1, 4, 21, 76, 166, 239, 254, 255, 256 },
90  { 256, 1, 8, 32, 85, 159, 226, 252, 255, 256 },
91  { 256, 1, 2, 20, 83, 161, 219, 249, 255, 256 },
92 
93  // WB
94  { 256, 1, 2, 3, 12, 244, 253, 254, 255, 256 },
95  { 256, 1, 2, 4, 32, 218, 253, 254, 255, 256 },
96  { 256, 1, 2, 5, 47, 199, 252, 254, 255, 256 },
97  { 256, 1, 2, 12, 61, 187, 252, 254, 255, 256 },
98  { 256, 1, 5, 24, 72, 172, 249, 254, 255, 256 },
99  { 256, 1, 2, 16, 70, 170, 242, 254, 255, 256 },
100  { 256, 1, 2, 17, 78, 165, 226, 251, 255, 256 },
101  { 256, 1, 8, 29, 79, 156, 237, 254, 255, 256 }
102 };
103 
104 const uint16_t ff_silk_model_lsf_s2_ext[] = { 256, 156, 216, 240, 249, 253, 255, 256 };
105 
106 const uint16_t ff_silk_model_lsf_interpolation_offset[] = { 256, 13, 35, 64, 75, 256 };
107 
108 const uint16_t ff_silk_model_pitch_highbits[] = {
109  256, 3, 6, 12, 23, 44, 74, 106, 125, 136, 146, 158, 171, 184, 196, 207,
110  216, 224, 231, 237, 241, 243, 245, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256
111 };
112 
113 const uint16_t ff_silk_model_pitch_lowbits_mb[] = { 256, 43, 85, 128, 171, 213, 256 };
114 
115 const uint16_t ff_silk_model_pitch_delta[] = {
116  256, 46, 48, 50, 53, 57, 63, 73, 88, 114, 152, 182, 204, 219, 229, 236,
117  242, 246, 250, 252, 254, 256
118 };
119 
120 const uint16_t ff_silk_model_pitch_contour_nb10ms[] = { 256, 143, 193, 256 };
121 
123  256, 68, 80, 101, 118, 137, 159, 189, 213, 230, 246, 256
124 };
125 
127  256, 91, 137, 176, 195, 209, 221, 229, 236, 242, 247, 252, 256
128 };
129 
131  256, 33, 55, 73, 89, 104, 118, 132, 145, 158, 168, 177, 186, 194, 200, 206,
132  212, 217, 221, 225, 229, 232, 235, 238, 240, 242, 244, 246, 248, 250, 252, 253,
133  254, 255, 256
134 };
135 
136 const uint16_t ff_silk_model_ltp_filter[] = { 256, 77, 157, 256 };
137 
138 const uint16_t ff_silk_model_ltp_filter0_sel[] = {
139  256, 185, 200, 213, 226, 235, 244, 250, 256
140 };
141 
142 const uint16_t ff_silk_model_ltp_filter1_sel[] = {
143  256, 57, 91, 112, 132, 147, 160, 172, 185, 195, 205, 214, 224, 233, 241, 248, 256
144 };
145 
146 const uint16_t ff_silk_model_ltp_filter2_sel[] = {
147  256, 15, 31, 45, 57, 69, 81, 92, 103, 114, 124, 133, 142, 151, 160, 168,
148  176, 184, 192, 199, 206, 212, 218, 223, 227, 232, 236, 240, 244, 247, 251, 254, 256
149 };
150 
151 const uint16_t ff_silk_model_ltp_scale_index[] = { 256, 128, 192, 256 };
152 
153 const uint16_t ff_silk_model_lcg_seed[] = { 256, 64, 128, 192, 256 };
154 
155 const uint16_t ff_silk_model_exc_rate[2][10] = {
156  { 256, 15, 66, 78, 124, 169, 182, 215, 242, 256 }, // unvoiced
157  { 256, 33, 63, 99, 116, 150, 199, 217, 238, 256 } // voiced
158 };
159 
160 const uint16_t ff_silk_model_pulse_count[11][19] = {
161  { 256, 131, 205, 230, 238, 241, 244, 245, 246,
162  247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
163  { 256, 58, 151, 211, 234, 241, 244, 245, 246,
164  247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
165  { 256, 43, 94, 140, 173, 197, 213, 224, 232,
166  238, 241, 244, 247, 249, 250, 251, 253, 254, 256 },
167  { 256, 17, 69, 140, 197, 228, 240, 245, 246,
168  247, 248, 249, 250, 251, 252, 253, 254, 255, 256 },
169  { 256, 6, 27, 68, 121, 170, 205, 226, 237,
170  243, 246, 248, 250, 251, 252, 253, 254, 255, 256 },
171  { 256, 7, 21, 43, 71, 100, 128, 153, 173,
172  190, 203, 214, 223, 230, 235, 239, 243, 246, 256 },
173  { 256, 2, 7, 21, 50, 92, 138, 179, 210,
174  229, 240, 246, 249, 251, 252, 253, 254, 255, 256 },
175  { 256, 1, 3, 7, 17, 36, 65, 100, 137,
176  171, 199, 219, 233, 241, 246, 250, 252, 254, 256 },
177  { 256, 1, 3, 5, 10, 19, 33, 53, 77,
178  104, 132, 158, 181, 201, 216, 227, 235, 241, 256 },
179  { 256, 1, 2, 3, 9, 36, 94, 150, 189,
180  214, 228, 238, 244, 247, 250, 252, 253, 254, 256 },
181  { 256, 2, 3, 9, 36, 94, 150, 189, 214,
182  228, 238, 244, 247, 250, 252, 253, 254, 256, 256 }
183 };
184 
185 const uint16_t ff_silk_model_pulse_location[4][168] = {
186  {
187  256, 126, 256,
188  256, 56, 198, 256,
189  256, 25, 126, 230, 256,
190  256, 12, 72, 180, 244, 256,
191  256, 7, 42, 126, 213, 250, 256,
192  256, 4, 24, 83, 169, 232, 253, 256,
193  256, 3, 15, 53, 125, 200, 242, 254, 256,
194  256, 2, 10, 35, 89, 162, 221, 248, 255, 256,
195  256, 2, 7, 24, 63, 126, 191, 233, 251, 255, 256,
196  256, 1, 5, 17, 45, 94, 157, 211, 241, 252, 255, 256,
197  256, 1, 5, 13, 33, 70, 125, 182, 223, 245, 253, 255, 256,
198  256, 1, 4, 11, 26, 54, 98, 151, 199, 232, 248, 254, 255, 256,
199  256, 1, 3, 9, 21, 42, 77, 124, 172, 212, 237, 249, 254, 255, 256,
200  256, 1, 2, 6, 16, 33, 60, 97, 144, 187, 220, 241, 250, 254, 255, 256,
201  256, 1, 2, 3, 11, 25, 47, 80, 120, 163, 201, 229, 245, 253, 254, 255, 256,
202  256, 1, 2, 3, 4, 17, 35, 62, 98, 139, 180, 214, 238, 252, 253, 254, 255, 256
203  },{
204  256, 127, 256,
205  256, 53, 202, 256,
206  256, 22, 127, 233, 256,
207  256, 11, 72, 183, 246, 256,
208  256, 6, 41, 127, 215, 251, 256,
209  256, 4, 24, 83, 170, 232, 253, 256,
210  256, 3, 16, 56, 127, 200, 241, 254, 256,
211  256, 3, 12, 39, 92, 162, 218, 246, 255, 256,
212  256, 3, 11, 30, 67, 124, 185, 229, 249, 255, 256,
213  256, 3, 10, 25, 53, 97, 151, 200, 233, 250, 255, 256,
214  256, 1, 8, 21, 43, 77, 123, 171, 209, 237, 251, 255, 256,
215  256, 1, 2, 13, 35, 62, 97, 139, 186, 219, 244, 254, 255, 256,
216  256, 1, 2, 8, 22, 48, 85, 128, 171, 208, 234, 248, 254, 255, 256,
217  256, 1, 2, 6, 16, 36, 67, 107, 149, 189, 220, 240, 250, 254, 255, 256,
218  256, 1, 2, 5, 13, 29, 55, 90, 128, 166, 201, 227, 243, 251, 254, 255, 256,
219  256, 1, 2, 4, 10, 22, 43, 73, 109, 147, 183, 213, 234, 246, 252, 254, 255, 256
220  },{
221  256, 127, 256,
222  256, 49, 206, 256,
223  256, 20, 127, 236, 256,
224  256, 11, 71, 184, 246, 256,
225  256, 7, 43, 127, 214, 250, 256,
226  256, 6, 30, 87, 169, 229, 252, 256,
227  256, 5, 23, 62, 126, 194, 236, 252, 256,
228  256, 6, 20, 49, 96, 157, 209, 239, 253, 256,
229  256, 1, 16, 39, 74, 125, 175, 215, 245, 255, 256,
230  256, 1, 2, 23, 55, 97, 149, 195, 236, 254, 255, 256,
231  256, 1, 7, 23, 50, 86, 128, 170, 206, 233, 249, 255, 256,
232  256, 1, 6, 18, 39, 70, 108, 148, 186, 217, 238, 250, 255, 256,
233  256, 1, 4, 13, 30, 56, 90, 128, 166, 200, 226, 243, 252, 255, 256,
234  256, 1, 4, 11, 25, 47, 76, 110, 146, 180, 209, 231, 245, 252, 255, 256,
235  256, 1, 3, 8, 19, 37, 62, 93, 128, 163, 194, 219, 237, 248, 253, 255, 256,
236  256, 1, 2, 6, 15, 30, 51, 79, 111, 145, 177, 205, 226, 241, 250, 254, 255, 256
237  },{
238  256, 128, 256,
239  256, 42, 214, 256,
240  256, 21, 128, 235, 256,
241  256, 12, 72, 184, 245, 256,
242  256, 8, 42, 128, 214, 249, 256,
243  256, 8, 31, 86, 176, 231, 251, 256,
244  256, 5, 20, 58, 130, 202, 238, 253, 256,
245  256, 6, 18, 45, 97, 174, 221, 241, 251, 256,
246  256, 6, 25, 53, 88, 128, 168, 203, 231, 250, 256,
247  256, 4, 18, 40, 71, 108, 148, 185, 216, 238, 252, 256,
248  256, 3, 13, 31, 57, 90, 128, 166, 199, 225, 243, 253, 256,
249  256, 2, 10, 23, 44, 73, 109, 147, 183, 212, 233, 246, 254, 256,
250  256, 1, 6, 16, 33, 58, 90, 128, 166, 198, 223, 240, 250, 255, 256,
251  256, 1, 5, 12, 25, 46, 75, 110, 146, 181, 210, 231, 244, 251, 255, 256,
252  256, 1, 3, 8, 18, 35, 60, 92, 128, 164, 196, 221, 238, 248, 253, 255, 256,
253  256, 1, 3, 7, 14, 27, 48, 76, 110, 146, 180, 208, 229, 242, 249, 253, 255, 256
254  }
255 };
256 
257 const uint16_t ff_silk_model_excitation_lsb[] = {256, 136, 256};
258 
259 const uint16_t ff_silk_model_excitation_sign[3][2][7][3] = {
260  { // Inactive
261  { // Low offset
262  {256, 2, 256},
263  {256, 207, 256},
264  {256, 189, 256},
265  {256, 179, 256},
266  {256, 174, 256},
267  {256, 163, 256},
268  {256, 157, 256}
269  }, { // High offset
270  {256, 58, 256},
271  {256, 245, 256},
272  {256, 238, 256},
273  {256, 232, 256},
274  {256, 225, 256},
275  {256, 220, 256},
276  {256, 211, 256}
277  }
278  }, { // Unvoiced
279  { // Low offset
280  {256, 1, 256},
281  {256, 210, 256},
282  {256, 190, 256},
283  {256, 178, 256},
284  {256, 169, 256},
285  {256, 162, 256},
286  {256, 152, 256}
287  }, { // High offset
288  {256, 48, 256},
289  {256, 242, 256},
290  {256, 235, 256},
291  {256, 224, 256},
292  {256, 214, 256},
293  {256, 205, 256},
294  {256, 190, 256}
295  }
296  }, { // Voiced
297  { // Low offset
298  {256, 1, 256},
299  {256, 162, 256},
300  {256, 152, 256},
301  {256, 147, 256},
302  {256, 144, 256},
303  {256, 141, 256},
304  {256, 138, 256}
305  }, { // High offset
306  {256, 8, 256},
307  {256, 203, 256},
308  {256, 187, 256},
309  {256, 176, 256},
310  {256, 168, 256},
311  {256, 161, 256},
312  {256, 154, 256}
313  }
314  }
315 };
316 
317 const int16_t ff_silk_stereo_weights[] = {
318  -13732, -10050, -8266, -7526, -6500, -5000, -2950, -820,
319  820, 2950, 5000, 6500, 7526, 8266, 10050, 13732
320 };
321 
322 const uint8_t ff_silk_lsf_s2_model_sel_nbmb[32][10] = {
323  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
324  { 1, 3, 1, 2, 2, 1, 2, 1, 1, 1 },
325  { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
326  { 1, 2, 2, 2, 2, 1, 2, 1, 1, 1 },
327  { 2, 3, 3, 3, 3, 2, 2, 2, 2, 2 },
328  { 0, 5, 3, 3, 2, 2, 2, 2, 1, 1 },
329  { 0, 2, 2, 2, 2, 2, 2, 2, 2, 1 },
330  { 2, 3, 6, 4, 4, 4, 5, 4, 5, 5 },
331  { 2, 4, 5, 5, 4, 5, 4, 6, 4, 4 },
332  { 2, 4, 4, 7, 4, 5, 4, 5, 5, 4 },
333  { 4, 3, 3, 3, 2, 3, 2, 2, 2, 2 },
334  { 1, 5, 5, 6, 4, 5, 4, 5, 5, 5 },
335  { 2, 7, 4, 6, 5, 5, 5, 5, 5, 5 },
336  { 2, 7, 5, 5, 5, 5, 5, 6, 5, 4 },
337  { 3, 3, 5, 4, 4, 5, 4, 5, 4, 4 },
338  { 2, 3, 3, 5, 5, 4, 4, 4, 4, 4 },
339  { 2, 4, 4, 6, 4, 5, 4, 5, 5, 5 },
340  { 2, 5, 4, 6, 5, 5, 5, 4, 5, 4 },
341  { 2, 7, 4, 5, 4, 5, 4, 5, 5, 5 },
342  { 2, 5, 4, 6, 7, 6, 5, 6, 5, 4 },
343  { 3, 6, 7, 4, 6, 5, 5, 6, 4, 5 },
344  { 2, 7, 6, 4, 4, 4, 5, 4, 5, 5 },
345  { 4, 5, 5, 4, 6, 6, 5, 6, 5, 4 },
346  { 2, 5, 5, 6, 5, 6, 4, 6, 4, 4 },
347  { 4, 5, 5, 5, 3, 7, 4, 5, 5, 4 },
348  { 2, 3, 4, 5, 5, 6, 4, 5, 5, 4 },
349  { 2, 3, 2, 3, 3, 4, 2, 3, 3, 3 },
350  { 1, 1, 2, 2, 2, 2, 2, 3, 2, 2 },
351  { 4, 5, 5, 6, 6, 6, 5, 6, 4, 5 },
352  { 3, 5, 5, 4, 4, 4, 4, 3, 3, 2 },
353  { 2, 5, 3, 7, 5, 5, 4, 4, 5, 4 },
354  { 4, 4, 5, 4, 5, 6, 5, 6, 5, 4 }
355 };
356 
357 const uint8_t ff_silk_lsf_s2_model_sel_wb[32][16] = {
358  { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
359  { 10, 11, 11, 11, 11, 11, 10, 10, 10, 10, 10, 9, 9, 9, 8, 11 },
360  { 10, 13, 13, 11, 15, 12, 12, 13, 10, 13, 12, 13, 13, 12, 11, 11 },
361  { 8, 10, 9, 10, 10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 9 },
362  { 8, 14, 13, 12, 14, 12, 15, 13, 12, 12, 12, 13, 13, 12, 12, 11 },
363  { 8, 11, 13, 13, 12, 11, 11, 13, 11, 11, 11, 11, 11, 11, 10, 12 },
364  { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
365  { 8, 10, 14, 11, 15, 10, 13, 11, 12, 13, 13, 12, 11, 11, 10, 11 },
366  { 8, 14, 10, 14, 14, 12, 13, 12, 14, 13, 12, 12, 13, 11, 11, 11 },
367  { 10, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
368  { 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 },
369  { 10, 10, 11, 12, 13, 11, 11, 11, 11, 11, 11, 11, 10, 10, 9, 11 },
370  { 10, 10, 11, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 10, 9, 11 },
371  { 11, 12, 12, 12, 14, 12, 12, 13, 11, 13, 12, 12, 13, 12, 11, 12 },
372  { 8, 14, 12, 13, 12, 15, 13, 10, 14, 13, 15, 12, 12, 11, 13, 11 },
373  { 8, 9, 8, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 9, 8 },
374  { 9, 14, 13, 15, 13, 12, 13, 11, 12, 13, 12, 12, 12, 11, 11, 12 },
375  { 9, 11, 11, 12, 12, 11, 11, 13, 10, 11, 11, 13, 13, 13, 11, 12 },
376  { 10, 11, 11, 10, 10, 10, 11, 10, 9, 10, 9, 10, 9, 9, 9, 12 },
377  { 8, 10, 11, 13, 11, 11, 10, 10, 10, 9, 9, 8, 8, 8, 8, 8 },
378  { 11, 12, 11, 13, 11, 11, 10, 10, 9, 9, 9, 9, 9, 10, 10, 12 },
379  { 10, 14, 11, 15, 15, 12, 13, 12, 13, 11, 13, 11, 11, 10, 11, 11 },
380  { 10, 11, 13, 14, 14, 11, 13, 11, 12, 12, 11, 11, 11, 11, 10, 12 },
381  { 9, 11, 11, 12, 12, 12, 12, 11, 13, 13, 13, 11, 9, 9, 9, 9 },
382  { 10, 13, 11, 14, 14, 12, 15, 12, 12, 13, 11, 12, 12, 11, 11, 11 },
383  { 8, 14, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 },
384  { 8, 14, 14, 11, 13, 10, 13, 13, 11, 12, 12, 15, 15, 12, 12, 12 },
385  { 11, 11, 15, 11, 13, 12, 11, 11, 11, 10, 10, 11, 11, 11, 10, 11 },
386  { 8, 8, 9, 8, 8, 8, 10, 9, 10, 9, 9, 10, 10, 10, 9, 9 },
387  { 8, 11, 10, 13, 11, 11, 10, 11, 10, 9, 8, 8, 9, 8, 8, 9 },
388  { 11, 13, 13, 12, 15, 13, 11, 11, 10, 11, 10, 10, 9, 8, 9, 8 },
389  { 10, 11, 13, 11, 12, 11, 11, 11, 10, 9, 10, 14, 12, 8, 8, 8 }
390 };
391 
392 const uint8_t ff_silk_lsf_pred_weights_nbmb[2][9] = {
393  {179, 138, 140, 148, 151, 149, 153, 151, 163},
394  {116, 67, 82, 59, 92, 72, 100, 89, 92}
395 };
396 
397 const uint8_t ff_silk_lsf_pred_weights_wb[2][15] = {
398  {175, 148, 160, 176, 178, 173, 174, 164, 177, 174, 196, 182, 198, 192, 182},
399  { 68, 62, 66, 60, 72, 117, 85, 90, 118, 136, 151, 142, 160, 142, 155}
400 };
401 
402 const uint8_t ff_silk_lsf_weight_sel_nbmb[32][9] = {
403  { 0, 1, 0, 0, 0, 0, 0, 0, 0 },
404  { 1, 0, 0, 0, 0, 0, 0, 0, 0 },
405  { 0, 0, 0, 0, 0, 0, 0, 0, 0 },
406  { 1, 1, 1, 0, 0, 0, 0, 1, 0 },
407  { 0, 1, 0, 0, 0, 0, 0, 0, 0 },
408  { 0, 1, 0, 0, 0, 0, 0, 0, 0 },
409  { 1, 0, 1, 1, 0, 0, 0, 1, 0 },
410  { 0, 1, 1, 0, 0, 1, 1, 0, 0 },
411  { 0, 0, 1, 1, 0, 1, 0, 1, 1 },
412  { 0, 0, 1, 1, 0, 0, 1, 1, 1 },
413  { 0, 0, 0, 0, 0, 0, 0, 0, 0 },
414  { 0, 1, 0, 1, 1, 1, 1, 1, 0 },
415  { 0, 1, 0, 1, 1, 1, 1, 1, 0 },
416  { 0, 1, 1, 1, 1, 1, 1, 1, 0 },
417  { 1, 0, 1, 1, 0, 1, 1, 1, 1 },
418  { 0, 1, 1, 1, 1, 1, 0, 1, 0 },
419  { 0, 0, 1, 1, 0, 1, 0, 1, 0 },
420  { 0, 0, 1, 1, 1, 0, 1, 1, 1 },
421  { 0, 1, 1, 0, 0, 1, 1, 1, 0 },
422  { 0, 0, 0, 1, 1, 1, 0, 1, 0 },
423  { 0, 1, 1, 0, 0, 1, 0, 1, 0 },
424  { 0, 1, 1, 0, 0, 0, 1, 1, 0 },
425  { 0, 0, 0, 0, 0, 1, 1, 1, 1 },
426  { 0, 0, 1, 1, 0, 0, 0, 1, 1 },
427  { 0, 0, 0, 1, 0, 1, 1, 1, 1 },
428  { 0, 1, 1, 1, 1, 1, 1, 1, 0 },
429  { 0, 0, 0, 0, 0, 0, 0, 0, 0 },
430  { 0, 0, 0, 0, 0, 0, 0, 0, 0 },
431  { 0, 0, 1, 0, 1, 1, 0, 1, 0 },
432  { 1, 0, 0, 1, 0, 0, 0, 0, 0 },
433  { 0, 0, 0, 1, 1, 0, 1, 0, 1 },
434  { 1, 0, 1, 1, 0, 1, 1, 1, 1 }
435 };
436 
437 const uint8_t ff_silk_lsf_weight_sel_wb[32][15] = {
438  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
439  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
440  { 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0 },
441  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
442  { 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0 },
443  { 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
444  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0 },
445  { 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 },
446  { 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1 },
447  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
448  { 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
449  { 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0 },
450  { 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0 },
451  { 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0 },
452  { 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1 },
453  { 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0 },
454  { 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0 },
455  { 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0 },
456  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
457  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
458  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
459  { 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0 },
460  { 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0 },
461  { 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0 },
462  { 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1 },
463  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
464  { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1 },
465  { 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1 },
466  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
467  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
468  { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
469  { 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0 }
470 };
471 
472 const uint8_t ff_silk_lsf_codebook_nbmb[32][10] = {
473  { 12, 35, 60, 83, 108, 132, 157, 180, 206, 228 },
474  { 15, 32, 55, 77, 101, 125, 151, 175, 201, 225 },
475  { 19, 42, 66, 89, 114, 137, 162, 184, 209, 230 },
476  { 12, 25, 50, 72, 97, 120, 147, 172, 200, 223 },
477  { 26, 44, 69, 90, 114, 135, 159, 180, 205, 225 },
478  { 13, 22, 53, 80, 106, 130, 156, 180, 205, 228 },
479  { 15, 25, 44, 64, 90, 115, 142, 168, 196, 222 },
480  { 19, 24, 62, 82, 100, 120, 145, 168, 190, 214 },
481  { 22, 31, 50, 79, 103, 120, 151, 170, 203, 227 },
482  { 21, 29, 45, 65, 106, 124, 150, 171, 196, 224 },
483  { 30, 49, 75, 97, 121, 142, 165, 186, 209, 229 },
484  { 19, 25, 52, 70, 93, 116, 143, 166, 192, 219 },
485  { 26, 34, 62, 75, 97, 118, 145, 167, 194, 217 },
486  { 25, 33, 56, 70, 91, 113, 143, 165, 196, 223 },
487  { 21, 34, 51, 72, 97, 117, 145, 171, 196, 222 },
488  { 20, 29, 50, 67, 90, 117, 144, 168, 197, 221 },
489  { 22, 31, 48, 66, 95, 117, 146, 168, 196, 222 },
490  { 24, 33, 51, 77, 116, 134, 158, 180, 200, 224 },
491  { 21, 28, 70, 87, 106, 124, 149, 170, 194, 217 },
492  { 26, 33, 53, 64, 83, 117, 152, 173, 204, 225 },
493  { 27, 34, 65, 95, 108, 129, 155, 174, 210, 225 },
494  { 20, 26, 72, 99, 113, 131, 154, 176, 200, 219 },
495  { 34, 43, 61, 78, 93, 114, 155, 177, 205, 229 },
496  { 23, 29, 54, 97, 124, 138, 163, 179, 209, 229 },
497  { 30, 38, 56, 89, 118, 129, 158, 178, 200, 231 },
498  { 21, 29, 49, 63, 85, 111, 142, 163, 193, 222 },
499  { 27, 48, 77, 103, 133, 158, 179, 196, 215, 232 },
500  { 29, 47, 74, 99, 124, 151, 176, 198, 220, 237 },
501  { 33, 42, 61, 76, 93, 121, 155, 174, 207, 225 },
502  { 29, 53, 87, 112, 136, 154, 170, 188, 208, 227 },
503  { 24, 30, 52, 84, 131, 150, 166, 186, 203, 229 },
504  { 37, 48, 64, 84, 104, 118, 156, 177, 201, 230 }
505 };
506 
507 const uint8_t ff_silk_lsf_codebook_wb[32][16] = {
508  { 7, 23, 38, 54, 69, 85, 100, 116, 131, 147, 162, 178, 193, 208, 223, 239 },
509  { 13, 25, 41, 55, 69, 83, 98, 112, 127, 142, 157, 171, 187, 203, 220, 236 },
510  { 15, 21, 34, 51, 61, 78, 92, 106, 126, 136, 152, 167, 185, 205, 225, 240 },
511  { 10, 21, 36, 50, 63, 79, 95, 110, 126, 141, 157, 173, 189, 205, 221, 237 },
512  { 17, 20, 37, 51, 59, 78, 89, 107, 123, 134, 150, 164, 184, 205, 224, 240 },
513  { 10, 15, 32, 51, 67, 81, 96, 112, 129, 142, 158, 173, 189, 204, 220, 236 },
514  { 8, 21, 37, 51, 65, 79, 98, 113, 126, 138, 155, 168, 179, 192, 209, 218 },
515  { 12, 15, 34, 55, 63, 78, 87, 108, 118, 131, 148, 167, 185, 203, 219, 236 },
516  { 16, 19, 32, 36, 56, 79, 91, 108, 118, 136, 154, 171, 186, 204, 220, 237 },
517  { 11, 28, 43, 58, 74, 89, 105, 120, 135, 150, 165, 180, 196, 211, 226, 241 },
518  { 6, 16, 33, 46, 60, 75, 92, 107, 123, 137, 156, 169, 185, 199, 214, 225 },
519  { 11, 19, 30, 44, 57, 74, 89, 105, 121, 135, 152, 169, 186, 202, 218, 234 },
520  { 12, 19, 29, 46, 57, 71, 88, 100, 120, 132, 148, 165, 182, 199, 216, 233 },
521  { 17, 23, 35, 46, 56, 77, 92, 106, 123, 134, 152, 167, 185, 204, 222, 237 },
522  { 14, 17, 45, 53, 63, 75, 89, 107, 115, 132, 151, 171, 188, 206, 221, 240 },
523  { 9, 16, 29, 40, 56, 71, 88, 103, 119, 137, 154, 171, 189, 205, 222, 237 },
524  { 16, 19, 36, 48, 57, 76, 87, 105, 118, 132, 150, 167, 185, 202, 218, 236 },
525  { 12, 17, 29, 54, 71, 81, 94, 104, 126, 136, 149, 164, 182, 201, 221, 237 },
526  { 15, 28, 47, 62, 79, 97, 115, 129, 142, 155, 168, 180, 194, 208, 223, 238 },
527  { 8, 14, 30, 45, 62, 78, 94, 111, 127, 143, 159, 175, 192, 207, 223, 239 },
528  { 17, 30, 49, 62, 79, 92, 107, 119, 132, 145, 160, 174, 190, 204, 220, 235 },
529  { 14, 19, 36, 45, 61, 76, 91, 108, 121, 138, 154, 172, 189, 205, 222, 238 },
530  { 12, 18, 31, 45, 60, 76, 91, 107, 123, 138, 154, 171, 187, 204, 221, 236 },
531  { 13, 17, 31, 43, 53, 70, 83, 103, 114, 131, 149, 167, 185, 203, 220, 237 },
532  { 17, 22, 35, 42, 58, 78, 93, 110, 125, 139, 155, 170, 188, 206, 224, 240 },
533  { 8, 15, 34, 50, 67, 83, 99, 115, 131, 146, 162, 178, 193, 209, 224, 239 },
534  { 13, 16, 41, 66, 73, 86, 95, 111, 128, 137, 150, 163, 183, 206, 225, 241 },
535  { 17, 25, 37, 52, 63, 75, 92, 102, 119, 132, 144, 160, 175, 191, 212, 231 },
536  { 19, 31, 49, 65, 83, 100, 117, 133, 147, 161, 174, 187, 200, 213, 227, 242 },
537  { 18, 31, 52, 68, 88, 103, 117, 126, 138, 149, 163, 177, 192, 207, 223, 239 },
538  { 16, 29, 47, 61, 76, 90, 106, 119, 133, 147, 161, 176, 193, 209, 224, 240 },
539  { 15, 21, 35, 50, 61, 73, 86, 97, 110, 119, 129, 141, 175, 198, 218, 237 }
540 };
541 
542 const uint16_t ff_silk_lsf_min_spacing_nbmb[] = {
543  250, 3, 6, 3, 3, 3, 4, 3, 3, 3, 461
544 };
545 
546 const uint16_t ff_silk_lsf_min_spacing_wb[] = {
547  100, 3, 40, 3, 3, 3, 5, 14, 14, 10, 11, 3, 8, 9, 7, 3, 347
548 };
549 
550 const uint8_t ff_silk_lsf_ordering_nbmb[] = {
551  0, 9, 6, 3, 4, 5, 8, 1, 2, 7
552 };
553 
554 const uint8_t ff_silk_lsf_ordering_wb[] = {
555  0, 15, 8, 7, 4, 11, 12, 3, 2, 13, 10, 5, 6, 9, 14, 1
556 };
557 
558 const int16_t ff_silk_cosine[] = { /* (0.12) */
559  4096, 4095, 4091, 4085,
560  4076, 4065, 4052, 4036,
561  4017, 3997, 3973, 3948,
562  3920, 3889, 3857, 3822,
563  3784, 3745, 3703, 3659,
564  3613, 3564, 3513, 3461,
565  3406, 3349, 3290, 3229,
566  3166, 3102, 3035, 2967,
567  2896, 2824, 2751, 2676,
568  2599, 2520, 2440, 2359,
569  2276, 2191, 2106, 2019,
570  1931, 1842, 1751, 1660,
571  1568, 1474, 1380, 1285,
572  1189, 1093, 995, 897,
573  799, 700, 601, 501,
574  401, 301, 201, 101,
575  0, -101, -201, -301,
576  -401, -501, -601, -700,
577  -799, -897, -995, -1093,
578  -1189, -1285, -1380, -1474,
579  -1568, -1660, -1751, -1842,
580  -1931, -2019, -2106, -2191,
581  -2276, -2359, -2440, -2520,
582  -2599, -2676, -2751, -2824,
583  -2896, -2967, -3035, -3102,
584  -3166, -3229, -3290, -3349,
585  -3406, -3461, -3513, -3564,
586  -3613, -3659, -3703, -3745,
587  -3784, -3822, -3857, -3889,
588  -3920, -3948, -3973, -3997,
589  -4017, -4036, -4052, -4065,
590  -4076, -4085, -4091, -4095,
591  -4096
592 };
593 
594 const uint16_t ff_silk_pitch_scale[] = { 4, 6, 8};
595 
596 const uint16_t ff_silk_pitch_min_lag[] = { 16, 24, 32};
597 
598 const uint16_t ff_silk_pitch_max_lag[] = {144, 216, 288};
599 
600 const int8_t ff_silk_pitch_offset_nb10ms[3][2] = {
601  { 0, 0},
602  { 1, 0},
603  { 0, 1}
604 };
605 
606 const int8_t ff_silk_pitch_offset_nb20ms[11][4] = {
607  { 0, 0, 0, 0},
608  { 2, 1, 0, -1},
609  {-1, 0, 1, 2},
610  {-1, 0, 0, 1},
611  {-1, 0, 0, 0},
612  { 0, 0, 0, 1},
613  { 0, 0, 1, 1},
614  { 1, 1, 0, 0},
615  { 1, 0, 0, 0},
616  { 0, 0, 0, -1},
617  { 1, 0, 0, -1}
618 };
619 
620 const int8_t ff_silk_pitch_offset_mbwb10ms[12][2] = {
621  { 0, 0},
622  { 0, 1},
623  { 1, 0},
624  {-1, 1},
625  { 1, -1},
626  {-1, 2},
627  { 2, -1},
628  {-2, 2},
629  { 2, -2},
630  {-2, 3},
631  { 3, -2},
632  {-3, 3}
633 };
634 
635 const int8_t ff_silk_pitch_offset_mbwb20ms[34][4] = {
636  { 0, 0, 0, 0},
637  { 0, 0, 1, 1},
638  { 1, 1, 0, 0},
639  {-1, 0, 0, 0},
640  { 0, 0, 0, 1},
641  { 1, 0, 0, 0},
642  {-1, 0, 0, 1},
643  { 0, 0, 0, -1},
644  {-1, 0, 1, 2},
645  { 1, 0, 0, -1},
646  {-2, -1, 1, 2},
647  { 2, 1, 0, -1},
648  {-2, 0, 0, 2},
649  {-2, 0, 1, 3},
650  { 2, 1, -1, -2},
651  {-3, -1, 1, 3},
652  { 2, 0, 0, -2},
653  { 3, 1, 0, -2},
654  {-3, -1, 2, 4},
655  {-4, -1, 1, 4},
656  { 3, 1, -1, -3},
657  {-4, -1, 2, 5},
658  { 4, 2, -1, -3},
659  { 4, 1, -1, -4},
660  {-5, -1, 2, 6},
661  { 5, 2, -1, -4},
662  {-6, -2, 2, 6},
663  {-5, -2, 2, 5},
664  { 6, 2, -1, -5},
665  {-7, -2, 3, 8},
666  { 6, 2, -2, -6},
667  { 5, 2, -2, -5},
668  { 8, 3, -2, -7},
669  {-9, -3, 3, 9}
670 };
671 
672 const int8_t ff_silk_ltp_filter0_taps[8][5] = {
673  { 4, 6, 24, 7, 5},
674  { 0, 0, 2, 0, 0},
675  { 12, 28, 41, 13, -4},
676  { -9, 15, 42, 25, 14},
677  { 1, -2, 62, 41, -9},
678  {-10, 37, 65, -4, 3},
679  { -6, 4, 66, 7, -8},
680  { 16, 14, 38, -3, 33}
681 };
682 
683 const int8_t ff_silk_ltp_filter1_taps[16][5] = {
684  { 13, 22, 39, 23, 12},
685  { -1, 36, 64, 27, -6},
686  { -7, 10, 55, 43, 17},
687  { 1, 1, 8, 1, 1},
688  { 6, -11, 74, 53, -9},
689  {-12, 55, 76, -12, 8},
690  { -3, 3, 93, 27, -4},
691  { 26, 39, 59, 3, -8},
692  { 2, 0, 77, 11, 9},
693  { -8, 22, 44, -6, 7},
694  { 40, 9, 26, 3, 9},
695  { -7, 20, 101, -7, 4},
696  { 3, -8, 42, 26, 0},
697  {-15, 33, 68, 2, 23},
698  { -2, 55, 46, -2, 15},
699  { 3, -1, 21, 16, 41}
700 };
701 
702 const int8_t ff_silk_ltp_filter2_taps[32][5] = {
703  { -6, 27, 61, 39, 5},
704  {-11, 42, 88, 4, 1},
705  { -2, 60, 65, 6, -4},
706  { -1, -5, 73, 56, 1},
707  { -9, 19, 94, 29, -9},
708  { 0, 12, 99, 6, 4},
709  { 8, -19, 102, 46, -13},
710  { 3, 2, 13, 3, 2},
711  { 9, -21, 84, 72, -18},
712  {-11, 46, 104, -22, 8},
713  { 18, 38, 48, 23, 0},
714  {-16, 70, 83, -21, 11},
715  { 5, -11, 117, 22, -8},
716  { -6, 23, 117, -12, 3},
717  { 3, -8, 95, 28, 4},
718  {-10, 15, 77, 60, -15},
719  { -1, 4, 124, 2, -4},
720  { 3, 38, 84, 24, -25},
721  { 2, 13, 42, 13, 31},
722  { 21, -4, 56, 46, -1},
723  { -1, 35, 79, -13, 19},
724  { -7, 65, 88, -9, -14},
725  { 20, 4, 81, 49, -29},
726  { 20, 0, 75, 3, -17},
727  { 5, -9, 44, 92, -8},
728  { 1, -3, 22, 69, 31},
729  { -6, 95, 41, -12, 5},
730  { 39, 67, 16, -4, 1},
731  { 0, -6, 120, 55, -36},
732  {-13, 44, 122, 4, -24},
733  { 81, 5, 11, 3, 7},
734  { 2, 0, 9, 10, 88}
735 };
736 
737 const uint16_t ff_silk_model_lsf_weight_nbmb[32][10] = {
738  { 2897, 2314, 2314, 2314, 2287, 2287, 2314, 2300, 2327, 2287},
739  { 2888, 2580, 2394, 2367, 2314, 2274, 2274, 2274, 2274, 2194},
740  { 2487, 2340, 2340, 2314, 2314, 2314, 2340, 2340, 2367, 2354},
741  { 3216, 2766, 2340, 2340, 2314, 2274, 2221, 2207, 2261, 2194},
742  { 2460, 2474, 2367, 2394, 2394, 2394, 2394, 2367, 2407, 2314},
743  { 3479, 3056, 2127, 2207, 2274, 2274, 2274, 2287, 2314, 2261},
744  { 3282, 3141, 2580, 2394, 2247, 2221, 2207, 2194, 2194, 2114},
745  { 4096, 3845, 2221, 2620, 2620, 2407, 2314, 2394, 2367, 2074},
746  { 3178, 3244, 2367, 2221, 2553, 2434, 2340, 2314, 2167, 2221},
747  { 3338, 3488, 2726, 2194, 2261, 2460, 2354, 2367, 2207, 2101},
748  { 2354, 2420, 2327, 2367, 2394, 2420, 2420, 2420, 2460, 2367},
749  { 3779, 3629, 2434, 2527, 2367, 2274, 2274, 2300, 2207, 2048},
750  { 3254, 3225, 2713, 2846, 2447, 2327, 2300, 2300, 2274, 2127},
751  { 3263, 3300, 2753, 2806, 2447, 2261, 2261, 2247, 2127, 2101},
752  { 2873, 2981, 2633, 2367, 2407, 2354, 2194, 2247, 2247, 2114},
753  { 3225, 3197, 2633, 2580, 2274, 2181, 2247, 2221, 2221, 2141},
754  { 3178, 3310, 2740, 2407, 2274, 2274, 2274, 2287, 2194, 2114},
755  { 3141, 3272, 2460, 2061, 2287, 2500, 2367, 2487, 2434, 2181},
756  { 3507, 3282, 2314, 2700, 2647, 2474, 2367, 2394, 2340, 2127},
757  { 3423, 3535, 3038, 3056, 2300, 1950, 2221, 2274, 2274, 2274},
758  { 3404, 3366, 2087, 2687, 2873, 2354, 2420, 2274, 2474, 2540},
759  { 3760, 3488, 1950, 2660, 2897, 2527, 2394, 2367, 2460, 2261},
760  { 3028, 3272, 2740, 2888, 2740, 2154, 2127, 2287, 2234, 2247},
761  { 3695, 3657, 2025, 1969, 2660, 2700, 2580, 2500, 2327, 2367},
762  { 3207, 3413, 2354, 2074, 2888, 2888, 2340, 2487, 2247, 2167},
763  { 3338, 3366, 2846, 2780, 2327, 2154, 2274, 2287, 2114, 2061},
764  { 2327, 2300, 2181, 2167, 2181, 2367, 2633, 2700, 2700, 2553},
765  { 2407, 2434, 2221, 2261, 2221, 2221, 2340, 2420, 2607, 2700},
766  { 3038, 3244, 2806, 2888, 2474, 2074, 2300, 2314, 2354, 2380},
767  { 2221, 2154, 2127, 2287, 2500, 2793, 2793, 2620, 2580, 2367},
768  { 3676, 3713, 2234, 1838, 2181, 2753, 2726, 2673, 2513, 2207},
769  { 2793, 3160, 2726, 2553, 2846, 2513, 2181, 2394, 2221, 2181}
770 };
771 
772 const uint16_t ff_silk_model_lsf_weight_wb[32][16] = {
773  { 3657, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2925, 2963, 2963, 2925, 2846},
774  { 3216, 3085, 2972, 3056, 3056, 3010, 3010, 3010, 2963, 2963, 3010, 2972, 2888, 2846, 2846, 2726},
775  { 3920, 4014, 2981, 3207, 3207, 2934, 3056, 2846, 3122, 3244, 2925, 2846, 2620, 2553, 2780, 2925},
776  { 3516, 3197, 3010, 3103, 3019, 2888, 2925, 2925, 2925, 2925, 2888, 2888, 2888, 2888, 2888, 2753},
777  { 5054, 5054, 2934, 3573, 3385, 3056, 3085, 2793, 3160, 3160, 2972, 2846, 2513, 2540, 2753, 2888},
778  { 4428, 4149, 2700, 2753, 2972, 3010, 2925, 2846, 2981, 3019, 2925, 2925, 2925, 2925, 2888, 2726},
779  { 3620, 3019, 2972, 3056, 3056, 2873, 2806, 3056, 3216, 3047, 2981, 3291, 3291, 2981, 3310, 2991},
780  { 5227, 5014, 2540, 3338, 3526, 3385, 3197, 3094, 3376, 2981, 2700, 2647, 2687, 2793, 2846, 2673},
781  { 5081, 5174, 4615, 4428, 2460, 2897, 3047, 3207, 3169, 2687, 2740, 2888, 2846, 2793, 2846, 2700},
782  { 3122, 2888, 2963, 2925, 2925, 2925, 2925, 2963, 2963, 2963, 2963, 2925, 2925, 2963, 2963, 2963},
783  { 4202, 3207, 2981, 3103, 3010, 2888, 2888, 2925, 2972, 2873, 2916, 3019, 2972, 3010, 3197, 2873},
784  { 3760, 3760, 3244, 3103, 2981, 2888, 2925, 2888, 2972, 2934, 2793, 2793, 2846, 2888, 2888, 2660},
785  { 3854, 4014, 3207, 3122, 3244, 2934, 3047, 2963, 2963, 3085, 2846, 2793, 2793, 2793, 2793, 2580},
786  { 3845, 4080, 3357, 3516, 3094, 2740, 3010, 2934, 3122, 3085, 2846, 2846, 2647, 2647, 2846, 2806},
787  { 5147, 4894, 3225, 3845, 3441, 3169, 2897, 3413, 3451, 2700, 2580, 2673, 2740, 2846, 2806, 2753},
788  { 4109, 3789, 3291, 3160, 2925, 2888, 2888, 2925, 2793, 2740, 2793, 2740, 2793, 2846, 2888, 2806},
789  { 5081, 5054, 3047, 3545, 3244, 3056, 3085, 2944, 3103, 2897, 2740, 2740, 2740, 2846, 2793, 2620},
790  { 4309, 4309, 2860, 2527, 3207, 3376, 3376, 3075, 3075, 3376, 3056, 2846, 2647, 2580, 2726, 2753},
791  { 3056, 2916, 2806, 2888, 2740, 2687, 2897, 3103, 3150, 3150, 3216, 3169, 3056, 3010, 2963, 2846},
792  { 4375, 3882, 2925, 2888, 2846, 2888, 2846, 2846, 2888, 2888, 2888, 2846, 2888, 2925, 2888, 2846},
793  { 2981, 2916, 2916, 2981, 2981, 3056, 3122, 3216, 3150, 3056, 3010, 2972, 2972, 2972, 2925, 2740},
794  { 4229, 4149, 3310, 3347, 2925, 2963, 2888, 2981, 2981, 2846, 2793, 2740, 2846, 2846, 2846, 2793},
795  { 4080, 4014, 3103, 3010, 2925, 2925, 2925, 2888, 2925, 2925, 2846, 2846, 2846, 2793, 2888, 2780},
796  { 4615, 4575, 3169, 3441, 3207, 2981, 2897, 3038, 3122, 2740, 2687, 2687, 2687, 2740, 2793, 2700},
797  { 4149, 4269, 3789, 3657, 2726, 2780, 2888, 2888, 3010, 2972, 2925, 2846, 2687, 2687, 2793, 2888},
798  { 4215, 3554, 2753, 2846, 2846, 2888, 2888, 2888, 2925, 2925, 2888, 2925, 2925, 2925, 2963, 2888},
799  { 5174, 4921, 2261, 3432, 3789, 3479, 3347, 2846, 3310, 3479, 3150, 2897, 2460, 2487, 2753, 2925},
800  { 3451, 3685, 3122, 3197, 3357, 3047, 3207, 3207, 2981, 3216, 3085, 2925, 2925, 2687, 2540, 2434},
801  { 2981, 3010, 2793, 2793, 2740, 2793, 2846, 2972, 3056, 3103, 3150, 3150, 3150, 3103, 3010, 3010},
802  { 2944, 2873, 2687, 2726, 2780, 3010, 3432, 3545, 3357, 3244, 3056, 3010, 2963, 2925, 2888, 2846},
803  { 3019, 2944, 2897, 3010, 3010, 2972, 3019, 3103, 3056, 3056, 3010, 2888, 2846, 2925, 2925, 2888},
804  { 3920, 3967, 3010, 3197, 3357, 3216, 3291, 3291, 3479, 3704, 3441, 2726, 2181, 2460, 2580, 2607}
805 };
806 
807 const uint16_t ff_silk_ltp_scale_factor[] = {15565, 12288, 8192};
808 
809 const uint8_t ff_silk_shell_blocks[3][2] = {
810  { 5, 10}, // NB
811  { 8, 15}, // MB
812  {10, 20} // WB
813 };
814 
815 const uint8_t ff_silk_quant_offset[2][2] = { /* (0.23) */
816  {25, 60}, // Inactive or Unvoiced
817  { 8, 25} // Voiced
818 };
819 
821  64, 96, 128
822 };
823 
824 const uint16_t ff_celt_model_tapset[] = { 4, 2, 3, 4 };
825 
826 const uint16_t ff_celt_model_spread[] = { 32, 7, 9, 30, 32 };
827 
828 const uint16_t ff_celt_model_alloc_trim[] = {
829  128, 2, 4, 9, 19, 41, 87, 109, 119, 124, 126, 128
830 };
831 
832 const uint8_t ff_celt_freq_bands[] = { /* in steps of 200Hz */
833  0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 34, 40, 48, 60, 78, 100
834 };
835 
836 const uint8_t ff_celt_freq_range[] = {
837  1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 6, 6, 8, 12, 18, 22
838 };
839 
840 const uint8_t ff_celt_log_freq_range[] = {
841  0, 0, 0, 0, 0, 0, 0, 0, 8, 8, 8, 8, 16, 16, 16, 21, 21, 24, 29, 34, 36
842 };
843 
844 /* Positive - increased freqeuency resolution (only possible on transients)
845  * Negative - increased time resolution */
846 const int8_t ff_celt_tf_select[4][2][2][2] = {
847  /* OFF ON Transient frame */
848  /* OFF ON OFF ON TF select flag */
849  /* OFF ON OFF ON OFF ON OFF ON TF change flag */
850  { { { 0, -1 }, { 0, -1 } }, { { 0, -1 }, { 0, -1 } } }, /* 120 */
851  { { { 0, -1 }, { 0, -2 } }, { { 1, 0 }, { 1, -1 } } }, /* 240 */
852  { { { 0, -2 }, { 0, -3 } }, { { 2, 0 }, { 1, -1 } } }, /* 480 */
853  { { { 0, -2 }, { 0, -3 } }, { { 3, 0 }, { 1, -1 } } } /* 960 */
854 };
855 
856 const float ff_celt_mean_energy[] = {
857  6.437500f, 6.250000f, 5.750000f, 5.312500f, 5.062500f,
858  4.812500f, 4.500000f, 4.375000f, 4.875000f, 4.687500f,
859  4.562500f, 4.437500f, 4.875000f, 4.625000f, 4.312500f,
860  4.500000f, 4.375000f, 4.625000f, 4.750000f, 4.437500f,
861  3.750000f, 3.750000f, 3.750000f, 3.750000f, 3.750000f
862 };
863 
864 const float ff_celt_alpha_coef[] = {
865  29440.0f/32768.0f, 26112.0f/32768.0f, 21248.0f/32768.0f, 16384.0f/32768.0f
866 };
867 
868 const float ff_celt_beta_coef[] = {
869  1.0f - (30147.0f/32768.0f), 1.0f - (22282.0f/32768.0f), 1.0f - (12124.0f/32768.0f), 1.0f - (6554.0f/32768.0f),
870 };
871 
872 const uint8_t ff_celt_coarse_energy_dist[4][2][42] = {
873  {
874  { // 120-sample inter
875  72, 127, 65, 129, 66, 128, 65, 128, 64, 128, 62, 128, 64, 128,
876  64, 128, 92, 78, 92, 79, 92, 78, 90, 79, 116, 41, 115, 40,
877  114, 40, 132, 26, 132, 26, 145, 17, 161, 12, 176, 10, 177, 11
878  }, { // 120-sample intra
879  24, 179, 48, 138, 54, 135, 54, 132, 53, 134, 56, 133, 55, 132,
880  55, 132, 61, 114, 70, 96, 74, 88, 75, 88, 87, 74, 89, 66,
881  91, 67, 100, 59, 108, 50, 120, 40, 122, 37, 97, 43, 78, 50
882  }
883  }, {
884  { // 240-sample inter
885  83, 78, 84, 81, 88, 75, 86, 74, 87, 71, 90, 73, 93, 74,
886  93, 74, 109, 40, 114, 36, 117, 34, 117, 34, 143, 17, 145, 18,
887  146, 19, 162, 12, 165, 10, 178, 7, 189, 6, 190, 8, 177, 9
888  }, { // 240-sample intra
889  23, 178, 54, 115, 63, 102, 66, 98, 69, 99, 74, 89, 71, 91,
890  73, 91, 78, 89, 86, 80, 92, 66, 93, 64, 102, 59, 103, 60,
891  104, 60, 117, 52, 123, 44, 138, 35, 133, 31, 97, 38, 77, 45
892  }
893  }, {
894  { // 480-sample inter
895  61, 90, 93, 60, 105, 42, 107, 41, 110, 45, 116, 38, 113, 38,
896  112, 38, 124, 26, 132, 27, 136, 19, 140, 20, 155, 14, 159, 16,
897  158, 18, 170, 13, 177, 10, 187, 8, 192, 6, 175, 9, 159, 10
898  }, { // 480-sample intra
899  21, 178, 59, 110, 71, 86, 75, 85, 84, 83, 91, 66, 88, 73,
900  87, 72, 92, 75, 98, 72, 105, 58, 107, 54, 115, 52, 114, 55,
901  112, 56, 129, 51, 132, 40, 150, 33, 140, 29, 98, 35, 77, 42
902  }
903  }, {
904  { // 960-sample inter
905  42, 121, 96, 66, 108, 43, 111, 40, 117, 44, 123, 32, 120, 36,
906  119, 33, 127, 33, 134, 34, 139, 21, 147, 23, 152, 20, 158, 25,
907  154, 26, 166, 21, 173, 16, 184, 13, 184, 10, 150, 13, 139, 15
908  }, { // 960-sample intra
909  22, 178, 63, 114, 74, 82, 84, 83, 92, 82, 103, 62, 96, 72,
910  96, 67, 101, 73, 107, 72, 113, 55, 118, 52, 125, 52, 118, 52,
911  117, 55, 135, 49, 137, 39, 157, 32, 145, 29, 97, 33, 77, 40
912  }
913  }
914 };
915 
916 const uint8_t ff_celt_static_alloc[11][21] = { /* 1/32 bit/sample */
917  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
918  { 90, 80, 75, 69, 63, 56, 49, 40, 34, 29, 20, 18, 10, 0, 0, 0, 0, 0, 0, 0, 0 },
919  { 110, 100, 90, 84, 78, 71, 65, 58, 51, 45, 39, 32, 26, 20, 12, 0, 0, 0, 0, 0, 0 },
920  { 118, 110, 103, 93, 86, 80, 75, 70, 65, 59, 53, 47, 40, 31, 23, 15, 4, 0, 0, 0, 0 },
921  { 126, 119, 112, 104, 95, 89, 83, 78, 72, 66, 60, 54, 47, 39, 32, 25, 17, 12, 1, 0, 0 },
922  { 134, 127, 120, 114, 103, 97, 91, 85, 78, 72, 66, 60, 54, 47, 41, 35, 29, 23, 16, 10, 1 },
923  { 144, 137, 130, 124, 113, 107, 101, 95, 88, 82, 76, 70, 64, 57, 51, 45, 39, 33, 26, 15, 1 },
924  { 152, 145, 138, 132, 123, 117, 111, 105, 98, 92, 86, 80, 74, 67, 61, 55, 49, 43, 36, 20, 1 },
925  { 162, 155, 148, 142, 133, 127, 121, 115, 108, 102, 96, 90, 84, 77, 71, 65, 59, 53, 46, 30, 1 },
926  { 172, 165, 158, 152, 143, 137, 131, 125, 118, 112, 106, 100, 94, 87, 81, 75, 69, 63, 56, 45, 20 },
927  { 200, 200, 200, 200, 200, 200, 200, 200, 198, 193, 188, 183, 178, 173, 168, 163, 158, 153, 148, 129, 104 }
928 };
929 
930 const uint8_t ff_celt_static_caps[4][2][21] = {
931  { // 120-sample
932  {224, 224, 224, 224, 224, 224, 224, 224, 160, 160,
933  160, 160, 185, 185, 185, 178, 178, 168, 134, 61, 37},
934  {224, 224, 224, 224, 224, 224, 224, 224, 240, 240,
935  240, 240, 207, 207, 207, 198, 198, 183, 144, 66, 40},
936  }, { // 240-sample
937  {160, 160, 160, 160, 160, 160, 160, 160, 185, 185,
938  185, 185, 193, 193, 193, 183, 183, 172, 138, 64, 38},
939  {240, 240, 240, 240, 240, 240, 240, 240, 207, 207,
940  207, 207, 204, 204, 204, 193, 193, 180, 143, 66, 40},
941  }, { // 480-sample
942  {185, 185, 185, 185, 185, 185, 185, 185, 193, 193,
943  193, 193, 193, 193, 193, 183, 183, 172, 138, 65, 39},
944  {207, 207, 207, 207, 207, 207, 207, 207, 204, 204,
945  204, 204, 201, 201, 201, 188, 188, 176, 141, 66, 40},
946  }, { // 960-sample
947  {193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
948  193, 193, 194, 194, 194, 184, 184, 173, 139, 65, 39},
949  {204, 204, 204, 204, 204, 204, 204, 204, 201, 201,
950  201, 201, 198, 198, 198, 187, 187, 175, 140, 66, 40}
951  }
952 };
953 
954 const uint8_t ff_celt_cache_bits[392] = {
955  40, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
956  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
957  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 40, 15, 23, 28,
958  31, 34, 36, 38, 39, 41, 42, 43, 44, 45, 46, 47, 47, 49, 50,
959  51, 52, 53, 54, 55, 55, 57, 58, 59, 60, 61, 62, 63, 63, 65,
960  66, 67, 68, 69, 70, 71, 71, 40, 20, 33, 41, 48, 53, 57, 61,
961  64, 66, 69, 71, 73, 75, 76, 78, 80, 82, 85, 87, 89, 91, 92,
962  94, 96, 98, 101, 103, 105, 107, 108, 110, 112, 114, 117, 119, 121, 123,
963  124, 126, 128, 40, 23, 39, 51, 60, 67, 73, 79, 83, 87, 91, 94,
964  97, 100, 102, 105, 107, 111, 115, 118, 121, 124, 126, 129, 131, 135, 139,
965  142, 145, 148, 150, 153, 155, 159, 163, 166, 169, 172, 174, 177, 179, 35,
966  28, 49, 65, 78, 89, 99, 107, 114, 120, 126, 132, 136, 141, 145, 149,
967  153, 159, 165, 171, 176, 180, 185, 189, 192, 199, 205, 211, 216, 220, 225,
968  229, 232, 239, 245, 251, 21, 33, 58, 79, 97, 112, 125, 137, 148, 157,
969  166, 174, 182, 189, 195, 201, 207, 217, 227, 235, 243, 251, 17, 35, 63,
970  86, 106, 123, 139, 152, 165, 177, 187, 197, 206, 214, 222, 230, 237, 250,
971  25, 31, 55, 75, 91, 105, 117, 128, 138, 146, 154, 161, 168, 174, 180,
972  185, 190, 200, 208, 215, 222, 229, 235, 240, 245, 255, 16, 36, 65, 89,
973  110, 128, 144, 159, 173, 185, 196, 207, 217, 226, 234, 242, 250, 11, 41,
974  74, 103, 128, 151, 172, 191, 209, 225, 241, 255, 9, 43, 79, 110, 138,
975  163, 186, 207, 227, 246, 12, 39, 71, 99, 123, 144, 164, 182, 198, 214,
976  228, 241, 253, 9, 44, 81, 113, 142, 168, 192, 214, 235, 255, 7, 49,
977  90, 127, 160, 191, 220, 247, 6, 51, 95, 134, 170, 203, 234, 7, 47,
978  87, 123, 155, 184, 212, 237, 6, 52, 97, 137, 174, 208, 240, 5, 57,
979  106, 151, 192, 231, 5, 59, 111, 158, 202, 243, 5, 55, 103, 147, 187,
980  224, 5, 60, 113, 161, 206, 248, 4, 65, 122, 175, 224, 4, 67, 127,
981  182, 234
982 };
983 
984 const int16_t ff_celt_cache_index[105] = {
985  -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 41, 41, 41,
986  82, 82, 123, 164, 200, 222, 0, 0, 0, 0, 0, 0, 0, 0, 41,
987  41, 41, 41, 123, 123, 123, 164, 164, 240, 266, 283, 295, 41, 41, 41,
988  41, 41, 41, 41, 41, 123, 123, 123, 123, 240, 240, 240, 266, 266, 305,
989  318, 328, 336, 123, 123, 123, 123, 123, 123, 123, 123, 240, 240, 240, 240,
990  305, 305, 305, 318, 318, 343, 351, 358, 364, 240, 240, 240, 240, 240, 240,
991  240, 240, 305, 305, 305, 305, 343, 343, 343, 351, 351, 370, 376, 382, 387,
992 };
993 
994 const uint8_t ff_celt_log2_frac[] = {
995  0, 8, 13, 16, 19, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 37
996 };
997 
998 const uint8_t ff_celt_bit_interleave[] = {
999  0, 1, 1, 1, 2, 3, 3, 3, 2, 3, 3, 3, 2, 3, 3, 3
1000 };
1001 
1002 const uint8_t ff_celt_bit_deinterleave[] = {
1003  0x00, 0x03, 0x0C, 0x0F, 0x30, 0x33, 0x3C, 0x3F,
1004  0xC0, 0xC3, 0xCC, 0xCF, 0xF0, 0xF3, 0xFC, 0xFF
1005 };
1006 
1007 const uint8_t ff_celt_hadamard_order[] = {
1008  1, 0,
1009  3, 0, 2, 1,
1010  7, 0, 4, 3, 6, 1, 5, 2,
1011  15, 0, 8, 7, 12, 3, 11, 4, 14, 1, 9, 6, 13, 2, 10, 5,
1012  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
1013 };
1014 
1015 const uint16_t ff_celt_qn_exp2[] = {
1016  16384, 17866, 19483, 21247, 23170, 25267, 27554, 30048
1017 };
1018 
1019 static const uint32_t celt_pvq_u[1272] = {
1020  /* N = 0, K = 0...176 */
1021  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1025  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1026  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028  /* N = 1, K = 1...176 */
1029  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1030  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1031  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1032  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1033  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1034  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1035  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1036  /* N = 2, K = 2...176 */
1037  3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
1038  43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
1039  81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113,
1040  115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143,
1041  145, 147, 149, 151, 153, 155, 157, 159, 161, 163, 165, 167, 169, 171, 173,
1042  175, 177, 179, 181, 183, 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
1043  205, 207, 209, 211, 213, 215, 217, 219, 221, 223, 225, 227, 229, 231, 233,
1044  235, 237, 239, 241, 243, 245, 247, 249, 251, 253, 255, 257, 259, 261, 263,
1045  265, 267, 269, 271, 273, 275, 277, 279, 281, 283, 285, 287, 289, 291, 293,
1046  295, 297, 299, 301, 303, 305, 307, 309, 311, 313, 315, 317, 319, 321, 323,
1047  325, 327, 329, 331, 333, 335, 337, 339, 341, 343, 345, 347, 349, 351,
1048  /* N = 3, K = 3...176 */
1049  13, 25, 41, 61, 85, 113, 145, 181, 221, 265, 313, 365, 421, 481, 545, 613,
1050  685, 761, 841, 925, 1013, 1105, 1201, 1301, 1405, 1513, 1625, 1741, 1861,
1051  1985, 2113, 2245, 2381, 2521, 2665, 2813, 2965, 3121, 3281, 3445, 3613, 3785,
1052  3961, 4141, 4325, 4513, 4705, 4901, 5101, 5305, 5513, 5725, 5941, 6161, 6385,
1053  6613, 6845, 7081, 7321, 7565, 7813, 8065, 8321, 8581, 8845, 9113, 9385, 9661,
1054  9941, 10225, 10513, 10805, 11101, 11401, 11705, 12013, 12325, 12641, 12961,
1055  13285, 13613, 13945, 14281, 14621, 14965, 15313, 15665, 16021, 16381, 16745,
1056  17113, 17485, 17861, 18241, 18625, 19013, 19405, 19801, 20201, 20605, 21013,
1057  21425, 21841, 22261, 22685, 23113, 23545, 23981, 24421, 24865, 25313, 25765,
1058  26221, 26681, 27145, 27613, 28085, 28561, 29041, 29525, 30013, 30505, 31001,
1059  31501, 32005, 32513, 33025, 33541, 34061, 34585, 35113, 35645, 36181, 36721,
1060  37265, 37813, 38365, 38921, 39481, 40045, 40613, 41185, 41761, 42341, 42925,
1061  43513, 44105, 44701, 45301, 45905, 46513, 47125, 47741, 48361, 48985, 49613,
1062  50245, 50881, 51521, 52165, 52813, 53465, 54121, 54781, 55445, 56113, 56785,
1063  57461, 58141, 58825, 59513, 60205, 60901, 61601,
1064  /* N = 4, K = 4...176 */
1065  63, 129, 231, 377, 575, 833, 1159, 1561, 2047, 2625, 3303, 4089, 4991, 6017,
1066  7175, 8473, 9919, 11521, 13287, 15225, 17343, 19649, 22151, 24857, 27775,
1067  30913, 34279, 37881, 41727, 45825, 50183, 54809, 59711, 64897, 70375, 76153,
1068  82239, 88641, 95367, 102425, 109823, 117569, 125671, 134137, 142975, 152193,
1069  161799, 171801, 182207, 193025, 204263, 215929, 228031, 240577, 253575,
1070  267033, 280959, 295361, 310247, 325625, 341503, 357889, 374791, 392217,
1071  410175, 428673, 447719, 467321, 487487, 508225, 529543, 551449, 573951,
1072  597057, 620775, 645113, 670079, 695681, 721927, 748825, 776383, 804609,
1073  833511, 863097, 893375, 924353, 956039, 988441, 1021567, 1055425, 1090023,
1074  1125369, 1161471, 1198337, 1235975, 1274393, 1313599, 1353601, 1394407,
1075  1436025, 1478463, 1521729, 1565831, 1610777, 1656575, 1703233, 1750759,
1076  1799161, 1848447, 1898625, 1949703, 2001689, 2054591, 2108417, 2163175,
1077  2218873, 2275519, 2333121, 2391687, 2451225, 2511743, 2573249, 2635751,
1078  2699257, 2763775, 2829313, 2895879, 2963481, 3032127, 3101825, 3172583,
1079  3244409, 3317311, 3391297, 3466375, 3542553, 3619839, 3698241, 3777767,
1080  3858425, 3940223, 4023169, 4107271, 4192537, 4278975, 4366593, 4455399,
1081  4545401, 4636607, 4729025, 4822663, 4917529, 5013631, 5110977, 5209575,
1082  5309433, 5410559, 5512961, 5616647, 5721625, 5827903, 5935489, 6044391,
1083  6154617, 6266175, 6379073, 6493319, 6608921, 6725887, 6844225, 6963943,
1084  7085049, 7207551,
1085  /* N = 5, K = 5...176 */
1086  321, 681, 1289, 2241, 3649, 5641, 8361, 11969, 16641, 22569, 29961, 39041,
1087  50049, 63241, 78889, 97281, 118721, 143529, 172041, 204609, 241601, 283401,
1088  330409, 383041, 441729, 506921, 579081, 658689, 746241, 842249, 947241,
1089  1061761, 1186369, 1321641, 1468169, 1626561, 1797441, 1981449, 2179241,
1090  2391489, 2618881, 2862121, 3121929, 3399041, 3694209, 4008201, 4341801,
1091  4695809, 5071041, 5468329, 5888521, 6332481, 6801089, 7295241, 7815849,
1092  8363841, 8940161, 9545769, 10181641, 10848769, 11548161, 12280841, 13047849,
1093  13850241, 14689089, 15565481, 16480521, 17435329, 18431041, 19468809,
1094  20549801, 21675201, 22846209, 24064041, 25329929, 26645121, 28010881,
1095  29428489, 30899241, 32424449, 34005441, 35643561, 37340169, 39096641,
1096  40914369, 42794761, 44739241, 46749249, 48826241, 50971689, 53187081,
1097  55473921, 57833729, 60268041, 62778409, 65366401, 68033601, 70781609,
1098  73612041, 76526529, 79526721, 82614281, 85790889, 89058241, 92418049,
1099  95872041, 99421961, 103069569, 106816641, 110664969, 114616361, 118672641,
1100  122835649, 127107241, 131489289, 135983681, 140592321, 145317129, 150160041,
1101  155123009, 160208001, 165417001, 170752009, 176215041, 181808129, 187533321,
1102  193392681, 199388289, 205522241, 211796649, 218213641, 224775361, 231483969,
1103  238341641, 245350569, 252512961, 259831041, 267307049, 274943241, 282741889,
1104  290705281, 298835721, 307135529, 315607041, 324252609, 333074601, 342075401,
1105  351257409, 360623041, 370174729, 379914921, 389846081, 399970689, 410291241,
1106  420810249, 431530241, 442453761, 453583369, 464921641, 476471169, 488234561,
1107  500214441, 512413449, 524834241, 537479489, 550351881, 563454121, 576788929,
1108  590359041, 604167209, 618216201, 632508801,
1109  /* N = 6, K = 6...96 (technically V(109,5) fits in 32 bits, but that can't be
1110  achieved by splitting an Opus band) */
1111  1683, 3653, 7183, 13073, 22363, 36365, 56695, 85305, 124515, 177045, 246047,
1112  335137, 448427, 590557, 766727, 982729, 1244979, 1560549, 1937199, 2383409,
1113  2908411, 3522221, 4235671, 5060441, 6009091, 7095093, 8332863, 9737793,
1114  11326283, 13115773, 15124775, 17372905, 19880915, 22670725, 25765455,
1115  29189457, 32968347, 37129037, 41699767, 46710137, 52191139, 58175189,
1116  64696159, 71789409, 79491819, 87841821, 96879431, 106646281, 117185651,
1117  128542501, 140763503, 153897073, 167993403, 183104493, 199284183, 216588185,
1118  235074115, 254801525, 275831935, 298228865, 322057867, 347386557, 374284647,
1119  402823977, 433078547, 465124549, 499040399, 534906769, 572806619, 612825229,
1120  655050231, 699571641, 746481891, 795875861, 847850911, 902506913, 959946283,
1121  1020274013, 1083597703, 1150027593, 1219676595, 1292660325, 1369097135,
1122  1449108145, 1532817275, 1620351277, 1711839767, 1807415257, 1907213187,
1123  2011371957, 2120032959,
1124  /* N = 7, K = 7...54 (technically V(60,6) fits in 32 bits, but that can't be
1125  achieved by splitting an Opus band) */
1126  8989, 19825, 40081, 75517, 134245, 227305, 369305, 579125, 880685, 1303777,
1127  1884961, 2668525, 3707509, 5064793, 6814249, 9041957, 11847485, 15345233,
1128  19665841, 24957661, 31388293, 39146185, 48442297, 59511829, 72616013,
1129  88043969, 106114625, 127178701, 151620757, 179861305, 212358985, 249612805,
1130  292164445, 340600625, 395555537, 457713341, 527810725, 606639529, 695049433,
1131  793950709, 904317037, 1027188385, 1163673953, 1314955181, 1482288821,
1132  1667010073, 1870535785, 2094367717,
1133  /* N = 8, K = 8...37 (technically V(40,7) fits in 32 bits, but that can't be
1134  achieved by splitting an Opus band) */
1135  48639, 108545, 224143, 433905, 795455, 1392065, 2340495, 3800305, 5984767,
1136  9173505, 13726991, 20103025, 28875327, 40754369, 56610575, 77500017,
1137  104692735, 139703809, 184327311, 240673265, 311207743, 398796225, 506750351,
1138  638878193, 799538175, 993696769, 1226990095, 1505789553, 1837271615,
1139  2229491905,
1140  /* N = 9, K = 9...28 (technically V(29,8) fits in 32 bits, but that can't be
1141  achieved by splitting an Opus band) */
1142  265729, 598417, 1256465, 2485825, 4673345, 8405905, 14546705, 24331777,
1143  39490049, 62390545, 96220561, 145198913, 214828609, 312193553, 446304145,
1144  628496897, 872893441, 1196924561, 1621925137, 2173806145,
1145  /* N = 10, K = 10...24 */
1146  1462563, 3317445, 7059735, 14218905, 27298155, 50250765, 89129247, 152951073,
1147  254831667, 413442773, 654862247, 1014889769, 1541911931, 2300409629,
1148  3375210671,
1149  /* N = 11, K = 11...19 (technically V(20,10) fits in 32 bits, but that can't be
1150  achieved by splitting an Opus band) */
1151  8097453, 18474633, 39753273, 81270333, 158819253, 298199265, 540279585,
1152  948062325, 1616336765,
1153  /* N = 12, K = 12...18 */
1154  45046719, 103274625, 224298231, 464387817, 921406335, 1759885185,
1155  3248227095,
1156  /* N = 13, K = 13...16 */
1157  251595969, 579168825, 1267854873, 2653649025,
1158  /* N = 14, K = 14 */
1159  1409933619
1160 };
1161 
1162 const float ff_celt_postfilter_taps[3][3] = {
1163  { 0.3066406250f, 0.2170410156f, 0.1296386719f },
1164  { 0.4638671875f, 0.2680664062f, 0.0 },
1165  { 0.7998046875f, 0.1000976562f, 0.0 }
1166 };
1167 
1168 DECLARE_ALIGNED(32, const float, ff_celt_window_padded)[136] = {
1169  0.00000000f, 0.00000000f, 0.00000000f, 0.00000000f,
1170  0.00000000f, 0.00000000f, 0.00000000f, 0.00000000f,
1171  6.7286966e-05f, 0.00060551348f, 0.0016815970f, 0.0032947962f, 0.0054439943f,
1172  0.0081276923f, 0.011344001f, 0.015090633f, 0.019364886f, 0.024163635f,
1173  0.029483315f, 0.035319905f, 0.041668911f, 0.048525347f, 0.055883718f,
1174  0.063737999f, 0.072081616f, 0.080907428f, 0.090207705f, 0.099974111f,
1175  0.11019769f, 0.12086883f, 0.13197729f, 0.14351214f, 0.15546177f,
1176  0.16781389f, 0.18055550f, 0.19367290f, 0.20715171f, 0.22097682f,
1177  0.23513243f, 0.24960208f, 0.26436860f, 0.27941419f, 0.29472040f,
1178  0.31026818f, 0.32603788f, 0.34200931f, 0.35816177f, 0.37447407f,
1179  0.39092462f, 0.40749142f, 0.42415215f, 0.44088423f, 0.45766484f,
1180  0.47447104f, 0.49127978f, 0.50806798f, 0.52481261f, 0.54149077f,
1181  0.55807973f, 0.57455701f, 0.59090049f, 0.60708841f, 0.62309951f,
1182  0.63891306f, 0.65450896f, 0.66986776f, 0.68497077f, 0.69980010f,
1183  0.71433873f, 0.72857055f, 0.74248043f, 0.75605424f, 0.76927895f,
1184  0.78214257f, 0.79463430f, 0.80674445f, 0.81846456f, 0.82978733f,
1185  0.84070669f, 0.85121779f, 0.86131698f, 0.87100183f, 0.88027111f,
1186  0.88912479f, 0.89756398f, 0.90559094f, 0.91320904f, 0.92042270f,
1187  0.92723738f, 0.93365955f, 0.93969656f, 0.94535671f, 0.95064907f,
1188  0.95558353f, 0.96017067f, 0.96442171f, 0.96834849f, 0.97196334f,
1189  0.97527906f, 0.97830883f, 0.98106616f, 0.98356480f, 0.98581869f,
1190  0.98784191f, 0.98964856f, 0.99125274f, 0.99266849f, 0.99390969f,
1191  0.99499004f, 0.99592297f, 0.99672162f, 0.99739874f, 0.99796667f,
1192  0.99843728f, 0.99882195f, 0.99913147f, 0.99937606f, 0.99956527f,
1193  0.99970802f, 0.99981248f, 0.99988613f, 0.99993565f, 0.99996697f,
1194  0.99998518f, 0.99999457f, 0.99999859f, 0.99999982f, 1.00000000f,
1195  1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f, 1.00000000f,
1196  1.00000000f, 1.00000000f, 1.00000000f,
1197 };
1198 
1199 /* square of the window, used for the postfilter */
1200 const float ff_celt_window2[120] = {
1201  4.5275357e-09f, 3.66647e-07f, 2.82777e-06f, 1.08557e-05f, 2.96371e-05f, 6.60594e-05f,
1202  0.000128686f, 0.000227727f, 0.000374999f, 0.000583881f, 0.000869266f, 0.0012475f,
1203  0.0017363f, 0.00235471f, 0.00312299f, 0.00406253f, 0.00519576f, 0.00654601f,
1204  0.00813743f, 0.00999482f, 0.0121435f, 0.0146093f, 0.017418f, 0.0205957f, 0.0241684f,
1205  0.0281615f, 0.0326003f, 0.0375092f, 0.0429118f, 0.0488308f, 0.0552873f, 0.0623012f,
1206  0.0698908f, 0.0780723f, 0.0868601f, 0.0962664f, 0.106301f, 0.11697f, 0.12828f,
1207  0.140231f, 0.152822f, 0.166049f, 0.179905f, 0.194379f, 0.209457f, 0.225123f, 0.241356f,
1208  0.258133f, 0.275428f, 0.293212f, 0.311453f, 0.330116f, 0.349163f, 0.368556f, 0.388253f,
1209  0.40821f, 0.428382f, 0.448723f, 0.469185f, 0.48972f, 0.51028f, 0.530815f, 0.551277f,
1210  0.571618f, 0.59179f, 0.611747f, 0.631444f, 0.650837f, 0.669884f, 0.688547f, 0.706788f,
1211  0.724572f, 0.741867f, 0.758644f, 0.774877f, 0.790543f, 0.805621f, 0.820095f, 0.833951f,
1212  0.847178f, 0.859769f, 0.87172f, 0.88303f, 0.893699f, 0.903734f, 0.91314f, 0.921928f,
1213  0.930109f, 0.937699f, 0.944713f, 0.951169f, 0.957088f, 0.962491f, 0.9674f, 0.971838f,
1214  0.975832f, 0.979404f, 0.982582f, 0.985391f, 0.987857f, 0.990005f, 0.991863f, 0.993454f,
1215  0.994804f, 0.995937f, 0.996877f, 0.997645f, 0.998264f, 0.998753f, 0.999131f, 0.999416f,
1216  0.999625f, 0.999772f, 0.999871f, 0.999934f, 0.99997f, 0.999989f, 0.999997f, 0.99999964f, 1.0f,
1217 };
1218 
1219 const uint32_t * const ff_celt_pvq_u_row[15] = {
1220  celt_pvq_u + 0, celt_pvq_u + 176, celt_pvq_u + 351,
1221  celt_pvq_u + 525, celt_pvq_u + 698, celt_pvq_u + 870,
1222  celt_pvq_u + 1041, celt_pvq_u + 1131, celt_pvq_u + 1178,
1223  celt_pvq_u + 1207, celt_pvq_u + 1226, celt_pvq_u + 1240,
1224  celt_pvq_u + 1248, celt_pvq_u + 1254, celt_pvq_u + 1257
1225 };
1226 
1227 /* Deemphasis constant (alpha_p), as specified in RFC6716 as 0.8500061035.
1228  * libopus uses a slightly rounded constant, set to 0.85 exactly,
1229  * to simplify its fixed-point version, but it's not significant to impact
1230  * compliance. */
1231 #define CELT_EMPH_COEFF 0.8500061035
1232 
1238 
1239  0,
1243 
1244  0,
1245  0,
1248 
1249  0,
1250  0,
1251  0,
1253 };
ff_celt_window_padded
const float ff_celt_window_padded[136]
Definition: tab.c:1168
ff_silk_lsf_codebook_wb
const uint8_t ff_silk_lsf_codebook_wb[32][16]
Definition: tab.c:507
ff_silk_model_gain_highbits
const uint16_t ff_silk_model_gain_highbits[3][9]
Definition: tab.c:49
celt_pvq_u
static const uint32_t celt_pvq_u[1272]
Definition: tab.c:1019
ff_celt_model_alloc_trim
const uint16_t ff_celt_model_alloc_trim[]
Definition: tab.c:828
ff_silk_cosine
const int16_t ff_silk_cosine[]
Definition: tab.c:558
mem_internal.h
ff_silk_model_stereo_s1
const uint16_t ff_silk_model_stereo_s1[]
Definition: tab.c:34
ff_silk_model_gain_lowbits
const uint16_t ff_silk_model_gain_lowbits[]
Definition: tab.c:55
ff_silk_lsf_weight_sel_nbmb
const uint8_t ff_silk_lsf_weight_sel_nbmb[32][9]
Definition: tab.c:402
ff_silk_model_pitch_delta
const uint16_t ff_silk_model_pitch_delta[]
Definition: tab.c:115
ff_silk_pitch_offset_mbwb20ms
const int8_t ff_silk_pitch_offset_mbwb20ms[34][4]
Definition: tab.c:635
ff_silk_lsf_weight_sel_wb
const uint8_t ff_silk_lsf_weight_sel_wb[32][15]
Definition: tab.c:437
ff_opus_deemph_weights
const float ff_opus_deemph_weights[]
Definition: tab.c:1233
ff_celt_static_alloc
const uint8_t ff_celt_static_alloc[11][21]
Definition: tab.c:916
ff_silk_lsf_min_spacing_wb
const uint16_t ff_silk_lsf_min_spacing_wb[]
Definition: tab.c:546
CELT_EMPH_COEFF
#define CELT_EMPH_COEFF
Definition: tab.c:1231
ff_silk_model_lsf_s2_ext
const uint16_t ff_silk_model_lsf_s2_ext[]
Definition: tab.c:104
ff_silk_model_excitation_sign
const uint16_t ff_silk_model_excitation_sign[3][2][7][3]
Definition: tab.c:259
ff_celt_model_tapset
const uint16_t ff_celt_model_tapset[]
Definition: tab.c:824
ff_celt_postfilter_taps
const float ff_celt_postfilter_taps[3][3]
Definition: tab.c:1162
ff_silk_model_pitch_contour_mbwb20ms
const uint16_t ff_silk_model_pitch_contour_mbwb20ms[]
Definition: tab.c:130
ff_silk_model_lsf_interpolation_offset
const uint16_t ff_silk_model_lsf_interpolation_offset[]
Definition: tab.c:106
ff_silk_lsf_codebook_nbmb
const uint8_t ff_silk_lsf_codebook_nbmb[32][10]
Definition: tab.c:472
ff_silk_lsf_s2_model_sel_wb
const uint8_t ff_silk_lsf_s2_model_sel_wb[32][16]
Definition: tab.c:357
ff_silk_lsf_s2_model_sel_nbmb
const uint8_t ff_silk_lsf_s2_model_sel_nbmb[32][10]
Definition: tab.c:322
ff_celt_cache_bits
const uint8_t ff_celt_cache_bits[392]
Definition: tab.c:954
ff_silk_lsf_pred_weights_wb
const uint8_t ff_silk_lsf_pred_weights_wb[2][15]
Definition: tab.c:397
ff_silk_model_lcg_seed
const uint16_t ff_silk_model_lcg_seed[]
Definition: tab.c:153
ff_celt_log_freq_range
const uint8_t ff_celt_log_freq_range[]
Definition: tab.c:840
ff_silk_pitch_offset_nb10ms
const int8_t ff_silk_pitch_offset_nb10ms[3][2]
Definition: tab.c:600
ff_silk_model_excitation_lsb
const uint16_t ff_silk_model_excitation_lsb[]
Definition: tab.c:257
ff_silk_lsf_ordering_nbmb
const uint8_t ff_silk_lsf_ordering_nbmb[]
Definition: tab.c:550
ff_silk_pitch_offset_nb20ms
const int8_t ff_silk_pitch_offset_nb20ms[11][4]
Definition: tab.c:606
ff_silk_model_ltp_filter0_sel
const uint16_t ff_silk_model_ltp_filter0_sel[]
Definition: tab.c:138
ff_silk_stereo_weights
const int16_t ff_silk_stereo_weights[]
Definition: tab.c:317
ff_celt_tf_select
const int8_t ff_celt_tf_select[4][2][2][2]
Definition: tab.c:846
ff_silk_model_lsf_s1
const uint16_t ff_silk_model_lsf_s1[2][2][33]
Definition: tab.c:62
ff_silk_model_lbrr_flags_40
const uint16_t ff_silk_model_lbrr_flags_40[]
Definition: tab.c:31
ff_celt_freq_range
const uint8_t ff_celt_freq_range[]
Definition: tab.c:836
ff_silk_model_pitch_highbits
const uint16_t ff_silk_model_pitch_highbits[]
Definition: tab.c:108
ff_celt_hadamard_order
const uint8_t ff_celt_hadamard_order[]
Definition: tab.c:1007
ff_silk_model_mid_only
const uint16_t ff_silk_model_mid_only[]
Definition: tab.c:43
ff_celt_coarse_energy_dist
const uint8_t ff_celt_coarse_energy_dist[4][2][42]
Definition: tab.c:872
ff_celt_log2_frac
const uint8_t ff_celt_log2_frac[]
Definition: tab.c:994
ff_celt_pvq_u_row
const uint32_t *const ff_celt_pvq_u_row[15]
Definition: tab.c:1219
ff_silk_shell_blocks
const uint8_t ff_silk_shell_blocks[3][2]
Definition: tab.c:809
ff_silk_model_gain_delta
const uint16_t ff_silk_model_gain_delta[]
Definition: tab.c:57
ff_celt_beta_coef
const float ff_celt_beta_coef[]
Definition: tab.c:868
f
f
Definition: af_crystalizer.c:122
ff_opus_default_coupled_streams
const uint8_t ff_opus_default_coupled_streams[]
Definition: tab.c:27
DECLARE_ALIGNED
#define DECLARE_ALIGNED(n, t, v)
Definition: mem_internal.h:104
ff_silk_lsf_ordering_wb
const uint8_t ff_silk_lsf_ordering_wb[]
Definition: tab.c:554
ff_silk_model_pulse_location
const uint16_t ff_silk_model_pulse_location[4][168]
Definition: tab.c:185
ff_celt_bit_interleave
const uint8_t ff_celt_bit_interleave[]
Definition: tab.c:998
ff_silk_model_lsf_weight_wb
const uint16_t ff_silk_model_lsf_weight_wb[32][16]
Definition: tab.c:772
ff_silk_ltp_filter2_taps
const int8_t ff_silk_ltp_filter2_taps[32][5]
Definition: tab.c:702
ff_silk_model_pitch_contour_nb10ms
const uint16_t ff_silk_model_pitch_contour_nb10ms[]
Definition: tab.c:120
ff_silk_model_pitch_contour_nb20ms
const uint16_t ff_silk_model_pitch_contour_nb20ms[]
Definition: tab.c:122
ff_silk_model_ltp_filter1_sel
const uint16_t ff_silk_model_ltp_filter1_sel[]
Definition: tab.c:142
ff_silk_model_lsf_weight_nbmb
const uint16_t ff_silk_model_lsf_weight_nbmb[32][10]
Definition: tab.c:737
ff_celt_static_caps
const uint8_t ff_celt_static_caps[4][2][21]
Definition: tab.c:930
tab.h
ff_silk_ltp_filter1_taps
const int8_t ff_silk_ltp_filter1_taps[16][5]
Definition: tab.c:683
ff_celt_bit_deinterleave
const uint8_t ff_celt_bit_deinterleave[]
Definition: tab.c:1002
ff_silk_model_exc_rate
const uint16_t ff_silk_model_exc_rate[2][10]
Definition: tab.c:155
ff_silk_model_lbrr_flags_60
const uint16_t ff_silk_model_lbrr_flags_60[]
Definition: tab.c:32
ff_silk_model_frame_type_inactive
const uint16_t ff_silk_model_frame_type_inactive[]
Definition: tab.c:45
ff_silk_lsf_min_spacing_nbmb
const uint16_t ff_silk_lsf_min_spacing_nbmb[]
Definition: tab.c:542
ff_silk_pitch_offset_mbwb10ms
const int8_t ff_silk_pitch_offset_mbwb10ms[12][2]
Definition: tab.c:620
ff_silk_model_ltp_filter2_sel
const uint16_t ff_silk_model_ltp_filter2_sel[]
Definition: tab.c:146
ff_silk_model_pitch_lowbits_mb
const uint16_t ff_silk_model_pitch_lowbits_mb[]
Definition: tab.c:113
ff_silk_model_stereo_s2
const uint16_t ff_silk_model_stereo_s2[]
Definition: tab.c:39
ff_silk_pitch_scale
const uint16_t ff_silk_pitch_scale[]
Definition: tab.c:594
ff_silk_pitch_max_lag
const uint16_t ff_silk_pitch_max_lag[]
Definition: tab.c:598
ff_silk_lsf_pred_weights_nbmb
const uint8_t ff_silk_lsf_pred_weights_nbmb[2][9]
Definition: tab.c:392
ff_celt_alpha_coef
const float ff_celt_alpha_coef[]
Definition: tab.c:864
ff_silk_model_ltp_filter
const uint16_t ff_silk_model_ltp_filter[]
Definition: tab.c:136
ff_silk_stereo_interp_len
const int ff_silk_stereo_interp_len[3]
Definition: tab.c:820
ff_silk_ltp_filter0_taps
const int8_t ff_silk_ltp_filter0_taps[8][5]
Definition: tab.c:672
ff_celt_mean_energy
const float ff_celt_mean_energy[]
Definition: tab.c:856
ff_silk_model_frame_type_active
const uint16_t ff_silk_model_frame_type_active[]
Definition: tab.c:47
ff_silk_model_ltp_scale_index
const uint16_t ff_silk_model_ltp_scale_index[]
Definition: tab.c:151
ff_celt_cache_index
const int16_t ff_celt_cache_index[105]
Definition: tab.c:984
ff_silk_model_lsf_s2
const uint16_t ff_silk_model_lsf_s2[32][10]
Definition: tab.c:82
ff_silk_pitch_min_lag
const uint16_t ff_silk_pitch_min_lag[]
Definition: tab.c:596
ff_silk_model_pulse_count
const uint16_t ff_silk_model_pulse_count[11][19]
Definition: tab.c:160
ff_celt_qn_exp2
const uint16_t ff_celt_qn_exp2[]
Definition: tab.c:1015
ff_celt_band_end
const uint8_t ff_celt_band_end[]
Definition: tab.c:29
ff_celt_freq_bands
const uint8_t ff_celt_freq_bands[]
Definition: tab.c:832
ff_silk_quant_offset
const uint8_t ff_silk_quant_offset[2][2]
Definition: tab.c:815
ff_silk_ltp_scale_factor
const uint16_t ff_silk_ltp_scale_factor[]
Definition: tab.c:807
ff_celt_model_spread
const uint16_t ff_celt_model_spread[]
Definition: tab.c:826
ff_silk_model_pitch_contour_mbwb10ms
const uint16_t ff_silk_model_pitch_contour_mbwb10ms[]
Definition: tab.c:126
ff_silk_model_stereo_s3
const uint16_t ff_silk_model_stereo_s3[]
Definition: tab.c:41
ff_celt_window2
const float ff_celt_window2[120]
Definition: tab.c:1200