10c1bc742181ded4930842b46e9507372f0b1b963James Dong/** 20c1bc742181ded4930842b46e9507372f0b1b963James Dong * File: omxtypes.h 30c1bc742181ded4930842b46e9507372f0b1b963James Dong * Brief: Defines basic Data types used in OpenMAX v1.0.2 header files. 40c1bc742181ded4930842b46e9507372f0b1b963James Dong * 50c1bc742181ded4930842b46e9507372f0b1b963James Dong * Copyright � 2005-2008 The Khronos Group Inc. All Rights Reserved. 60c1bc742181ded4930842b46e9507372f0b1b963James Dong * 70c1bc742181ded4930842b46e9507372f0b1b963James Dong * These materials are protected by copyright laws and contain material 80c1bc742181ded4930842b46e9507372f0b1b963James Dong * proprietary to the Khronos Group, Inc. You may use these materials 90c1bc742181ded4930842b46e9507372f0b1b963James Dong * for implementing Khronos specifications, without altering or removing 100c1bc742181ded4930842b46e9507372f0b1b963James Dong * any trademark, copyright or other notice from the specification. 110c1bc742181ded4930842b46e9507372f0b1b963James Dong * 120c1bc742181ded4930842b46e9507372f0b1b963James Dong * Khronos Group makes no, and expressly disclaims any, representations 130c1bc742181ded4930842b46e9507372f0b1b963James Dong * or warranties, express or implied, regarding these materials, including, 140c1bc742181ded4930842b46e9507372f0b1b963James Dong * without limitation, any implied warranties of merchantability or fitness 150c1bc742181ded4930842b46e9507372f0b1b963James Dong * for a particular purpose or non-infringement of any intellectual property. 160c1bc742181ded4930842b46e9507372f0b1b963James Dong * Khronos Group makes no, and expressly disclaims any, warranties, express 170c1bc742181ded4930842b46e9507372f0b1b963James Dong * or implied, regarding the correctness, accuracy, completeness, timeliness, 180c1bc742181ded4930842b46e9507372f0b1b963James Dong * and reliability of these materials. 190c1bc742181ded4930842b46e9507372f0b1b963James Dong * 200c1bc742181ded4930842b46e9507372f0b1b963James Dong * Under no circumstances will the Khronos Group, or any of its Promoters, 210c1bc742181ded4930842b46e9507372f0b1b963James Dong * Contributors or Members or their respective partners, officers, directors, 220c1bc742181ded4930842b46e9507372f0b1b963James Dong * employees, agents or representatives be liable for any damages, whether 230c1bc742181ded4930842b46e9507372f0b1b963James Dong * direct, indirect, special or consequential damages for lost revenues, 240c1bc742181ded4930842b46e9507372f0b1b963James Dong * lost profits, or otherwise, arising from or in connection with these 250c1bc742181ded4930842b46e9507372f0b1b963James Dong * materials. 260c1bc742181ded4930842b46e9507372f0b1b963James Dong * 270c1bc742181ded4930842b46e9507372f0b1b963James Dong * Khronos and OpenMAX are trademarks of the Khronos Group Inc. 280c1bc742181ded4930842b46e9507372f0b1b963James Dong * 290c1bc742181ded4930842b46e9507372f0b1b963James Dong */ 300c1bc742181ded4930842b46e9507372f0b1b963James Dong 310c1bc742181ded4930842b46e9507372f0b1b963James Dong#ifndef _OMXTYPES_H_ 320c1bc742181ded4930842b46e9507372f0b1b963James Dong#define _OMXTYPES_H_ 330c1bc742181ded4930842b46e9507372f0b1b963James Dong 340c1bc742181ded4930842b46e9507372f0b1b963James Dong#include <limits.h> 350c1bc742181ded4930842b46e9507372f0b1b963James Dong 360c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_IN 370c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_OUT 380c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_INOUT 390c1bc742181ded4930842b46e9507372f0b1b963James Dong 400c1bc742181ded4930842b46e9507372f0b1b963James Dong 410c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef enum { 420c1bc742181ded4930842b46e9507372f0b1b963James Dong 430c1bc742181ded4930842b46e9507372f0b1b963James Dong /* Mandatory return codes - use cases are explicitly described for each function */ 440c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_NoErr = 0, /* No error, the function completed successfully */ 450c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_Err = -2, /* Unknown/unspecified error */ 460c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_InvalidBitstreamValErr = -182, /* Invalid value detected during bitstream processing */ 470c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_MemAllocErr = -9, /* Not enough memory allocated for the operation */ 480c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_GainCtrErr = -159, /* AAC: Unsupported gain control data detected */ 490c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_PrgNumErr = -167, /* AAC: Invalid number of elements for one program */ 500c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_CoefValErr = -163, /* AAC: Invalid quantized coefficient value */ 510c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_MaxSfbErr = -162, /* AAC: Invalid maxSfb value in relation to numSwb */ 520c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_PlsDataErr = -160, /* AAC: pulse escape sequence data error */ 530c1bc742181ded4930842b46e9507372f0b1b963James Dong 540c1bc742181ded4930842b46e9507372f0b1b963James Dong /* Optional return codes - use cases are explicitly described for each function*/ 550c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_BadArgErr = -5, /* Bad Arguments */ 560c1bc742181ded4930842b46e9507372f0b1b963James Dong 570c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsNumFiltErr = -157, /* AAC: Invalid number of TNS filters */ 580c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsLenErr = -156, /* AAC: Invalid TNS region length */ 590c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsOrderErr = -155, /* AAC: Invalid order of TNS filter */ 600c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsCoefResErr = -154, /* AAC: Invalid bit-resolution for TNS filter coefficients */ 610c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsCoefErr = -153, /* AAC: Invalid TNS filter coefficients */ 620c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsACAAC_TnsDirectErr = -152, /* AAC: Invalid TNS filter direction */ 630c1bc742181ded4930842b46e9507372f0b1b963James Dong 640c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsICJP_JPEGMarkerErr = -183, /* JPEG marker encountered within an entropy-coded block; */ 650c1bc742181ded4930842b46e9507372f0b1b963James Dong /* Huffman decoding operation terminated early. */ 660c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsICJP_JPEGMarker = -181, /* JPEG marker encountered; Huffman decoding */ 670c1bc742181ded4930842b46e9507372f0b1b963James Dong /* operation terminated early. */ 680c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsIPPP_ContextMatchErr = -17, /* Context parameter doesn't match to the operation */ 690c1bc742181ded4930842b46e9507372f0b1b963James Dong 700c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_StsSP_EvenMedianMaskSizeErr = -180, /* Even size of the Median Filter mask was replaced by the odd one */ 710c1bc742181ded4930842b46e9507372f0b1b963James Dong 720c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_Sts_MaximumEnumeration = INT_MAX /*Placeholder, forces enum of size OMX_INT*/ 730c1bc742181ded4930842b46e9507372f0b1b963James Dong 740c1bc742181ded4930842b46e9507372f0b1b963James Dong } OMXResult; /** Return value or error value returned from a function. Identical to OMX_INT */ 750c1bc742181ded4930842b46e9507372f0b1b963James Dong 760c1bc742181ded4930842b46e9507372f0b1b963James Dong 770c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_U8 */ 780c1bc742181ded4930842b46e9507372f0b1b963James Dong#if UCHAR_MAX == 0xff 790c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned char OMX_U8; 800c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif USHRT_MAX == 0xff 810c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned short int OMX_U8; 820c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 830c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_U8 undefined 840c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 850c1bc742181ded4930842b46e9507372f0b1b963James Dong 860c1bc742181ded4930842b46e9507372f0b1b963James Dong 870c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_S8 */ 880c1bc742181ded4930842b46e9507372f0b1b963James Dong#if SCHAR_MAX == 0x7f 890c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef signed char OMX_S8; 900c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif SHRT_MAX == 0x7f 910c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef signed short int OMX_S8; 920c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 930c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_S8 undefined 940c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 950c1bc742181ded4930842b46e9507372f0b1b963James Dong 960c1bc742181ded4930842b46e9507372f0b1b963James Dong 970c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_U16 */ 980c1bc742181ded4930842b46e9507372f0b1b963James Dong#if USHRT_MAX == 0xffff 990c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned short int OMX_U16; 1000c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif UINT_MAX == 0xffff 1010c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned int OMX_U16; 1020c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 1030c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_U16 undefined 1040c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 1050c1bc742181ded4930842b46e9507372f0b1b963James Dong 1060c1bc742181ded4930842b46e9507372f0b1b963James Dong 1070c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_S16 */ 1080c1bc742181ded4930842b46e9507372f0b1b963James Dong#if SHRT_MAX == 0x7fff 1090c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef signed short int OMX_S16; 1100c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif INT_MAX == 0x7fff 1110c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef signed int OMX_S16; 1120c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 1130c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_S16 undefined 1140c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 1150c1bc742181ded4930842b46e9507372f0b1b963James Dong 1160c1bc742181ded4930842b46e9507372f0b1b963James Dong 1170c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_U32 */ 1180c1bc742181ded4930842b46e9507372f0b1b963James Dong#if UINT_MAX == 0xffffffff 1190c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned int OMX_U32; 1200c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif LONG_MAX == 0xffffffff 1210c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef unsigned long int OMX_U32; 1220c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 1230c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_U32 undefined 1240c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 1250c1bc742181ded4930842b46e9507372f0b1b963James Dong 1260c1bc742181ded4930842b46e9507372f0b1b963James Dong 1270c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_S32 */ 1280c1bc742181ded4930842b46e9507372f0b1b963James Dong#if INT_MAX == 0x7fffffff 1290c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef signed int OMX_S32; 1300c1bc742181ded4930842b46e9507372f0b1b963James Dong#elif LONG_MAX == 0x7fffffff 1310c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef long signed int OMX_S32; 1320c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 1330c1bc742181ded4930842b46e9507372f0b1b963James Dong#error OMX_S32 undefined 1340c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 1350c1bc742181ded4930842b46e9507372f0b1b963James Dong 1360c1bc742181ded4930842b46e9507372f0b1b963James Dong 1370c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_U64 & OMX_S64 */ 1380c1bc742181ded4930842b46e9507372f0b1b963James Dong#if defined( _WIN32 ) || defined ( _WIN64 ) 1390c1bc742181ded4930842b46e9507372f0b1b963James Dong typedef __int64 OMX_S64; /** Signed 64-bit integer */ 1400c1bc742181ded4930842b46e9507372f0b1b963James Dong typedef unsigned __int64 OMX_U64; /** Unsigned 64-bit integer */ 1410c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MIN_S64 (0x8000000000000000i64) 1420c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MIN_U64 (0x0000000000000000i64) 1430c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFi64) 1440c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFi64) 1450c1bc742181ded4930842b46e9507372f0b1b963James Dong#else 1460c1bc742181ded4930842b46e9507372f0b1b963James Dong typedef long long OMX_S64; /** Signed 64-bit integer */ 1470c1bc742181ded4930842b46e9507372f0b1b963James Dong typedef unsigned long long OMX_U64; /** Unsigned 64-bit integer */ 1480c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MIN_S64 (0x8000000000000000LL) 1490c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MIN_U64 (0x0000000000000000LL) 1500c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFLL) 1510c1bc742181ded4930842b46e9507372f0b1b963James Dong #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFLL) 1520c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 1530c1bc742181ded4930842b46e9507372f0b1b963James Dong 1540c1bc742181ded4930842b46e9507372f0b1b963James Dong 1550c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_SC8 */ 1560c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1570c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1580c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S8 Re; /** Real part */ 1590c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S8 Im; /** Imaginary part */ 1600c1bc742181ded4930842b46e9507372f0b1b963James Dong 1610c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMX_SC8; /** Signed 8-bit complex number */ 1620c1bc742181ded4930842b46e9507372f0b1b963James Dong 1630c1bc742181ded4930842b46e9507372f0b1b963James Dong 1640c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_SC16 */ 1650c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1660c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1670c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S16 Re; /** Real part */ 1680c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S16 Im; /** Imaginary part */ 1690c1bc742181ded4930842b46e9507372f0b1b963James Dong 1700c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMX_SC16; /** Signed 16-bit complex number */ 1710c1bc742181ded4930842b46e9507372f0b1b963James Dong 1720c1bc742181ded4930842b46e9507372f0b1b963James Dong 1730c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_SC32 */ 1740c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1750c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1760c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S32 Re; /** Real part */ 1770c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S32 Im; /** Imaginary part */ 1780c1bc742181ded4930842b46e9507372f0b1b963James Dong 1790c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMX_SC32; /** Signed 32-bit complex number */ 1800c1bc742181ded4930842b46e9507372f0b1b963James Dong 1810c1bc742181ded4930842b46e9507372f0b1b963James Dong 1820c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_SC64 */ 1830c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 1840c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 1850c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S64 Re; /** Real part */ 1860c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_S64 Im; /** Imaginary part */ 1870c1bc742181ded4930842b46e9507372f0b1b963James Dong 1880c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMX_SC64; /** Signed 64-bit complex number */ 1890c1bc742181ded4930842b46e9507372f0b1b963James Dong 1900c1bc742181ded4930842b46e9507372f0b1b963James Dong 1910c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_F32 */ 1920c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef float OMX_F32; /** Single precision floating point,IEEE 754 */ 1930c1bc742181ded4930842b46e9507372f0b1b963James Dong 1940c1bc742181ded4930842b46e9507372f0b1b963James Dong 1950c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_F64 */ 1960c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef double OMX_F64; /** Double precision floating point,IEEE 754 */ 1970c1bc742181ded4930842b46e9507372f0b1b963James Dong 1980c1bc742181ded4930842b46e9507372f0b1b963James Dong 1990c1bc742181ded4930842b46e9507372f0b1b963James Dong/* OMX_INT */ 2000c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef int OMX_INT; /** signed integer corresponding to machine word length, has maximum signed value INT_MAX*/ 2010c1bc742181ded4930842b46e9507372f0b1b963James Dong 2020c1bc742181ded4930842b46e9507372f0b1b963James Dong 2030c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_S8 (-128) 2040c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_U8 0 2050c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_S16 (-32768) 2060c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_U16 0 2070c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_S32 (-2147483647-1) 2080c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MIN_U32 0 2090c1bc742181ded4930842b46e9507372f0b1b963James Dong 2100c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_S8 (127) 2110c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_U8 (255) 2120c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_S16 (32767) 2130c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_U16 (0xFFFF) 2140c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_S32 (2147483647) 2150c1bc742181ded4930842b46e9507372f0b1b963James Dong#define OMX_MAX_U32 (0xFFFFFFFF) 2160c1bc742181ded4930842b46e9507372f0b1b963James Dong 2170c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef void OMXVoid; 2180c1bc742181ded4930842b46e9507372f0b1b963James Dong 2190c1bc742181ded4930842b46e9507372f0b1b963James Dong#ifndef NULL 2200c1bc742181ded4930842b46e9507372f0b1b963James Dong#define NULL ((void*)0) 2210c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif 2220c1bc742181ded4930842b46e9507372f0b1b963James Dong 2230c1bc742181ded4930842b46e9507372f0b1b963James Dong/** Defines the geometric position and size of a rectangle, 2240c1bc742181ded4930842b46e9507372f0b1b963James Dong * where x,y defines the coordinates of the top left corner 2250c1bc742181ded4930842b46e9507372f0b1b963James Dong * of the rectangle, with dimensions width in the x-direction 2260c1bc742181ded4930842b46e9507372f0b1b963James Dong * and height in the y-direction */ 2270c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct { 2280c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT x; /** x-coordinate of top left corner of rectangle */ 2290c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT y; /** y-coordinate of top left corner of rectangle */ 2300c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT width; /** Width in the x-direction. */ 2310c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT height; /** Height in the y-direction. */ 2320c1bc742181ded4930842b46e9507372f0b1b963James Dong}OMXRect; 2330c1bc742181ded4930842b46e9507372f0b1b963James Dong 2340c1bc742181ded4930842b46e9507372f0b1b963James Dong 2350c1bc742181ded4930842b46e9507372f0b1b963James Dong/** Defines the geometric position of a point, */ 2360c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 2370c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2380c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT x; /** x-coordinate */ 2390c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT y; /** y-coordinate */ 2400c1bc742181ded4930842b46e9507372f0b1b963James Dong 2410c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMXPoint; 2420c1bc742181ded4930842b46e9507372f0b1b963James Dong 2430c1bc742181ded4930842b46e9507372f0b1b963James Dong 2440c1bc742181ded4930842b46e9507372f0b1b963James Dong/** Defines the dimensions of a rectangle, or region of interest in an image */ 2450c1bc742181ded4930842b46e9507372f0b1b963James Dongtypedef struct 2460c1bc742181ded4930842b46e9507372f0b1b963James Dong{ 2470c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT width; /** Width of the rectangle, in the x-direction */ 2480c1bc742181ded4930842b46e9507372f0b1b963James Dong OMX_INT height; /** Height of the rectangle, in the y-direction */ 2490c1bc742181ded4930842b46e9507372f0b1b963James Dong 2500c1bc742181ded4930842b46e9507372f0b1b963James Dong} OMXSize; 2510c1bc742181ded4930842b46e9507372f0b1b963James Dong 2520c1bc742181ded4930842b46e9507372f0b1b963James Dong#endif /* _OMXTYPES_H_ */ 253