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/ph_disp_tab.c 32 33 ------------------------------------------------------------------------------ 34 REVISION HISTORY 35 36 Description: Added #ifdef __cplusplus and removed "extern" from table 37 definition. 38 39 Description: Put "extern" back. 40 41 Who: Date: 42 Description: 43 44 ------------------------------------------------------------------------------ 45 MODULE DESCRIPTION 46 47 This file contains the table of impulse responses of the phase dispersion 48 filters. All impulse responses are in Q15 49 50 ------------------------------------------------------------------------------ 51 */ 52 53 /*---------------------------------------------------------------------------- 54 ; INCLUDES 55 ----------------------------------------------------------------------------*/ 56 #include "typedef.h" 57 58 /*--------------------------------------------------------------------------*/ 59 #ifdef __cplusplus 60 extern "C" 61 { 62 #endif 63 64 /*---------------------------------------------------------------------------- 65 ; MACROS 66 ; [Define module specific macros here] 67 ----------------------------------------------------------------------------*/ 68 69 /*---------------------------------------------------------------------------- 70 ; DEFINES 71 ; [Include all pre-processor statements here. Include conditional 72 ; compile variables also.] 73 ----------------------------------------------------------------------------*/ 74 75 /*---------------------------------------------------------------------------- 76 ; LOCAL FUNCTION DEFINITIONS 77 ; [List function prototypes here] 78 ----------------------------------------------------------------------------*/ 79 80 /*---------------------------------------------------------------------------- 81 ; LOCAL VARIABLE DEFINITIONS 82 ; [Variable declaration - defined here and used outside this module] 83 ----------------------------------------------------------------------------*/ 84 extern const Word16 ph_imp_low_MR795[]; 85 const Word16 ph_imp_low_MR795[40] = 86 { 87 26777, 801, 2505, -683, -1382, 582, 604, -1274, 3511, -5894, 88 4534, -499, -1940, 3011, -5058, 5614, -1990, -1061, -1459, 4442, 89 -700, -5335, 4609, 452, -589, -3352, 2953, 1267, -1212, -2590, 90 1731, 3670, -4475, -975, 4391, -2537, 949, -1363, -979, 5734 91 }; 92 extern const Word16 ph_imp_mid_MR795[]; 93 const Word16 ph_imp_mid_MR795[40] = 94 { 95 30274, 3831, -4036, 2972, -1048, -1002, 2477, -3043, 2815, -2231, 96 1753, -1611, 1714, -1775, 1543, -1008, 429, -169, 472, -1264, 97 2176, -2706, 2523, -1621, 344, 826, -1529, 1724, -1657, 1701, 98 -2063, 2644, -3060, 2897, -1978, 557, 780, -1369, 842, 655 99 }; 100 101 extern const Word16 ph_imp_low[]; 102 const Word16 ph_imp_low[40] = 103 { 104 14690, 11518, 1268, -2761, -5671, 7514, -35, -2807, -3040, 4823, 105 2952, -8424, 3785, 1455, 2179, -8637, 8051, -2103, -1454, 777, 106 1108, -2385, 2254, -363, -674, -2103, 6046, -5681, 1072, 3123, 107 -5058, 5312, -2329, -3728, 6924, -3889, 675, -1775, 29, 10145 108 }; 109 extern const Word16 ph_imp_mid[]; 110 const Word16 ph_imp_mid[40] = 111 { 112 30274, 3831, -4036, 2972, -1048, -1002, 2477, -3043, 2815, -2231, 113 1753, -1611, 1714, -1775, 1543, -1008, 429, -169, 472, -1264, 114 2176, -2706, 2523, -1621, 344, 826, -1529, 1724, -1657, 1701, 115 -2063, 2644, -3060, 2897, -1978, 557, 780, -1369, 842, 655 116 }; 117 118 /*--------------------------------------------------------------------------*/ 119 #ifdef __cplusplus 120 } 121 #endif 122 123 /* 124 ------------------------------------------------------------------------------ 125 FUNCTION NAME: 126 ------------------------------------------------------------------------------ 127 INPUT AND OUTPUT DEFINITIONS 128 129 Inputs: 130 None 131 132 Outputs: 133 None 134 135 Returns: 136 None 137 138 Global Variables Used: 139 None 140 141 Local Variables Needed: 142 None 143 144 ------------------------------------------------------------------------------ 145 FUNCTION DESCRIPTION 146 147 None 148 149 ------------------------------------------------------------------------------ 150 REQUIREMENTS 151 152 None 153 154 ------------------------------------------------------------------------------ 155 REFERENCES 156 157 [1] ph_disp.tab, UMTS GSM AMR speech codec, R99 - Version 3.2.0, March 2, 2001 158 159 ------------------------------------------------------------------------------ 160 PSEUDO-CODE 161 162 163 ------------------------------------------------------------------------------ 164 RESOURCES USED [optional] 165 166 When the code is written for a specific target processor the 167 the resources used should be documented below. 168 169 HEAP MEMORY USED: x bytes 170 171 STACK MEMORY USED: x bytes 172 173 CLOCK CYCLES: (cycle count equation for this function) + (variable 174 used to represent cycle count for each subroutine 175 called) 176 where: (cycle count variable) = cycle count for [subroutine 177 name] 178 179 ------------------------------------------------------------------------------ 180 CAUTION [optional] 181 [State any special notes, constraints or cautions for users of this function] 182 183 ------------------------------------------------------------------------------ 184 */ 185 186 /*---------------------------------------------------------------------------- 187 ; FUNCTION CODE 188 ----------------------------------------------------------------------------*/ 189 190 191 192 193