76 lines
2.5 KiB
C
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 */
|