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_Mpeg4enc.h 2020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @brief 2120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @author Yunji Kim (yunji.kim@samsung.com) 2238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * @version 2.0.0 2320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang * @history 2438ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang * 2012.02.20 : Create 2520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang */ 2620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 2720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifndef EXYNOS_OMX_MPEG4_ENC_COMPONENT 2820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#define EXYNOS_OMX_MPEG4_ENC_COMPONENT 2920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "Exynos_OMX_Def.h" 3120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#include "OMX_Component.h" 32800a8d754f6251b19a56b1aebde0e239c0e5f3cdJiho Chang#include "OMX_Video.h" 3320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 3420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef enum _CODEC_TYPE 3520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 3620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang CODEC_TYPE_H263, 3720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang CODEC_TYPE_MPEG4 3820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} CODEC_TYPE; 3920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 4020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef struct _EXYNOS_MFC_MPEG4ENC_HANDLE 4120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 4220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_HANDLETYPE hMFCHandle; 43800a8d754f6251b19a56b1aebde0e239c0e5f3cdJiho Chang 4420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_U32 indexTimestamp; 4538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_U32 outputIndexTimestamp; 4638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bConfiguredMFCSrc; 4738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bConfiguredMFCDst; 4820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang CODEC_TYPE codecType; 4938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 5038ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ExynosVideoDecOps *pEncOps; 5138ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ExynosVideoDecBufferOps *pInbufOps; 5238ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ExynosVideoDecBufferOps *pOutbufOps; 5338ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang ExynosVideoEncParam encParam; 5420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} EXYNOS_MFC_MPEG4ENC_HANDLE; 5520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 5620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changtypedef struct _EXYNOS_MPEG4ENC_HANDLE 5720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang{ 5820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang /* OMX Codec specific */ 5920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_H263TYPE h263Component[ALL_PORT_NUM]; 6020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_MPEG4TYPE mpeg4Component[ALL_PORT_NUM]; 6120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 6220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 6320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang /* SEC MFC Codec specific */ 6420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang EXYNOS_MFC_MPEG4ENC_HANDLE hMFCMpeg4Handle; 6538ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang 6638ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bSourceStart; 6738ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_BOOL bDestinationStart; 6838ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hSourceStartEvent; 6938ef2572d26fc760c584a1855a3d002f34eb0231Jiho Chang OMX_HANDLETYPE hDestinationStartEvent; 7020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang} EXYNOS_MPEG4ENC_HANDLE; 7120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 7220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 7320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus 7420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Changextern "C" { 7520d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 7620d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 7720d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho ChangOSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName); 7820d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent); 7920d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 8020d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#ifdef __cplusplus 8120d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang}; 8220d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 8320d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang 8420d3e6e3118a6e19627296e9247e948d54ec0fb8Jiho Chang#endif 85