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