mm_device_meizu_m2note/kernel-headers/venc_drv_if_dep.h

76 lines
2.5 KiB
C

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