• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.173
22     ANSI-C code for the Adaptive Multi-Rate - Wideband (AMR-WB) speech codec
23     Available from http://www.3gpp.org
24 
25 (C) 2007, 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 
32 
33 
34  Pathname: ./cpp/include/pv_amr_wb_type_defs.h
35 
36      Date: 12/12/2006
37 
38 ------------------------------------------------------------------------------
39  REVISION HISTORY
40 
41 
42  Description:
43 ------------------------------------------------------------------------------
44  INCLUDE DESCRIPTION
45 
46  This file was derived from a number of standards bodies. The type
47  definitions below were created from some of the best practices observed
48  in the standards bodies.
49 
50  This file is dependent on limits.h for defining the bit widths. In an
51  ANSI C environment limits.h is expected to always be present and contain
52  the following definitions:
53 
54      SCHAR_MIN
55      SCHAR_MAX
56      UCHAR_MAX
57 
58      INT_MAX
59      INT_MIN
60      UINT_MAX
61 
62      SHRT_MIN
63      SHRT_MAX
64      USHRT_MAX
65 
66      LONG_MIN
67      LONG_MAX
68      ULONG_MAX
69 
70 ------------------------------------------------------------------------------
71 */
72 
73 #ifndef PV_AMR_WB_TYPE_DEFS_H
74 #define PV_AMR_WB_TYPE_DEFS_H
75 
76 #include <stdint.h>
77 
78 typedef int8_t        Word8;
79 typedef uint8_t       UWord8;
80 
81 /*----------------------------------------------------------------------------
82 ; Define generic signed and unsigned int
83 ----------------------------------------------------------------------------*/
84 typedef signed int  Int;
85 
86 typedef unsigned int    UInt;
87 
88 /*----------------------------------------------------------------------------
89 ; Define 16 bit signed and unsigned words
90 ----------------------------------------------------------------------------*/
91 
92 #ifndef INT16_MIN
93 #define INT16_MIN   (-32768)
94 #endif
95 
96 #ifndef INT16_MAX
97 #define INT16_MAX   32767
98 #endif
99 
100 /*----------------------------------------------------------------------------
101 ; Define 32 bit signed and unsigned words
102 ----------------------------------------------------------------------------*/
103 
104 
105 
106 #ifndef INT32_MIN
107 #define INT32_MIN   (-2147483647 - 1)
108 #endif
109 #ifndef INT32_MAX
110 #define INT32_MAX   2147483647
111 #endif
112 
113 
114 #ifndef UINT32_MIN
115 #define UINT32_MIN  0
116 #endif
117 #ifndef UINT32_MAX
118 #define UINT32_MAX  0xffffffff
119 #endif
120 
121 
122 /*----------------------------------------------------------------------------
123 ; Define 64 bit signed and unsigned words
124 ----------------------------------------------------------------------------*/
125 
126 
127 /*----------------------------------------------------------------------------
128 ; Define boolean type
129 ----------------------------------------------------------------------------*/
130 
131 #ifndef Flag
132 typedef Int Flag;
133 #endif
134 
135 #ifndef Bool
136 typedef Int     Bool;
137 #endif
138 #ifndef FALSE
139 #define FALSE       0
140 #endif
141 
142 #ifndef TRUE
143 #define TRUE        1
144 #endif
145 
146 #ifndef OFF
147 #define OFF     0
148 #endif
149 #ifndef ON
150 #define ON      1
151 #endif
152 
153 #ifndef NO
154 #define NO      0
155 #endif
156 #ifndef YES
157 #define YES     1
158 #endif
159 
160 #ifndef SUCCESS
161 #define SUCCESS     0
162 #endif
163 
164 #ifndef  NULL
165 #define  NULL       0
166 #endif
167 
168 typedef int16_t int16;
169 typedef int32_t int32;
170 typedef int64_t int64;
171 typedef uint8_t uint8;
172 
173 #endif  /* PV_AMR_WB_TYPE_DEFS_H */
174