2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
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.
18 #ifndef WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_ESTIMATOR_H_
19 #define WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_ESTIMATOR_H_
23 void WebRtcIsacfix_PitchAnalysis(const int16_t *in, /* PITCH_FRAME_LEN samples */
24 int16_t *outQ0, /* PITCH_FRAME_LEN+QLOOKAHEAD samples */
25 PitchAnalysisStruct *State,
27 int16_t *PitchGains_Q12);
29 void WebRtcIsacfix_InitialPitch(const int16_t *in,
30 PitchAnalysisStruct *State,
33 void WebRtcIsacfix_PitchFilter(int16_t *indatFix,
40 void WebRtcIsacfix_PitchFilterCore(int loopNumber,
46 const int16_t* coefficient,
51 void WebRtcIsacfix_PitchFilterGains(const int16_t *indatQ0,
56 void WebRtcIsacfix_DecimateAllpass32(const int16_t *in,
57 int32_t *state_in, /* array of size: 2*ALLPASSSECTIONS+1 */
58 int16_t N, /* number of input samples */
59 int16_t *out); /* array of size N/2 */
61 int32_t WebRtcIsacfix_Log2Q8( uint32_t x );
63 void WebRtcIsacfix_PCorr2Q32(const int16_t* in, int32_t* logcorQ8);
65 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_FIX_SOURCE_PITCH_ESTIMATOR_H_ */