1/* 2 * 3 * Copyright 2012 Samsung Electronics S.LSI Co. LTD 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 18/* 19 * @file Exynos_OMX_Mpeg4enc.h 20 * @brief 21 * @author Yunji Kim (yunji.kim@samsung.com) 22 * @version 2.0.0 23 * @history 24 * 2012.02.20 : Create 25 */ 26 27#ifndef EXYNOS_OMX_MPEG4_ENC_COMPONENT 28#define EXYNOS_OMX_MPEG4_ENC_COMPONENT 29 30#include "Exynos_OMX_Def.h" 31#include "OMX_Component.h" 32#include "OMX_Video.h" 33 34typedef enum _CODEC_TYPE 35{ 36 CODEC_TYPE_H263, 37 CODEC_TYPE_MPEG4 38} CODEC_TYPE; 39 40typedef struct _EXYNOS_MFC_MPEG4ENC_HANDLE 41{ 42 OMX_HANDLETYPE hMFCHandle; 43 44 OMX_U32 indexTimestamp; 45 OMX_U32 outputIndexTimestamp; 46 OMX_BOOL bConfiguredMFCSrc; 47 OMX_BOOL bConfiguredMFCDst; 48 CODEC_TYPE codecType; 49 50 ExynosVideoDecOps *pEncOps; 51 ExynosVideoDecBufferOps *pInbufOps; 52 ExynosVideoDecBufferOps *pOutbufOps; 53 ExynosVideoEncParam encParam; 54} EXYNOS_MFC_MPEG4ENC_HANDLE; 55 56typedef struct _EXYNOS_MPEG4ENC_HANDLE 57{ 58 /* OMX Codec specific */ 59 OMX_VIDEO_PARAM_H263TYPE h263Component[ALL_PORT_NUM]; 60 OMX_VIDEO_PARAM_MPEG4TYPE mpeg4Component[ALL_PORT_NUM]; 61 OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 62 63 /* SEC MFC Codec specific */ 64 EXYNOS_MFC_MPEG4ENC_HANDLE hMFCMpeg4Handle; 65 66 OMX_BOOL bSourceStart; 67 OMX_BOOL bDestinationStart; 68 OMX_HANDLETYPE hSourceStartEvent; 69 OMX_HANDLETYPE hDestinationStartEvent; 70} EXYNOS_MPEG4ENC_HANDLE; 71 72 73#ifdef __cplusplus 74extern "C" { 75#endif 76 77OSCL_EXPORT_REF OMX_ERRORTYPE Exynos_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName); 78 OMX_ERRORTYPE Exynos_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent); 79 80#ifdef __cplusplus 81}; 82#endif 83 84#endif 85