overflow_tbl.cpp revision 4f1efc098cb5791c3e9f483f2af84aef70d2d0a0
1346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell/* ------------------------------------------------------------------ 2346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * Copyright (C) 1998-2009 PacketVideo 3346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * 4346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * Licensed under the Apache License, Version 2.0 (the "License"); 5346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * you may not use this file except in compliance with the License. 6346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * You may obtain a copy of the License at 7346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * 8346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * http://www.apache.org/licenses/LICENSE-2.0 9346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * 10346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * Unless required by applicable law or agreed to in writing, software 11346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * distributed under the License is distributed on an "AS IS" BASIS, 12346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 13346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * express or implied. 14346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * See the License for the specific language governing permissions 15346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * and limitations under the License. 16346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell * ------------------------------------------------------------------- 17346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell */ 18346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell/**************************************************************************************** 19346e2f2390f0d743fd10e7d01a015df6b32292cdAdam PowellPortions of this file are derived from the following 3GPP standard: 20b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 21009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell 3GPP TS 26.073 22c56ba65d20be8742ff717907a3a2cd81dd0e5f3cAdam Powell ANSI-C code for the Adaptive Multi-Rate (AMR) speech codec 23346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell Available from http://www.3gpp.org 24346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell 25346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell(C) 2004, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC) 26346e2f2390f0d743fd10e7d01a015df6b32292cdAdam PowellPermission to distribute, modify and use this file under the standard license 27346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powellterms listed above has been obtained from the copyright holder. 28346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell****************************************************************************************/ 29346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell/* 30346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell 31346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell Filename: /audio/gsm_amr/c/src/overflow_tbl.c 32b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 33009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell------------------------------------------------------------------------------ 34009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell REVISION HISTORY 35b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 36009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell Description: Added #ifdef __cplusplus and removed "extern" from table 37346e2f2390f0d743fd10e7d01a015df6b32292cdAdam Powell definition. 38b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 39b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Description: Put "extern" back. 40b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 41b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Who: Date: 42b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Description: 43b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 44b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 45b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell MODULE DESCRIPTION 46b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 47b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell This file contains the declaration for overflow_tbl[] used by the l_shl() 48b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell and l_shr() functions. 49b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 50b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 51b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell*/ 52b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 53b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell/*---------------------------------------------------------------------------- 54b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell; INCLUDES 556580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell----------------------------------------------------------------------------*/ 566580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell#include "typedef.h" 57b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 58b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell/*--------------------------------------------------------------------------*/ 59009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell#ifdef __cplusplus 60009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powellextern "C" 61b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell{ 62b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell#endif 63b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 64b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell /*---------------------------------------------------------------------------- 65b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; MACROS 66b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; [Define module specific macros here] 67b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ----------------------------------------------------------------------------*/ 68b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 69b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell /*---------------------------------------------------------------------------- 7048e3efd2e7bc8057212d3936a239838ecf6e40a9Yigit Boyar ; DEFINES 71b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; [Include all pre-processor statements here. Include conditional 72b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; compile variables also.] 73b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ----------------------------------------------------------------------------*/ 74b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 75b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell /*---------------------------------------------------------------------------- 76b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; LOCAL FUNCTION DEFINITIONS 77b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; [List function prototypes here] 78b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ----------------------------------------------------------------------------*/ 79b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 80b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell /*---------------------------------------------------------------------------- 81b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; LOCAL VARIABLE DEFINITIONS 82b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ; [Variable declaration - defined here and used outside this module] 83b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell ----------------------------------------------------------------------------*/ 84b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell extern const Word32 overflow_tbl [32] = {0x7fffffffL, 0x3fffffffL, 85b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x1fffffffL, 0x0fffffffL, 86b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x07ffffffL, 0x03ffffffL, 87b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x01ffffffL, 0x00ffffffL, 88b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x007fffffL, 0x003fffffL, 89b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x001fffffL, 0x000fffffL, 90009b4ef9d97e1cc237477e3284fc305bb1438cc9Adam Powell 0x0007ffffL, 0x0003ffffL, 9148e3efd2e7bc8057212d3936a239838ecf6e40a9Yigit Boyar 0x0001ffffL, 0x0000ffffL, 92b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x00007fffL, 0x00003fffL, 93b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x00001fffL, 0x00000fffL, 94b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x000007ffL, 0x000003ffL, 95b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x000001ffL, 0x000000ffL, 96b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x0000007fL, 0x0000003fL, 97b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x0000001fL, 0x0000000fL, 98b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x00000007L, 0x00000003L, 99b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 0x00000001L, 0x00000000L 100b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell }; 101b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 102b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell /*--------------------------------------------------------------------------*/ 103b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell#ifdef __cplusplus 104b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell} 105b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell#endif 106b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 107b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell/* 108b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 109b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell FUNCTION NAME: 110b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 111b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell INPUT AND OUTPUT DEFINITIONS 112b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 113b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Inputs: 114b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 115b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 116b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Outputs: 117b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 118b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 119b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Returns: 120b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 121b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 122b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Global Variables Used: 123b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 124b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 125b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell Local Variables Needed: 126b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 127b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 128b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 129b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell FUNCTION DESCRIPTION 130b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 131b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 132b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 133b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 134b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell REQUIREMENTS 135b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 136b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell None 137b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 1386580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell------------------------------------------------------------------------------ 1396580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell REFERENCES 1406580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell 1416580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell [1] l_shl() function in basic_op2.c, UMTS GSM AMR speech codec, R99 - 1426580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell Version 3.2.0, March 2, 2001 1436580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell 1446580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell------------------------------------------------------------------------------ 1456580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell PSEUDO-CODE 1466580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell 1476580cf4b7e74a2a017ed95b0dc50155b9995edebAdam Powell 148b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 149b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell RESOURCES USED [optional] 150b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 151b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell When the code is written for a specific target processor the 152b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell the resources used should be documented below. 153b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 154b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell HEAP MEMORY USED: x bytes 155b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 156b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell STACK MEMORY USED: x bytes 157b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 15848e3efd2e7bc8057212d3936a239838ecf6e40a9Yigit Boyar CLOCK CYCLES: (cycle count equation for this function) + (variable 159b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell used to represent cycle count for each subroutine 160b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell called) 161b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell where: (cycle count variable) = cycle count for [subroutine 162b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell name] 163b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 164b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 165b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell CAUTION [optional] 166b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell [State any special notes, constraints or cautions for users of this function] 167b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 168b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell------------------------------------------------------------------------------ 169b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell*/ 170b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 171b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell/*---------------------------------------------------------------------------- 172b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell; FUNCTION CODE 173b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell----------------------------------------------------------------------------*/ 174b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell 175b9e34c7d443082d5ee2b90a0e6788523d8df0df1Adam Powell