| Index: third_party/openmax_dl/dl/api/omxtypes.h
|
| diff --git a/third_party/openmax_dl/dl/api/omxtypes.h b/third_party/openmax_dl/dl/api/omxtypes.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b64e779653bb3d5fba8ad29a72d2353798bb955a
|
| --- /dev/null
|
| +++ b/third_party/openmax_dl/dl/api/omxtypes.h
|
| @@ -0,0 +1,284 @@
|
| +/**
|
| + * File: omxtypes.h
|
| + * Brief: Defines basic Data types used in OpenMAX v1.0.2 header files.
|
| + *
|
| + * Copyright © 2005-2008 The Khronos Group Inc. All Rights Reserved.
|
| + *
|
| + * These materials are protected by copyright laws and contain material
|
| + * proprietary to the Khronos Group, Inc. You may use these materials
|
| + * for implementing Khronos specifications, without altering or removing
|
| + * any trademark, copyright or other notice from the specification.
|
| + *
|
| + * Khronos Group makes no, and expressly disclaims any, representations
|
| + * or warranties, express or implied, regarding these materials, including,
|
| + * without limitation, any implied warranties of merchantability or fitness
|
| + * for a particular purpose or non-infringement of any intellectual property.
|
| + * Khronos Group makes no, and expressly disclaims any, warranties, express
|
| + * or implied, regarding the correctness, accuracy, completeness, timeliness,
|
| + * and reliability of these materials.
|
| + *
|
| + * Under no circumstances will the Khronos Group, or any of its Promoters,
|
| + * Contributors or Members or their respective partners, officers, directors,
|
| + * employees, agents or representatives be liable for any damages, whether
|
| + * direct, indirect, special or consequential damages for lost revenues,
|
| + * lost profits, or otherwise, arising from or in connection with these
|
| + * materials.
|
| + *
|
| + * Khronos and OpenMAX are trademarks of the Khronos Group Inc.
|
| + *
|
| + */
|
| +
|
| +#ifndef _OMXTYPES_H_
|
| +#define _OMXTYPES_H_
|
| +
|
| +#include <limits.h>
|
| +
|
| +#ifdef __cplusplus
|
| +extern "C" {
|
| +#endif
|
| +
|
| +/*
|
| + * Maximum FFT order supported by the twiddle table. Only used by the
|
| + * float FFT routines. Must be consistent with the table in
|
| + * armSP_FFT_F32TwiddleTable.c.
|
| + */
|
| +#ifdef BIG_FFT_TABLE
|
| +#define TWIDDLE_TABLE_ORDER 15
|
| +#else
|
| +#define TWIDDLE_TABLE_ORDER 12
|
| +#endif
|
| +
|
| +#define OMX_IN
|
| +#define OMX_OUT
|
| +#define OMX_INOUT
|
| +
|
| +
|
| +typedef enum {
|
| +
|
| + /* Mandatory return codes - use cases are explicitly described for each function */
|
| + OMX_Sts_NoErr = 0, /* No error, the function completed successfully */
|
| + OMX_Sts_Err = -2, /* Unknown/unspecified error */
|
| + OMX_Sts_InvalidBitstreamValErr = -182, /* Invalid value detected during bitstream processing */
|
| + OMX_Sts_MemAllocErr = -9, /* Not enough memory allocated for the operation */
|
| + OMX_StsACAAC_GainCtrErr = -159, /* AAC: Unsupported gain control data detected */
|
| + OMX_StsACAAC_PrgNumErr = -167, /* AAC: Invalid number of elements for one program */
|
| + OMX_StsACAAC_CoefValErr = -163, /* AAC: Invalid quantized coefficient value */
|
| + OMX_StsACAAC_MaxSfbErr = -162, /* AAC: Invalid maxSfb value in relation to numSwb */
|
| + OMX_StsACAAC_PlsDataErr = -160, /* AAC: pulse escape sequence data error */
|
| +
|
| + /* Optional return codes - use cases are explicitly described for each function*/
|
| + OMX_Sts_BadArgErr = -5, /* Bad Arguments */
|
| +
|
| + OMX_StsACAAC_TnsNumFiltErr = -157, /* AAC: Invalid number of TNS filters */
|
| + OMX_StsACAAC_TnsLenErr = -156, /* AAC: Invalid TNS region length */
|
| + OMX_StsACAAC_TnsOrderErr = -155, /* AAC: Invalid order of TNS filter */
|
| + OMX_StsACAAC_TnsCoefResErr = -154, /* AAC: Invalid bit-resolution for TNS filter coefficients */
|
| + OMX_StsACAAC_TnsCoefErr = -153, /* AAC: Invalid TNS filter coefficients */
|
| + OMX_StsACAAC_TnsDirectErr = -152, /* AAC: Invalid TNS filter direction */
|
| +
|
| + OMX_StsICJP_JPEGMarkerErr = -183, /* JPEG marker encountered within an entropy-coded block; */
|
| + /* Huffman decoding operation terminated early. */
|
| + OMX_StsICJP_JPEGMarker = -181, /* JPEG marker encountered; Huffman decoding */
|
| + /* operation terminated early. */
|
| + OMX_StsIPPP_ContextMatchErr = -17, /* Context parameter doesn't match to the operation */
|
| +
|
| + OMX_StsSP_EvenMedianMaskSizeErr = -180, /* Even size of the Median Filter mask was replaced by the odd one */
|
| +
|
| + OMX_Sts_MaximumEnumeration = INT_MAX /*Placeholder, forces enum of size OMX_INT*/
|
| +
|
| + } OMXResult; /** Return value or error value returned from a function. Identical to OMX_INT */
|
| +
|
| +
|
| +/* OMX_U8 */
|
| +#if UCHAR_MAX == 0xff
|
| +typedef unsigned char OMX_U8;
|
| +#elif USHRT_MAX == 0xff
|
| +typedef unsigned short int OMX_U8;
|
| +#else
|
| +#error OMX_U8 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_S8 */
|
| +#if SCHAR_MAX == 0x7f
|
| +typedef signed char OMX_S8;
|
| +#elif SHRT_MAX == 0x7f
|
| +typedef signed short int OMX_S8;
|
| +#else
|
| +#error OMX_S8 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_U16 */
|
| +#if USHRT_MAX == 0xffff
|
| +typedef unsigned short int OMX_U16;
|
| +#elif UINT_MAX == 0xffff
|
| +typedef unsigned int OMX_U16;
|
| +#else
|
| +#error OMX_U16 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_S16 */
|
| +#if SHRT_MAX == 0x7fff
|
| +typedef signed short int OMX_S16;
|
| +#elif INT_MAX == 0x7fff
|
| +typedef signed int OMX_S16;
|
| +#else
|
| +#error OMX_S16 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_U32 */
|
| +#if UINT_MAX == 0xffffffff
|
| +typedef unsigned int OMX_U32;
|
| +#elif LONG_MAX == 0xffffffff
|
| +typedef unsigned long int OMX_U32;
|
| +#else
|
| +#error OMX_U32 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_S32 */
|
| +#if INT_MAX == 0x7fffffff
|
| +typedef signed int OMX_S32;
|
| +#elif LONG_MAX == 0x7fffffff
|
| +typedef long signed int OMX_S32;
|
| +#else
|
| +#error OMX_S32 undefined
|
| +#endif
|
| +
|
| +
|
| +/* OMX_U64 & OMX_S64 */
|
| +#if defined( _WIN32 ) || defined ( _WIN64 )
|
| + typedef __int64 OMX_S64; /** Signed 64-bit integer */
|
| + typedef unsigned __int64 OMX_U64; /** Unsigned 64-bit integer */
|
| + #define OMX_MIN_S64 (0x8000000000000000i64)
|
| + #define OMX_MIN_U64 (0x0000000000000000i64)
|
| + #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFi64)
|
| + #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFi64)
|
| +#else
|
| + typedef long long OMX_S64; /** Signed 64-bit integer */
|
| + typedef unsigned long long OMX_U64; /** Unsigned 64-bit integer */
|
| + #define OMX_MIN_S64 (0x8000000000000000LL)
|
| + #define OMX_MIN_U64 (0x0000000000000000LL)
|
| + #define OMX_MAX_S64 (0x7FFFFFFFFFFFFFFFLL)
|
| + #define OMX_MAX_U64 (0xFFFFFFFFFFFFFFFFLL)
|
| +#endif
|
| +
|
| +
|
| +/* OMX_SC8 */
|
| +typedef struct
|
| +{
|
| + OMX_S8 Re; /** Real part */
|
| + OMX_S8 Im; /** Imaginary part */
|
| +
|
| +} OMX_SC8; /** Signed 8-bit complex number */
|
| +
|
| +
|
| +/* OMX_SC16 */
|
| +typedef struct
|
| +{
|
| + OMX_S16 Re; /** Real part */
|
| + OMX_S16 Im; /** Imaginary part */
|
| +
|
| +} OMX_SC16; /** Signed 16-bit complex number */
|
| +
|
| +
|
| +/* OMX_SC32 */
|
| +typedef struct
|
| +{
|
| + OMX_S32 Re; /** Real part */
|
| + OMX_S32 Im; /** Imaginary part */
|
| +
|
| +} OMX_SC32; /** Signed 32-bit complex number */
|
| +
|
| +
|
| +/* OMX_SC64 */
|
| +typedef struct
|
| +{
|
| + OMX_S64 Re; /** Real part */
|
| + OMX_S64 Im; /** Imaginary part */
|
| +
|
| +} OMX_SC64; /** Signed 64-bit complex number */
|
| +
|
| +
|
| +/* OMX_F32 */
|
| +typedef float OMX_F32; /** Single precision floating point,IEEE 754 */
|
| +
|
| +/* OMX_F64 */
|
| +typedef double OMX_F64; /** Double precision floating point,IEEE 754 */
|
| +
|
| +/* OMX_FC32 */
|
| +typedef struct
|
| +{
|
| + OMX_F32 Re; /** Real part */
|
| + OMX_F32 Im; /** Imaginary part */
|
| +
|
| +} OMX_FC32; /** single precision floating point complex number */
|
| +
|
| +/* OMX_FC64 */
|
| +typedef struct
|
| +{
|
| + OMX_F64 Re; /** Real part */
|
| + OMX_F64 Im; /** Imaginary part */
|
| +
|
| +} OMX_FC64; /** double precision floating point complex number */
|
| +
|
| +/* OMX_INT */
|
| +typedef int OMX_INT; /** signed integer corresponding to machine word length, has maximum signed value INT_MAX*/
|
| +
|
| +
|
| +#define OMX_MIN_S8 (-128)
|
| +#define OMX_MIN_U8 0
|
| +#define OMX_MIN_S16 (-32768)
|
| +#define OMX_MIN_U16 0
|
| +#define OMX_MIN_S32 (-2147483647-1)
|
| +#define OMX_MIN_U32 0
|
| +
|
| +#define OMX_MAX_S8 (127)
|
| +#define OMX_MAX_U8 (255)
|
| +#define OMX_MAX_S16 (32767)
|
| +#define OMX_MAX_U16 (0xFFFF)
|
| +#define OMX_MAX_S32 (2147483647)
|
| +#define OMX_MAX_U32 (0xFFFFFFFF)
|
| +
|
| +typedef void OMXVoid;
|
| +
|
| +#ifndef NULL
|
| +#define NULL ((void*)0)
|
| +#endif
|
| +
|
| +/** Defines the geometric position and size of a rectangle,
|
| + * where x,y defines the coordinates of the top left corner
|
| + * of the rectangle, with dimensions width in the x-direction
|
| + * and height in the y-direction */
|
| +typedef struct {
|
| + OMX_INT x; /** x-coordinate of top left corner of rectangle */
|
| + OMX_INT y; /** y-coordinate of top left corner of rectangle */
|
| + OMX_INT width; /** Width in the x-direction. */
|
| + OMX_INT height; /** Height in the y-direction. */
|
| +}OMXRect;
|
| +
|
| +
|
| +/** Defines the geometric position of a point, */
|
| +typedef struct
|
| +{
|
| + OMX_INT x; /** x-coordinate */
|
| + OMX_INT y; /** y-coordinate */
|
| +
|
| +} OMXPoint;
|
| +
|
| +
|
| +/** Defines the dimensions of a rectangle, or region of interest in an image */
|
| +typedef struct
|
| +{
|
| + OMX_INT width; /** Width of the rectangle, in the x-direction */
|
| + OMX_INT height; /** Height of the rectangle, in the y-direction */
|
| +
|
| +} OMXSize;
|
| +
|
| +#ifdef __cplusplus
|
| +}
|
| +#endif
|
| +#endif /* _OMXTYPES_H_ */
|
|
|