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