ol_ltp.h revision b841f14f8e51f2365945281fbfa54ef6a1b1b5a6
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* ------------------------------------------------------------------
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 1998-2009 PacketVideo
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
5a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * you may not use this file except in compliance with the License.
6a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * You may obtain a copy of the License at
7a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
9a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
11a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * distributed under the License is distributed on an "AS IS" BASIS,
12a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * express or implied.
14a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes * See the License for the specific language governing permissions
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and limitations under the License.
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * -------------------------------------------------------------------
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/****************************************************************************************
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectPortions of this file are derived from the following 3GPP standard:
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    3GPP TS 26.073
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    Available from http://www.3gpp.org
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC)
26a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott HughesPermission to distribute, modify and use this file under the standard license
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectterms listed above has been obtained from the copyright holder.
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project****************************************************************************************/
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project------------------------------------------------------------------------------
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
33a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
34a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes Filename: /audio/gsm_amr/c/src/include/ol_ltp.h
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
36a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes     Date: 02/06/2002
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
383b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris------------------------------------------------------------------------------
393b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris REVISION HISTORY
403b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Description:  Replaced "int" and/or "char" with OSCL defined types.
423b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris
433b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris Description: Moved _cplusplus #ifdef after Include section.
443b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris
453b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris Description:
463b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project------------------------------------------------------------------------------
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project INCLUDE DESCRIPTION
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project       File             : ol_ltp.h
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project       Purpose          : Compute the open loop pitch lag.
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project------------------------------------------------------------------------------
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
56a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#ifndef OL_LTP_H
57a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#define OL_LTP_H "$Id $"
58a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
59a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes/*----------------------------------------------------------------------------
60a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes; INCLUDES
61a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes----------------------------------------------------------------------------*/
62a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#include "typedef.h"
63a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#include "mode.h"
64a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#include "p_ol_wgh.h"
65a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
66a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes/*--------------------------------------------------------------------------*/
67a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes#ifdef __cplusplus
689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectextern "C"
69a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes{
709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project#endif
719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    /*----------------------------------------------------------------------------
73a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; MACROS
749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ; [Define module specific macros here]
759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ----------------------------------------------------------------------------*/
769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
77a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    /*----------------------------------------------------------------------------
78a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; DEFINES
79a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; [Include all pre-processor statements here.]
809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ----------------------------------------------------------------------------*/
819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
82a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    /*----------------------------------------------------------------------------
83a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; EXTERNAL VARIABLES REFERENCES
849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ; [Declare variables used in this module but defined elsewhere]
85a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ----------------------------------------------------------------------------*/
86a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    /*----------------------------------------------------------------------------
883b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris    ; SIMPLE TYPEDEF'S
893b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris    ----------------------------------------------------------------------------*/
903b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris
913b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris    /*----------------------------------------------------------------------------
923b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris    ; ENUMERATED TYPEDEF'S
933b2dc9e2253671fd8432fb0b1e18a0b5a38c4deaChristopher Ferris    ----------------------------------------------------------------------------*/
94a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
95a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    /*----------------------------------------------------------------------------
96a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; STRUCTURES TYPEDEF'S
97a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ----------------------------------------------------------------------------*/
98a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
99a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes
100a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    /*----------------------------------------------------------------------------
101a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes    ; GLOBAL FUNCTION DEFINITIONS
1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ; [List function prototypes here]
1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    ----------------------------------------------------------------------------*/
1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    void ol_ltp(
1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        pitchOLWghtState *st, /* i/o : State struct                            */
1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        vadState *vadSt,      /* i/o : VAD state struct                        */
1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        enum Mode mode,       /* i   : coder mode                              */
1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Word16 wsp[],         /* i   : signal used to compute the OL pitch, Q0 */
109a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes        /*       uses signal[-pit_max] to signal[-1]     */
1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Word16 *T_op,         /* o   : open loop pitch lag,                 Q0 */
1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Word16 old_lags[],    /* i   : history with old stored Cl lags         */
112a480dafbf2f0c7e526ba44dcbb0d603470df2199Elliott Hughes        Word16 ol_gain_flg[], /* i   : OL gain flag                            */
1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Word16 idx,           /* i   : index                                   */
1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Flag dtx,             /* i   : dtx flag; use dtx=1, do not use dtx=0   */
1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        Flag *pOverflow       /* i/o : overflow Flag                           */
1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    );
117
118
119#ifdef __cplusplus
120}
121#endif
122
123#endif  /* _OL_LTP_H_ */
124
125
126