• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *                                                                            *
3  * Copyright (C) 2018 The Android Open Source Project
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at:
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *****************************************************************************
18  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19 */
20 #include "ixheaacd_sbr_common.h"
21 #include <ixheaacd_type_def.h>
22 #include "ixheaacd_constants.h"
23 #include <ixheaacd_basic_ops32.h>
24 #include <ixheaacd_basic_ops16.h>
25 #include <ixheaacd_basic_ops40.h>
26 #include "ixheaacd_common_rom.h"
27 #include "ixheaacd_basic_funcs.h"
28 #include "ixheaacd_bitbuffer.h"
29 #include "ixheaacd_defines.h"
30 #include <ixheaacd_aac_rom.h>
31 #include "ixheaacd_pulsedata.h"
32 
33 #include "ixheaacd_pns.h"
34 #include "ixheaacd_drc_data_struct.h"
35 
36 #include "ixheaacd_lt_predict.h"
37 
38 #include "ixheaacd_channelinfo.h"
39 #include "ixheaacd_drc_dec.h"
40 #include "ixheaacd_sbrdecsettings.h"
41 #include "ixheaacd_sbrdecoder.h"
42 #include "ixheaacd_sbr_scale.h"
43 #include "ixheaacd_lpp_tran.h"
44 #include "ixheaacd_env_extr_part.h"
45 
46 #include <ixheaacd_sbr_rom.h>
47 #include "ixheaacd_hybrid.h"
48 #include "ixheaacd_ps_dec.h"
49 #include "ixheaacd_env_extr.h"
50 #include "ixheaacd_env_calc.h"
51 #include "ixheaacd_qmf_dec.h"
52 #include "ixheaacd_sbr_const.h"
53 
54 #include "ixheaacd_pvc_dec.h"
55 #include "ixheaacd_sbr_dec.h"
56 #include "ixheaacd_pulsedata.h"
57 
58 #include "ixheaacd_block.h"
59 #include "ixheaacd_channel.h"
60 #include "ixheaacd_audioobjtypes.h"
61 #include "ixheaacd_latmdemux.h"
62 #include "ixheaacd_aacdec.h"
63 
64 /* const - has been removed to verify table relocatability */
65 const ixheaacd_misc_tables ixheaacd_str_fft_n_transcendent_tables = {
66 
67     // const WORD16 cos_sin_lookup_tab[513] =
68     {0x0000, 0x0065, 0x00c9, 0x012e, 0x0192, 0x01f7, 0x025b, 0x02c0, 0x0324,
69      0x0389, 0x03ed, 0x0452, 0x04b6, 0x051b, 0x057f, 0x05e3, 0x0648, 0x06ac,
70      0x0711, 0x0775, 0x07d9, 0x083e, 0x08a2, 0x0906, 0x096b, 0x09cf, 0x0a33,
71      0x0a97, 0x0afb, 0x0b60, 0x0bc4, 0x0c28, 0x0c8c, 0x0cf0, 0x0d54, 0x0db8,
72      0x0e1c, 0x0e80, 0x0ee4, 0x0f47, 0x0fab, 0x100f, 0x1073, 0x10d6, 0x113a,
73      0x119e, 0x1201, 0x1265, 0x12c8, 0x132b, 0x138f, 0x13f2, 0x1455, 0x14b9,
74      0x151c, 0x157f, 0x15e2, 0x1645, 0x16a8, 0x170b, 0x176e, 0x17d1, 0x1833,
75      0x1896, 0x18f9, 0x195b, 0x19be, 0x1a20, 0x1a83, 0x1ae5, 0x1b47, 0x1ba9,
76      0x1c0c, 0x1c6e, 0x1cd0, 0x1d31, 0x1d93, 0x1df5, 0x1e57, 0x1eb8, 0x1f1a,
77      0x1f7b, 0x1fdd, 0x203e, 0x209f, 0x2101, 0x2162, 0x21c3, 0x2224, 0x2284,
78      0x22e5, 0x2346, 0x23a7, 0x2407, 0x2467, 0x24c8, 0x2528, 0x2588, 0x25e8,
79      0x2648, 0x26a8, 0x2708, 0x2768, 0x27c7, 0x2827, 0x2886, 0x28e5, 0x2945,
80      0x29a4, 0x2a03, 0x2a62, 0x2ac1, 0x2b1f, 0x2b7e, 0x2bdc, 0x2c3b, 0x2c99,
81      0x2cf7, 0x2d55, 0x2db3, 0x2e11, 0x2e6f, 0x2ecc, 0x2f2a, 0x2f87, 0x2fe5,
82      0x3042, 0x309f, 0x30fc, 0x3159, 0x31b5, 0x3212, 0x326e, 0x32cb, 0x3327,
83      0x3383, 0x33df, 0x343b, 0x3497, 0x34f2, 0x354e, 0x35a9, 0x3604, 0x365f,
84      0x36ba, 0x3715, 0x3770, 0x37ca, 0x3825, 0x387f, 0x38d9, 0x3933, 0x398d,
85      0x39e7, 0x3a40, 0x3a9a, 0x3af3, 0x3b4c, 0x3ba5, 0x3bfe, 0x3c57, 0x3caf,
86      0x3d08, 0x3d60, 0x3db8, 0x3e10, 0x3e68, 0x3ec0, 0x3f17, 0x3f6f, 0x3fc6,
87      0x401d, 0x4074, 0x40cb, 0x4121, 0x4178, 0x41ce, 0x4224, 0x427a, 0x42d0,
88      0x4326, 0x437b, 0x43d1, 0x4426, 0x447b, 0x44d0, 0x4524, 0x4579, 0x45cd,
89      0x4621, 0x4675, 0x46c9, 0x471d, 0x4770, 0x47c4, 0x4817, 0x486a, 0x48bd,
90      0x490f, 0x4962, 0x49b4, 0x4a06, 0x4a58, 0x4aaa, 0x4afb, 0x4b4d, 0x4b9e,
91      0x4bef, 0x4c40, 0x4c91, 0x4ce1, 0x4d31, 0x4d81, 0x4dd1, 0x4e21, 0x4e71,
92      0x4ec0, 0x4f0f, 0x4f5e, 0x4fad, 0x4ffb, 0x504a, 0x5098, 0x50e6, 0x5134,
93      0x5181, 0x51cf, 0x521c, 0x5269, 0x52b6, 0x5303, 0x534f, 0x539b, 0x53e7,
94      0x5433, 0x547f, 0x54ca, 0x5515, 0x5560, 0x55ab, 0x55f6, 0x5640, 0x568a,
95      0x56d4, 0x571e, 0x5767, 0x57b1, 0x57fa, 0x5843, 0x588c, 0x58d4, 0x591c,
96      0x5964, 0x59ac, 0x59f4, 0x5a3b, 0x5a82, 0x5ac9, 0x5b10, 0x5b57, 0x5b9d,
97      0x5be3, 0x5c29, 0x5c6f, 0x5cb4, 0x5cf9, 0x5d3e, 0x5d83, 0x5dc8, 0x5e0c,
98      0x5e50, 0x5e94, 0x5ed7, 0x5f1b, 0x5f5e, 0x5fa1, 0x5fe4, 0x6026, 0x6068,
99      0x60aa, 0x60ec, 0x612e, 0x616f, 0x61b0, 0x61f1, 0x6232, 0x6272, 0x62b2,
100      0x62f2, 0x6332, 0x6371, 0x63b0, 0x63ef, 0x642e, 0x646c, 0x64ab, 0x64e9,
101      0x6526, 0x6564, 0x65a1, 0x65de, 0x661b, 0x6657, 0x6693, 0x66d0, 0x670b,
102      0x6747, 0x6782, 0x67bd, 0x67f8, 0x6832, 0x686d, 0x68a7, 0x68e0, 0x691a,
103      0x6953, 0x698c, 0x69c5, 0x69fd, 0x6a36, 0x6a6e, 0x6aa5, 0x6add, 0x6b14,
104      0x6b4b, 0x6b82, 0x6bb8, 0x6bee, 0x6c24, 0x6c5a, 0x6c8f, 0x6cc4, 0x6cf9,
105      0x6d2e, 0x6d62, 0x6d96, 0x6dca, 0x6dfe, 0x6e31, 0x6e64, 0x6e97, 0x6ec9,
106      0x6efb, 0x6f2d, 0x6f5f, 0x6f90, 0x6fc2, 0x6ff2, 0x7023, 0x7053, 0x7083,
107      0x70b3, 0x70e3, 0x7112, 0x7141, 0x7170, 0x719e, 0x71cc, 0x71fa, 0x7228,
108      0x7255, 0x7282, 0x72af, 0x72dc, 0x7308, 0x7334, 0x735f, 0x738b, 0x73b6,
109      0x73e1, 0x740b, 0x7436, 0x7460, 0x7489, 0x74b3, 0x74dc, 0x7505, 0x752d,
110      0x7556, 0x757e, 0x75a6, 0x75cd, 0x75f4, 0x761b, 0x7642, 0x7668, 0x768e,
111      0x76b4, 0x76d9, 0x76fe, 0x7723, 0x7748, 0x776c, 0x7790, 0x77b4, 0x77d8,
112      0x77fb, 0x781e, 0x7840, 0x7863, 0x7885, 0x78a6, 0x78c8, 0x78e9, 0x790a,
113      0x792a, 0x794a, 0x796a, 0x798a, 0x79aa, 0x79c9, 0x79e7, 0x7a06, 0x7a24,
114      0x7a42, 0x7a60, 0x7a7d, 0x7a9a, 0x7ab7, 0x7ad3, 0x7aef, 0x7b0b, 0x7b27,
115      0x7b42, 0x7b5d, 0x7b78, 0x7b92, 0x7bac, 0x7bc6, 0x7bdf, 0x7bf9, 0x7c11,
116      0x7c2a, 0x7c42, 0x7c5a, 0x7c72, 0x7c89, 0x7ca0, 0x7cb7, 0x7cce, 0x7ce4,
117      0x7cfa, 0x7d0f, 0x7d25, 0x7d3a, 0x7d4e, 0x7d63, 0x7d77, 0x7d8a, 0x7d9e,
118      0x7db1, 0x7dc4, 0x7dd6, 0x7de9, 0x7dfb, 0x7e0c, 0x7e1e, 0x7e2f, 0x7e3f,
119      0x7e50, 0x7e60, 0x7e70, 0x7e7f, 0x7e8e, 0x7e9d, 0x7eac, 0x7eba, 0x7ec8,
120      0x7ed6, 0x7ee3, 0x7ef0, 0x7efd, 0x7f0a, 0x7f16, 0x7f22, 0x7f2d, 0x7f38,
121      0x7f43, 0x7f4e, 0x7f58, 0x7f62, 0x7f6c, 0x7f75, 0x7f7e, 0x7f87, 0x7f90,
122      0x7f98, 0x7fa0, 0x7fa7, 0x7fae, 0x7fb5, 0x7fbc, 0x7fc2, 0x7fc8, 0x7fce,
123      0x7fd3, 0x7fd9, 0x7fdd, 0x7fe2, 0x7fe6, 0x7fea, 0x7fed, 0x7ff1, 0x7ff4,
124      0x7ff6, 0x7ff8, 0x7ffa, 0x7ffc, 0x7ffe, 0x7fff, 0x7fff, 0x7fff, 0x7fff},
125 
126     // const WORD16 sine_table8_16[8] =
127     {
128         -0x0000, -0x18f9, -0x30fc, -0x471d, -0x5a82, -0x6a6e, -0x7642, -0x7d8a,
129     },
130 
131     // const WORD16 log_dual_is_table[LOG_2_TABLE_SIZE] =
132     {(WORD16)(-0x8000),
133      0x0000,
134      0x1000,
135      0x195c,
136      0x2000,
137      0x2527,
138      0x295c,
139      0x2ceb,
140      0x3000,
141      0x32b8,
142      0x3527,
143      0x375a,
144      0x395c,
145      0x3b35,
146      0x3ceb,
147      0x3e83,
148      0x4000,
149      0x4166,
150      0x42b8,
151      0x43f8,
152      0x4527,
153      0x4647,
154      0x475a,
155      0x4861,
156      0x495c,
157      0x4a4d,
158      0x4b35,
159      0x4c14,
160      0x4ceb,
161      0x4dba,
162      0x4e83,
163      0x4f44,
164      0x5000,
165      0x50b6,
166      0x5166,
167      0x5212,
168      0x52b8,
169      0x535a,
170      0x53f8,
171      0x5491,
172      0x5527,
173      0x55b9,
174      0x5647,
175      0x56d2,
176      0x575a,
177      0x57df,
178      0x5861,
179      0x58e0,
180      0x595c,
181      0x59d6,
182      0x5a4d,
183      0x5ac2,
184      0x5b35,
185      0x5ba6,
186      0x5c14,
187      0x5c80,
188      0x5ceb,
189      0x5d54,
190      0x5dba,
191      0x5e1f,
192      0x5e83,
193      0x5ee4,
194      0x5f44,
195      0x5fa3,
196      0x6000},
197 
198     /*WORD32 down_mix_martix[4][2][8] = */
199     {
200         {/* Q30 */ /* 5.0 Channel to Stereo */
201          {405185594, 0, 315041546, 315041546, 0, 0, 0, 0},
202          {0, 405185594, 315041546, 0, 315041546, 0, 0, 0}},
203         {/*  Q30 */ /* 5.1 Channel to Stereo */
204          {405185594, 0, 286509481, 95503160, 286509481, 0, 0, 0},
205          {0, 405185594, 286509481, 95503160, 0, 286509481, 0, 0}},
206         {/* Q30 */ /* 7.0 Channel to Stereo */
207          {405185594, 0, 244131873, 244131873, 0, 244131873, 0, 0},
208          {0, 405185594, 244131873, 0, 244131873, 0, 244131873, 0}},
209         {/* Q30 */ /* 7.1 Channel to Stereo */
210          {405185594, 0, 226641828, 75547276, 226641828, 0, 226641828, 0},
211          {0, 405185594, 75547276, 226641828, 0, 226641828, 0, 226641828}},
212 
213     }
214 
215     /*  Q29  */
216     /*const WORD32 cc_gain_scale[4] = */,
217     {585461881, 638450708, 759250125, 1073741824},
218 
219     // const WORD16 inv_table[INV_TABLE_SIZE ] =
220     {
221 
222         0x7f80, 0x7f02, 0x7e84, 0x7e08, 0x7d8c, 0x7d12, 0x7c98, 0x7c1f, 0x7ba7,
223         0x7b30, 0x7aba, 0x7a45, 0x79d0, 0x795d, 0x78ea, 0x7878, 0x7808, 0x7797,
224         0x7728, 0x76ba, 0x764c, 0x75df, 0x7573, 0x7507, 0x749d, 0x7433, 0x73ca,
225         0x7361, 0x72fa, 0x7293, 0x722d, 0x71c7, 0x7162, 0x70fe, 0x709b, 0x7038,
226         0x6fd6, 0x6f75, 0x6f14, 0x6eb4, 0x6e54, 0x6df6, 0x6d98, 0x6d3a, 0x6cdd,
227         0x6c81, 0x6c25, 0x6bca, 0x6b70, 0x6b16, 0x6abc, 0x6a64, 0x6a0c, 0x69b4,
228         0x695d, 0x6907, 0x68b1, 0x685b, 0x6807, 0x67b2, 0x675e, 0x670b, 0x66b9,
229         0x6666, 0x6615, 0x65c4, 0x6573, 0x6523, 0x64d3, 0x6484, 0x6435, 0x63e7,
230         0x6399, 0x634c, 0x62ff, 0x62b3, 0x6267, 0x621c, 0x61d1, 0x6186, 0x613c,
231         0x60f2, 0x60a9, 0x6060, 0x6018, 0x5fd0, 0x5f89, 0x5f41, 0x5efb, 0x5eb5,
232         0x5e6f, 0x5e29, 0x5de4, 0x5d9f, 0x5d5b, 0x5d17, 0x5cd4, 0x5c91, 0x5c4e,
233         0x5c0c, 0x5bca, 0x5b88, 0x5b47, 0x5b06, 0x5ac5, 0x5a85, 0x5a45, 0x5a06,
234         0x59c6, 0x5988, 0x5949, 0x590b, 0x58cd, 0x5890, 0x5853, 0x5816, 0x57da,
235         0x579d, 0x5762, 0x5726, 0x56eb, 0x56b0, 0x5676, 0x563b, 0x5601, 0x55c8,
236         0x558e, 0x5555, 0x551d, 0x54e4, 0x54ac, 0x5474, 0x543d, 0x5405, 0x53ce,
237         0x5398, 0x5361, 0x532b, 0x52f5, 0x52bf, 0x528a, 0x5255, 0x5220, 0x51ec,
238         0x51b7, 0x5183, 0x514f, 0x511c, 0x50e9, 0x50b6, 0x5083, 0x5050, 0x501e,
239         0x4fec, 0x4fba, 0x4f89, 0x4f57, 0x4f26, 0x4ef6, 0x4ec5, 0x4e95, 0x4e64,
240         0x4e35, 0x4e05, 0x4dd5, 0x4da6, 0x4d77, 0x4d48, 0x4d1a, 0x4cec, 0x4cbd,
241         0x4c90, 0x4c62, 0x4c34, 0x4c07, 0x4bda, 0x4bad, 0x4b81, 0x4b54, 0x4b28,
242         0x4afc, 0x4ad0, 0x4aa4, 0x4a79, 0x4a4e, 0x4a23, 0x49f8, 0x49cd, 0x49a3,
243         0x4979, 0x494e, 0x4925, 0x48fb, 0x48d1, 0x48a8, 0x487f, 0x4856, 0x482d,
244         0x4805, 0x47dc, 0x47b4, 0x478c, 0x4764, 0x473c, 0x4715, 0x46ed, 0x46c6,
245         0x469f, 0x4678, 0x4651, 0x462b, 0x4604, 0x45de, 0x45b8, 0x4592, 0x456c,
246         0x4547, 0x4521, 0x44fc, 0x44d7, 0x44b2, 0x448d, 0x4469, 0x4444, 0x4420,
247         0x43fc, 0x43d8, 0x43b4, 0x4390, 0x436d, 0x4349, 0x4326, 0x4303, 0x42e0,
248         0x42bd, 0x429a, 0x4277, 0x4255, 0x4233, 0x4211, 0x41ee, 0x41cd, 0x41ab,
249         0x4189, 0x4168, 0x4146, 0x4125, 0x4104, 0x40e3, 0x40c2, 0x40a2, 0x4081,
250         0x4061, 0x4040, 0x4020, 0x4000
251 
252     },
253     // const WORD16 sqrt_table[SQRT_TABLE_SIZE] =
254     {0x5a82, 0x5ab0, 0x5add, 0x5b0a, 0x5b37, 0x5b64, 0x5b90, 0x5bbd, 0x5bea,
255      0x5c16, 0x5c43, 0x5c6f, 0x5c9b, 0x5cc8, 0x5cf4, 0x5d20, 0x5d4c, 0x5d77,
256      0x5da3, 0x5dcf, 0x5dfb, 0x5e26, 0x5e52, 0x5e7d, 0x5ea8, 0x5ed3, 0x5eff,
257      0x5f2a, 0x5f55, 0x5f80, 0x5fab, 0x5fd5, 0x6000, 0x602b, 0x6055, 0x6080,
258      0x60aa, 0x60d4, 0x60ff, 0x6129, 0x6153, 0x617d, 0x61a7, 0x61d1, 0x61fb,
259      0x6225, 0x624e, 0x6278, 0x62a1, 0x62cb, 0x62f4, 0x631e, 0x6347, 0x6370,
260      0x6399, 0x63c2, 0x63ec, 0x6414, 0x643d, 0x6466, 0x648f, 0x64b8, 0x64e0,
261      0x6509, 0x6531, 0x655a, 0x6582, 0x65ab, 0x65d3, 0x65fb, 0x6623, 0x664b,
262      0x6673, 0x669b, 0x66c3, 0x66eb, 0x6713, 0x673a, 0x6762, 0x678a, 0x67b1,
263      0x67d9, 0x6800, 0x6827, 0x684f, 0x6876, 0x689d, 0x68c4, 0x68eb, 0x6912,
264      0x6939, 0x6960, 0x6987, 0x69ae, 0x69d4, 0x69fb, 0x6a22, 0x6a48, 0x6a6f,
265      0x6a95, 0x6abc, 0x6ae2, 0x6b08, 0x6b2f, 0x6b55, 0x6b7b, 0x6ba1, 0x6bc7,
266      0x6bed, 0x6c13, 0x6c39, 0x6c5f, 0x6c84, 0x6caa, 0x6cd0, 0x6cf5, 0x6d1b,
267      0x6d41, 0x6d66, 0x6d8b, 0x6db1, 0x6dd6, 0x6dfb, 0x6e21, 0x6e46, 0x6e6b,
268      0x6e90, 0x6eb5, 0x6eda, 0x6eff, 0x6f24, 0x6f49, 0x6f6d, 0x6f92, 0x6fb7,
269      0x6fdb, 0x7000, 0x7025, 0x7049, 0x706e, 0x7092, 0x70b6, 0x70db, 0x70ff,
270      0x7123, 0x7147, 0x716b, 0x7190, 0x71b4, 0x71d8, 0x71fc, 0x721f, 0x7243,
271      0x7267, 0x728b, 0x72af, 0x72d2, 0x72f6, 0x731a, 0x733d, 0x7361, 0x7384,
272      0x73a8, 0x73cb, 0x73ee, 0x7412, 0x7435, 0x7458, 0x747b, 0x749e, 0x74c2,
273      0x74e5, 0x7508, 0x752b, 0x754e, 0x7570, 0x7593, 0x75b6, 0x75d9, 0x75fc,
274      0x761e, 0x7641, 0x7664, 0x7686, 0x76a9, 0x76cb, 0x76ee, 0x7710, 0x7733,
275      0x7755, 0x7777, 0x7799, 0x77bc, 0x77de, 0x7800, 0x7822, 0x7844, 0x7866,
276      0x7888, 0x78aa, 0x78cc, 0x78ee, 0x7910, 0x7932, 0x7953, 0x7975, 0x7997,
277      0x79b9, 0x79da, 0x79fc, 0x7a1d, 0x7a3f, 0x7a60, 0x7a82, 0x7aa3, 0x7ac5,
278      0x7ae6, 0x7b07, 0x7b29, 0x7b4a, 0x7b6b, 0x7b8c, 0x7bad, 0x7bce, 0x7bef,
279      0x7c11, 0x7c32, 0x7c52, 0x7c73, 0x7c94, 0x7cb5, 0x7cd6, 0x7cf7, 0x7d18,
280      0x7d38, 0x7d59, 0x7d7a, 0x7d9a, 0x7dbb, 0x7ddb, 0x7dfc, 0x7e1c, 0x7e3d,
281      0x7e5d, 0x7e7e, 0x7e9e, 0x7ebe, 0x7edf, 0x7eff, 0x7f1f, 0x7f3f, 0x7f60,
282      0x7f80, 0x7fa0, 0x7fc0, 0x7fe0, 0x7fff},
283     0,
284 
285     /*WORD32 start_band[10][16] =*/
286     {/*sampling frequency = 96000*/
287      {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 19, 23, 27},
288 
289      /*sampling Frequency = 88200*/
290      {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 20, 24, 28},
291 
292      /*sampling Frequency = 64000*/
293      {1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 21, 25},
294 
295      /*sampling Frequency = 48000*/
296      {1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 21, 25},
297 
298      /*sampling Frequency = 44100*/
299      {2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 17, 19, 22, 26},
300 
301      /*sampling Frequency = 40000*/
302      {5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 23, 25},
303 
304      /*sampling Frequency = 32000*/
305      {2, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 24},
306 
307      /*sampling Frequency = 24000*/
308      {3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 24},
309 
310      /*sampling Frequency = 22050*/
311      {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22},
312 
313      /*sampling Frequency = 16000*/
314      {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}},
315 
316     /*WORD32 stop_band[10][16] = */
317     {/*sampling Frequency = 96000*/
318      {7, 8, 10, 12, 14, 16, 19, 23, 27, 32, 38, 46, 54, 64, 78, 86},
319 
320      /*sampling Frequency = 88200*/
321      {7, 8, 10, 12, 14, 16, 19, 23, 27, 32, 38, 46, 54, 64, 78, 86},
322 
323      /*sampling Frequency = 64000*/
324      {10, 11, 13, 15, 17, 20, 23, 27, 31, 36, 42, 48, 55, 64, 78, 89},
325 
326      /*sampling Frequency = 48000*/
327      {11, 12, 14, 16, 19, 22, 25, 28, 32, 37, 43, 49, 56, 64, 78, 90},
328 
329      /*sampling Frequency = 44100*/
330      {12, 14, 16, 18, 20, 23, 26, 30, 34, 38, 43, 49, 56, 64, 78, 91},
331 
332      /*sampling Frequency = 40000*/
333      {13, 15, 17, 19, 21, 24, 27, 31, 35, 39, 44, 50, 57, 64, 78, 92},
334 
335      /*sampling Frequency = 32000*/
336      {16, 18, 20, 22, 24, 27, 30, 34, 38, 42, 46, 52, 58, 64, 78, 95},
337 
338      /*sampling Frequency = 24000*/
339      {16, 18, 20, 22, 24, 27, 30, 34, 38, 42, 46, 52, 58, 64, 78, 95},
340 
341      /*sampling Frequency = 22050*/
342      {17, 19, 21, 23, 25, 28, 31, 34, 38, 42, 47, 52, 58, 64, 78, 96},
343 
344      /*sampling Frequency = 16000*/
345      {24, 26, 28, 30, 32, 35, 38, 41, 44, 47, 51, 55, 59, 64, 78, 10}},
346     /*WORD32 stop_freq_table_fs40k_2[13] = */
347     {26, 28, 30, 32, 34, 36, 39, 42, 45, 48, 52, 56, 60, 0},
348     /*WORD32 stop_freq_table_fs40k_4[13] = */
349     {19, 21, 23, 25, 27, 30, 33, 36, 40, 44, 48, 53, 58, 0}
350 
351 };
352