#ifndef VENC_DRV_IF_DEP_H #define VENC_DRV_IF_DEP_H /*============================================================================= * Include Files *===========================================================================*/ #include "val_types_private.h" #include "vcodec_if_v2.h" #ifdef __cplusplus extern "C" { #endif /*============================================================================= * Type definition *===========================================================================*/ /** * @par Structure * mhalVdoDrv_t * @par Description * This is a structure which store common video enc driver information */ typedef struct mhalVdoDrv_s { VAL_VOID_T *prCodecHandle; VAL_UINT32_T u4EncodedFrameCount; VCODEC_ENC_CALLBACK_T rCodecCb; VIDEO_ENC_API_T *prCodecAPI; VENC_BS_T pBSBUF; VCODEC_ENC_BUFFER_INFO_T EncoderInputParamNC; VENC_DRV_PARAM_BS_BUF_T BSout; VENC_HYBRID_ENCSETTING rVencSetting; VAL_UINT8_T *ptr; } mhalVdoDrv_t; typedef struct __VENC_HANDLE_T { VAL_HANDLE_T hHalHandle; /* /< HAL data. */ VAL_HANDLE_T vdriver_Handle; /* /< for MMSYS power on/off */ VAL_MEMORY_T rHandleMem; /* /< Save handle memory information to be used in release. */ VAL_BOOL_T bFirstDecoded; /* / < already pass first video data to codec */ VAL_BOOL_T bHeaderPassed; /* / < already pass video header to codec */ VAL_BOOL_T bFlushAll; VAL_MEMORY_T HeaderBuf; VAL_HANDLE_T hCodec; /* DRIVER_HANDLER_T hDrv; */ VAL_UINT32_T CustomSetting; VCODEC_MEMORY_TYPE_T rVideoDecMemType; VAL_UINT32_T nYUVBufferIndex; VCODEC_OPEN_SETTING_T codecOpenSetting; mhalVdoDrv_t rMhalVdoDrv; VAL_MEMORY_T bs_driver_workingmem; /* Morris Yang 20110411 [ */ VENC_DRV_VIDEO_FORMAT_T CodecFormat; VAL_VOID_T *prExtraData; /* /< Driver private data pointer. */ VAL_MEMORY_T rExtraDataMem; /* /< Save extra data memory information to be used in release. */ /* ] */ VAL_UINT32_T nOmxTids; #if 1 /* defined(MT6572) //VCODEC_MULTI_THREAD */ /* Jackal Chen [ */ VAL_VOID_T *pDrvModule; /* /< used for dlopen and dlclose */ /* ] */ #endif VIDEO_ENC_WRAP_HANDLE_T hWrapper; } VENC_HANDLE_T; #ifdef __cplusplus } #endif #endif /* VENC_DRV_IF_DEP_H */