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