Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: third_party/opus/src/silk/main.h

Issue 2962373002: [Opus] Update to v1.2.1 (Closed)
Patch Set: Pre-increment instead of post-increment Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/opus/src/silk/macros.h ('k') | third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 24 matching lines...) Expand all
35 #include "PLC.h" 35 #include "PLC.h"
36 #include "control.h" 36 #include "control.h"
37 #include "debug.h" 37 #include "debug.h"
38 #include "entenc.h" 38 #include "entenc.h"
39 #include "entdec.h" 39 #include "entdec.h"
40 40
41 #if defined(OPUS_X86_MAY_HAVE_SSE4_1) 41 #if defined(OPUS_X86_MAY_HAVE_SSE4_1)
42 #include "x86/main_sse.h" 42 #include "x86/main_sse.h"
43 #endif 43 #endif
44 44
45 #if (defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR))
46 #include "arm/NSQ_del_dec_arm.h"
47 #endif
48
45 /* Convert Left/Right stereo signal to adaptive Mid/Side representation */ 49 /* Convert Left/Right stereo signal to adaptive Mid/Side representation */
46 void silk_stereo_LR_to_MS( 50 void silk_stereo_LR_to_MS(
47 stereo_enc_state *state, /* I/O State */ 51 stereo_enc_state *state, /* I/O State */
48 opus_int16 x1[], /* I/O Left inp ut signal, becomes mid signal */ 52 opus_int16 x1[], /* I/O Left inp ut signal, becomes mid signal */
49 opus_int16 x2[], /* I/O Right in put signal, becomes side signal */ 53 opus_int16 x2[], /* I/O Right in put signal, becomes side signal */
50 opus_int8 ix[ 2 ][ 3 ], /* O Quantiza tion indices */ 54 opus_int8 ix[ 2 ][ 3 ], /* O Quantiza tion indices */
51 opus_int8 *mid_only_flag, /* O Flag: on ly mid signal coded */ 55 opus_int8 *mid_only_flag, /* O Flag: on ly mid signal coded */
52 opus_int32 mid_side_rates_bps[], /* O Bitrates for mid and side signals */ 56 opus_int32 mid_side_rates_bps[], /* O Bitrates for mid and side signals */
53 opus_int32 total_rate_bps, /* I Total bi trate */ 57 opus_int32 total_rate_bps, /* I Total bi trate */
54 opus_int prev_speech_act_Q8, /* I Speech a ctivity level in previous frame */ 58 opus_int prev_speech_act_Q8, /* I Speech a ctivity level in previous frame */
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 ); 106 );
103 107
104 /* Decode mid-only flag */ 108 /* Decode mid-only flag */
105 void silk_stereo_decode_mid_only( 109 void silk_stereo_decode_mid_only(
106 ec_dec *psRangeDec, /* I/O Compress or data structure */ 110 ec_dec *psRangeDec, /* I/O Compress or data structure */
107 opus_int *decode_only_mid /* O Flag tha t only mid channel has been coded */ 111 opus_int *decode_only_mid /* O Flag tha t only mid channel has been coded */
108 ); 112 );
109 113
110 /* Encodes signs of excitation */ 114 /* Encodes signs of excitation */
111 void silk_encode_signs( 115 void silk_encode_signs(
112 ec_enc *psRangeEnc, /* I/O Comp ressor data structure */ 116 ec_enc *psRangeEnc, /* I/O Comp ressor data structure */
113 const opus_int8 pulses[], /* I puls e signal */ 117 const opus_int8 pulses[], /* I puls e signal */
114 opus_int length, /* I leng th of input */ 118 opus_int length, /* I leng th of input */
115 const opus_int signalType, /* I Sign al type */ 119 const opus_int signalType, /* I Sign al type */
116 const opus_int quantOffsetType, /* I Quan tization offset type */ 120 const opus_int quantOffsetType, /* I Quan tization offset type */
117 const opus_int sum_pulses[ MAX_NB_SHELL_BLOCKS ] /* I Sum of absolute pulses per block */ 121 const opus_int sum_pulses[ MAX_NB_SHELL_BLOCKS ] /* I Sum of absolute pulses per block */
118 ); 122 );
119 123
120 /* Decodes signs of excitation */ 124 /* Decodes signs of excitation */
121 void silk_decode_signs( 125 void silk_decode_signs(
122 ec_dec *psRangeDec, /* I/O Comp ressor data structure */ 126 ec_dec *psRangeDec, /* I/O Comp ressor data structure */
123 opus_int16 pulses[], /* I/O puls e signal */ 127 opus_int16 pulses[], /* I/O puls e signal */
124 opus_int length, /* I leng th of input */ 128 opus_int length, /* I leng th of input */
125 const opus_int signalType, /* I Sign al type */ 129 const opus_int signalType, /* I Sign al type */
126 const opus_int quantOffsetType, /* I Quan tization offset type */ 130 const opus_int quantOffsetType, /* I Quan tization offset type */
127 const opus_int sum_pulses[ MAX_NB_SHELL_BLOCKS ] /* I Sum of absolute pulses per block */ 131 const opus_int sum_pulses[ MAX_NB_SHELL_BLOCKS ] /* I Sum of absolute pulses per block */
128 ); 132 );
129 133
130 /* Check encoder control struct */ 134 /* Check encoder control struct */
131 opus_int check_control_input( 135 opus_int check_control_input(
132 silk_EncControlStruct *encControl /* I Control structure */ 136 silk_EncControlStruct *encControl /* I Control structure */
133 ); 137 );
134 138
135 /* Control internal sampling rate */ 139 /* Control internal sampling rate */
136 opus_int silk_control_audio_bandwidth( 140 opus_int silk_control_audio_bandwidth(
137 silk_encoder_state *psEncC, /* I/O Pointer to Silk encoder state */ 141 silk_encoder_state *psEncC, /* I/O Pointer to Silk encoder state */
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 void silk_interpolate( 202 void silk_interpolate(
199 opus_int16 xi[ MAX_LPC_ORDER ], /* O interpol ated vector */ 203 opus_int16 xi[ MAX_LPC_ORDER ], /* O interpol ated vector */
200 const opus_int16 x0[ MAX_LPC_ORDER ], /* I first ve ctor */ 204 const opus_int16 x0[ MAX_LPC_ORDER ], /* I first ve ctor */
201 const opus_int16 x1[ MAX_LPC_ORDER ], /* I second v ector */ 205 const opus_int16 x1[ MAX_LPC_ORDER ], /* I second v ector */
202 const opus_int ifact_Q2, /* I interp. factor, weight on 2nd vector */ 206 const opus_int ifact_Q2, /* I interp. factor, weight on 2nd vector */
203 const opus_int d /* I number o f parameters */ 207 const opus_int d /* I number o f parameters */
204 ); 208 );
205 209
206 /* LTP tap quantizer */ 210 /* LTP tap quantizer */
207 void silk_quant_LTP_gains( 211 void silk_quant_LTP_gains(
208 opus_int16 B_Q14[ MAX_NB_SUBFR * LTP_ORDER ], /* I /O (un)quantized LTP gains */ 212 opus_int16 B_Q14[ MAX_NB_SUBFR * LTP_ORDER ], /* O Quantized LTP gains */
209 opus_int8 cbk_index[ MAX_NB_SUBFR ], /* O Codebook Index */ 213 opus_int8 cbk_index[ MAX_NB_SUBFR ], /* O Codebook Index */
210 opus_int8 *periodicity_index, /* O Periodicity Index */ 214 opus_int8 *periodicity_index, /* O Periodicity Index */
211 opus_int32 *sum_gain_dB_Q7, /* I /O Cumulative max prediction gain */ 215 opus_int32 *sum_gain_dB_Q7, /* I /O Cumulative max prediction gain */
212 const opus_int32 W_Q18[ MAX_NB_SUBFR*LTP_ORDER*LTP_ORDER ], /* I Error Weights in Q18 */ 216 opus_int *pred_gain_dB_Q7, /* O LTP prediction gain */
213 opus_int mu_Q9, /* I Mu value (R/D tradeoff) */ 217 const opus_int32 XX_Q17[ MAX_NB_SUBFR*LTP_ORDER*LTP_ORDER ], /* I Correlation matrix in Q18 */
214 opus_int lowComplexity, /* I Flag for low complexity */ 218 const opus_int32 xX_Q17[ MAX_NB_SUBFR*LTP_ORDER ], /* I Correlation vector in Q18 */
215 const opus_int nb_subfr, /* I number of subframes */ 219 const opus_int subfr_len, /* I Number of samples per subframe */
220 const opus_int nb_subfr, /* I Number of subframes */
216 int arch /* I Run-time architecture */ 221 int arch /* I Run-time architecture */
217 ); 222 );
218 223
219 /* Entropy constrained matrix-weighted VQ, for a single input data vector */ 224 /* Entropy constrained matrix-weighted VQ, for a single input data vector */
220 void silk_VQ_WMat_EC_c( 225 void silk_VQ_WMat_EC_c(
221 opus_int8 *ind, /* O index of best codebook vector */ 226 opus_int8 *ind, /* O index of best codebook vector */
222 opus_int32 *rate_dist_Q14, /* O best wei ghted quant error + mu * rate */ 227 opus_int32 *res_nrg_Q15, /* O best res idual energy */
228 opus_int32 *rate_dist_Q8, /* O best tot al bitrate */
223 opus_int *gain_Q7, /* O sum of a bsolute LTP coefficients */ 229 opus_int *gain_Q7, /* O sum of a bsolute LTP coefficients */
224 const opus_int16 *in_Q14, /* I input ve ctor to be quantized */ 230 const opus_int32 *XX_Q17, /* I correlat ion matrix */
225 const opus_int32 *W_Q18, /* I weightin g matrix */ 231 const opus_int32 *xX_Q17, /* I correlat ion vector */
226 const opus_int8 *cb_Q7, /* I codebook */ 232 const opus_int8 *cb_Q7, /* I codebook */
227 const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */ 233 const opus_uint8 *cb_gain_Q7, /* I codebook effective gain */
228 const opus_uint8 *cl_Q5, /* I code len gth for each codebook vector */ 234 const opus_uint8 *cl_Q5, /* I code len gth for each codebook vector */
229 const opus_int mu_Q9, /* I tradeoff betw. weighted error and rate */ 235 const opus_int subfr_len, /* I number o f samples per subframe */
230 const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */ 236 const opus_int32 max_gain_Q7, /* I maximum sum of absolute LTP coefficients */
231 opus_int L /* I number o f vectors in codebook */ 237 const opus_int L /* I number o f vectors in codebook */
232 ); 238 );
233 239
234 #if !defined(OVERRIDE_silk_VQ_WMat_EC) 240 #if !defined(OVERRIDE_silk_VQ_WMat_EC)
235 #define silk_VQ_WMat_EC(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_ga in_Q7, cl_Q5, \ 241 #define silk_VQ_WMat_EC(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, subfr_len, max_gain_Q7, L, arch) \
236 mu_Q9, max_gain_Q7, L, arch) \ 242 ((void)(arch),silk_VQ_WMat_EC_c(ind, res_nrg_Q15, rate_dist_Q8, gain_Q7, XX_ Q17, xX_Q17, cb_Q7, cb_gain_Q7, cl_Q5, subfr_len, max_gain_Q7, L))
237 ((void)(arch),silk_VQ_WMat_EC_c(ind, rate_dist_Q14, gain_Q7, in_Q14, W_Q18, cb_Q7, cb_gain_Q7, cl_Q5, \
238 mu_Q9, max_gain_Q7, L))
239 #endif 243 #endif
240 244
241 /************************************/ 245 /************************************/
242 /* Noise shaping quantization (NSQ) */ 246 /* Noise shaping quantization (NSQ) */
243 /************************************/ 247 /************************************/
244 248
245 void silk_NSQ_c( 249 void silk_NSQ_c(
246 const silk_encoder_state *psEncC, /* I /O Encoder State */ 250 const silk_encoder_state *psEncC, /* I Encoder State */
247 silk_nsq_state *NSQ, /* I /O NSQ state */ 251 silk_nsq_state *NSQ, /* I /O NSQ state */
248 SideInfoIndices *psIndices, /* I /O Quantization Indices */ 252 SideInfoIndices *psIndices, /* I /O Quantization Indices */
249 const opus_int32 x_Q3[], /* I Prefiltered input signal */ 253 const opus_int16 x16[], /* I Input */
250 opus_int8 pulses[], /* O Quantized pulse signal */ 254 opus_int8 pulses[], /* O Quantized pulse signal */
251 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ 255 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */
252 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ 256 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */
253 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */ 257 const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */
254 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ 258 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */
255 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ 259 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */
256 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ 260 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */
257 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ 261 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */
258 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ 262 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */
259 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ 263 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */
260 const opus_int LTP_scale_Q14 /* I LTP state scaling */ 264 const opus_int LTP_scale_Q14 /* I LTP state scaling */
261 ); 265 );
262 266
263 #if !defined(OVERRIDE_silk_NSQ) 267 #if !defined(OVERRIDE_silk_NSQ)
264 #define silk_NSQ(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14 , AR2_Q13, \ 268 #define silk_NSQ(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \
265 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, L ambda_Q10, LTP_scale_Q14, arch) \ 269 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, L ambda_Q10, LTP_scale_Q14, arch) \
266 ((void)(arch),silk_NSQ_c(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTPCoef_Q14, AR2_Q13, \ 270 ((void)(arch),silk_NSQ_c(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPCoef_Q14, AR_Q13, \
267 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, L ambda_Q10, LTP_scale_Q14)) 271 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, pitchL, L ambda_Q10, LTP_scale_Q14))
268 #endif 272 #endif
269 273
270 /* Noise shaping using delayed decision */ 274 /* Noise shaping using delayed decision */
271 void silk_NSQ_del_dec_c( 275 void silk_NSQ_del_dec_c(
272 const silk_encoder_state *psEncC, /* I /O Encoder State */ 276 const silk_encoder_state *psEncC, /* I Encoder State */
273 silk_nsq_state *NSQ, /* I /O NSQ state */ 277 silk_nsq_state *NSQ, /* I /O NSQ state */
274 SideInfoIndices *psIndices, /* I /O Quantization Indices */ 278 SideInfoIndices *psIndices, /* I /O Quantization Indices */
275 const opus_int32 x_Q3[], /* I Prefiltered input signal */ 279 const opus_int16 x16[], /* I Input */
276 opus_int8 pulses[], /* O Quantized pulse signal */ 280 opus_int8 pulses[], /* O Quantized pulse signal */
277 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */ 281 const opus_int16 PredCoef_Q12[ 2 * MAX_LPC_ORDER ], /* I Short term prediction coefs */
278 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */ 282 const opus_int16 LTPCoef_Q14[ LTP_ORDER * MAX_NB_SUBFR ], /* I Long term prediction coefs */
279 const opus_int16 AR2_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], / * I Noise shaping coefs */ 283 const opus_int16 AR_Q13[ MAX_NB_SUBFR * MAX_SHAPE_LPC_ORDER ], /* I Noise shaping coefs */
280 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */ 284 const opus_int HarmShapeGain_Q14[ MAX_NB_SUBFR ], /* I Long term shaping coefs */
281 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */ 285 const opus_int Tilt_Q14[ MAX_NB_SUBFR ], /* I Spectral tilt */
282 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */ 286 const opus_int32 LF_shp_Q14[ MAX_NB_SUBFR ], /* I Low frequency shaping coefs */
283 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */ 287 const opus_int32 Gains_Q16[ MAX_NB_SUBFR ], /* I Quantization step sizes */
284 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */ 288 const opus_int pitchL[ MAX_NB_SUBFR ], /* I Pitch lags */
285 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */ 289 const opus_int Lambda_Q10, /* I Rate/distortion tradeoff */
286 const opus_int LTP_scale_Q14 /* I LTP state scaling */ 290 const opus_int LTP_scale_Q14 /* I LTP state scaling */
287 ); 291 );
288 292
289 #if !defined(OVERRIDE_silk_NSQ_del_dec) 293 #if !defined(OVERRIDE_silk_NSQ_del_dec)
290 #define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x_Q3, pulses, PredCoef_Q12, LTP Coef_Q14, AR2_Q13, \ 294 #define silk_NSQ_del_dec(psEncC, NSQ, psIndices, x16, pulses, PredCoef_Q12, LTPC oef_Q14, AR_Q13, \
291 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, p itchL, Lambda_Q10, LTP_scale_Q14, arch) \ 295 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, p itchL, Lambda_Q10, LTP_scale_Q14, arch) \
292 ((void)(arch),silk_NSQ_del_dec_c(psEncC, NSQ, psIndices, x_Q3, pulses, PredC oef_Q12, LTPCoef_Q14, AR2_Q13, \ 296 ((void)(arch),silk_NSQ_del_dec_c(psEncC, NSQ, psIndices, x16, pulses, PredCo ef_Q12, LTPCoef_Q14, AR_Q13, \
293 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, p itchL, Lambda_Q10, LTP_scale_Q14)) 297 HarmShapeGain_Q14, Tilt_Q14, LF_shp_Q14, Gains_Q16, p itchL, Lambda_Q10, LTP_scale_Q14))
294 #endif 298 #endif
295 299
296 /************/ 300 /************/
297 /* Silk VAD */ 301 /* Silk VAD */
298 /************/ 302 /************/
299 /* Initialize the Silk VAD */ 303 /* Initialize the Silk VAD */
300 opus_int silk_VAD_Init( /* O Return v alue, 0 if success */ 304 opus_int silk_VAD_Init( /* O Return v alue, 0 if success */
301 silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ 305 silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */
302 ); 306 );
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
339 const opus_int NLSF_mu_Q20, /* I Rate wei ght for the RD optimization */ 343 const opus_int NLSF_mu_Q20, /* I Rate wei ght for the RD optimization */
340 const opus_int nSurvivors, /* I Max surv ivors after first stage */ 344 const opus_int nSurvivors, /* I Max surv ivors after first stage */
341 const opus_int signalType /* I Signal t ype: 0/1/2 */ 345 const opus_int signalType /* I Signal t ype: 0/1/2 */
342 ); 346 );
343 347
344 /* Compute quantization errors for an LPC_order element input vector for a VQ co debook */ 348 /* Compute quantization errors for an LPC_order element input vector for a VQ co debook */
345 void silk_NLSF_VQ( 349 void silk_NLSF_VQ(
346 opus_int32 err_Q26[], /* O Quantiza tion errors [K] */ 350 opus_int32 err_Q26[], /* O Quantiza tion errors [K] */
347 const opus_int16 in_Q15[], /* I Input ve ctors to be quantized [LPC_order] */ 351 const opus_int16 in_Q15[], /* I Input ve ctors to be quantized [LPC_order] */
348 const opus_uint8 pCB_Q8[], /* I Codebook vectors [K*LPC_order] */ 352 const opus_uint8 pCB_Q8[], /* I Codebook vectors [K*LPC_order] */
353 const opus_int16 pWght_Q9[], /* I Codebook weights [K*LPC_order] */
349 const opus_int K, /* I Number o f codebook vectors */ 354 const opus_int K, /* I Number o f codebook vectors */
350 const opus_int LPC_order /* I Number o f LPCs */ 355 const opus_int LPC_order /* I Number o f LPCs */
351 ); 356 );
352 357
353 /* Delayed-decision quantizer for NLSF residuals */ 358 /* Delayed-decision quantizer for NLSF residuals */
354 opus_int32 silk_NLSF_del_dec_quant( /* O Returns RD value in Q25 */ 359 opus_int32 silk_NLSF_del_dec_quant( /* O Returns RD value in Q25 */
355 opus_int8 indices[], /* O Quantiza tion indices [ order ] */ 360 opus_int8 indices[], /* O Quantiza tion indices [ order ] */
356 const opus_int16 x_Q10[], /* I Input [ order ] */ 361 const opus_int16 x_Q10[], /* I Input [ order ] */
357 const opus_int16 w_Q5[], /* I Weights [ order ] */ 362 const opus_int16 w_Q5[], /* I Weights [ order ] */
358 const opus_uint8 pred_coef_Q8[], /* I Backward predictor coefs [ order ] */ 363 const opus_uint8 pred_coef_Q8[], /* I Backward predictor coefs [ order ] */
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
462 /* Encoding of various parameters */ 467 /* Encoding of various parameters */
463 void silk_encode_indices( 468 void silk_encode_indices(
464 silk_encoder_state *psEncC, /* I/O Encoder state */ 469 silk_encoder_state *psEncC, /* I/O Encoder state */
465 ec_enc *psRangeEnc, /* I/O Compress or data structure */ 470 ec_enc *psRangeEnc, /* I/O Compress or data structure */
466 opus_int FrameIndex, /* I Frame nu mber */ 471 opus_int FrameIndex, /* I Frame nu mber */
467 opus_int encode_LBRR, /* I Flag ind icating LBRR data is being encoded */ 472 opus_int encode_LBRR, /* I Flag ind icating LBRR data is being encoded */
468 opus_int condCoding /* I The type of conditional coding to use */ 473 opus_int condCoding /* I The type of conditional coding to use */
469 ); 474 );
470 475
471 #endif 476 #endif
OLDNEW
« no previous file with comments | « third_party/opus/src/silk/macros.h ('k') | third_party/opus/src/silk/mips/NSQ_del_dec_mipsr1.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698