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_H264enc.h 20 * @brief 21 * @author SeungBeom Kim (sbcrux.kim (at) samsung.com) 22 * @version 2.0.0 23 * @history 24 * 2012.02.20 : Create 25 */ 26 27 #ifndef EXYNOS_OMX_H264_ENC_COMPONENT 28 #define EXYNOS_OMX_H264_ENC_COMPONENT 29 30 #include "Exynos_OMX_Def.h" 31 #include "OMX_Component.h" 32 #include "OMX_Video.h" 33 34 typedef struct _EXTRA_DATA 35 { 36 OMX_PTR pHeaderSPS; 37 OMX_U32 SPSLen; 38 OMX_PTR pHeaderPPS; 39 OMX_U32 PPSLen; 40 } EXTRA_DATA; 41 42 typedef struct _EXYNOS_MFC_H264ENC_HANDLE 43 { 44 OMX_HANDLETYPE hMFCHandle; 45 46 OMX_U32 indexTimestamp; 47 OMX_U32 outputIndexTimestamp; 48 OMX_BOOL bConfiguredMFCSrc; 49 OMX_BOOL bConfiguredMFCDst; 50 EXTRA_DATA headerData; 51 52 ExynosVideoDecOps *pEncOps; 53 ExynosVideoDecBufferOps *pInbufOps; 54 ExynosVideoDecBufferOps *pOutbufOps; 55 ExynosVideoEncParam encParam; 56 } EXYNOS_MFC_H264ENC_HANDLE; 57 58 typedef struct _EXYNOS_H264ENC_HANDLE 59 { 60 /* OMX Codec specific */ 61 OMX_VIDEO_PARAM_AVCTYPE AVCComponent[ALL_PORT_NUM]; 62 OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 63 64 /* SEC MFC Codec specific */ 65 EXYNOS_MFC_H264ENC_HANDLE hMFCH264Handle; 66 67 OMX_BOOL bSourceStart; 68 OMX_BOOL bDestinationStart; 69 OMX_HANDLETYPE hSourceStartEvent; 70 OMX_HANDLETYPE hDestinationStartEvent; 71 } EXYNOS_H264ENC_HANDLE; 72 73 #ifdef __cplusplus 74 extern "C" { 75 #endif 76 77 OSCL_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