aboutsummaryrefslogtreecommitdiff
path: root/include/linux/vcodec/vcodec_dec_demuxer_if_v2.h
blob: 5a1d584143c9a965aa355e74de0f94f4b07ebd71 (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
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

#ifndef VCODEC_DEC_DEMUXER_V2_IF_H
#define VCODEC_DEC_DEMUXER_V2_IF_H


typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
    int fgValid;
} RM_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    RM_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
} RM_DECODER_INPUT_PARAM_T;

typedef enum
{
    RV8 = 0,
    RV9,
    RV10
} RM_CODEC_VERSION_T;

#define MAX_NUM_RPR_SIZES 8
typedef struct
{
    RM_CODEC_VERSION_T eDecoderVersion;
    unsigned int u4MaxDimWidth;
    unsigned int u4MaxDimHeight;
    unsigned int u4NumRPRSizes;
    unsigned int au4RPRSizes[2 * MAX_NUM_RPR_SIZES];
} RM_DECODER_INIT_PARAM_T;

typedef struct
{
    unsigned int MaxSupportWidthForYUV420_ASP;
    unsigned int MaxSupportHeightForYUV420_ASP;
    unsigned short u2FrameWidthInContainer;
    unsigned short u2FrameHeightInContainer;
} MPEG4_DECODER_PRIVATE_PARAM_T;

// The H264 uses the private data to transfer NAL units
// The related data structure informations are defined as below
//

typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
} H264_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    H264_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
} H264_DECODER_INPUT_PARAM_T;

typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
} VC1_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    VC1_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
} VC1_DECODER_INPUT_PARAM_T;

typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
    unsigned short u2FrameWidthInContainer;
    unsigned short u2FrameHeightInContainer;
} MPEG4_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    MPEG4_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
} MPEG4_DECODER_INPUT_PARAM_T;
typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
} MPEG4VT_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    MPEG4VT_DECODER_PAYLOAD_INFO_T *pu1PayloadAddress;
} MPEG4VT_DECODER_INPUT_PARAM_T;

typedef struct
{
    VCODEC_BUFFER_T     rPayload;
    unsigned int        u4Length;
} VP8_DECODER_INPUT_UNIT_T;

typedef struct
{
    unsigned char *u4Address;
    unsigned int u4Length;
} HEVC_DECODER_PAYLOAD_INFO_T;

typedef struct
{
    unsigned int u4PayloadNumber;
    HEVC_DECODER_PAYLOAD_INFO_T *pu1Payload;
} HEVC_DECODER_INPUT_PARAM_T;
#endif /* VCODEC_DEC_DEMUXER_IF_H */