blob: 6185ae10c94732cbc43e6a4529ae55de2125bf1a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#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 */
|