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/include/lsp_avg.h 35 36 Date: 01/29/2002 37 38 ------------------------------------------------------------------------------ 39 REVISION HISTORY 40 41 Description: Placed header file in the proper template format. Added 42 parameter pOverflow for the basic math ops. 43 44 Description: Per review comments, I removed the prototype definition 45 of lsp_avg_init and lsp_avg_exit. 46 47 Description: Replaced "int" and/or "char" with OSCL defined types. 48 49 Description: Moved _cplusplus #ifdef after Include section. 50 51 Description: 52 53 ------------------------------------------------------------------------------ 54 INCLUDE DESCRIPTION 55 56 This file contains all the constant definitions and prototype definitions 57 needed by the lsp_avg.c 58 59 ------------------------------------------------------------------------------ 60 */ 61 62 /*---------------------------------------------------------------------------- 63 ; CONTINUE ONLY IF NOT ALREADY DEFINED 64 ----------------------------------------------------------------------------*/ 65 #ifndef lsp_avg_h 66 #define lsp_avg_h "$Id $" 67 68 /*---------------------------------------------------------------------------- 69 ; INCLUDES 70 ----------------------------------------------------------------------------*/ 71 #include "typedef.h" 72 #include "cnst.h" 73 74 /*--------------------------------------------------------------------------*/ 75 #ifdef __cplusplus 76 extern "C" 77 { 78 #endif 79 80 /*---------------------------------------------------------------------------- 81 ; MACROS 82 ; Define module specific macros here 83 ----------------------------------------------------------------------------*/ 84 85 /*---------------------------------------------------------------------------- 86 ; DEFINES 87 ; Include all pre-processor statements here. 88 ----------------------------------------------------------------------------*/ 89 #define EXPCONST 5243 /* 0.16 in Q15 */ 90 91 /*---------------------------------------------------------------------------- 92 ; EXTERNAL VARIABLES REFERENCES 93 ; Declare variables used in this module but defined elsewhere 94 ----------------------------------------------------------------------------*/ 95 96 /*---------------------------------------------------------------------------- 97 ; SIMPLE TYPEDEF'S 98 ----------------------------------------------------------------------------*/ 99 100 /*---------------------------------------------------------------------------- 101 ; ENUMERATED TYPEDEF'S 102 ----------------------------------------------------------------------------*/ 103 104 /*---------------------------------------------------------------------------- 105 ; STRUCTURES TYPEDEF'S 106 ----------------------------------------------------------------------------*/ 107 typedef struct 108 { 109 Word16 lsp_meanSave[M]; /* Averaged LSPs saved for efficiency */ 110 } lsp_avgState; 111 112 /*---------------------------------------------------------------------------- 113 ; GLOBAL FUNCTION DEFINITIONS 114 ; Function Prototype declaration 115 ----------------------------------------------------------------------------*/ 116 117 Word16 lsp_avg_reset( 118 lsp_avgState *state 119 ); 120 121 122 void lsp_avg( 123 lsp_avgState *st, /* i/o : State struct Q15 */ 124 Word16 *lsp, /* i : LSP vector Q15 */ 125 Flag *pOverflow /* o : Flag set when overflow occurs */ 126 ); 127 128 /*---------------------------------------------------------------------------- 129 ; END 130 ----------------------------------------------------------------------------*/ 131 #ifdef __cplusplus 132 } 133 #endif 134 135 #endif /* _LSP_LSF_H_ */ 136 137