summaryrefslogtreecommitdiff
path: root/exynos_omx
diff options
context:
space:
mode:
authorSeungBeom Kim <sbcrux.kim@samsung.com>2013-06-13 12:17:56 +0900
committerjp abgrall <jpa@google.com>2013-08-30 18:33:18 +0000
commite8aae8edcacf01c588e0bd0ba2c3ca64aa54e107 (patch)
tree3a293a63280dc780a0027f5af566aaa027f0e479 /exynos_omx
parent1021eb3052b6af322b604a07f3cafaf3d45e711f (diff)
downloadexynos5-e8aae8edcacf01c588e0bd0ba2c3ca64aa54e107.tar.gz
exynos_omx: multi_thread: Add ThumbnailMode decoding.
Extension name: - EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.enableThumbnailMode" if you want enable thumbnail decoding, Use SetParameter and EXYNOS_OMX_VIDEO_THUMBNAILMODE struct. typedef struct _EXYNOS_OMX_VIDEO_THUMBNAILMODE { OMX_U32 nSize; OMX_VERSIONTYPE nVersion; OMX_U32 nPortIndex; OMX_BOOL bEnable; } EXYNOS_OMX_VIDEO_THUMBNAILMODE; Change-Id: I199f286bfbd35266b6f319538a55e64a71070f8e Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com> Bug: 10192533
Diffstat (limited to 'exynos_omx')
-rw-r--r--exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c25
-rw-r--r--exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/include/ExynosVideoApi.h1
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.h2
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c50
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/h264/Exynos_OMX_H264dec.c16
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c16
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Exynos_OMX_Vp8dec.c16
-rw-r--r--exynos_omx/openmax/exynos_omx/include/exynos/Exynos_OMX_Def.h11
8 files changed, 90 insertions, 47 deletions
diff --git a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
index 9dec8e1..abf7ae7 100644
--- a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
+++ b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
@@ -354,6 +354,30 @@ EXIT:
}
/*
+ * [Decoder OPS] Set I-Frame Decoding
+ */
+static ExynosVideoErrorType MFC_Decoder_Set_IFrameDecoding(
+ void *pHandle)
+{
+ ExynosVideoDecContext *pCtx = (ExynosVideoDecContext *)pHandle;
+ ExynosVideoErrorType ret = VIDEO_ERROR_NONE;
+
+ if (pCtx == NULL) {
+ ALOGE("%s: Video context info must be supplied", __func__);
+ ret = VIDEO_ERROR_BADPARAM;
+ goto EXIT;
+ }
+
+ if (exynos_v4l2_s_ctrl(pCtx->hDec, V4L2_CID_MPEG_MFC51_VIDEO_I_FRAME_DECODING, 1) != 0) {
+ ret = VIDEO_ERROR_APIFAIL;
+ goto EXIT;
+ }
+
+EXIT:
+ return ret;
+}
+
+/*
* [Decoder OPS] Enable Packed PB
*/
static ExynosVideoErrorType MFC_Decoder_Enable_PackedPB(void *pHandle)
@@ -1719,6 +1743,7 @@ static ExynosVideoDecOps defDecOps = {
.Init = MFC_Decoder_Init,
.Finalize = MFC_Decoder_Finalize,
.Set_DisplayDelay = MFC_Decoder_Set_DisplayDelay,
+ .Set_IFrameDecoding = MFC_Decoder_Set_IFrameDecoding,
.Enable_PackedPB = MFC_Decoder_Enable_PackedPB,
.Enable_LoopFilter = MFC_Decoder_Enable_LoopFilter,
.Enable_SliceMode = MFC_Decoder_Enable_SliceMode,
diff --git a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/include/ExynosVideoApi.h b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/include/ExynosVideoApi.h
index b26cb2e..35c0b47 100644
--- a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/include/ExynosVideoApi.h
+++ b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/include/ExynosVideoApi.h
@@ -226,6 +226,7 @@ typedef struct _ExynosVideoDecOps {
int (*Get_FrameTag)(void *pHandle);
int (*Get_ActualBufferCount)(void *pHandle);
ExynosVideoErrorType (*Set_DisplayDelay)(void *pHandle, int delay);
+ ExynosVideoErrorType (*Set_IFrameDecoding)(void *pHandle);
ExynosVideoErrorType (*Enable_PackedPB)(void *pHandle);
ExynosVideoErrorType (*Enable_LoopFilter)(void *pHandle);
ExynosVideoErrorType (*Enable_SliceMode)(void *pHandle);
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.h b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.h
index 664c899..7f1be9b 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.h
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_Vdec.h
@@ -60,6 +60,8 @@
#define MFC_INPUT_BUFFER_PLANE 1
#define MFC_OUTPUT_BUFFER_PLANE 2
+#define PLATFORM_DISPLAY_BUFFER 1
+
typedef struct
{
void *pAddrY;
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
index 5aff7b1..ca1ae4d 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
@@ -1343,6 +1343,26 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetParameter(
}
break;
#endif
+ case OMX_IndexParamEnableThumbnailMode:
+ {
+ EXYNOS_OMX_VIDEO_THUMBNAILMODE *pThumbnailMode = (EXYNOS_OMX_VIDEO_THUMBNAILMODE *)ComponentParameterStructure;
+ EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
+
+ ret = Exynos_OMX_Check_SizeVersion(pThumbnailMode, sizeof(EXYNOS_OMX_VIDEO_THUMBNAILMODE));
+ if (ret != OMX_ErrorNone) {
+ goto EXIT;
+ }
+
+ pVideoDec->bThumbnailMode = pThumbnailMode->bEnable;
+ if (pVideoDec->bThumbnailMode == OMX_TRUE) {
+ EXYNOS_OMX_BASEPORT *pExynosOutputPort = &pExynosComponent->pExynosPort[OUTPUT_PORT_INDEX];
+ pExynosOutputPort->portDefinition.nBufferCountMin = 1;
+ pExynosOutputPort->portDefinition.nBufferCountActual = 1;
+ }
+
+ ret = OMX_ErrorNone;
+ }
+ break;
default:
{
ret = Exynos_OMX_SetParameter(hComponent, nIndex, ComponentParameterStructure);
@@ -1437,14 +1457,6 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeSetConfig(
}
switch (nIndex) {
- case OMX_IndexVendorThumbnailMode:
- {
- EXYNOS_OMX_VIDEODEC_COMPONENT *pVideoDec = (EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle;
- pVideoDec->bThumbnailMode = *((OMX_BOOL *)pComponentConfigStructure);
-
- ret = OMX_ErrorNone;
- }
- break;
default:
ret = Exynos_OMX_SetConfig(hComponent, nIndex, pComponentConfigStructure);
break;
@@ -1493,17 +1505,25 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetExtensionIndex(
}
#ifdef USE_ANB
- if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_ANB) == 0)
+ if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_ANB) == 0) {
*pIndexType = (OMX_INDEXTYPE) OMX_IndexParamEnableAndroidBuffers;
- else if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_GET_ANB) == 0)
+ goto EXIT;
+ }
+ if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_GET_ANB) == 0) {
*pIndexType = (OMX_INDEXTYPE) OMX_IndexParamGetAndroidNativeBuffer;
- else if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_USE_ANB) == 0)
+ goto EXIT;
+ }
+ if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_USE_ANB) == 0) {
*pIndexType = (OMX_INDEXTYPE) OMX_IndexParamUseAndroidNativeBuffer;
- else
- ret = Exynos_OMX_GetExtensionIndex(hComponent, cParameterName, pIndexType);
-#else
- ret = Exynos_OMX_GetExtensionIndex(hComponent, cParameterName, pIndexType);
+ goto EXIT;
+ }
#endif
+ if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
+ *pIndexType = OMX_IndexParamEnableThumbnailMode;
+ goto EXIT;
+ }
+
+ ret = Exynos_OMX_GetExtensionIndex(hComponent, cParameterName, pIndexType);
EXIT:
FunctionOut();
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Exynos_OMX_H264dec.c b/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Exynos_OMX_H264dec.c
index a62c025..52d17d7 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Exynos_OMX_H264dec.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/h264/Exynos_OMX_H264dec.c
@@ -620,7 +620,7 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
}
if (pVideoDec->bThumbnailMode == OMX_TRUE)
- pDecOps->Set_DisplayDelay(hMFCHandle, 0);
+ pDecOps->Set_IFrameDecoding(hMFCHandle);
/* input buffer info */
Exynos_OSAL_Memset(&bufferConf, 0, sizeof(bufferConf));
@@ -726,6 +726,8 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
pH264Dec->hMFCH264Handle.maxDPBNum = pDecOps->Get_ActualBufferCount(hMFCHandle);
if (pVideoDec->bThumbnailMode == OMX_FALSE)
pH264Dec->hMFCH264Handle.maxDPBNum += EXTRA_DPB_NUM;
+ else
+ pH264Dec->hMFCH264Handle.maxDPBNum += PLATFORM_DISPLAY_BUFFER;
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "H264CodecSetup nOutbufs: %d", pH264Dec->hMFCH264Handle.maxDPBNum);
pH264Dec->hMFCH264Handle.bConfiguredMFCSrc = OMX_TRUE;
@@ -764,8 +766,8 @@ OMX_ERRORTYPE H264CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DAT
pExynosInputPort->portDefinition.format.video.nStride = ((pH264Dec->hMFCH264Handle.codecOutbufConf.nFrameWidth + 15) & (~15));
pExynosInputPort->portDefinition.format.video.nSliceHeight = ((pH264Dec->hMFCH264Handle.codecOutbufConf.nFrameHeight + 15) & (~15));
- pExynosOutputPort->portDefinition.nBufferCountActual = pH264Dec->hMFCH264Handle.maxDPBNum - 1;
- pExynosOutputPort->portDefinition.nBufferCountMin = pH264Dec->hMFCH264Handle.maxDPBNum - 1;
+ pExynosOutputPort->portDefinition.nBufferCountActual = pH264Dec->hMFCH264Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
+ pExynosOutputPort->portDefinition.nBufferCountMin = pH264Dec->hMFCH264Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
Exynos_UpdateFrameSize(pOMXComponent);
pExynosOutputPort->exceptionFlag = NEED_PORT_DISABLE;
@@ -1387,13 +1389,7 @@ OMX_ERRORTYPE Exynos_H264Dec_GetExtensionIndex(
goto EXIT;
}
- if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_H264DEC_HANDLE *pH264Dec = (EXYNOS_H264DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- *pIndexType = OMX_IndexVendorThumbnailMode;
- ret = OMX_ErrorNone;
- } else {
- ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
- }
+ ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
EXIT:
FunctionOut();
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c b/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
index 614069e..0bc6bae 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/mpeg4/Exynos_OMX_Mpeg4dec.c
@@ -724,7 +724,7 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
}
if (pVideoDec->bThumbnailMode == OMX_TRUE)
- pDecOps->Set_DisplayDelay(hMFCHandle, 0);
+ pDecOps->Set_IFrameDecoding(hMFCHandle);
/* input buffer info */
Exynos_OSAL_Memset(&bufferConf, 0, sizeof(bufferConf));
@@ -829,6 +829,8 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum = pDecOps->Get_ActualBufferCount(hMFCHandle);
if (pVideoDec->bThumbnailMode == OMX_FALSE)
pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum += EXTRA_DPB_NUM;
+ else
+ pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum += PLATFORM_DISPLAY_BUFFER;
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "Mpeg4CodecSetup nOutbufs: %d", pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum);
pMpeg4Dec->hMFCMpeg4Handle.bConfiguredMFCSrc = OMX_TRUE;
@@ -862,8 +864,8 @@ OMX_ERRORTYPE Mpeg4CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DA
pExynosInputPort->portDefinition.format.video.nStride = ((pMpeg4Dec->hMFCMpeg4Handle.codecOutbufConf.nFrameWidth + 15) & (~15));
pExynosInputPort->portDefinition.format.video.nSliceHeight = ((pMpeg4Dec->hMFCMpeg4Handle.codecOutbufConf.nFrameHeight + 15) & (~15));
- pExynosOutputPort->portDefinition.nBufferCountActual = pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum - 1;
- pExynosOutputPort->portDefinition.nBufferCountMin = pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum - 1;
+ pExynosOutputPort->portDefinition.nBufferCountActual = pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
+ pExynosOutputPort->portDefinition.nBufferCountMin = pMpeg4Dec->hMFCMpeg4Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
Exynos_UpdateFrameSize(pOMXComponent);
pExynosOutputPort->exceptionFlag = NEED_PORT_DISABLE;
@@ -1504,13 +1506,7 @@ OMX_ERRORTYPE Exynos_Mpeg4Dec_GetExtensionIndex(
goto EXIT;
}
- if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_MPEG4DEC_HANDLE *pMpeg4Dec = (EXYNOS_MPEG4DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- *pIndexType = OMX_IndexVendorThumbnailMode;
- ret = OMX_ErrorNone;
- } else {
- ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
- }
+ ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
EXIT:
FunctionOut();
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Exynos_OMX_Vp8dec.c b/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Exynos_OMX_Vp8dec.c
index cebb103..8a18f15 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Exynos_OMX_Vp8dec.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/vp8/Exynos_OMX_Vp8dec.c
@@ -539,7 +539,7 @@ OMX_ERRORTYPE VP8CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
}
if (pVideoDec->bThumbnailMode == OMX_TRUE)
- pDecOps->Set_DisplayDelay(hMFCHandle, 0);
+ pDecOps->Set_IFrameDecoding(hMFCHandle);
/* input buffer info */
Exynos_OSAL_Memset(&bufferConf, 0, sizeof(bufferConf));
@@ -640,6 +640,8 @@ OMX_ERRORTYPE VP8CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
pVp8Dec->hMFCVp8Handle.maxDPBNum = pDecOps->Get_ActualBufferCount(hMFCHandle);
if (pVideoDec->bThumbnailMode == OMX_FALSE)
pVp8Dec->hMFCVp8Handle.maxDPBNum += EXTRA_DPB_NUM;
+ else
+ pVp8Dec->hMFCVp8Handle.maxDPBNum += PLATFORM_DISPLAY_BUFFER;
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "Vp8CodecSetup nOutbufs: %d", pVp8Dec->hMFCVp8Handle.maxDPBNum);
pVp8Dec->hMFCVp8Handle.bConfiguredMFCSrc = OMX_TRUE;
@@ -673,8 +675,8 @@ OMX_ERRORTYPE VP8CodecSrcSetup(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_DATA
pExynosInputPort->portDefinition.format.video.nStride = ((pVp8Dec->hMFCVp8Handle.codecOutbufConf.nFrameWidth + 15) & (~15));
pExynosInputPort->portDefinition.format.video.nSliceHeight = ((pVp8Dec->hMFCVp8Handle.codecOutbufConf.nFrameHeight + 15) & (~15));
- pExynosOutputPort->portDefinition.nBufferCountActual = pVp8Dec->hMFCVp8Handle.maxDPBNum - 1;
- pExynosOutputPort->portDefinition.nBufferCountMin = pVp8Dec->hMFCVp8Handle.maxDPBNum - 1;
+ pExynosOutputPort->portDefinition.nBufferCountActual = pVp8Dec->hMFCVp8Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
+ pExynosOutputPort->portDefinition.nBufferCountMin = pVp8Dec->hMFCVp8Handle.maxDPBNum - PLATFORM_DISPLAY_BUFFER;
Exynos_UpdateFrameSize(pOMXComponent);
pExynosOutputPort->exceptionFlag = NEED_PORT_DISABLE;
@@ -1115,13 +1117,7 @@ OMX_ERRORTYPE Exynos_VP8Dec_GetExtensionIndex(
goto EXIT;
}
- if (Exynos_OSAL_Strcmp(cParameterName, EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL) == 0) {
- EXYNOS_VP8DEC_HANDLE *pVp8Dec = (EXYNOS_VP8DEC_HANDLE *)((EXYNOS_OMX_VIDEODEC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- *pIndexType = OMX_IndexVendorThumbnailMode;
- ret = OMX_ErrorNone;
- } else {
- ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
- }
+ ret = Exynos_OMX_VideoDecodeGetExtensionIndex(hComponent, cParameterName, pIndexType);
EXIT:
FunctionOut();
diff --git a/exynos_omx/openmax/exynos_omx/include/exynos/Exynos_OMX_Def.h b/exynos_omx/openmax/exynos_omx/include/exynos/Exynos_OMX_Def.h
index 048dea1..1980735 100644
--- a/exynos_omx/openmax/exynos_omx/include/exynos/Exynos_OMX_Def.h
+++ b/exynos_omx/openmax/exynos_omx/include/exynos/Exynos_OMX_Def.h
@@ -68,8 +68,8 @@ typedef struct _EXYNOS_OMX_PRIORITYMGMTTYPE
typedef enum _EXYNOS_OMX_INDEXTYPE
{
-#define EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.ThumbnailMode"
- OMX_IndexVendorThumbnailMode = 0x7F000001,
+#define EXYNOS_INDEX_PARAM_ENABLE_THUMBNAIL "OMX.SEC.index.enableThumbnailMode"
+ OMX_IndexParamEnableThumbnailMode = 0x7F000001,
#define EXYNOS_INDEX_CONFIG_VIDEO_INTRAPERIOD "OMX.SEC.index.VideoIntraPeriod"
OMX_IndexConfigVideoIntraPeriod = 0x7F000002,
@@ -161,6 +161,13 @@ typedef struct _EXYNOS_OMX_VIDEO_PROFILELEVEL
OMX_S32 level;
} EXYNOS_OMX_VIDEO_PROFILELEVEL;
+typedef struct _EXYNOS_OMX_VIDEO_THUMBNAILMODE {
+ OMX_U32 nSize;
+ OMX_VERSIONTYPE nVersion;
+ OMX_U32 nPortIndex;
+ OMX_BOOL bEnable;
+} EXYNOS_OMX_VIDEO_THUMBNAILMODE;
+
#define OMX_VIDEO_CodingVPX 0x09 /**< Google VPX, formerly known as On2 VP8 */
#ifndef __OMX_EXPORTS