1 /* 2 * 3 * Copyright 2010 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 SEC_OMX_H264dec.h 20 * @brief 21 * @author SeungBeom Kim (sbcrux.kim (at) samsung.com) 22 * @version 1.0 23 * @history 24 * 2010.7.15 : Create 25 */ 26 27 #ifndef SEC_OMX_H264_DEC_COMPONENT 28 #define SEC_OMX_H264_DEC_COMPONENT 29 30 #include "SEC_OMX_Def.h" 31 #include "OMX_Component.h" 32 #include "OMX_Video.h" 33 34 35 typedef struct _SEC_MFC_H264DEC_HANDLE 36 { 37 OMX_HANDLETYPE hMFCHandle; 38 OMX_PTR pMFCStreamBuffer; 39 OMX_PTR pMFCStreamPhyBuffer; 40 OMX_U32 indexTimestamp; 41 OMX_BOOL bConfiguredMFC; 42 OMX_BOOL bThumbnailMode; 43 OMX_S32 returnCodec; 44 } SEC_MFC_H264DEC_HANDLE; 45 46 typedef struct _SEC_H264DEC_HANDLE 47 { 48 /* OMX Codec specific */ 49 OMX_VIDEO_PARAM_AVCTYPE AVCComponent[ALL_PORT_NUM]; 50 OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 51 52 /* SEC MFC Codec specific */ 53 SEC_MFC_H264DEC_HANDLE hMFCH264Handle; 54 55 /* For Non-Block mode */ 56 SEC_MFC_NBDEC_THREAD NBDecThread; 57 OMX_BOOL bFirstFrame; 58 MFC_DEC_INPUT_BUFFER MFCDecInputBuffer[MFC_INPUT_BUFFER_NUM_MAX]; 59 OMX_U32 indexInputBuffer; 60 } SEC_H264DEC_HANDLE; 61 62 #ifdef __cplusplus 63 extern "C" { 64 #endif 65 66 OSCL_EXPORT_REF OMX_ERRORTYPE SEC_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName); 67 OMX_ERRORTYPE SEC_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent); 68 69 #ifdef __cplusplus 70 }; 71 #endif 72 73 #endif 74