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/sqrt_l_tbl.c 32 33 ------------------------------------------------------------------------------ 34 REVISION HISTORY 35 36 Description: Changed the table name to sqrt_l_tbl. 37 38 Description: Added #ifdef __cplusplus and removed "extern" from table 39 definition. 40 41 Description: Put "extern" back. 42 43 Who: Date: 44 Description: 45 46 ------------------------------------------------------------------------------ 47 MODULE DESCRIPTION 48 49 This file contains the declaration for sqrt_l_table[] used by the sqrt_l_exp 50 function. 51 52 sqrt_l_tbl[i] = sqrt((i+16)*2^-6) * 2^15, i.e. sqrt(x) scaled Q15 53 54 ------------------------------------------------------------------------------ 55 */ 56 57 /*---------------------------------------------------------------------------- 58 ; INCLUDES 59 ----------------------------------------------------------------------------*/ 60 #include "typedef.h" 61 #include "sqrt_l.h" 62 63 /*--------------------------------------------------------------------------*/ 64 #ifdef __cplusplus 65 extern "C" 66 { 67 #endif 68 69 /*---------------------------------------------------------------------------- 70 ; MACROS 71 ; [Define module specific macros here] 72 ----------------------------------------------------------------------------*/ 73 74 /*---------------------------------------------------------------------------- 75 ; DEFINES 76 ; [Include all pre-processor statements here. Include conditional 77 ; compile variables also.] 78 ----------------------------------------------------------------------------*/ 79 80 /*---------------------------------------------------------------------------- 81 ; LOCAL FUNCTION DEFINITIONS 82 ; [List function prototypes here] 83 ----------------------------------------------------------------------------*/ 84 85 /*---------------------------------------------------------------------------- 86 ; LOCAL VARIABLE DEFINITIONS 87 ; [Variable declaration - defined here and used outside this module] 88 ----------------------------------------------------------------------------*/ 89 const Word16 sqrt_l_tbl[50] = 90 { 91 16384, 16888, 17378, 17854, 18318, 18770, 19212, 19644, 20066, 20480, 92 20886, 21283, 21674, 22058, 22435, 22806, 23170, 23530, 23884, 24232, 93 24576, 24915, 25249, 25580, 25905, 26227, 26545, 26859, 27170, 27477, 94 27780, 28081, 28378, 28672, 28963, 29251, 29537, 29819, 30099, 30377, 95 30652, 30924, 31194, 31462, 31727, 31991, 32252, 32511, 32767, 32767 96 }; 97 98 99 /*--------------------------------------------------------------------------*/ 100 #ifdef __cplusplus 101 } 102 #endif 103 104 /* 105 ------------------------------------------------------------------------------ 106 FUNCTION NAME: 107 ------------------------------------------------------------------------------ 108 INPUT AND OUTPUT DEFINITIONS 109 110 Inputs: 111 None 112 113 Outputs: 114 None 115 116 Returns: 117 None 118 119 Global Variables Used: 120 None 121 122 Local Variables Needed: 123 None 124 125 ------------------------------------------------------------------------------ 126 FUNCTION DESCRIPTION 127 128 None 129 130 ------------------------------------------------------------------------------ 131 REQUIREMENTS 132 133 None 134 135 ------------------------------------------------------------------------------ 136 REFERENCES 137 138 [1] inv_sqrt.tab file, UMTS GSM AMR speech codec, R99 - Version 3.2.0, 139 March 2, 2001 140 141 ------------------------------------------------------------------------------ 142 PSEUDO-CODE 143 144 145 ------------------------------------------------------------------------------ 146 RESOURCES USED [optional] 147 148 When the code is written for a specific target processor the 149 the resources used should be documented below. 150 151 HEAP MEMORY USED: x bytes 152 153 STACK MEMORY USED: x bytes 154 155 CLOCK CYCLES: (cycle count equation for this function) + (variable 156 used to represent cycle count for each subroutine 157 called) 158 where: (cycle count variable) = cycle count for [subroutine 159 name] 160 161 ------------------------------------------------------------------------------ 162 CAUTION [optional] 163 [State any special notes, constraints or cautions for users of this function] 164 165 ------------------------------------------------------------------------------ 166 */ 167 168 /*---------------------------------------------------------------------------- 169 ; FUNCTION CODE 170 ----------------------------------------------------------------------------*/ 171 172