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/gray_tbl.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 declaration for the gray encoding and decoding tables, 48 gray_tbl[] and dgray_tbl[] used by the c1035pf and d1035pf module 49 respectively. 50 51 ------------------------------------------------------------------------------ 52 */ 53 54 /*---------------------------------------------------------------------------- 55 ; INCLUDES 56 ----------------------------------------------------------------------------*/ 57 #include "typedef.h" 58 59 /*--------------------------------------------------------------------------*/ 60 #ifdef __cplusplus 61 extern "C" 62 { 63 #endif 64 65 /*---------------------------------------------------------------------------- 66 ; MACROS 67 ; [Define module specific macros here] 68 ----------------------------------------------------------------------------*/ 69 70 /*---------------------------------------------------------------------------- 71 ; DEFINES 72 ; [Include all pre-processor statements here. Include conditional 73 ; compile variables also.] 74 ----------------------------------------------------------------------------*/ 75 76 /*---------------------------------------------------------------------------- 77 ; LOCAL FUNCTION DEFINITIONS 78 ; [List function prototypes here] 79 ----------------------------------------------------------------------------*/ 80 81 /*---------------------------------------------------------------------------- 82 ; LOCAL VARIABLE DEFINITIONS 83 ; [Variable declaration - defined here and used outside this module] 84 ----------------------------------------------------------------------------*/ 85 86 extern const Word16 gray[]; 87 extern const Word16 dgray[]; 88 const Word16 gray[8] = {0, 1, 3, 2, 6, 4, 5, 7}; 89 const Word16 dgray[8] = {0, 1, 3, 2, 5, 6, 4, 7}; 90 91 /*--------------------------------------------------------------------------*/ 92 #ifdef __cplusplus 93 } 94 #endif 95 96 /* 97 ------------------------------------------------------------------------------ 98 FUNCTION NAME: 99 ------------------------------------------------------------------------------ 100 INPUT AND OUTPUT DEFINITIONS 101 102 Inputs: 103 None 104 105 Outputs: 106 None 107 108 Returns: 109 None 110 111 Global Variables Used: 112 None 113 114 Local Variables Needed: 115 None 116 117 ------------------------------------------------------------------------------ 118 FUNCTION DESCRIPTION 119 120 None 121 122 ------------------------------------------------------------------------------ 123 REQUIREMENTS 124 125 None 126 127 ------------------------------------------------------------------------------ 128 REFERENCES 129 130 [1] gray.tab, UMTS GSM AMR speech codec, R99 - Version 3.2.0, March 2, 2001 131 132 ------------------------------------------------------------------------------ 133 PSEUDO-CODE 134 135 136 ------------------------------------------------------------------------------ 137 RESOURCES USED [optional] 138 139 When the code is written for a specific target processor the 140 the resources used should be documented below. 141 142 HEAP MEMORY USED: x bytes 143 144 STACK MEMORY USED: x bytes 145 146 CLOCK CYCLES: (cycle count equation for this function) + (variable 147 used to represent cycle count for each subroutine 148 called) 149 where: (cycle count variable) = cycle count for [subroutine 150 name] 151 152 ------------------------------------------------------------------------------ 153 CAUTION [optional] 154 [State any special notes, constraints or cautions for users of this function] 155 156 ------------------------------------------------------------------------------ 157 */ 158 159 /*---------------------------------------------------------------------------- 160 ; FUNCTION CODE 161 ----------------------------------------------------------------------------*/ 162 163