xref: /utopia/UTPA2-700.0.x/modules/dscmb/drv/nsk2/raspdemuxrasp2.h (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi /*
2*53ee8cc1Swenshuai.xi Copyright ((c)) NDS Limited 2005-2010
3*53ee8cc1Swenshuai.xi 
4*53ee8cc1Swenshuai.xi P R O P R I E T A R Y  &  C O N F I D E N T I A L
5*53ee8cc1Swenshuai.xi 
6*53ee8cc1Swenshuai.xi The copyright of this code and related documentation together with
7*53ee8cc1Swenshuai.xi any other associated intellectual property rights are vested in
8*53ee8cc1Swenshuai.xi NDS Limited and may not be used except in accordance with the terms
9*53ee8cc1Swenshuai.xi of the licence that you have entered into with NDS Limited.
10*53ee8cc1Swenshuai.xi Use of this material without an express licence from NDS Limited
11*53ee8cc1Swenshuai.xi shall be an infringement of copyright and any other intellectual
12*53ee8cc1Swenshuai.xi property rights that may be incorporated with this material.
13*53ee8cc1Swenshuai.xi 
14*53ee8cc1Swenshuai.xi P L E A S E     N O T E :
15*53ee8cc1Swenshuai.xi 
16*53ee8cc1Swenshuai.xi This header file has been automatically generated from a source CDI
17*53ee8cc1Swenshuai.xi Specification file in XML format.
18*53ee8cc1Swenshuai.xi */
19*53ee8cc1Swenshuai.xi /*
20*53ee8cc1Swenshuai.xi CDI Issue 7
21*53ee8cc1Swenshuai.xi */
22*53ee8cc1Swenshuai.xi 
23*53ee8cc1Swenshuai.xi /*
24*53ee8cc1Swenshuai.xi CDI header file for the demux rasp device.
25*53ee8cc1Swenshuai.xi This file is immutable. Do not edit.
26*53ee8cc1Swenshuai.xi */
27*53ee8cc1Swenshuai.xi 
28*53ee8cc1Swenshuai.xi #ifndef __NDS_CDI_RASPDEMUXRASP_H__
29*53ee8cc1Swenshuai.xi #define __NDS_CDI_RASPDEMUXRASP_H__
30*53ee8cc1Swenshuai.xi 
31*53ee8cc1Swenshuai.xi /* Include the platform-specific IOCTL macros. */
32*53ee8cc1Swenshuai.xi #include "MsCommon.h"
33*53ee8cc1Swenshuai.xi 
34*53ee8cc1Swenshuai.xi 
35*53ee8cc1Swenshuai.xi /* Demux RASP notification field definitions. */
36*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_PAYLOAD_UNIT_START_INDICATOR       (0x00000001U)
37*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_CHANGE_ES_TO_NOT_SCRAMBLED         (0x00000002U)
38*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_CHANGE_ES_TO_EVEN_SCRAMBLED        (0x00000004U)
39*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_CHANGE_ES_TO_ODD_SCRAMBLED         (0x00000008U)
40*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_DISCONTINUITY_INDICATOR            (0x00000100U)
41*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_RANDOM_ACCESS_INDICATOR            (0x00000200U)
42*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_ES_PRIORITY_INDICATOR              (0x00000400U)
43*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_PCR_FLAG                           (0x00000800U)
44*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_OPCR_FLAG                          (0x00001000U)
45*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_SPLICING_POINT_FLAG                (0x00002000U)
46*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_TRANSPORT_PRIVATE_DATA             (0x00004000U)
47*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_ADAPTATION_FIELD_EXTENSION_FLAG    (0x00008000U)
48*53ee8cc1Swenshuai.xi #define DEMUX_RASP_GENERAL_FIRST_PACKET                    (0x01000000U)
49*53ee8cc1Swenshuai.xi #define DEMUX_RASP_GENERAL_INTERNAL_TICK                   (0x02000000U)
50*53ee8cc1Swenshuai.xi /* Obsolete:
51*53ee8cc1Swenshuai.xi 	The following definitions for DEMUX_RASP_* are obsolete
52*53ee8cc1Swenshuai.xi 	as of CDI [version 2] Issue 5.
53*53ee8cc1Swenshuai.xi 	The definitions may be removed in a future version
54*53ee8cc1Swenshuai.xi 	of the CDI specification and from this header file.
55*53ee8cc1Swenshuai.xi */
56*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_SECTION_FILTER_MATCH               (0x00000020U)
57*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TPID_PACKET_REPLACEMENT                 (0x00010000U)
58*53ee8cc1Swenshuai.xi 
59*53ee8cc1Swenshuai.xi /* Demux RASP Event definitions. */
60*53ee8cc1Swenshuai.xi #define DEMUX_RASP_EVENT_THRESHOLD_REACHED               (0x00000001U)
61*53ee8cc1Swenshuai.xi #define DEMUX_RASP_EVENT_OVERFLOW                        (0x00000002U)
62*53ee8cc1Swenshuai.xi #define DEMUX_RASP_EVENT_TP_PAYLOAD_THRESHOLD_REACHED    (0x00000004U)
63*53ee8cc1Swenshuai.xi #define DEMUX_RASP_EVENT_TP_PAYLOAD_OVERFLOW             (0x00000008U)
64*53ee8cc1Swenshuai.xi 
65*53ee8cc1Swenshuai.xi /* Capabilities Versions definitions. */
66*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_V0    (0x00000001U)
67*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_V1    (0x00000002U)
68*53ee8cc1Swenshuai.xi 
69*53ee8cc1Swenshuai.xi /* RASP TP Payload PES Notification Fields definitions. */
70*53ee8cc1Swenshuai.xi #define DEMUX_RASP_PES_PTS    (0x00000001U)
71*53ee8cc1Swenshuai.xi 
72*53ee8cc1Swenshuai.xi /* RASP Encoding Formats definitions. */
73*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_ENCODING_FORMAT_MPEG2    (0x00000001U)
74*53ee8cc1Swenshuai.xi 
75*53ee8cc1Swenshuai.xi /* MPEG2 ES Encoding Format definitions. */
76*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_SEQUENCE_START     (0x00000001U)
77*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PICTURE_I_START    (0x00000010U)
78*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PICTURE_P_START    (0x00000020U)
79*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PICTURE_B_START    (0x00000040U)
80*53ee8cc1Swenshuai.xi 
81*53ee8cc1Swenshuai.xi /* MPEG2 ES Encoding Format definitions. */
82*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PIC_TYPE_FIELD_TOP       (0x01U)
83*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PIC_TYPE_FIELD_BOTTOM    (0x02U)
84*53ee8cc1Swenshuai.xi #define DEMUX_RASP_ES_MPEG2_PIC_TYPE_FRAME           (0x03U)
85*53ee8cc1Swenshuai.xi 
86*53ee8cc1Swenshuai.xi /* Demux Trigger definitions. */
87*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TRIGGER_BY_TIME         (1U)
88*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TRIGGER_BY_RASP_DATA    (2U)
89*53ee8cc1Swenshuai.xi 
90*53ee8cc1Swenshuai.xi /// data type unsigned char, data length 1 byte
91*53ee8cc1Swenshuai.xi typedef unsigned char               uint8_t;                              // 1 byte
92*53ee8cc1Swenshuai.xi /// data type unsigned short, data length 2 byte
93*53ee8cc1Swenshuai.xi typedef unsigned short              uint16_t;                             // 2 bytes
94*53ee8cc1Swenshuai.xi /// data type unsigned int, data length 4 byte
95*53ee8cc1Swenshuai.xi typedef unsigned long               uint32_t;                             // 4 bytes
96*53ee8cc1Swenshuai.xi 
97*53ee8cc1Swenshuai.xi /* DemuxRaspConfiguration structure */
98*53ee8cc1Swenshuai.xi typedef struct DemuxRaspConfiguration_cdi
99*53ee8cc1Swenshuai.xi {
100*53ee8cc1Swenshuai.xi     uint32_t  thresholdType;
101*53ee8cc1Swenshuai.xi     uint32_t  raspDataThreshold;
102*53ee8cc1Swenshuai.xi     uint32_t  timeThreshold;
103*53ee8cc1Swenshuai.xi     uint32_t  tpidIndependentEvents;
104*53ee8cc1Swenshuai.xi } DemuxRaspConfiguration;
105*53ee8cc1Swenshuai.xi 
106*53ee8cc1Swenshuai.xi /* DemuxRaspTPMask structure */
107*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPMask_cdi
108*53ee8cc1Swenshuai.xi {
109*53ee8cc1Swenshuai.xi     uint32_t  tpid;
110*53ee8cc1Swenshuai.xi     uint32_t  tpMaskID;
111*53ee8cc1Swenshuai.xi     uint32_t  eventMask;
112*53ee8cc1Swenshuai.xi     uint32_t  payloadMask;
113*53ee8cc1Swenshuai.xi } DemuxRaspTPMask;
114*53ee8cc1Swenshuai.xi 
115*53ee8cc1Swenshuai.xi /* DemuxRaspTimerTPNumber structure */
116*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTimerTPNumber_cdi
117*53ee8cc1Swenshuai.xi {
118*53ee8cc1Swenshuai.xi     uint32_t  time;
119*53ee8cc1Swenshuai.xi     uint8_t   packetNumber[8];
120*53ee8cc1Swenshuai.xi } DemuxRaspTimerTPNumber;
121*53ee8cc1Swenshuai.xi 
122*53ee8cc1Swenshuai.xi /* DemuxRaspTP structure */
123*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTP_cdi
124*53ee8cc1Swenshuai.xi {
125*53ee8cc1Swenshuai.xi     uint8_t  packetNumber[8];
126*53ee8cc1Swenshuai.xi     uint8_t  bufferLength;
127*53ee8cc1Swenshuai.xi     uint8_t  *buffer;
128*53ee8cc1Swenshuai.xi } DemuxRaspTP;
129*53ee8cc1Swenshuai.xi 
130*53ee8cc1Swenshuai.xi /* DemuxRaspReplaceTP structure */
131*53ee8cc1Swenshuai.xi 
132*53ee8cc1Swenshuai.xi /* Obsolete:
133*53ee8cc1Swenshuai.xi    The following definition for DemuxRaspReplaceTP is obsolete
134*53ee8cc1Swenshuai.xi    as of CDI [version 2] Issue 5.
135*53ee8cc1Swenshuai.xi    The definition may be removed in a future version of the
136*53ee8cc1Swenshuai.xi    CDI specification and from this header file.
137*53ee8cc1Swenshuai.xi */
138*53ee8cc1Swenshuai.xi typedef struct DemuxRaspReplaceTP_cdi
139*53ee8cc1Swenshuai.xi {
140*53ee8cc1Swenshuai.xi     uint32_t  tpid;
141*53ee8cc1Swenshuai.xi     uint32_t  tpReplacerID;
142*53ee8cc1Swenshuai.xi     uint8_t   fromByte;
143*53ee8cc1Swenshuai.xi     uint8_t   numBytes;
144*53ee8cc1Swenshuai.xi     const void      *replaceData;
145*53ee8cc1Swenshuai.xi } DemuxRaspReplaceTP;
146*53ee8cc1Swenshuai.xi 
147*53ee8cc1Swenshuai.xi /* DemuxRaspDataBlock structure */
148*53ee8cc1Swenshuai.xi typedef struct DemuxRaspDataBlock_cdi
149*53ee8cc1Swenshuai.xi {
150*53ee8cc1Swenshuai.xi     uint32_t  eventDescriptor;
151*53ee8cc1Swenshuai.xi     uint32_t  tpid;
152*53ee8cc1Swenshuai.xi     uint8_t   packetNumber[8];
153*53ee8cc1Swenshuai.xi     uint32_t  timer;
154*53ee8cc1Swenshuai.xi     uint32_t  streamClock;
155*53ee8cc1Swenshuai.xi } DemuxRaspDataBlock;
156*53ee8cc1Swenshuai.xi 
157*53ee8cc1Swenshuai.xi /* DemuxRaspRead structure */
158*53ee8cc1Swenshuai.xi typedef struct DemuxRaspRead_cdi
159*53ee8cc1Swenshuai.xi {
160*53ee8cc1Swenshuai.xi     uint32_t            numDataBlocksToRead;
161*53ee8cc1Swenshuai.xi     DemuxRaspDataBlock  *dataBlocks;
162*53ee8cc1Swenshuai.xi     uint32_t            numDataBlocksReturned;
163*53ee8cc1Swenshuai.xi } DemuxRaspRead;
164*53ee8cc1Swenshuai.xi 
165*53ee8cc1Swenshuai.xi /* DemuxRaspCapsEx structure */
166*53ee8cc1Swenshuai.xi typedef struct DemuxRaspCapsEx_cdi
167*53ee8cc1Swenshuai.xi {
168*53ee8cc1Swenshuai.xi     uint32_t  version;
169*53ee8cc1Swenshuai.xi     void      *capability;
170*53ee8cc1Swenshuai.xi     uint32_t  capabilitySize;
171*53ee8cc1Swenshuai.xi } DemuxRaspCapsEx;
172*53ee8cc1Swenshuai.xi 
173*53ee8cc1Swenshuai.xi /* Demux RASP features definitions. */
174*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_EVERY_SLOT_TIME         (0x01U)
175*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_STREAM_CLOCK_STAMP      (0x02U)
176*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_LOCAL_CLOCK_STAMP       (0x04U)
177*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_TRIGGER_BY_RASP_DATA    (0x08U)
178*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_TRIGGER_BY_TIME         (0x10U)
179*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_GET_TIMER_IN_TICKS      (0x20U)
180*53ee8cc1Swenshuai.xi #define DEMUX_RASP_FEATURE_TP_PAYLOAD_INDEXING     (0x40U)
181*53ee8cc1Swenshuai.xi 
182*53ee8cc1Swenshuai.xi /* Demux RASP capability definitions. */
183*53ee8cc1Swenshuai.xi 
184*53ee8cc1Swenshuai.xi /* Obsolete:
185*53ee8cc1Swenshuai.xi    The following definitions for Demux RASP capability (DEMUX_RASP_CAP_*)
186*53ee8cc1Swenshuai.xi    are obsolete as of CDI [version 2] Issue 5.
187*53ee8cc1Swenshuai.xi    The definition may be removed in a future version of the CDI specification
188*53ee8cc1Swenshuai.xi    and from this header file.
189*53ee8cc1Swenshuai.xi */
190*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_EVERY_SLOT_TIME         (DEMUX_RASP_FEATURE_EVERY_SLOT_TIME)
191*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_STREAM_CLOCK_STAMP      (DEMUX_RASP_FEATURE_STREAM_CLOCK_STAMP)
192*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_LOCAL_CLOCK_STAMP       (DEMUX_RASP_FEATURE_LOCAL_CLOCK_STAMP)
193*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_TRIGGER_BY_RASP_DATA    (DEMUX_RASP_FEATURE_TRIGGER_BY_RASP_DATA)
194*53ee8cc1Swenshuai.xi #define DEMUX_RASP_CAP_TRIGGER_BY_TIME         (DEMUX_RASP_FEATURE_TRIGGER_BY_TIME)
195*53ee8cc1Swenshuai.xi 
196*53ee8cc1Swenshuai.xi /* DemuxRaspCaps structure */
197*53ee8cc1Swenshuai.xi 
198*53ee8cc1Swenshuai.xi /* Obsolete:
199*53ee8cc1Swenshuai.xi    The following definition for DemuxRaspCaps is obsolete
200*53ee8cc1Swenshuai.xi    as of CDI [version 2] Issue 5.
201*53ee8cc1Swenshuai.xi    The definition may be removed in a future version of the
202*53ee8cc1Swenshuai.xi    CDI specification and from this header file.
203*53ee8cc1Swenshuai.xi */
204*53ee8cc1Swenshuai.xi typedef struct DemuxRaspCaps_cdi
205*53ee8cc1Swenshuai.xi {
206*53ee8cc1Swenshuai.xi     uint32_t  raspEvents;
207*53ee8cc1Swenshuai.xi     uint32_t  clockRate;
208*53ee8cc1Swenshuai.xi     uint16_t  numConnections;
209*53ee8cc1Swenshuai.xi     uint16_t  numRaspDataBlocks;
210*53ee8cc1Swenshuai.xi     uint16_t  numTPs;
211*53ee8cc1Swenshuai.xi     uint16_t  numTPMasks;
212*53ee8cc1Swenshuai.xi     uint16_t  numTPreplacers;
213*53ee8cc1Swenshuai.xi     uint8_t   functionalityMask;
214*53ee8cc1Swenshuai.xi } DemuxRaspCaps;
215*53ee8cc1Swenshuai.xi 
216*53ee8cc1Swenshuai.xi typedef DemuxRaspCaps DemuxRaspCapsV0;
217*53ee8cc1Swenshuai.xi 
218*53ee8cc1Swenshuai.xi /* DemuxRaspCapsV1 structure */
219*53ee8cc1Swenshuai.xi typedef struct DemuxRaspCapsV1_cdi
220*53ee8cc1Swenshuai.xi {
221*53ee8cc1Swenshuai.xi     uint32_t  raspEvents;
222*53ee8cc1Swenshuai.xi     uint32_t  clockRate;
223*53ee8cc1Swenshuai.xi     uint16_t  numConnections;
224*53ee8cc1Swenshuai.xi     uint16_t  numRaspDataBlocks;
225*53ee8cc1Swenshuai.xi     uint16_t  numTPs;
226*53ee8cc1Swenshuai.xi     uint16_t  numTPMasks;
227*53ee8cc1Swenshuai.xi     uint8_t   features;
228*53ee8cc1Swenshuai.xi } DemuxRaspCapsV1;
229*53ee8cc1Swenshuai.xi 
230*53ee8cc1Swenshuai.xi /* TP Payload Data Block Version definitions. */
231*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TP_PAYLOAD_DATABLOCK_V0    (0x00000001U)
232*53ee8cc1Swenshuai.xi 
233*53ee8cc1Swenshuai.xi /* RASP TP Payload Feature Definitions definitions. */
234*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TP_PAYLOAD_FEATURE_LOCAL_CLOCK_STAMP       (0x00000001U)
235*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TP_PAYLOAD_FEATURE_TRIGGER_BY_RASP_DATA    (0x00000002U)
236*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TP_PAYLOAD_FEATURE_TRIGGER_BY_TIME         (0x00000004U)
237*53ee8cc1Swenshuai.xi #define DEMUX_RASP_TP_PAYLOAD_FEATURE_ES_MPEG2_FRAME_FIELD    (0x00000008U)
238*53ee8cc1Swenshuai.xi 
239*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadCaps structure */
240*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadCaps_cdi
241*53ee8cc1Swenshuai.xi {
242*53ee8cc1Swenshuai.xi     uint32_t  features;
243*53ee8cc1Swenshuai.xi     uint32_t  pesEvents;
244*53ee8cc1Swenshuai.xi     uint32_t  esEncodingFormats;
245*53ee8cc1Swenshuai.xi     uint16_t  numRaspTPPayloadDataBlocks;
246*53ee8cc1Swenshuai.xi     uint16_t  numTPPayloadMasks;
247*53ee8cc1Swenshuai.xi     uint8_t   tpPayloadDataBlockVersion;
248*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadCaps;
249*53ee8cc1Swenshuai.xi 
250*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadESCaps structure */
251*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadESCaps_cdi
252*53ee8cc1Swenshuai.xi {
253*53ee8cc1Swenshuai.xi     uint32_t  esEncodingFormat;
254*53ee8cc1Swenshuai.xi     uint32_t  esEvents;
255*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadESCaps;
256*53ee8cc1Swenshuai.xi 
257*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadConfiguration structure */
258*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadConfiguration_cdi
259*53ee8cc1Swenshuai.xi {
260*53ee8cc1Swenshuai.xi     uint32_t  thresholdType;
261*53ee8cc1Swenshuai.xi     uint32_t  raspDataThreshold;
262*53ee8cc1Swenshuai.xi     uint32_t  timeThreshold;
263*53ee8cc1Swenshuai.xi     uint32_t  tpidIndependentEvents;
264*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadConfiguration;
265*53ee8cc1Swenshuai.xi 
266*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadMask structure */
267*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadMask_cdi
268*53ee8cc1Swenshuai.xi {
269*53ee8cc1Swenshuai.xi     uint32_t  tpid;
270*53ee8cc1Swenshuai.xi     uint32_t  tpPayloadMaskID;
271*53ee8cc1Swenshuai.xi     uint32_t  pesEventMask;
272*53ee8cc1Swenshuai.xi     uint32_t  esEncodingFormat;
273*53ee8cc1Swenshuai.xi     uint32_t  esEventMask;
274*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadMask;
275*53ee8cc1Swenshuai.xi 
276*53ee8cc1Swenshuai.xi /* tag_PTS_do_not_use_in_client structure */
277*53ee8cc1Swenshuai.xi typedef struct tag_PTS_do_not_use_in_client_cdi
278*53ee8cc1Swenshuai.xi {
279*53ee8cc1Swenshuai.xi     uint32_t  high;
280*53ee8cc1Swenshuai.xi     uint32_t  low;
281*53ee8cc1Swenshuai.xi } tag_PTS_do_not_use_in_client;
282*53ee8cc1Swenshuai.xi 
283*53ee8cc1Swenshuai.xi typedef tag_PTS_do_not_use_in_client PTS;
284*53ee8cc1Swenshuai.xi 
285*53ee8cc1Swenshuai.xi 
286*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadDataBlockV0 structure */
287*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadDataBlockV0_cdi
288*53ee8cc1Swenshuai.xi {
289*53ee8cc1Swenshuai.xi     uint32_t  pesEventDescriptor;
290*53ee8cc1Swenshuai.xi     uint32_t  esEventDescriptor;
291*53ee8cc1Swenshuai.xi     uint32_t  tpid;
292*53ee8cc1Swenshuai.xi     uint8_t   packetNumber[8];
293*53ee8cc1Swenshuai.xi     uint32_t  timer;
294*53ee8cc1Swenshuai.xi     PTS       pts;
295*53ee8cc1Swenshuai.xi     uint8_t   pictureType;
296*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadDataBlockV0;
297*53ee8cc1Swenshuai.xi 
298*53ee8cc1Swenshuai.xi /* DemuxRaspTPPayloadRead structure */
299*53ee8cc1Swenshuai.xi typedef struct DemuxRaspTPPayloadRead_cdi
300*53ee8cc1Swenshuai.xi {
301*53ee8cc1Swenshuai.xi     uint32_t  numDataBlocksToRead;
302*53ee8cc1Swenshuai.xi     void      *dataBlocks;
303*53ee8cc1Swenshuai.xi     uint32_t  numDataBlocksReturned;
304*53ee8cc1Swenshuai.xi } DemuxRaspTPPayloadRead;
305*53ee8cc1Swenshuai.xi 
306*53ee8cc1Swenshuai.xi 
307*53ee8cc1Swenshuai.xi 
308*53ee8cc1Swenshuai.xi #endif
309*53ee8cc1Swenshuai.xi /* End of File. */
310*53ee8cc1Swenshuai.xi 
311