/***********************************************************************
Copyright ( c ) 2006 - 2011 , Skype Limited . All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions
are met :
- Redistributions of source code must retain the above copyright notice ,
this list of conditions and the following disclaimer .
- Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in the
documentation and / or other materials provided with the distribution .
- Neither the name of Internet Society , IETF or IETF Trust , nor the
names of specific contributors , may be used to endorse or promote
products derived from this software without specific prior written
permission .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS " AS IS "
AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR
CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS
INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN
CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE )
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE .
***********************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "tables.h"
static const opus_uint8 silk_NLSF_CB1_WB_Q8[ 512 ] = {
7 , 23 , 38 , 54 , 69 , 85 , 100 , 116 ,
131 , 147 , 162 , 178 , 193 , 208 , 223 , 239 ,
13 , 25 , 41 , 55 , 69 , 83 , 98 , 112 ,
127 , 142 , 157 , 171 , 187 , 203 , 220 , 236 ,
15 , 21 , 34 , 51 , 61 , 78 , 92 , 106 ,
126 , 136 , 152 , 167 , 185 , 205 , 225 , 240 ,
10 , 21 , 36 , 50 , 63 , 79 , 95 , 110 ,
126 , 141 , 157 , 173 , 189 , 205 , 221 , 237 ,
17 , 20 , 37 , 51 , 59 , 78 , 89 , 107 ,
123 , 134 , 150 , 164 , 184 , 205 , 224 , 240 ,
10 , 15 , 32 , 51 , 67 , 81 , 96 , 112 ,
129 , 142 , 158 , 173 , 189 , 204 , 220 , 236 ,
8 , 21 , 37 , 51 , 65 , 79 , 98 , 113 ,
126 , 138 , 155 , 168 , 179 , 192 , 209 , 218 ,
12 , 15 , 34 , 55 , 63 , 78 , 87 , 108 ,
118 , 131 , 148 , 167 , 185 , 203 , 219 , 236 ,
16 , 19 , 32 , 36 , 56 , 79 , 91 , 108 ,
118 , 136 , 154 , 171 , 186 , 204 , 220 , 237 ,
11 , 28 , 43 , 58 , 74 , 89 , 105 , 120 ,
135 , 150 , 165 , 180 , 196 , 211 , 226 , 241 ,
6 , 16 , 33 , 46 , 60 , 75 , 92 , 107 ,
123 , 137 , 156 , 169 , 185 , 199 , 214 , 225 ,
11 , 19 , 30 , 44 , 57 , 74 , 89 , 105 ,
121 , 135 , 152 , 169 , 186 , 202 , 218 , 234 ,
12 , 19 , 29 , 46 , 57 , 71 , 88 , 100 ,
120 , 132 , 148 , 165 , 182 , 199 , 216 , 233 ,
17 , 23 , 35 , 46 , 56 , 77 , 92 , 106 ,
123 , 134 , 152 , 167 , 185 , 204 , 222 , 237 ,
14 , 17 , 45 , 53 , 63 , 75 , 89 , 107 ,
115 , 132 , 151 , 171 , 188 , 206 , 221 , 240 ,
9 , 16 , 29 , 40 , 56 , 71 , 88 , 103 ,
119 , 137 , 154 , 171 , 189 , 205 , 222 , 237 ,
16 , 19 , 36 , 48 , 57 , 76 , 87 , 105 ,
118 , 132 , 150 , 167 , 185 , 202 , 218 , 236 ,
12 , 17 , 29 , 54 , 71 , 81 , 94 , 104 ,
126 , 136 , 149 , 164 , 182 , 201 , 221 , 237 ,
15 , 28 , 47 , 62 , 79 , 97 , 115 , 129 ,
142 , 155 , 168 , 180 , 194 , 208 , 223 , 238 ,
8 , 14 , 30 , 45 , 62 , 78 , 94 , 111 ,
127 , 143 , 159 , 175 , 192 , 207 , 223 , 239 ,
17 , 30 , 49 , 62 , 79 , 92 , 107 , 119 ,
132 , 145 , 160 , 174 , 190 , 204 , 220 , 235 ,
14 , 19 , 36 , 45 , 61 , 76 , 91 , 108 ,
121 , 138 , 154 , 172 , 189 , 205 , 222 , 238 ,
12 , 18 , 31 , 45 , 60 , 76 , 91 , 107 ,
123 , 138 , 154 , 171 , 187 , 204 , 221 , 236 ,
13 , 17 , 31 , 43 , 53 , 70 , 83 , 103 ,
114 , 131 , 149 , 167 , 185 , 203 , 220 , 237 ,
17 , 22 , 35 , 42 , 58 , 78 , 93 , 110 ,
125 , 139 , 155 , 170 , 188 , 206 , 224 , 240 ,
8 , 15 , 34 , 50 , 67 , 83 , 99 , 115 ,
131 , 146 , 162 , 178 , 193 , 209 , 224 , 239 ,
13 , 16 , 41 , 66 , 73 , 86 , 95 , 111 ,
128 , 137 , 150 , 163 , 183 , 206 , 225 , 241 ,
17 , 25 , 37 , 52 , 63 , 75 , 92 , 102 ,
119 , 132 , 144 , 160 , 175 , 191 , 212 , 231 ,
19 , 31 , 49 , 65 , 83 , 100 , 117 , 133 ,
147 , 161 , 174 , 187 , 200 , 213 , 227 , 242 ,
18 , 31 , 52 , 68 , 88 , 103 , 117 , 126 ,
138 , 149 , 163 , 177 , 192 , 207 , 223 , 239 ,
16 , 29 , 47 , 61 , 76 , 90 , 106 , 119 ,
133 , 147 , 161 , 176 , 193 , 209 , 224 , 240 ,
15 , 21 , 35 , 50 , 61 , 73 , 86 , 97 ,
110 , 119 , 129 , 141 , 175 , 198 , 218 , 237
};
static const opus_int16 silk_NLSF_CB1_WB_Wght_Q9[ 512 ] = {
3657 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2925 , 2963 , 2963 , 2925 , 2846 ,
3216 , 3085 , 2972 , 3056 , 3056 , 3010 , 3010 , 3010 , 2963 , 2963 , 3010 , 2972 , 2888 , 2846 , 2846 , 2726 ,
3920 , 4014 , 2981 , 3207 , 3207 , 2934 , 3056 , 2846 , 3122 , 3244 , 2925 , 2846 , 2620 , 2553 , 2780 , 2925 ,
3516 , 3197 , 3010 , 3103 , 3019 , 2888 , 2925 , 2925 , 2925 , 2925 , 2888 , 2888 , 2888 , 2888 , 2888 , 2753 ,
5054 , 5054 , 2934 , 3573 , 3385 , 3056 , 3085 , 2793 , 3160 , 3160 , 2972 , 2846 , 2513 , 2540 , 2753 , 2888 ,
4428 , 4149 , 2700 , 2753 , 2972 , 3010 , 2925 , 2846 , 2981 , 3019 , 2925 , 2925 , 2925 , 2925 , 2888 , 2726 ,
3620 , 3019 , 2972 , 3056 , 3056 , 2873 , 2806 , 3056 , 3216 , 3047 , 2981 , 3291 , 3291 , 2981 , 3310 , 2991 ,
5227 , 5014 , 2540 , 3338 , 3526 , 3385 , 3197 , 3094 , 3376 , 2981 , 2700 , 2647 , 2687 , 2793 , 2846 , 2673 ,
5081 , 5174 , 4615 , 4428 , 2460 , 2897 , 3047 , 3207 , 3169 , 2687 , 2740 , 2888 , 2846 , 2793 , 2846 , 2700 ,
3122 , 2888 , 2963 , 2925 , 2925 , 2925 , 2925 , 2963 , 2963 , 2963 , 2963 , 2925 , 2925 , 2963 , 2963 , 2963 ,
4202 , 3207 , 2981 , 3103 , 3010 , 2888 , 2888 , 2925 , 2972 , 2873 , 2916 , 3019 , 2972 , 3010 , 3197 , 2873 ,
3760 , 3760 , 3244 , 3103 , 2981 , 2888 , 2925 , 2888 , 2972 , 2934 , 2793 , 2793 , 2846 , 2888 , 2888 , 2660 ,
3854 , 4014 , 3207 , 3122 , 3244 , 2934 , 3047 , 2963 , 2963 , 3085 , 2846 , 2793 , 2793 , 2793 , 2793 , 2580 ,
3845 , 4080 , 3357 , 3516 , 3094 , 2740 , 3010 , 2934 , 3122 , 3085 , 2846 , 2846 , 2647 , 2647 , 2846 , 2806 ,
5147 , 4894 , 3225 , 3845 , 3441 , 3169 , 2897 , 3413 , 3451 , 2700 , 2580 , 2673 , 2740 , 2846 , 2806 , 2753 ,
4109 , 3789 , 3291 , 3160 , 2925 , 2888 , 2888 , 2925 , 2793 , 2740 , 2793 , 2740 , 2793 , 2846 , 2888 , 2806 ,
5081 , 5054 , 3047 , 3545 , 3244 , 3056 , 3085 , 2944 , 3103 , 2897 , 2740 , 2740 , 2740 , 2846 , 2793 , 2620 ,
4309 , 4309 , 2860 , 2527 , 3207 , 3376 , 3376 , 3075 , 3075 , 3376 , 3056 , 2846 , 2647 , 2580 , 2726 , 2753 ,
3056 , 2916 , 2806 , 2888 , 2740 , 2687 , 2897 , 3103 , 3150 , 3150 , 3216 , 3169 , 3056 , 3010 , 2963 , 2846 ,
4375 , 3882 , 2925 , 2888 , 2846 , 2888 , 2846 , 2846 , 2888 , 2888 , 2888 , 2846 , 2888 , 2925 , 2888 , 2846 ,
2981 , 2916 , 2916 , 2981 , 2981 , 3056 , 3122 , 3216 , 3150 , 3056 , 3010 , 2972 , 2972 , 2972 , 2925 , 2740 ,
4229 , 4149 , 3310 , 3347 , 2925 , 2963 , 2888 , 2981 , 2981 , 2846 , 2793 , 2740 , 2846 , 2846 , 2846 , 2793 ,
4080 , 4014 , 3103 , 3010 , 2925 , 2925 , 2925 , 2888 , 2925 , 2925 , 2846 , 2846 , 2846 , 2793 , 2888 , 2780 ,
4615 , 4575 , 3169 , 3441 , 3207 , 2981 , 2897 , 3038 , 3122 , 2740 , 2687 , 2687 , 2687 , 2740 , 2793 , 2700 ,
4149 , 4269 , 3789 , 3657 , 2726 , 2780 , 2888 , 2888 , 3010 , 2972 , 2925 , 2846 , 2687 , 2687 , 2793 , 2888 ,
4215 , 3554 , 2753 , 2846 , 2846 , 2888 , 2888 , 2888 , 2925 , 2925 , 2888 , 2925 , 2925 , 2925 , 2963 , 2888 ,
5174 , 4921 , 2261 , 3432 , 3789 , 3479 , 3347 , 2846 , 3310 , 3479 , 3150 , 2897 , 2460 , 2487 , 2753 , 2925 ,
3451 , 3685 , 3122 , 3197 , 3357 , 3047 , 3207 , 3207 , 2981 , 3216 , 3085 , 2925 , 2925 , 2687 , 2540 , 2434 ,
2981 , 3010 , 2793 , 2793 , 2740 , 2793 , 2846 , 2972 , 3056 , 3103 , 3150 , 3150 , 3150 , 3103 , 3010 , 3010 ,
2944 , 2873 , 2687 , 2726 , 2780 , 3010 , 3432 , 3545 , 3357 , 3244 , 3056 , 3010 , 2963 , 2925 , 2888 , 2846 ,
3019 , 2944 , 2897 , 3010 , 3010 , 2972 , 3019 , 3103 , 3056 , 3056 , 3010 , 2888 , 2846 , 2925 , 2925 , 2888 ,
3920 , 3967 , 3010 , 3197 , 3357 , 3216 , 3291 , 3291 , 3479 , 3704 , 3441 , 2726 , 2181 , 2460 , 2580 , 2607
};
static const opus_uint8 silk_NLSF_CB1_iCDF_WB[ 64 ] = {
225 , 204 , 201 , 184 , 183 , 175 , 158 , 154 ,
153 , 135 , 119 , 115 , 113 , 110 , 109 , 99 ,
98 , 95 , 79 , 68 , 52 , 50 , 48 , 45 ,
43 , 32 , 31 , 27 , 18 , 10 , 3 , 0 ,
255 , 251 , 235 , 230 , 212 , 201 , 196 , 182 ,
167 , 166 , 163 , 151 , 138 , 124 , 110 , 104 ,
90 , 78 , 76 , 70 , 69 , 57 , 45 , 34 ,
24 , 21 , 11 , 6 , 5 , 4 , 3 , 0
};
static const opus_uint8 silk_NLSF_CB2_SELECT_WB[ 256 ] = {
0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
100 , 102 , 102 , 68 , 68 , 36 , 34 , 96 ,
164 , 107 , 158 , 185 , 180 , 185 , 139 , 102 ,
64 , 66 , 36 , 34 , 34 , 0 , 1 , 32 ,
208 , 139 , 141 , 191 , 152 , 185 , 155 , 104 ,
96 , 171 , 104 , 166 , 102 , 102 , 102 , 132 ,
1 , 0 , 0 , 0 , 0 , 16 , 16 , 0 ,
80 , 109 , 78 , 107 , 185 , 139 , 103 , 101 ,
208 , 212 , 141 , 139 , 173 , 153 , 123 , 103 ,
36 , 0 , 0 , 0 , 0 , 0 , 0 , 1 ,
48 , 0 , 0 , 0 , 0 , 0 , 0 , 32 ,
68 , 135 , 123 , 119 , 119 , 103 , 69 , 98 ,
68 , 103 , 120 , 118 , 118 , 102 , 71 , 98 ,
134 , 136 , 157 , 184 , 182 , 153 , 139 , 134 ,
208 , 168 , 248 , 75 , 189 , 143 , 121 , 107 ,
32 , 49 , 34 , 34 , 34 , 0 , 17 , 2 ,
210 , 235 , 139 , 123 , 185 , 137 , 105 , 134 ,
98 , 135 , 104 , 182 , 100 , 183 , 171 , 134 ,
100 , 70 , 68 , 70 , 66 , 66 , 34 , 131 ,
64 , 166 , 102 , 68 , 36 , 2 , 1 , 0 ,
134 , 166 , 102 , 68 , 34 , 34 , 66 , 132 ,
212 , 246 , 158 , 139 , 107 , 107 , 87 , 102 ,
100 , 219 , 125 , 122 , 137 , 118 , 103 , 132 ,
114 , 135 , 137 , 105 , 171 , 106 , 50 , 34 ,
164 , 214 , 141 , 143 , 185 , 151 , 121 , 103 ,
192 , 34 , 0 , 0 , 0 , 0 , 0 , 1 ,
208 , 109 , 74 , 187 , 134 , 249 , 159 , 137 ,
102 , 110 , 154 , 118 , 87 , 101 , 119 , 101 ,
0 , 2 , 0 , 36 , 36 , 66 , 68 , 35 ,
96 , 164 , 102 , 100 , 36 , 0 , 2 , 33 ,
167 , 138 , 174 , 102 , 100 , 84 , 2 , 2 ,
100 , 107 , 120 , 119 , 36 , 197 , 24 , 0
};
static const opus_uint8 silk_NLSF_CB2_iCDF_WB[ 72 ] = {
255 , 254 , 253 , 244 , 12 , 3 , 2 , 1 ,
0 , 255 , 254 , 252 , 224 , 38 , 3 , 2 ,
1 , 0 , 255 , 254 , 251 , 209 , 57 , 4 ,
2 , 1 , 0 , 255 , 254 , 244 , 195 , 69 ,
4 , 2 , 1 , 0 , 255 , 251 , 232 , 184 ,
84 , 7 , 2 , 1 , 0 , 255 , 254 , 240 ,
186 , 86 , 14 , 2 , 1 , 0 , 255 , 254 ,
239 , 178 , 91 , 30 , 5 , 1 , 0 , 255 ,
248 , 227 , 177 , 100 , 19 , 2 , 1 , 0
};
static const opus_uint8 silk_NLSF_CB2_BITS_WB_Q5[ 72 ] = {
255 , 255 , 255 , 156 , 4 , 154 , 255 , 255 ,
255 , 255 , 255 , 227 , 102 , 15 , 92 , 255 ,
255 , 255 , 255 , 255 , 213 , 83 , 24 , 72 ,
236 , 255 , 255 , 255 , 255 , 150 , 76 , 33 ,
63 , 214 , 255 , 255 , 255 , 190 , 121 , 77 ,
43 , 55 , 185 , 255 , 255 , 255 , 245 , 137 ,
71 , 43 , 59 , 139 , 255 , 255 , 255 , 255 ,
131 , 66 , 50 , 66 , 107 , 194 , 255 , 255 ,
166 , 116 , 76 , 55 , 53 , 125 , 255 , 255
};
static const opus_uint8 silk_NLSF_PRED_WB_Q8[ 30 ] = {
175 , 148 , 160 , 176 , 178 , 173 , 174 , 164 ,
177 , 174 , 196 , 182 , 198 , 192 , 182 , 68 ,
62 , 66 , 60 , 72 , 117 , 85 , 90 , 118 ,
136 , 151 , 142 , 160 , 142 , 155
};
static const opus_int16 silk_NLSF_DELTA_MIN_WB_Q15[ 17 ] = {
100 , 3 , 40 , 3 , 3 , 3 , 5 , 14 ,
14 , 10 , 11 , 3 , 8 , 9 , 7 , 3 ,
347
};
const silk_NLSF_CB_struct silk_NLSF_CB_WB =
{
32 ,
16 ,
SILK_FIX_CONST( 0 .15 , 16 ),
SILK_FIX_CONST( 1 .0 / 0 .15 , 6 ),
silk_NLSF_CB1_WB_Q8,
silk_NLSF_CB1_WB_Wght_Q9,
silk_NLSF_CB1_iCDF_WB,
silk_NLSF_PRED_WB_Q8,
silk_NLSF_CB2_SELECT_WB,
silk_NLSF_CB2_iCDF_WB,
silk_NLSF_CB2_BITS_WB_Q5,
silk_NLSF_DELTA_MIN_WB_Q15,
};
Messung V0.5 in Prozent C=100 H=100 G=100