1 /* ------------------------------------------------------------------
2 * Copyright (C) 1998-2009 PacketVideo
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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
14 * See the License for the specific language governing permissions
15 * and limitations under the License.
16 * -------------------------------------------------------------------
18 /****************************************************************************************
19 Portions of this file are derived from the following 3GPP standard:
22 ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec
23 Available from http://www.3gpp.org
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 ****************************************************************************************/
30 ------------------------------------------------------------------------------
32 Pathname: .audio/gsm-amr/c/src/inter_36_tab.c
36 ------------------------------------------------------------------------------
39 Description: Changed tables from static const to just const.
41 Description: Added #ifdef __cplusplus and removed "extern" from table
42 definition. Removed corresponding header file from Include
45 Description: Put "extern" back.
49 ------------------------------------------------------------------------------
50 INPUT AND OUTPUT DEFINITIONS
55 Local Stores/Buffers/Pointers Needed:
58 Global Stores/Buffers/Pointers Needed:
64 Pointers and Buffers Modified:
67 Local Stores Modified:
70 Global Stores Modified:
73 ------------------------------------------------------------------------------
77 Purpose : Tables for interpolating the normalized correlation
78 with 1/3 or 1/6 resolution.
81 ------------------------------------------------------------------------------
86 ------------------------------------------------------------------------------
91 ------------------------------------------------------------------------------
95 ------------------------------------------------------------------------------
97 When the code is written for a specific target processor the
98 the resources used should be documented below.
100 STACK USAGE: [stack count for this module] + [variable to represent
101 stack usage for each subroutine called]
103 where: [stack usage variable] = stack usage for [subroutine
104 name] (see [filename].ext)
106 DATA MEMORY USED: x words
108 PROGRAM MEMORY USED: x words
110 CLOCK CYCLES: [cycle count equation for this module] + [variable
111 used to represent cycle count for each subroutine
114 where: [cycle count variable] = cycle count for [subroutine
115 name] (see [filename].ext)
117 ------------------------------------------------------------------------------
121 /*----------------------------------------------------------------------------
123 ----------------------------------------------------------------------------*/
127 /*--------------------------------------------------------------------------*/
133 /*----------------------------------------------------------------------------
135 ; Define module specific macros here
136 ----------------------------------------------------------------------------*/
139 /*----------------------------------------------------------------------------
141 ; Include all pre-processor statements here. Include conditional
142 ; compile variables also.
143 ----------------------------------------------------------------------------*/
144 #define UP_SAMP_MAX 6
145 #define FIR_SIZE (UP_SAMP_MAX*L_INTER_SRCH+1)
147 /*----------------------------------------------------------------------------
148 ; LOCAL FUNCTION DEFINITIONS
149 ; Function Prototype declaration
150 ----------------------------------------------------------------------------*/
153 /*----------------------------------------------------------------------------
154 ; LOCAL STORE/BUFFER/POINTER DEFINITIONS
155 ; Variable declaration - defined here and used outside this module
156 ----------------------------------------------------------------------------*/
157 /* 1/6 resolution interpolation filter (-3 dB at 3600 Hz) */
158 /* Note: The IS641 (7.4) 1/3 resolution filter is simply a subsampled
159 version of the 1/6 resolution filter, i.e. it uses
160 every second coefficient:
162 inter_3[k] = inter_6[2*k], 0 <= k <= 3*L_INTER_SRCH
165 extern const Word16 inter_6[FIR_SIZE] =
168 28316, 24906, 19838, 13896, 7945, 2755,
169 -1127, -3459, -4304, -3969, -2899, -1561,
170 -336, 534, 970, 1023, 823, 516,
171 220, 0, -131, -194, -215, 0
174 /*----------------------------------------------------------------------------
175 ; EXTERNAL FUNCTION REFERENCES
176 ; Declare functions defined elsewhere and referenced in this module
177 ----------------------------------------------------------------------------*/
180 /*----------------------------------------------------------------------------
181 ; EXTERNAL GLOBAL STORE/BUFFER/POINTER REFERENCES
182 ; Declare variables used in this module but defined elsewhere
183 ----------------------------------------------------------------------------*/
186 /*--------------------------------------------------------------------------*/
191 /*----------------------------------------------------------------------------
193 ----------------------------------------------------------------------------*/
195 /*----------------------------------------------------------------------------
196 ; Define all local variables
197 ----------------------------------------------------------------------------*/
200 /*----------------------------------------------------------------------------
202 ----------------------------------------------------------------------------*/
205 /*----------------------------------------------------------------------------
206 ; Return nothing or data or data pointer
207 ----------------------------------------------------------------------------*/