You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
hardware_samsung/exynos/multimedia/openmax/include/sec/SEC_OMX_Def.h

178 lines
6.3 KiB

/*
*
* Copyright 2010 Samsung Electronics S.LSI Co. LTD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
* @file SEC_OMX_Def.h
* @brief SEC_OMX specific define
* @author SeungBeom Kim (sbcrux.kim@samsung.com)
* @version 1.1.0
* @history
* 2010.7.15 : Create
*/
#ifndef SEC_OMX_DEF
#define SEC_OMX_DEF
#include "OMX_Types.h"
#include "OMX_IVCommon.h"
#define VERSIONMAJOR_NUMBER 1
#define VERSIONMINOR_NUMBER 0
#define REVISION_NUMBER 0
#define STEP_NUMBER 0
#define MAX_OMX_COMPONENT_NUM 20
#define MAX_OMX_COMPONENT_ROLE_NUM 10
#define MAX_OMX_COMPONENT_NAME_SIZE OMX_MAX_STRINGNAME_SIZE
#define MAX_OMX_COMPONENT_ROLE_SIZE OMX_MAX_STRINGNAME_SIZE
#define MAX_OMX_COMPONENT_LIBNAME_SIZE OMX_MAX_STRINGNAME_SIZE * 2
#define MAX_OMX_MIMETYPE_SIZE OMX_MAX_STRINGNAME_SIZE
#define MAX_TIMESTAMP 17
#define MAX_FLAGS 17
#define SEC_OMX_INSTALL_PATH "/system/lib/omx/"
typedef enum _SEC_CODEC_TYPE
{
SW_CODEC,
HW_VIDEO_DEC_CODEC,
HW_VIDEO_ENC_CODEC,
HW_AUDIO_DEC_CODEC,
HW_AUDIO_ENC_CODEC
} SEC_CODEC_TYPE;
typedef struct _SEC_OMX_PRIORITYMGMTTYPE
{
OMX_U32 nGroupPriority; /* the value 0 represents the highest priority */
/* for a group of components */
OMX_U32 nGroupID;
} SEC_OMX_PRIORITYMGMTTYPE;
typedef enum _SEC_OMX_INDEXTYPE
{
#define SEC_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.ThumbnailMode"
OMX_IndexVendorThumbnailMode = 0x7F000001,
#define SEC_INDEX_CONFIG_VIDEO_INTRAPERIOD "OMX.SEC.index.VideoIntraPeriod"
OMX_IndexConfigVideoIntraPeriod = 0x7F000002,
/* for Android Native Window */
#define SEC_INDEX_PARAM_ENABLE_ANB "OMX.google.android.index.enableAndroidNativeBuffers"
OMX_IndexParamEnableAndroidBuffers = 0x7F000011,
#define SEC_INDEX_PARAM_GET_ANB "OMX.google.android.index.getAndroidNativeBufferUsage"
OMX_IndexParamGetAndroidNativeBuffer = 0x7F000012,
#define SEC_INDEX_PARAM_USE_ANB "OMX.google.android.index.useAndroidNativeBuffer"
OMX_IndexParamUseAndroidNativeBuffer = 0x7F000013,
/* for Android Store Metadata Inbuffer */
#define SEC_INDEX_PARAM_STORE_METADATA_BUFFER "OMX.google.android.index.storeMetaDataInBuffers"
OMX_IndexParamStoreMetaDataBuffer = 0x7F000014,
/* for Android PV OpenCore*/
OMX_COMPONENT_CAPABILITY_TYPE_INDEX = 0xFF7A347
} SEC_OMX_INDEXTYPE;
typedef enum _SEC_OMX_ERRORTYPE
{
OMX_ErrorNoEOF = (OMX_S32) 0x90000001,
OMX_ErrorInputDataDecodeYet = (OMX_S32) 0x90000002,
OMX_ErrorInputDataEncodeYet = (OMX_S32) 0x90000003,
OMX_ErrorMFCInit = (OMX_S32) 0x90000004
} SEC_OMX_ERRORTYPE;
typedef enum _SEC_OMX_COMMANDTYPE
{
SEC_OMX_CommandComponentDeInit = 0x7F000001,
SEC_OMX_CommandEmptyBuffer,
SEC_OMX_CommandFillBuffer
} SEC_OMX_COMMANDTYPE;
typedef enum _SEC_OMX_TRANS_STATETYPE {
SEC_OMX_TransStateInvalid,
SEC_OMX_TransStateLoadedToIdle,
SEC_OMX_TransStateIdleToExecuting,
SEC_OMX_TransStateExecutingToIdle,
SEC_OMX_TransStateIdleToLoaded,
SEC_OMX_TransStateMax = 0X7FFFFFFF
} SEC_OMX_TRANS_STATETYPE;
typedef enum _SEC_OMX_COLOR_FORMATTYPE {
OMX_SEC_COLOR_FormatNV12TPhysicalAddress = 0x7F000001, /**< Reserved region for introducing Vendor Extensions */
OMX_SEC_COLOR_FormatNV12LPhysicalAddress = 0x7F000002,
OMX_SEC_COLOR_FormatNV12LVirtualAddress = 0x7F000003,
OMX_SEC_COLOR_FormatNV12Tiled = 0x7FC00002, /* 0x7FC00002 */
#ifdef S3D_SUPPORT
OMX_SEC_COLOR_FormatNV12Tiled_SBS_LR = 0x7FC00003, /* 0x7FC00003 */
OMX_SEC_COLOR_FormatNV12Tiled_SBS_RL = 0x7FC00004, /* 0x7FC00004 */
OMX_SEC_COLOR_FormatNV12Tiled_TB_LR = 0x7FC00005, /* 0x7FC00005 */
OMX_SEC_COLOR_FormatNV12Tiled_TB_RL = 0x7FC00006, /* 0x7FC00006 */
OMX_SEC_COLOR_FormatYUV420SemiPlanar_SBS_LR = 0x7FC00007, /* 0x7FC00007 */
OMX_SEC_COLOR_FormatYUV420SemiPlanar_SBS_RL = 0x7FC00008, /* 0x7FC00008 */
OMX_SEC_COLOR_FormatYUV420SemiPlanar_TB_LR = 0x7FC00009, /* 0x7FC00009 */
OMX_SEC_COLOR_FormatYUV420SemiPlanar_TB_RL = 0x7FC0000A, /* 0x7FC0000A */
OMX_SEC_COLOR_FormatYUV420Planar_SBS_LR = 0x7FC0000B, /* 0x7FC0000B */
OMX_SEC_COLOR_FormatYUV420Planar_SBS_RL = 0x7FC0000C, /* 0x7FC0000C */
OMX_SEC_COLOR_FormatYUV420Planar_TB_LR = 0x7FC0000D, /* 0x7FC0000D */
OMX_SEC_COLOR_FormatYUV420Planar_TB_RL = 0x7FC0000E, /* 0x7FC0000E */
#endif
/* for Android Native Window */
OMX_SEC_COLOR_FormatANBYUV420SemiPlanar = 0x100,
/* for Android SurfaceMediaSource*/
OMX_COLOR_FormatAndroidOpaque = 0x7F000789
}SEC_OMX_COLOR_FORMATTYPE;
typedef enum _SEC_OMX_SUPPORTFORMAT_TYPE
{
supportFormat_0 = 0x00,
supportFormat_1,
supportFormat_2,
supportFormat_3,
supportFormat_4,
supportFormat_5,
supportFormat_6,
} SEC_OMX_SUPPORTFORMAT_TYPE;
/* for Android PV OpenCore*/
typedef struct _OMXComponentCapabilityFlagsType
{
/* OMX COMPONENT CAPABILITY RELATED MEMBERS */
OMX_BOOL iIsOMXComponentMultiThreaded;
OMX_BOOL iOMXComponentSupportsExternalOutputBufferAlloc;
OMX_BOOL iOMXComponentSupportsExternalInputBufferAlloc;
OMX_BOOL iOMXComponentSupportsMovableInputBuffers;
OMX_BOOL iOMXComponentSupportsPartialFrames;
OMX_BOOL iOMXComponentUsesNALStartCodes;
OMX_BOOL iOMXComponentCanHandleIncompleteFrames;
OMX_BOOL iOMXComponentUsesFullAVCFrames;
} OMXComponentCapabilityFlagsType;
typedef struct _SEC_OMX_VIDEO_PROFILELEVEL
{
OMX_S32 profile;
OMX_S32 level;
} SEC_OMX_VIDEO_PROFILELEVEL;
#define OMX_VIDEO_CodingVPX 0x09 /**< Google VPX, formerly known as On2 VP8 */
#ifndef __OMX_EXPORTS
#define __OMX_EXPORTS
#define SEC_EXPORT_REF __attribute__((visibility("default")))
#define SEC_IMPORT_REF __attribute__((visibility("default")))
#endif
#endif