master
  1/*
  2 * bdamedia.h
  3 *
  4 * This file is part of the ReactOS DXSDK package.
  5 *
  6 * THIS SOFTWARE IS NOT COPYRIGHTED
  7 *
  8 * This source code is offered for use in the public domain. You may
  9 * use, modify or distribute it freely.
 10 *
 11 * This code is distributed in the hope that it will be useful but
 12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
 13 * DISCLAIMED. This includes but is not limited to warranties of
 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 15 *
 16 */
 17
 18#ifndef _BDAMEDIA_
 19#define _BDAMEDIA_
 20
 21#include <ksmedia.h>
 22#include <bdatypes.h>
 23
 24typedef struct _KSP_BDA_NODE_PIN {
 25  KSPROPERTY Property;
 26  ULONG ulNodeType;
 27  ULONG ulInputPinId;
 28  ULONG ulOutputPinId;
 29} KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
 30
 31typedef struct _KSM_BDA_PIN {
 32  KSMETHOD Method;
 33  __C89_NAMELESS union {
 34    ULONG PinId;
 35    ULONG PinType;
 36  };
 37  ULONG Reserved;
 38} KSM_BDA_PIN, *PKSM_BDA_PIN;
 39
 40typedef struct _KSM_BDA_PIN_PAIR {
 41  KSMETHOD Method;
 42  __C89_NAMELESS union {
 43    ULONG InputPinId;
 44    ULONG InputPinType;
 45  };
 46  __C89_NAMELESS union {
 47    ULONG OutputPinId;
 48    ULONG OutputPinType;
 49  };
 50} KSM_BDA_PIN_PAIR, *PKSM_BDA_PIN_PAIR;
 51
 52
 53/* ------------------------------------------------------------
 54    BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0}
 55*/
 56
 57#define STATIC_KSPROPSETID_BdaTopology						\
 58	0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
 59DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology);
 60#define KSPROPSETID_BdaTopology		DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology)
 61
 62typedef enum {
 63  KSPROPERTY_BDA_NODE_TYPES,
 64  KSPROPERTY_BDA_PIN_TYPES,
 65  KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,
 66  KSPROPERTY_BDA_NODE_METHODS,
 67  KSPROPERTY_BDA_NODE_PROPERTIES,
 68  KSPROPERTY_BDA_NODE_EVENTS,
 69  KSPROPERTY_BDA_CONTROLLING_PIN_ID,
 70  KSPROPERTY_BDA_NODE_DESCRIPTORS
 71} KSPROPERTY_BDA_TOPOLOGY;
 72
 73#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)		\
 74	DEFINE_KSPROPERTY_ITEM(							\
 75				KSPROPERTY_BDA_NODE_TYPES,			\
 76				(GetHandler),					\
 77				sizeof(KSPROPERTY),				\
 78				0,						\
 79				FALSE,						\
 80				NULL, 0, NULL, NULL, 0)
 81
 82#define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)		\
 83	DEFINE_KSPROPERTY_ITEM(							\
 84				KSPROPERTY_BDA_PIN_TYPES,			\
 85				(GetHandler),					\
 86				sizeof(KSPROPERTY),				\
 87				0,						\
 88				FALSE,						\
 89				NULL, 0, NULL, NULL, 0)
 90
 91#define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)	\
 92	DEFINE_KSPROPERTY_ITEM(							\
 93				KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,		\
 94				(GetHandler),					\
 95				sizeof(KSPROPERTY),				\
 96				sizeof(BDA_TEMPLATE_CONNECTION),		\
 97				FALSE,						\
 98				NULL, 0, NULL, NULL, 0)
 99
