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 Filename: /audio/gsm_amr/c/src/include/d_gain_c.h 32 33 ------------------------------------------------------------------------------ 34 REVISION HISTORY 35 36 Description: Moved _cplusplus #ifdef after Include section. 37 38 Who: Date: 39 Description: 40 41 ------------------------------------------------------------------------------ 42 INCLUDE DESCRIPTION 43 44 File : d_gain_c.h 45 Purpose : Decode the fixed codebook gain using the received index. 46 47 ------------------------------------------------------------------------------ 48 */ 49 50 #ifndef _D_GAIN_C_H_ 51 #define _D_GAIN_C_H_ 52 #define d_gain_c_h "$Id $" 53 54 /*---------------------------------------------------------------------------- 55 ; INCLUDES 56 ----------------------------------------------------------------------------*/ 57 #include "typedef.h" 58 #include "mode.h" 59 #include "gc_pred.h" 60 61 /*--------------------------------------------------------------------------*/ 62 #ifdef __cplusplus 63 extern "C" 64 { 65 #endif 66 67 /*---------------------------------------------------------------------------- 68 ; MACROS 69 ; [Define module specific macros here] 70 ----------------------------------------------------------------------------*/ 71 72 /*---------------------------------------------------------------------------- 73 ; DEFINES 74 ; [Include all pre-processor statements here.] 75 ----------------------------------------------------------------------------*/ 76 77 78 /*---------------------------------------------------------------------------- 79 ; EXTERNAL VARIABLES REFERENCES 80 ; [Declare variables used in this module but defined elsewhere] 81 ----------------------------------------------------------------------------*/ 82 83 /*---------------------------------------------------------------------------- 84 ; SIMPLE TYPEDEF'S 85 ----------------------------------------------------------------------------*/ 86 87 /*---------------------------------------------------------------------------- 88 ; ENUMERATED TYPEDEF'S 89 ----------------------------------------------------------------------------*/ 90 91 /*---------------------------------------------------------------------------- 92 ; STRUCTURES TYPEDEF'S 93 ----------------------------------------------------------------------------*/ 94 95 96 /*---------------------------------------------------------------------------- 97 ; GLOBAL FUNCTION DEFINITIONS 98 ; [List function prototypes here] 99 ----------------------------------------------------------------------------*/ 100 /* 101 * Function : d_gain_code 102 * Purpose : Decode the fixed codebook gain using the received index. 103 * Description : The received index gives the gain correction factor 104 * gamma. The quantized gain is given by g_q = g0 * gamma 105 * where g0 is the predicted gain. To find g0, 4th order 106 * MA prediction is applied to the mean-removed innovation 107 * energy in dB. 108 * Returns : void 109 */ 110 void d_gain_code( 111 gc_predState *pred_state, /* i/o : MA predictor state */ 112 enum Mode mode, /* i : AMR mode */ 113 Word16 index, /* i : received quantization index */ 114 Word16 code[], /* i : innovation codevector */ 115 Word16 *gain_code, /* o : decoded innovation gain */ 116 Flag *pOverflow 117 ); 118 119 #ifdef __cplusplus 120 } 121 #endif 122 123 #endif /* _D_GAIN_C_H_ */ 124 125 126