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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
#ifndef VIDEO_CUSTOM_SP_H
#define VIDEO_CUSTOM_SP_H
/* #include "video_codec_if_sp.h" */
#include "vcodec_if_v2.h"
#define ASSERT(expr) \
do { \
if (!(expr)) \
AssertionFailed(__func__, __FILE__, __LINE__); \
} while (0) /* /< ASSERT definition */
/******************************************************************************
*
*
* decode
*
*
******************************************************************************/
/**
* @par Enumeration
* VIDEO_DECODER_T
* @par Description
* This is the item for video decoder format
*/
typedef enum _VIDEO_DECODER_T {
CODEC_DEC_NONE = 0, /* /< NONE */
CODEC_DEC_H263 = (0x1 << 0), /* /< H263 */
CODEC_DEC_MPEG4 = (0x1 << 1), /* /< MPEG4 */
CODEC_DEC_H264 = (0x1 << 2), /* /< H264 */
CODEC_DEC_RV = (0x1 << 3), /* /< RV */
CODEC_DEC_VC1 = (0x1 << 4), /* /< VC1 */
CODEC_DEC_VP8 = (0x1 << 5), /* /< VP8 */
CODEC_DEC_VP9 = (0x1 << 6), /* /< VP9 */
CODEC_DEC_HEVC = (0x1 << 7), /* /< HEVC */
CODEC_DEC_MPEG2 = (0x1 << 8), /* /< MPEG2 */
CODEC_DEC_MAX = (0x1 << 9) /* /< MAX */
} VIDEO_DECODER_T;
#if 1 /* defined(MT6572) //VCODEC_MULTI_THREAD */
/**
* @par Function
* GetDecoderAPI
* @par Description
* The function used to get decoder API for codec library
* @param
* eDecType [IN] decoder type
* @param
* hWrapper [IN] wrapper
* @param
* ppDrvModule [IN/OUT] driver module
* @param
* bUseMultiCoreCodec [IN] multi core codec flag
* @par Returns
* VIDEO_DEC_API_T, the decoder API
*/
VIDEO_DEC_API_T *GetDecoderAPI(VIDEO_DECODER_T eDecType, HANDLE hWrapper, void **ppDrvModule, unsigned int bUseMultiCoreCodec);
#else
VIDEO_DEC_API_T *GetDecoderAPI(VIDEO_DECODER_T, HANDLE); /* HANDLE : wrapper's handle */
#endif
/* VCODEC_DEC_API_T *GetMPEG4DecoderAPI(void); */
/* VCODEC_DEC_API_T *GetH264DecoderAPI(void); */
/* VCODEC_DEC_API_T *GetRVDecoderAPI(void); */
/* VCODEC_DEC_API_T *GetVP8DecoderAPI(void); */
/* VCODEC_DEC_API_T *GetVC1DecoderAPI(void); */
/******************************************************************************
*
*
* encode
*
*
******************************************************************************/
/**
* @par Enumeration
* VIDEO_ENCODER_T
* @par Description
* This is the item for video decoder format
*/
typedef enum _VIDEO_ENCODER_T {
CODEC_ENC_NONE = 0, /* /< NONE */
CODEC_ENC_H263 = (0x1 << 0), /* /< H263 */
CODEC_ENC_MPEG4 = (0x1 << 1), /* /< MPEG4 */
CODEC_ENC_H264 = (0x1 << 2), /* /< H264 */
CODEC_ENC_HEVC = (0x1 << 3), /* /< HEVC */
CODEC_ENC_VP8 = (0x1 << 5), /* /< VP8 */
CODEC_ENC_VP9 = (0x1 << 6), /* /< VP9 */
CODEC_ENC_MAX = (0x1 << 7) /* /< MAX */
} VIDEO_ENCODER_T;
/**
* @par Function
* GetEncoderAPI
* @par Description
* The function used to get encoder API for codec library
* @param
* eEncType [IN] encoder type
* @param
* hWrapper [IN] wrapper
* @param
* ppDrvModule [IN/OUT] driver module
* @param
* bUseMultiCoreCodec [IN] multi core codec flag
* @par Returns
* VIDEO_DEC_API_T, the encoder API
*/
VIDEO_ENC_API_T *GetEncoderAPI(VIDEO_ENCODER_T eEncType, HANDLE hWrapper, void **ppDrvModule, unsigned int bUseMultiCoreCodec);
/* VCODEC_ENC_API_T *GetMPEG4EncoderAPI(void); */
/* VCODEC_ENC_API_T* GetH264EncoderAPI(void); */
/* VIDEO_ENCODER_API_T *GetVP8EncoderAPI(void); */
#endif /* VIDEO_CUSTOM_SP_H */
|