Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(49)

Side by Side Diff: third_party/openmax_dl/dl/api/omxtypes.h

Issue 12317152: Add openmax dl routines for review. MUST NOT BE LANDED (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /**
2 * File: omxtypes.h
3 * Brief: Defines basic Data types used in OpenMAX v1.0.2 header files.
4 *
5 * Copyright © 2005-2008 The Khronos Group Inc. All Rights Reserved.
6 *
7 * These materials are protected by copyright laws and contain material
8 * proprietary to the Khronos Group, Inc. You may use these materials
9 * for implementing Khronos specifications, without altering or removing
10 * any trademark, copyright or other notice from the specification.
11 *
12 * Khronos Group makes no, and expressly disclaims any, representations
13 * or warranties, express or implied, regarding these materials, including,
14 * without limitation, any implied warranties of merchantability or fitness
15 * for a particular purpose or non-infringement of any intellectual property.
16 * Khronos Group makes no, and expressly disclaims any, warranties, express
17 * or implied, regarding the correctness, accuracy, completeness, timeliness,
18 * and reliability of these materials.
19 *
20 * Under no circumstances will the Khronos Group, or any of its Promoters,
21 * Contributors or Members or their respective partners, officers, directors,
22 * employees, agents or representatives be liable for any damages, whether
23 * direct, indirect, special or consequential damages for lost revenues,
24 * lost profits, or otherwise, arising from or in connection with these
25 * materials.
26 *
27 * Khronos and OpenMAX are trademarks of the Khronos Group Inc.
28 *
29 */
30
31 #ifndef _OMXTYPES_H_
32 #define _OMXTYPES_H_
33
34 #include <limits.h>
35
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39
40 /*
41 * Maximum FFT order supported by the twiddle table. Only used by the
42 * float FFT routines. Must be consistent with the table in
43 * armSP_FFT_F32TwiddleTable.c.
44 */
45 #ifdef BIG_FFT_TABLE
46 #define TWIDDLE_TABLE_ORDER 15
47 #else
48 #define TWIDDLE_TABLE_ORDER 12
49 #endif
50
51 #define OMX_IN
52 #define OMX_OUT
53 #define OMX_INOUT
54
55
56 typedef enum {
57
58 /* Mandatory return codes - use cases are explicitly described for each func tion */
59 OMX_Sts_NoErr = 0, /* No error, the function complete d successfully */
60 OMX_Sts_Err = -2, /* Unknown/unspecified error */
61 OMX_Sts_InvalidBitstreamValErr = -182, /* Invalid value detected during b itstream processing */
62 OMX_Sts_MemAllocErr = -9, /* Not enough memory allocated for the operation */
63 OMX_StsACAAC_GainCtrErr = -159, /* AAC: Unsupported gain control d ata detected */
64 OMX_StsACAAC_PrgNumErr = -167, /* AAC: Invalid number of elements for one program */
65 OMX_StsACAAC_CoefValErr = -163, /* AAC: Invalid quantized coeffici ent value */
66 OMX_StsACAAC_MaxSfbErr = -162, /* AAC: Invalid maxSfb value in re lation to numSwb */
67 OMX_StsACAAC_PlsDataErr = -160, /* AAC: pulse escape seque nce data error */
68
69 /* Optional return codes - use cases are explicitly described for each funct ion*/
70 OMX_Sts_BadArgErr = -5, /* Bad Arguments */
71
72 OMX_StsACAAC_TnsNumFiltErr = -157, /* AAC: Invalid number of TNS filt ers */
73 OMX_StsACAAC_TnsLenErr = -156, /* AAC: Invalid TNS region length */
74 OMX_StsACAAC_TnsOrderErr = -155, /* AAC: Invalid order of TNS filte r */
75 OMX_StsACAAC_TnsCoefResErr = -154, /* AAC: Invalid bit-resolution for TNS filter coefficients */
76 OMX_StsACAAC_TnsCoefErr = -153, /* AAC: Invalid TNS filter coeffic ients */
77 OMX_StsACAAC_TnsDirectErr = -152, /* AAC: Invalid TNS filter directi on */
78
79 OMX_StsICJP_JPEGMarkerErr = -183, /* JPEG marker encountered within an entropy-coded block; */
80 /* Huffman decoding operation term inated early. */
81 OMX_StsICJP_JPEGMarker = -181, /* JPEG marker encountered; Huffma n decoding */
82 /* operation terminated early. */
83 OMX_StsIPPP_ContextMatchErr = -17, /* Context parameter doesn't match to the operation */
84
85 OMX_StsSP_EvenMedianMaskSizeErr = -180, /* Even size of the Median Filter mask was replaced by the odd one */
86
87 OMX_Sts_MaximumEnumeration = INT_MAX /*Placeholder, forces enum of si ze OMX_INT*/
88
89 } OMXResult; /** Return value or error value returned from a function. Identical to OMX_INT */
90
91
92 /* OMX_U8 */
93 #if UCHAR_MAX == 0xff
94 typedef unsigned char OMX_U8;
95 #elif USHRT_MAX == 0xff
96 typedef unsigned short int OMX_U8;
97 #else
98 #error OMX_U8 undefined
99 #endif
100
101
102 /* OMX_S8 */
103 #if SCHAR_MAX == 0x7f
104 typedef signed char OMX_S8;
105 #elif SHRT_MAX == 0x7f
106 typedef signed short int OMX_S8;
107 #else
108 #error OMX_S8 undefined
109 #endif
110
111
112 /* OMX_U16 */
113 #if USHRT_MAX == 0xffff
114 typedef unsigned short int OMX_U16;
115 #elif UINT_MAX == 0xffff
116 typedef unsigned int OMX_U16;
117 #else
118 #error OMX_U16 undefined
119 #endif
120
121
122 /* OMX_S16 */
123 #if SHRT_MAX == 0x7fff
124 typedef signed short int OMX_S16;
125 #elif INT_MAX == 0x7fff
126 typedef signed int OMX_S16;
127 #else
128 #error OMX_S16 undefined
129 #endif
130
131
132 /* OMX_U32 */
133 #if UINT_MAX == 0xffffffff
134 typedef unsigned int OMX_U32;
135 #elif LONG_MAX == 0xffffffff
136 typedef unsigned long int OMX_U32;
137 #else
138 #error OMX_U32 undefined
139 #endif
140
141
142 /* OMX_S32 */
143 #if INT_MAX == 0x7fffffff
144 typedef signed int OMX_S32;
145 #elif LONG_MAX == 0x7fffffff
146 typedef long signed int OMX_S32;
147 #else
148 #error OMX_S32 undefined
149 #endif
150
151
152 /* OMX_U64 & OMX_S64 */
153 #if defined( _WIN32 ) || defined ( _WIN64 )
154 typedef __int64 OMX_S64; /** Signed 64-bit integer */
155 typedef unsigned __int64 OMX_U64; /** Unsigned 64-bit integer */
156 #define OMX_MIN_S64 (0x8000000000000000i64)
157 #define OMX_MIN_U64 (0x0000000000000000i64)
158 #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFi64)
159 #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFi64)
160 #else
161 typedef long long OMX_S64; /** Signed 64-bit integer */
162 typedef unsigned long long OMX_U64; /** Unsigned 64-bit integer */
163 #define OMX_MIN_S64 (0x8000000000000000LL)
164 #define OMX_MIN_U64 (0x0000000000000000LL)
165 #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFLL)
166 #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFLL)
167 #endif
168
169
170 /* OMX_SC8 */
171 typedef struct
172 {
173 OMX_S8 Re; /** Real part */
174 OMX_S8 Im; /** Imaginary part */
175
176 } OMX_SC8; /** Signed 8-bit complex number */
177
178
179 /* OMX_SC16 */
180 typedef struct
181 {
182 OMX_S16 Re; /** Real part */
183 OMX_S16 Im; /** Imaginary part */
184
185 } OMX_SC16; /** Signed 16-bit complex number */
186
187
188 /* OMX_SC32 */
189 typedef struct
190 {
191 OMX_S32 Re; /** Real part */
192 OMX_S32 Im; /** Imaginary part */
193
194 } OMX_SC32; /** Signed 32-bit complex number */
195
196
197 /* OMX_SC64 */
198 typedef struct
199 {
200 OMX_S64 Re; /** Real part */
201 OMX_S64 Im; /** Imaginary part */
202
203 } OMX_SC64; /** Signed 64-bit complex number */
204
205
206 /* OMX_F32 */
207 typedef float OMX_F32; /** Single precision floating point,IEEE 754 */
208
209 /* OMX_F64 */
210 typedef double OMX_F64; /** Double precision floating point,IEEE 754 */
211
212 /* OMX_FC32 */
213 typedef struct
214 {
215 OMX_F32 Re; /** Real part */
216 OMX_F32 Im; /** Imaginary part */
217
218 } OMX_FC32; /** single precision floating point complex number */
219
220 /* OMX_FC64 */
221 typedef struct
222 {
223 OMX_F64 Re; /** Real part */
224 OMX_F64 Im; /** Imaginary part */
225
226 } OMX_FC64; /** double precision floating point complex number */
227
228 /* OMX_INT */
229 typedef int OMX_INT; /** signed integer corresponding to machine word length, ha s maximum signed value INT_MAX*/
230
231
232 #define OMX_MIN_S8 (-128)
233 #define OMX_MIN_U8 0
234 #define OMX_MIN_S16 (-32768)
235 #define OMX_MIN_U16 0
236 #define OMX_MIN_S32 (-2147483647-1)
237 #define OMX_MIN_U32 0
238
239 #define OMX_MAX_S8 (127)
240 #define OMX_MAX_U8 (255)
241 #define OMX_MAX_S16 (32767)
242 #define OMX_MAX_U16 (0xFFFF)
243 #define OMX_MAX_S32 (2147483647)
244 #define OMX_MAX_U32 (0xFFFFFFFF)
245
246 typedef void OMXVoid;
247
248 #ifndef NULL
249 #define NULL ((void*)0)
250 #endif
251
252 /** Defines the geometric position and size of a rectangle,
253 * where x,y defines the coordinates of the top left corner
254 * of the rectangle, with dimensions width in the x-direction
255 * and height in the y-direction */
256 typedef struct {
257 OMX_INT x; /** x-coordinate of top left corner of rectangle */
258 OMX_INT y; /** y-coordinate of top left corner of rectangle */
259 OMX_INT width; /** Width in the x-direction. */
260 OMX_INT height; /** Height in the y-direction. */
261 }OMXRect;
262
263
264 /** Defines the geometric position of a point, */
265 typedef struct
266 {
267 OMX_INT x; /** x-coordinate */
268 OMX_INT y; /** y-coordinate */
269
270 } OMXPoint;
271
272
273 /** Defines the dimensions of a rectangle, or region of interest in an image */
274 typedef struct
275 {
276 OMX_INT width; /** Width of the rectangle, in the x-direction */
277 OMX_INT height; /** Height of the rectangle, in the y-direction */
278
279 } OMXSize;
280
281 #ifdef __cplusplus
282 }
283 #endif
284 #endif /* _OMXTYPES_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698