120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/* 220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * Copyright 2012 Samsung Electronics S.LSI Co. LTD 420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Licensed under the Apache License, Version 2.0 (the "License"); 620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * you may not use this file except in compliance with the License. 720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * You may obtain a copy of the License at 820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * http://www.apache.org/licenses/LICENSE-2.0 1020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * 1120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * Unless required by applicable law or agreed to in writing, software 1220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * distributed under the License is distributed on an "AS IS" BASIS, 1320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * See the License for the specific language governing permissions and 1520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * limitations under the License. 1620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 1720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 1820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/* 1920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @file Exynos_OMX_Mpeg4dec.h 2020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @brief 2120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @author Yunji Kim (yunji.kim@samsung.com) 22d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim * @author SeungBeom Kim (sbcrux.kim@samsung.com) 2338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @version 2.0.0 2420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @history 2538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 2012.02.20 : Create 2620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 2720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 2820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifndef EXYNOS_OMX_MPEG4_DEC_COMPONENT 2920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define EXYNOS_OMX_MPEG4_DEC_COMPONENT 3020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OMX_Def.h" 3220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "OMX_Component.h" 3338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "OMX_Video.h" 3438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang#include "ExynosVideoApi.h" 3520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef enum _CODEC_TYPE 3820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 3920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang CODEC_TYPE_H263, 4020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang CODEC_TYPE_MPEG4 4120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} CODEC_TYPE; 4220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 4320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang/* 4420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * This structure is the same as BitmapInfoHhr struct in pv_avifile_typedefs.h file 4520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 4620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef struct _BitmapInfoHhr 4720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 4820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiSize; 4920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiWidth; 5020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiHeight; 5120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U16 BiPlanes; 5220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U16 BiBitCount; 5320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiCompression; 5420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiSizeImage; 5520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiXPelsPerMeter; 5620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiYPelsPerMeter; 5720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiClrUsed; 5820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 BiClrImportant; 5920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} BitmapInfoHhr; 6020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 6138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_MFC_MPEG4DEC_HANDLE 6220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 63d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim OMX_HANDLETYPE hMFCHandle; 64d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim OMX_U32 indexTimestamp; 65d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim OMX_U32 outputIndexTimestamp; 66d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim OMX_BOOL bConfiguredMFCSrc; 67d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim OMX_BOOL bConfiguredMFCDst; 68bef6209319d736ba1006de1699a04b5ad89e2454SeungBeom Kim OMX_U32 maxDPBNum; 69d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim CODEC_TYPE codecType; 7020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 7138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ExynosVideoColorFormatType MFCOutputColorType; 72d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim ExynosVideoDecOps *pDecOps; 73d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim ExynosVideoDecBufferOps *pInbufOps; 74d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim ExynosVideoDecBufferOps *pOutbufOps; 75d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim ExynosVideoGeometry codecOutbufConf; 7638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_MFC_MPEG4DEC_HANDLE; 7738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 7838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Changtypedef struct _EXYNOS_MPEG4DEC_HANDLE 7920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 8020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang /* OMX Codec specific */ 8120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_H263TYPE h263Component[ALL_PORT_NUM]; 8220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_MPEG4TYPE mpeg4Component[ALL_PORT_NUM]; 8320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 8420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 8520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang /* EXYNOS MFC Codec specific */ 86d03573a4a182b0a36eaa16fb7638d98429d1c3fbSeungBeom Kim EXYNOS_MFC_MPEG4DEC_HANDLE hMFCMpeg4Handle; 8738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 8838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bSourceStart; 8938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bDestinationStart; 9038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hSourceStartEvent; 9138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hDestinationStartEvent; 9238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang} EXYNOS_MPEG4DEC_HANDLE; 9320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 9420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus 9520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changextern "C" { 9620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 9720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 9820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit( 9920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_HANDLETYPE hComponent, 10020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_STRING componentName); 10120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOMX_ERRORTYPE Exynos_OMX_ComponentDeinit( 10220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_HANDLETYPE hComponent); 10320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 10420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus 10520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang}; 10620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 10720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 10820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 109