1 /* ------------------------------------------------------------------ 2 * Copyright (C) 1998-2009 PacketVideo 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13 * express or implied. 14 * See the License for the specific language governing permissions 15 * and limitations under the License. 16 * ------------------------------------------------------------------- 17 */ 18 /**************************************************************************************** 19 Portions of this file are derived from the following 3GPP standard: 20 21 3GPP TS 26.073 22 ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec 23 Available from http://www.3gpp.org 24 25 (C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC) 26 Permission to distribute, modify and use this file under the standard license 27 terms listed above has been obtained from the copyright holder. 28 ****************************************************************************************/ 29 /* 30 ------------------------------------------------------------------------------ 31 32 33 34 Filename: /audio/gsm_amr/c/src/include/enc_lag3.h 35 36 Date: 01/29/2002 37 38 ------------------------------------------------------------------------------ 39 REVISION HISTORY 40 41 Description: Moved _cplusplus #ifdef after Include section. 42 43 Description: 44 45 ------------------------------------------------------------------------------ 46 INCLUDE DESCRIPTION 47 48 File : enc_lag3.h 49 Purpose : Encoding of fractional pitch lag with 1/3 resolution. 50 51 ------------------------------------------------------------------------------ 52 */ 53 54 #ifndef _ENC_LAG3_H_ 55 #define _ENC_LAG3_H_ 56 #define enc_lag3_h "$Id $" 57 58 /*---------------------------------------------------------------------------- 59 ; INCLUDES 60 ----------------------------------------------------------------------------*/ 61 #include "typedef.h" 62 63 /*--------------------------------------------------------------------------*/ 64 #ifdef __cplusplus 65 extern "C" 66 { 67 #endif 68 69 /*---------------------------------------------------------------------------- 70 ; MACROS 71 ; [Define module specific macros here] 72 ----------------------------------------------------------------------------*/ 73 74 /*---------------------------------------------------------------------------- 75 ; DEFINES 76 ; [Include all pre-processor statements here.] 77 ----------------------------------------------------------------------------*/ 78 79 /*---------------------------------------------------------------------------- 80 ; EXTERNAL VARIABLES REFERENCES 81 ; [Declare variables used in this module but defined elsewhere] 82 ----------------------------------------------------------------------------*/ 83 84 /*---------------------------------------------------------------------------- 85 ; SIMPLE TYPEDEF'S 86 ----------------------------------------------------------------------------*/ 87 88 /*---------------------------------------------------------------------------- 89 ; ENUMERATED TYPEDEF'S 90 ----------------------------------------------------------------------------*/ 91 92 /*---------------------------------------------------------------------------- 93 ; STRUCTURES TYPEDEF'S 94 ----------------------------------------------------------------------------*/ 95 typedef struct 96 { 97 Word16 past_gain; 98 } agcState; 99 100 /*---------------------------------------------------------------------------- 101 ; GLOBAL FUNCTION DEFINITIONS 102 ; [List function prototypes here] 103 ----------------------------------------------------------------------------*/ 104 Word16 105 Enc_lag3( /* o : Return index of encoding */ 106 Word16 T0, /* i : Pitch delay */ 107 Word16 T0_frac, /* i : Fractional pitch delay */ 108 Word16 T0_prev, /* i : Integer pitch delay of last subframe */ 109 Word16 T0_min, /* i : minimum of search range */ 110 Word16 T0_max, /* i : maximum of search range */ 111 Word16 delta_flag, /* i : Flag for 1st (or 3rd) subframe */ 112 Word16 flag4, /* i : Flag for encoding with 4 bits */ 113 Flag *pOverflow 114 ); 115 116 117 118 119 #ifdef __cplusplus 120 } 121 #endif 122 123 #endif /* _ENC_LAG3_H_ */ 124 125 126