100#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)		\
101	DEFINE_KSPROPERTY_ITEM(							\
102				KSPROPERTY_BDA_NODE_METHODS,			\
103				(GetHandler),					\
104				sizeof(KSP_NODE),				\
105				0,						\
106				FALSE,						\
107				NULL, 0, NULL, NULL, 0)
108
109#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)	\
110	DEFINE_KSPROPERTY_ITEM(							\
111				KSPROPERTY_BDA_NODE_PROPERTIES,			\
112				(GetHandler),					\
113				sizeof(KSP_NODE),				\
114				0,						\
115				FALSE,						\
116				NULL, 0, NULL, NULL, 0)
117
118#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)		\
119	DEFINE_KSPROPERTY_ITEM(							\
120				KSPROPERTY_BDA_NODE_EVENTS,			\
121				(GetHandler),					\
122				sizeof(KSP_NODE),				\
123				0,						\
124				FALSE,						\
125				NULL, 0, NULL, NULL, 0)
126
127#define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)	\
128	DEFINE_KSPROPERTY_ITEM(							\
129				KSPROPERTY_BDA_CONTROLLING_PIN_ID,		\
130				(GetHandler),					\
131				sizeof(KSP_BDA_NODE_PIN),			\
132				sizeof(ULONG),					\
133				FALSE,						\
134				NULL, 0, NULL, NULL, 0)
135
136#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)	\
137	DEFINE_KSPROPERTY_ITEM(							\
138				KSPROPERTY_BDA_NODE_DESCRIPTORS,		\
139				(GetHandler),					\
140				sizeof(KSPROPERTY),				\
141				0,						\
142				FALSE,						\
143				NULL, 0, NULL, NULL, 0)
144
145
146/* ------------------------------------------------------------
147    BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0}
148*/
149
150#define STATIC_KSMETHODSETID_BdaDeviceConfiguration				\
151	0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
152DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration);
153#define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration)
154
155typedef enum {
156  KSMETHOD_BDA_CREATE_PIN_FACTORY = 0,
157  KSMETHOD_BDA_DELETE_PIN_FACTORY,
158  KSMETHOD_BDA_CREATE_TOPOLOGY
159} KSMETHOD_BDA_DEVICE_CONFIGURATION;
160
161#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler) \
162	DEFINE_KSMETHOD_ITEM(							\
163				KSMETHOD_BDA_CREATE_PIN_FACTORY,		\
164				KSMETHOD_TYPE_READ,				\
165				(MethodHandler),				\
166				sizeof(KSM_BDA_PIN),				\
167				sizeof(ULONG),					\
168				SupportHandler)
169
170#define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler) \
171	DEFINE_KSMETHOD_ITEM(							\
172				KSMETHOD_BDA_DELETE_PIN_FACTORY,		\
173				KSMETHOD_TYPE_NONE,				\
174				(MethodHandler),				\
175				sizeof(KSM_BDA_PIN),				\
176				0,						\
177				SupportHandler)
178
179#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)	\
180	DEFINE_KSMETHOD_ITEM(							\
181				KSMETHOD_BDA_CREATE_TOPOLOGY,			\
182				KSMETHOD_TYPE_WRITE,				\
183				(MethodHandler),				\
184				sizeof(KSM_BDA_PIN_PAIR),			\
185				0,						\
186				SupportHandler)
187
188
189/* ------------------------------------------------------------
190  BDA Pin Control Property {0DED49D5-A8B7-4d5d-97A1-12B0C195874D}
191*/
192
193#define STATIC_KSPROPSETID_BdaPinControl					\
194	0xded49d5, 0xa8b7, 0x4d5d, 0x97, 0xa1, 0x12, 0xb0, 0xc1, 0x95, 0x87, 0x4d
195DEFINE_GUIDSTRUCT("0DED49D5-A8B7-4d5d-97A1-12B0C195874D", KSPROPSETID_BdaPinControl);
196#define KSPROPSETID_BdaPinControl	DEFINE_GUIDNAMED(KSPROPSETID_BdaPinControl)
197
198typedef enum {
199  KSPROPERTY_BDA_PIN_ID = 0,
200  KSPROPERTY_BDA_PIN_TYPE
201} KSPROPERTY_BDA_PIN_CONTROL;
202
203#define DEFINE_KSPROPERTY_ITEM_BDA_PIN_ID(GetHandler, SetHandler)		\
204	DEFINE_KSPROPERTY_ITEM(							\
205				KSPROPERTY_BDA_PIN_ID,				\
206				(GetHandler),					\
207				sizeof(KSPROPERTY),				\
208				sizeof(ULONG),					\
209				FALSE,						\
210				NULL, 0, NULL, NULL, 0)
211
212#define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPE(GetHandler, SetHandler)		\
213	DEFINE_KSPROPERTY_ITEM(							\
214				KSPROPERTY_BDA_PIN_TYPE,			\
215				(GetHandler),					\
216				sizeof(KSPROPERTY),				\
217				sizeof(ULONG),					\
218				FALSE,						\
219				NULL, 0, NULL, NULL, 0)
220
221
222/* ------------------------------------------------------------
223  BDA Change Sync Method Set {FD0A5AF3-B41D-11d2-9C95-00C04F7971E0}
224*/
225
226#define STATIC_KSMETHODSETID_BdaChangeSync					\
227	0xfd0a5af3, 0xb41d, 0x11d2, 0x9c, 0x95, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
228DEFINE_GUIDSTRUCT("FD0A5AF3-B41D-11d2-9C95-00C04F7971E0", KSMETHODSETID_BdaChangeSync);
229#define KSMETHODSETID_BdaChangeSync DEFINE_GUIDNAMED(KSMETHODSETID_BdaChangeSync)
230
231typedef enum {
232  KSMETHOD_BDA_START_CHANGES = 0,
233  KSMETHOD_BDA_CHECK_CHANGES,
234  KSMETHOD_BDA_COMMIT_CHANGES,
235  KSMETHOD_BDA_GET_CHANGE_STATE
236} KSMETHOD_BDA_CHANGE_SYNC;
237
238#define DEFINE_KSMETHOD_ITEM_BDA_START_CHANGES(MethodHandler, SupportHandler)	\
239	DEFINE_KSMETHOD_ITEM(							\
240				KSMETHOD_BDA_START_CHANGES,			\
241				KSMETHOD_TYPE_NONE,				\
242				(MethodHandler),				\
243				sizeof(KSMETHOD),				\
244				0,						\
245				SupportHandler)
246
247#define DEFINE_KSMETHOD_ITEM_BDA_CHECK_CHANGES(MethodHandler, SupportHandler)	\
248	DEFINE_KSMETHOD_ITEM(							\
249				KSMETHOD_BDA_CHECK_CHANGES,			\
250				KSMETHOD_TYPE_NONE,				\
251				(MethodHandler),				\
252				sizeof(KSMETHOD),				\
253				0,						\
254				SupportHandler)
255
256#define DEFINE_KSMETHOD_ITEM_BDA_COMMIT_CHANGES(MethodHandler, SupportHandler)	\
257	DEFINE_KSMETHOD_ITEM(							\
258				KSMETHOD_BDA_COMMIT_CHANGES,			\
259				KSMETHOD_TYPE_NONE,				\
260				(MethodHandler),				\
261				sizeof(KSMETHOD),				\
262				0,						\
263				SupportHandler)
264
265#define DEFINE_KSMETHOD_ITEM_BDA_GET_CHANGE_STATE(MethodHandler, SupportHandler) \
266	DEFINE_KSMETHOD_ITEM(							\
267				KSMETHOD_BDA_GET_CHANGE_STATE,			\
268				KSMETHOD_TYPE_READ,				\
269				(MethodHandler),				\
270				sizeof(KSMETHOD),				\
271				0,						\
272				SupportHandler)
273
274#define STATIC_KSPROPSETID_BdaFrequencyFilter					\
275	0x71985f47, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
276DEFINE_GUIDSTRUCT("71985F47-1CA1-11d3-9CC8-00C04F7971E0", KSPROPSETID_BdaFrequencyFilter);
277#define KSPROPSETID_BdaFrequencyFilter DEFINE_GUIDNAMED(KSPROPSETID_BdaFrequencyFilter)
278
279typedef enum {
280  KSPROPERTY_BDA_RF_TUNER_FREQUENCY = 0,
281  KSPROPERTY_BDA_RF_TUNER_POLARITY,
282  KSPROPERTY_BDA_RF_TUNER_RANGE,
283  KSPROPERTY_BDA_RF_TUNER_TRANSPONDER,
284  KSPROPERTY_BDA_RF_TUNER_BANDWIDTH,
285  KSPROPERTY_BDA_RF_TUNER_FREQUENCY_MULTIPLIER,
286  KSPROPERTY_BDA_RF_TUNER_CAPS,
287  KSPROPERTY_BDA_RF_TUNER_SCAN_STATUS,
288  KSPROPERTY_BDA_RF_TUNER_STANDARD,
289  KSPROPERTY_BDA_RF_TUNER_STANDARD_MODE
290} KSPROPERTY_BDA_FREQUENCY_FILTER;
291
292#define STATIC_KSPROPSETID_BdaDigitalDemodulator				\
293	0xef30f379, 0x985b, 0x4d10, 0xb6, 0x40, 0xa7, 0x9d, 0x5e, 0x4, 0xe1, 0xe0
294DEFINE_GUIDSTRUCT("EF30F379-985B-4d10-B640-A79D5E04E1E0", KSPROPSETID_BdaDigitalDemodulator);
295#define KSPROPSETID_BdaDigitalDemodulator DEFINE_GUIDNAMED(KSPROPSETID_BdaDigitalDemodulator)
296
297typedef enum {
298  KSPROPERTY_BDA_MODULATION_TYPE = 0,
299  KSPROPERTY_BDA_INNER_FEC_TYPE,
300  KSPROPERTY_BDA_INNER_FEC_RATE,
301  KSPROPERTY_BDA_OUTER_FEC_TYPE,
302  KSPROPERTY_BDA_OUTER_FEC_RATE,
303  KSPROPERTY_BDA_SYMBOL_RATE,
304  KSPROPERTY_BDA_SPECTRAL_INVERSION,
305  KSPROPERTY_BDA_GUARD_INTERVAL,
306  KSPROPERTY_BDA_TRANSMISSION_MODE,
307  KSPROPERTY_BDA_ROLL_OFF,
308  KSPROPERTY_BDA_PILOT,
309  KSPROPERTY_BDA_SIGNALTIMEOUTS
310} KSPROPERTY_BDA_DIGITAL_DEMODULATOR;
311
312#define STATIC_KSPROPSETID_BdaLNBInfo						\
313	0x992cf102, 0x49f9, 0x4719, 0xa6, 0x64, 0xc4, 0xf2, 0x3e, 0x24, 0x8, 0xf4
314DEFINE_GUIDSTRUCT("992CF102-49F9-4719-A664-C4F23E2408F4", KSPROPSETID_BdaLNBInfo);
315#define KSPROPSETID_BdaLNBInfo		DEFINE_GUIDNAMED(KSPROPSETID_BdaLNBInfo)
316
317typedef enum {
318  KSPROPERTY_BDA_LNB_LOF_LOW_BAND = 0,
319  KSPROPERTY_BDA_LNB_LOF_HIGH_BAND,
320  KSPROPERTY_BDA_LNB_SWITCH_FREQUENCY
321} KSPROPERTY_BDA_LNB_INFO;
322
323#define STATIC_KSPROPSETID_BdaSignalStats					\
324	0x1347d106, 0xcf3a, 0x428a, 0xa5, 0xcb, 0xac, 0xd, 0x9a, 0x2a, 0x43, 0x38
325DEFINE_GUIDSTRUCT("1347D106-CF3A-428a-A5CB-AC0D9A2A4338", KSPROPSETID_BdaSignalStats);
326#define KSPROPSETID_BdaSignalStats	DEFINE_GUIDNAMED(KSPROPSETID_BdaSignalStats)
327
328typedef enum {
329  KSPROPERTY_BDA_SIGNAL_STRENGTH = 0,
330  KSPROPERTY_BDA_SIGNAL_QUALITY,
331  KSPROPERTY_BDA_SIGNAL_PRESENT,
332  KSPROPERTY_BDA_SIGNAL_LOCKED,
333  KSPROPERTY_BDA_SAMPLE_TIME
334} KSPROPERTY_BDA_SIGNAL_STATS;
335
336typedef struct tagBDA_TRANSPORT_INFO {
337  ULONG ulcbPhyiscalPacket;
338  ULONG ulcbPhyiscalFrame;
339  ULONG ulcbPhyiscalFrameAlignment;
340  REFERENCE_TIME AvgTimePerFrame;
341} BDA_TRANSPORT_INFO, *PBDA_TRANSPORT_INFO;
342
343typedef struct tagKS_DATARANGE_BDA_TRANSPORT {
344  KSDATARANGE DataRange;
345  BDA_TRANSPORT_INFO BdaTransportInfo;
346} KS_DATARANGE_BDA_TRANSPORT, *PKS_DATARANGE_BDA_TRANSPORT;
347
348#if (_WIN32_WINNT >= 0x0601)
349typedef enum tagChannelChangeSpanningEvent_State {
350  ChannelChangeSpanningEvent_Start   = 0,
351  ChannelChangeSpanningEvent_End     = 2 
352} ChannelChangeSpanningEvent_State;
353
354typedef struct _ChannelChangeInfo {
355  ChannelChangeSpanningEvent_State state;
356  ULONGLONG                        TimeStamp;
357} ChannelChangeInfo;
358
359typedef struct _ChannelInfo {
360  LONG lFrequency;
361  __C89_NAMELESS union {
362     struct {
363      LONG lONID;
364      LONG lTSID;
365      LONG lSID;
366    } DVB;
367    struct {
368      LONG lProgNumber;
369    } DC;
370    struct {
371      LONG lProgNumber;
372    } ATSC;
373  } ;
374} ChannelInfo;
375
376typedef enum _PBDAParentalControlPolicy {
377  PBDAParentalControlGeneralPolicy    = 0,
378  PBDAParentalControlLiveOnlyPolicy   = 1 
379} PBDAParentalControlPolicy;
380
381typedef enum _SignalAndServiceStatusSpanningEvent_State {
382  SignalAndServiceStatusSpanningEvent_Clear           = 0,
383  SignalAndServiceStatusSpanningEvent_NoTVSignal      = 1,
384  SignalAndServiceStatusSpanningEvent_ServiceOffAir   = 2 
385} SignalAndServiceStatusSpanningEvent_State;
386
387typedef struct _DualMonoInfo {
388  LANGID LangID1;
389  LANGID LangID2;
390  LONG   lISOLangCode1;
391  LONG   lISOLangCode2;
392} DualMonoInfo;
393
394typedef struct _DVBScramblingControlSpanningEvent {
395  ULONG ulPID;
396  WINBOOL fScrambled;
397} DVBScramblingControlSpanningEvent;
398
399typedef struct _LanguageInfo {
400  LANGID LangID;
401  LONG   lISOLangCode;
402} LanguageInfo;
403
404typedef struct _PBDAParentalControl {
405  ULONG ulStartTime;
406  ULONG ulEndTime;
407  ULONG ulPolicy;
408} PBDAParentalControl;
409
410typedef struct _PIDListSpanningEvent {
411  WORD  wPIDCount;
412  ULONG pulPIDs[1];
413} PIDListSpanningEvent;
414
415typedef struct _SpanningEventDescriptor {
416  WORD wDataLen;
417  WORD wProgNumber;
418  WORD wSID;
419  BYTE bDescriptor[1];
420} SpanningEventDescriptor;
421
422typedef struct _SpanningEventEmmMessage {
423  BYTE  bCAbroadcasterGroupId;
424  BYTE  bMessageControl;
425  WORD  wServiceId;
426  WORD  wTableIdExtension;
427  BYTE  bDeletionStatus;
428  BYTE  bDisplayingDuration1;
429  BYTE  bDisplayingDuration2;
430  BYTE  bDisplayingDuration3;
431  BYTE  bDisplayingCycle;
432  BYTE  bFormatVersion;
433  BYTE  bDisplayPosition;
434  WORD  wMessageLength;
435  WCHAR szMessageArea[MIN_DIMENSION];
436} SpanningEventEmmMessage;
437
438#endif /*(_WIN32_WINNT >= 0x0601)*/
439
440/* ------------------------------------------------------------
441  BDA Stream Format GUIDs
442*/
443
444#define STATIC_KSDATAFORMAT_TYPE_BDA_ANTENNA					\
445	0x71985f41, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0
446DEFINE_GUIDSTRUCT("71985F41-1CA1-11d3-9CC8-00C04F7971E0", KSDATAFORMAT_TYPE_BDA_ANTENNA);
447#define KSDATAFORMAT_TYPE_BDA_ANTENNA DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_ANTENNA)
448
449#define STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT				\
450	0xf4aeb342, 0x0329, 0x4fdd, 0xa8, 0xfd, 0x4a, 0xff, 0x49, 0x26, 0xc9, 0x78
451DEFINE_GUIDSTRUCT("F4AEB342-0329-4fdd-A8FD-4AFF4926C978", KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT);
452#define KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT)
453
454#define STATIC_KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT				\
455	0x8deda6fd, 0xac5f, 0x4334, 0x8e, 0xcf, 0xa4, 0xba, 0x8f, 0xa7, 0xd0, 0xf0
456DEFINE_GUIDSTRUCT("8DEDA6FD-AC5F-4334-8ECF-A4BA8FA7D0F0", KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT);
457#define KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT DEFINE_GUIDNAMED(KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT)
458
459#define STATIC_KSDATAFORMAT_TYPE_BDA_IF_SIGNAL					\
460	0x61be0b47, 0xa5eb, 0x499b, 0x9a, 0x85, 0x5b, 0x16, 0xc0, 0x7f, 0x12, 0x58
461DEFINE_GUIDSTRUCT("61BE0B47-A5EB-499b-9A85-5B16C07F1258", KSDATAFORMAT_TYPE_BDA_IF_SIGNAL);
462#define KSDATAFORMAT_TYPE_BDA_IF_SIGNAL DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_BDA_IF_SIGNAL)
463
464#define STATIC_KSDATAFORMAT_TYPE_MPEG2_SECTIONS					\
465	0x455f176c, 0x4b06, 0x47ce, 0x9a, 0xef, 0x8c, 0xae, 0xf7, 0x3d, 0xf7, 0xb5
466DEFINE_GUIDSTRUCT("455F176C-4B06-47CE-9AEF-8CAEF73DF7B5", KSDATAFORMAT_TYPE_MPEG2_SECTIONS);
467#define KSDATAFORMAT_TYPE_MPEG2_SECTIONS DEFINE_GUIDNAMED(KSDATAFORMAT_TYPE_MPEG2_SECTIONS)
468
469#define STATIC_KSDATAFORMAT_SUBTYPE_ATSC_SI					\
470	0xb3c7397c, 0xd303, 0x414d, 0xb3, 0x3c, 0x4e, 0xd2, 0xc9, 0xd2, 0x97, 0x33
471DEFINE_GUIDSTRUCT("B3C7397C-D303-414D-B33C-4ED2C9D29733", KSDATAFORMAT_SUBTYPE_ATSC_SI);
472#define KSDATAFORMAT_SUBTYPE_ATSC_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ATSC_SI)
473
474#define STATIC_KSDATAFORMAT_SUBTYPE_DVB_SI					\
475	0xe9dd31a3, 0x221d, 0x4adb, 0x85, 0x32, 0x9a, 0xf3, 0x9, 0xc1, 0xa4, 0x8
476DEFINE_GUIDSTRUCT("e9dd31a3-221d-4adb-8532-9af309c1a408", KSDATAFORMAT_SUBTYPE_DVB_SI);
477#define KSDATAFORMAT_SUBTYPE_DVB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_DVB_SI)
478
479#define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP				\
480	0x762e3f66, 0x336f, 0x48d1, 0xbf, 0x83, 0x2b, 0x0, 0x35, 0x2c, 0x11, 0xf0
481DEFINE_GUIDSTRUCT("762E3F66-336F-48d1-BF83-2B00352C11F0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP);
482#define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_PSIP)
483
484#define STATIC_KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP			\
485	0x951727db, 0xd2ce, 0x4528, 0x96, 0xf6, 0x33, 0x1, 0xfa, 0xbb, 0x2d, 0xe0
486DEFINE_GUIDSTRUCT("951727DB-D2CE-4528-96F6-3301FABB2DE0", KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP);
487#define KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_BDA_OPENCABLE_OOB_PSIP)
488
489#define STATIC_KSDATAFORMAT_SUBTYPE_ISDB_SI					\
490	0x4a2eeb99, 0x6458, 0x4538, 0xb1, 0x87, 0x04, 0x01, 0x7c, 0x41, 0x41, 0x3f
491DEFINE_GUIDSTRUCT("4a2eeb99-6458-4538-b187-04017c41413f", KSDATAFORMAT_SUBTYPE_ISDB_SI);
492#define KSDATAFORMAT_SUBTYPE_ISDB_SI DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_ISDB_SI)
493
494#define STATIC_KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW				\
495	0x0d7aed42, 0xcb9a, 0x11db, 0x97, 0x05, 0x00, 0x50, 0x56, 0xc0, 0x00, 0x08
496DEFINE_GUIDSTRUCT("0d7AED42-CB9A-11DB-9705-005056C00008", KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW);
497#define KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW DEFINE_GUIDNAMED(KSDATAFORMAT_SUBTYPE_PBDA_TRANSPORT_RAW)
498
499#endif /* _BDAMEDIA_ */
500