#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 */