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
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 @@
}
/*
+ * [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 @@
.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,