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_Mpeg4dec.h 20 * @brief 21 * @author Yunji Kim (yunji.kim (at) samsung.com) 22 * @version 1.0 23 * @history 24 * 2010.7.15 : Create 25 */ 26 27 #ifndef SEC_OMX_MPEG4_DEC_COMPONENT 28 #define SEC_OMX_MPEG4_DEC_COMPONENT 29 30 #include "SEC_OMX_Def.h" 31 #include "OMX_Component.h" 32 33 34 typedef enum _CODEC_TYPE 35 { 36 CODEC_TYPE_H263, 37 CODEC_TYPE_MPEG4 38 } CODEC_TYPE; 39 40 /* 41 * This structure is the same as BitmapInfoHhr struct in pv_avifile_typedefs.h file 42 */ 43 typedef struct _BitmapInfoHhr 44 { 45 OMX_U32 BiSize; 46 OMX_U32 BiWidth; 47 OMX_U32 BiHeight; 48 OMX_U16 BiPlanes; 49 OMX_U16 BiBitCount; 50 OMX_U32 BiCompression; 51 OMX_U32 BiSizeImage; 52 OMX_U32 BiXPelsPerMeter; 53 OMX_U32 BiYPelsPerMeter; 54 OMX_U32 BiClrUsed; 55 OMX_U32 BiClrImportant; 56 } BitmapInfoHhr; 57 58 typedef struct _SEC_MFC_MPEG4_HANDLE 59 { 60 OMX_HANDLETYPE hMFCHandle; 61 OMX_PTR pMFCStreamBuffer; 62 OMX_PTR pMFCStreamPhyBuffer; 63 OMX_U32 indexTimestamp; 64 OMX_BOOL bConfiguredMFC; 65 OMX_BOOL bThumbnailMode; 66 CODEC_TYPE codecType; 67 } SEC_MFC_MPEG4_HANDLE; 68 69 typedef struct _SEC_MPEG4_HANDLE 70 { 71 /* OMX Codec specific */ 72 OMX_VIDEO_PARAM_H263TYPE h263Component[ALL_PORT_NUM]; 73 OMX_VIDEO_PARAM_MPEG4TYPE mpeg4Component[ALL_PORT_NUM]; 74 OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE errorCorrectionType[ALL_PORT_NUM]; 75 76 /* SEC MFC Codec specific */ 77 SEC_MFC_MPEG4_HANDLE hMFCMpeg4Handle; 78 } SEC_MPEG4_HANDLE; 79 80 #ifdef __cplusplus 81 extern "C" { 82 #endif 83 84 OSCL_EXPORT_REF OMX_ERRORTYPE SEC_OMX_ComponentInit(OMX_HANDLETYPE hComponent, OMX_STRING componentName); 85 OMX_ERRORTYPE SEC_OMX_ComponentDeinit(OMX_HANDLETYPE hComponent); 86 87 #ifdef __cplusplus 88 }; 89 #endif 90 91 #endif 92