OLD | NEW |
1 /*********************************************************************** | 1 /*********************************************************************** |
2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. | 2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. |
3 Redistribution and use in source and binary forms, with or without | 3 Redistribution and use in source and binary forms, with or without |
4 modification, are permitted provided that the following conditions | 4 modification, are permitted provided that the following conditions |
5 are met: | 5 are met: |
6 - Redistributions of source code must retain the above copyright notice, | 6 - Redistributions of source code must retain the above copyright notice, |
7 this list of conditions and the following disclaimer. | 7 this list of conditions and the following disclaimer. |
8 - Redistributions in binary form must reproduce the above copyright | 8 - Redistributions in binary form must reproduce the above copyright |
9 notice, this list of conditions and the following disclaimer in the | 9 notice, this list of conditions and the following disclaimer in the |
10 documentation and/or other materials provided with the distribution. | 10 documentation and/or other materials provided with the distribution. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 #define TARGET_RATE_TAB_SZ 8 | 49 #define TARGET_RATE_TAB_SZ 8 |
50 | 50 |
51 /* LBRR thresholds */ | 51 /* LBRR thresholds */ |
52 #define LBRR_NB_MIN_RATE_BPS 12000 | 52 #define LBRR_NB_MIN_RATE_BPS 12000 |
53 #define LBRR_MB_MIN_RATE_BPS 14000 | 53 #define LBRR_MB_MIN_RATE_BPS 14000 |
54 #define LBRR_WB_MIN_RATE_BPS 16000 | 54 #define LBRR_WB_MIN_RATE_BPS 16000 |
55 | 55 |
56 /* DTX settings */ | 56 /* DTX settings */ |
57 #define NB_SPEECH_FRAMES_BEFORE_DTX 10 /* eq 200 ms */ | 57 #define NB_SPEECH_FRAMES_BEFORE_DTX 10 /* eq 200 ms */ |
58 #define MAX_CONSECUTIVE_DTX 20 /* eq 400 ms */ | 58 #define MAX_CONSECUTIVE_DTX 20 /* eq 400 ms */ |
| 59 #define DTX_ACTIVITY_THRESHOLD 0.1f |
59 | 60 |
60 /* Maximum sampling frequency */ | 61 /* Maximum sampling frequency */ |
61 #define MAX_FS_KHZ 16 | 62 #define MAX_FS_KHZ 16 |
62 #define MAX_API_FS_KHZ 48 | 63 #define MAX_API_FS_KHZ 48 |
63 | 64 |
64 /* Signal types */ | 65 /* Signal types */ |
65 #define TYPE_NO_VOICE_ACTIVITY 0 | 66 #define TYPE_NO_VOICE_ACTIVITY 0 |
66 #define TYPE_UNVOICED 1 | 67 #define TYPE_UNVOICED 1 |
67 #define TYPE_VOICED 2 | 68 #define TYPE_VOICED 2 |
68 | 69 |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
140 /* Find Pred Coef defines */ | 141 /* Find Pred Coef defines */ |
141 #define LTP_ORDER 5 | 142 #define LTP_ORDER 5 |
142 | 143 |
143 /* LTP quantization settings */ | 144 /* LTP quantization settings */ |
144 #define NB_LTP_CBKS 3 | 145 #define NB_LTP_CBKS 3 |
145 | 146 |
146 /* Flag to use harmonic noise shaping */ | 147 /* Flag to use harmonic noise shaping */ |
147 #define USE_HARM_SHAPING 1 | 148 #define USE_HARM_SHAPING 1 |
148 | 149 |
149 /* Max LPC order of noise shaping filters */ | 150 /* Max LPC order of noise shaping filters */ |
150 #define MAX_SHAPE_LPC_ORDER 16 | 151 #define MAX_SHAPE_LPC_ORDER 24 |
151 | 152 |
152 #define HARM_SHAPE_FIR_TAPS 3 | 153 #define HARM_SHAPE_FIR_TAPS 3 |
153 | 154 |
154 /* Maximum number of delayed decision states */ | 155 /* Maximum number of delayed decision states */ |
155 #define MAX_DEL_DEC_STATES 4 | 156 #define MAX_DEL_DEC_STATES 4 |
156 | 157 |
157 #define LTP_BUF_LENGTH 512 | 158 #define LTP_BUF_LENGTH 512 |
158 #define LTP_MASK ( LTP_BUF_LENGTH - 1 ) | 159 #define LTP_MASK ( LTP_BUF_LENGTH - 1 ) |
159 | 160 |
160 #define DECISION_DELAY 32 | 161 #define DECISION_DELAY 40 |
161 #define DECISION_DELAY_MASK ( DECISION_DELAY - 1 ) | |
162 | 162 |
163 /* Number of subframes for excitation entropy coding */ | 163 /* Number of subframes for excitation entropy coding */ |
164 #define SHELL_CODEC_FRAME_LENGTH 16 | 164 #define SHELL_CODEC_FRAME_LENGTH 16 |
165 #define LOG2_SHELL_CODEC_FRAME_LENGTH 4 | 165 #define LOG2_SHELL_CODEC_FRAME_LENGTH 4 |
166 #define MAX_NB_SHELL_BLOCKS ( MAX_FRAME_LENGTH / SHELL_CODEC
_FRAME_LENGTH ) | 166 #define MAX_NB_SHELL_BLOCKS ( MAX_FRAME_LENGTH / SHELL_CODEC
_FRAME_LENGTH ) |
167 | 167 |
168 /* Number of rate levels, for entropy coding of excitation */ | 168 /* Number of rate levels, for entropy coding of excitation */ |
169 #define N_RATE_LEVELS 10 | 169 #define N_RATE_LEVELS 10 |
170 | 170 |
171 /* Maximum sum of pulses per shell coding frame */ | 171 /* Maximum sum of pulses per shell coding frame */ |
172 #define SILK_MAX_PULSES 16 | 172 #define SILK_MAX_PULSES 16 |
173 | 173 |
174 #define MAX_MATRIX_SIZE MAX_LPC_ORDER /* Max of LPC Orde
r and LTP order */ | 174 #define MAX_MATRIX_SIZE MAX_LPC_ORDER /* Max of LPC Orde
r and LTP order */ |
175 | 175 |
176 #if( MAX_LPC_ORDER > DECISION_DELAY ) | |
177 # define NSQ_LPC_BUF_LENGTH MAX_LPC_ORDER | 176 # define NSQ_LPC_BUF_LENGTH MAX_LPC_ORDER |
178 #else | |
179 # define NSQ_LPC_BUF_LENGTH DECISION_DELAY | |
180 #endif | |
181 | 177 |
182 /***************************/ | 178 /***************************/ |
183 /* Voice activity detector */ | 179 /* Voice activity detector */ |
184 /***************************/ | 180 /***************************/ |
185 #define VAD_N_BANDS 4 | 181 #define VAD_N_BANDS 4 |
186 | 182 |
187 #define VAD_INTERNAL_SUBFRAMES_LOG2 2 | 183 #define VAD_INTERNAL_SUBFRAMES_LOG2 2 |
188 #define VAD_INTERNAL_SUBFRAMES ( 1 << VAD_INTERNAL_SUBFRAMES_LO
G2 ) | 184 #define VAD_INTERNAL_SUBFRAMES ( 1 << VAD_INTERNAL_SUBFRAMES_LO
G2 ) |
189 | 185 |
190 #define VAD_NOISE_LEVEL_SMOOTH_COEF_Q16 1024 /* Must be < 4096 */ | 186 #define VAD_NOISE_LEVEL_SMOOTH_COEF_Q16 1024 /* Must be < 4096 */ |
191 #define VAD_NOISE_LEVELS_BIAS 50 | 187 #define VAD_NOISE_LEVELS_BIAS 50 |
192 | 188 |
193 /* Sigmoid settings */ | 189 /* Sigmoid settings */ |
194 #define VAD_NEGATIVE_OFFSET_Q5 128 /* sigmoid is 0 at -128
*/ | 190 #define VAD_NEGATIVE_OFFSET_Q5 128 /* sigmoid is 0 at -128
*/ |
195 #define VAD_SNR_FACTOR_Q16 45000 | 191 #define VAD_SNR_FACTOR_Q16 45000 |
196 | 192 |
197 /* smoothing for SNR measurement */ | 193 /* smoothing for SNR measurement */ |
198 #define VAD_SNR_SMOOTH_COEF_Q18 4096 | 194 #define VAD_SNR_SMOOTH_COEF_Q18 4096 |
199 | 195 |
200 /* Size of the piecewise linear cosine approximation table for the LSFs */ | 196 /* Size of the piecewise linear cosine approximation table for the LSFs */ |
201 #define LSF_COS_TAB_SZ_FIX 128 | 197 #define LSF_COS_TAB_SZ_FIX 128 |
202 | 198 |
203 /******************/ | 199 /******************/ |
204 /* NLSF quantizer */ | 200 /* NLSF quantizer */ |
205 /******************/ | 201 /******************/ |
206 #define NLSF_W_Q 2 | 202 #define NLSF_W_Q 2 |
207 #define NLSF_VQ_MAX_VECTORS 32 | 203 #define NLSF_VQ_MAX_VECTORS 32 |
208 #define NLSF_VQ_MAX_SURVIVORS 32 | |
209 #define NLSF_QUANT_MAX_AMPLITUDE 4 | 204 #define NLSF_QUANT_MAX_AMPLITUDE 4 |
210 #define NLSF_QUANT_MAX_AMPLITUDE_EXT 10 | 205 #define NLSF_QUANT_MAX_AMPLITUDE_EXT 10 |
211 #define NLSF_QUANT_LEVEL_ADJ 0.1 | 206 #define NLSF_QUANT_LEVEL_ADJ 0.1 |
212 #define NLSF_QUANT_DEL_DEC_STATES_LOG2 2 | 207 #define NLSF_QUANT_DEL_DEC_STATES_LOG2 2 |
213 #define NLSF_QUANT_DEL_DEC_STATES ( 1 << NLSF_QUANT_DEL_DEC_STATES
_LOG2 ) | 208 #define NLSF_QUANT_DEL_DEC_STATES ( 1 << NLSF_QUANT_DEL_DEC_STATES
_LOG2 ) |
214 | 209 |
215 /* Transition filtering for mode switching */ | 210 /* Transition filtering for mode switching */ |
216 #define TRANSITION_TIME_MS 5120 /* 5120 = 64 * FRAME_LEN
GTH_MS * ( TRANSITION_INT_NUM - 1 ) = 64*(20*4)*/ | 211 #define TRANSITION_TIME_MS 5120 /* 5120 = 64 * FRAME_LEN
GTH_MS * ( TRANSITION_INT_NUM - 1 ) = 64*(20*4)*/ |
217 #define TRANSITION_NB 3 /* Hardcoded in tables *
/ | 212 #define TRANSITION_NB 3 /* Hardcoded in tables *
/ |
218 #define TRANSITION_NA 2 /* Hardcoded in tables *
/ | 213 #define TRANSITION_NA 2 /* Hardcoded in tables *
/ |
219 #define TRANSITION_INT_NUM 5 /* Hardcoded in tables *
/ | 214 #define TRANSITION_INT_NUM 5 /* Hardcoded in tables *
/ |
220 #define TRANSITION_FRAMES ( TRANSITION_TIME_MS / MAX_FRAME
_LENGTH_MS ) | 215 #define TRANSITION_FRAMES ( TRANSITION_TIME_MS / MAX_FRAME
_LENGTH_MS ) |
221 #define TRANSITION_INT_STEPS ( TRANSITION_FRAMES / ( TRANSIT
ION_INT_NUM - 1 ) ) | 216 #define TRANSITION_INT_STEPS ( TRANSITION_FRAMES / ( TRANSIT
ION_INT_NUM - 1 ) ) |
222 | 217 |
223 /* BWE factors to apply after packet loss */ | 218 /* BWE factors to apply after packet loss */ |
224 #define BWE_AFTER_LOSS_Q16 63570 | 219 #define BWE_AFTER_LOSS_Q16 63570 |
225 | 220 |
226 /* Defines for CN generation */ | 221 /* Defines for CN generation */ |
227 #define CNG_BUF_MASK_MAX 255 /* 2^floor(log2(MAX_FRAM
E_LENGTH))-1 */ | 222 #define CNG_BUF_MASK_MAX 255 /* 2^floor(log2(MAX_FRAM
E_LENGTH))-1 */ |
228 #define CNG_GAIN_SMTH_Q16 4634 /* 0.25^(1/4)
*/ | 223 #define CNG_GAIN_SMTH_Q16 4634 /* 0.25^(1/4)
*/ |
229 #define CNG_NLSF_SMTH_Q16 16348 /* 0.25
*/ | 224 #define CNG_NLSF_SMTH_Q16 16348 /* 0.25
*/ |
230 | 225 |
231 #ifdef __cplusplus | 226 #ifdef __cplusplus |
232 } | 227 } |
233 #endif | 228 #endif |
234 | 229 |
235 #endif | 230 #endif |
OLD | NEW |