1 /*
2  *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3  *
4  *  Use of this source code is governed by a BSD-style license
5  *  that can be found in the LICENSE file in the root of the source
6  *  tree. An additional intellectual property rights grant can be found
7  *  in the file PATENTS.  All contributing project authors may
8  *  be found in the AUTHORS file in the root of the source tree.
9  */
10 
11 /*
12  * lpc_analysis.h
13  *
14  * LPC functions
15  *
16  */
17 
18 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_ANALYSIS_H_
19 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_ANALYSIS_H_
20 
21 #include "settings.h"
22 #include "structs.h"
23 
24 double WebRtcIsac_LevDurb(double *a, double *k, double *r, size_t order);
25 
26 void WebRtcIsac_GetVars(const double *input, const int16_t *pitchGains_Q12,
27                        double *oldEnergy, double *varscale);
28 
29 void WebRtcIsac_GetLpcCoefLb(double *inLo, double *inHi, MaskFiltstr *maskdata,
30                              double signal_noise_ratio, const int16_t *pitchGains_Q12,
31                              double *lo_coeff, double *hi_coeff);
32 
33 
34 void WebRtcIsac_GetLpcGain(
35     double         signal_noise_ratio,
36     const double*  filtCoeffVecs,
37     int            numVecs,
38     double*        gain,
39     double         corrLo[][UB_LPC_ORDER + 1],
40     const double*  varscale);
41 
42 void WebRtcIsac_GetLpcCoefUb(
43     double*      inSignal,
44     MaskFiltstr* maskdata,
45     double*      lpCoeff,
46     double       corr[][UB_LPC_ORDER + 1],
47     double*      varscale,
48     int16_t  bandwidth);
49 
50 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_LPC_ANALYIS_H_ */
51