1 | #ifndef _STRMIF_H
|
---|
2 | #define _STRMIF_H
|
---|
3 | #if __GNUC__ >= 3
|
---|
4 | #pragma GCC system_header
|
---|
5 | #endif
|
---|
6 |
|
---|
7 | #ifdef __cplusplus
|
---|
8 | extern "C" {
|
---|
9 | #endif
|
---|
10 |
|
---|
11 | /*--- DirectShow Reference - DirectShow Enumerated Types - TVAudioMode Enumeration */
|
---|
12 | #define TVAUDIO_MODE_MASK 0x000000FF
|
---|
13 | #define TVAUDIO_PRESET_MASK 0x0000FF00
|
---|
14 | /*--- DirectShow Reference - DirectShow Data Types */
|
---|
15 | typedef LONGLONG REFERENCE_TIME;
|
---|
16 | typedef double REFTIME;
|
---|
17 | /*--- DirectShow Reference - Constants and GUIDs */
|
---|
18 | enum {
|
---|
19 | MERIT_PREFERRED = 0x800000,
|
---|
20 | MERIT_NORMAL = 0x600000,
|
---|
21 | MERIT_UNLIKELY = 0x400000,
|
---|
22 | MERIT_DO_NOT_USE = 0x200000,
|
---|
23 | MERIT_SW_COMPRESSOR = 0x100000,
|
---|
24 | MERIT_HW_COMPRESSOR = 0x100050
|
---|
25 | };
|
---|
26 | /*--- DirectShow Reference - DirectShow Enumerated Types */
|
---|
27 | typedef enum _AM_AUDIO_RENDERER_STAT_PARAM {
|
---|
28 | AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
|
---|
29 | AM_AUDREND_STAT_PARAM_SLAVE_MODE,
|
---|
30 | AM_AUDREND_STAT_PARAM_SILENCE_DUR,
|
---|
31 | AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,
|
---|
32 | AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
|
---|
33 | AM_AUDREND_STAT_PARAM_SLAVE_RATE,
|
---|
34 | AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
|
---|
35 | AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,
|
---|
36 | AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
|
---|
37 | AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,
|
---|
38 | AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
|
---|
39 | AM_AUDREND_STAT_PARAM_JITTER
|
---|
40 | } AM_AUDIO_RENDERER_STAT_PARAM;
|
---|
41 | typedef enum _AM_DVD_GRAPH_FLAGS {
|
---|
42 | AM_DVD_HWDEC_PREFER = 0x01,
|
---|
43 | AM_DVD_HWDEC_ONLY = 0x02,
|
---|
44 | AM_DVD_SWDEC_PREFER = 0x04,
|
---|
45 | AM_DVD_SWDEC_ONLY = 0x08,
|
---|
46 | AM_DVD_NOVPE = 0x100,
|
---|
47 | AM_DVD_VMR9_ONLY = 0x800,
|
---|
48 | AM_DVD_EVR_ONLY = 0x1000
|
---|
49 | } AM_DVD_GRAPH_FLAGS;
|
---|
50 | typedef enum _AM_DVD_STREAM_FLAGS {
|
---|
51 | AM_DVD_STREAM_VIDEO = 0x01,
|
---|
52 | AM_DVD_STREAM_AUDIO = 0x02,
|
---|
53 | AM_DVD_STREAM_SUBPIC = 0x04
|
---|
54 | } AM_DVD_STREAM_FLAGS;
|
---|
55 | typedef enum _AM_FILTER_MISC_FLAGS {
|
---|
56 | AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x00000001,
|
---|
57 | AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x00000002
|
---|
58 | } AM_FILTER_MISC_FLAGS;
|
---|
59 | typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
|
---|
60 | AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x00000001,
|
---|
61 | AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x00000002,
|
---|
62 | AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x00000004
|
---|
63 | } AM_GRAPH_CONFIG_RECONNECT_FLAGS;
|
---|
64 | typedef enum _AM_INTF_SEARCH_FLAGS {
|
---|
65 | AM_INTF_SEARCH_INPUT_PIN = 0x00000001,
|
---|
66 | AM_INTF_SEARCH_OUTPUT_PIN = 0x00000002,
|
---|
67 | AM_INTF_SEARCH_FILTER = 0x00000004
|
---|
68 | } AM_INTF_SEARCH_FLAGS;
|
---|
69 | typedef enum _AM_OVERLAY_NOTIFY_FLAGS {
|
---|
70 | AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x00000001,
|
---|
71 | AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x00000002,
|
---|
72 | AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x00000004
|
---|
73 | } AM_OVERLAY_NOTIFY_FLAGS;
|
---|
74 | typedef enum _AM_PIN_CONNECTION_BLOCK_FLAGS {
|
---|
75 | AM_PIN_FLOW_CONTROL_BLOCK = 0x00000001,
|
---|
76 | AM_PIN_PUSH_THROUGH_DATA = 0x00000002
|
---|
77 | } AM_PIN_CONNECTION_BLOCK_FLAGS;
|
---|
78 | typedef enum _AM_PUSHSOURCE_FLAGS {
|
---|
79 | AM_PUSHSOURCECAPS_INTERNAL_RM = 0x00000001,
|
---|
80 | AM_PUSHSOURCECAPS_NOT_LIVE = 0x00000002,
|
---|
81 | AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x00000004,
|
---|
82 | AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x00010000
|
---|
83 | } AM_PUSHSOURCE_FLAGS;
|
---|
84 | typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
|
---|
85 | AM_SAMPLE_SPLICEPOINT = 0x01,
|
---|
86 | AM_SAMPLE_PREROLL = 0x02,
|
---|
87 | AM_SAMPLE_DATADISCONTINUITY = 0x04,
|
---|
88 | AM_SAMPLE_TYPECHANGED = 0x08,
|
---|
89 | AM_SAMPLE_TIMEVALID = 0x10,
|
---|
90 | AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
|
---|
91 | AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
|
---|
92 | AM_SAMPLE_STOPVALID = 0x100,
|
---|
93 | AM_SAMPLE_ENDOFSTREAM = 0x200,
|
---|
94 | AM_STREAM_MEDIA = 0,
|
---|
95 | AM_STREAM_CONTROL = 1
|
---|
96 | } AM_SAMPLE_PROPERTY_FLAGS;
|
---|
97 | typedef enum AM_SEEKING_SeekingCapabilities {
|
---|
98 | AM_SEEKING_CanSeekAbsolute = 0x1,
|
---|
99 | AM_SEEKING_CanSeekForwards = 0x2,
|
---|
100 | AM_SEEKING_CanSeekBackwards = 0x4,
|
---|
101 | AM_SEEKING_CanGetCurrentPos = 0x8,
|
---|
102 | AM_SEEKING_CanGetStopPos = 0x10,
|
---|
103 | AM_SEEKING_CanGetDuration = 0x20,
|
---|
104 | AM_SEEKING_CanPlayBackwards = 0x40,
|
---|
105 | AM_SEEKING_CanDoSegments = 0x80,
|
---|
106 | AM_SEEKING_Source = 0x100
|
---|
107 | } AM_SEEKING_SEEKING_CAPABILITIES;
|
---|
108 | typedef enum {
|
---|
109 | AM_STREAM_INFO_START_DEFINED = 0x00000001,
|
---|
110 | AM_STREAM_INFO_STOP_DEFINED = 0x00000002,
|
---|
111 | AM_STREAM_INFO_DISCARDING = 0x00000004,
|
---|
112 | AM_STREAM_INFO_STOP_SEND_EXTRA = 0x00000010
|
---|
113 | } AM_STREAM_INFO_FLAGS;
|
---|
114 | enum AMOVERLAYFX {
|
---|
115 | AMOVERFX_NOFX = 0x00000000,
|
---|
116 | AMOVERFX_MIRRORLEFTRIGHT = 0x00000002,
|
---|
117 | AMOVERFX_MIRRORUPDOWN = 0x00000004,
|
---|
118 | AMOVERFX_DEINTERLACE = 0x00000008
|
---|
119 | };
|
---|
120 | typedef enum _AMRESCTL_RESERVEFLAGS {
|
---|
121 | AMRESCTL_RESERVEFLAGS_RESERVE = 0x00,
|
---|
122 | AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x01
|
---|
123 | } AMRESCTL_RESERVEFLAGS;
|
---|
124 | typedef enum tagAMTunerModeType {
|
---|
125 | AMTUNER_MODE_DEFAULT = 0x0000,
|
---|
126 | AMTUNER_MODE_TV = 0x0001,
|
---|
127 | AMTUNER_MODE_FM_RADIO = 0x0002,
|
---|
128 | AMTUNER_MODE_AM_RADIO = 0x0004,
|
---|
129 | AMTUNER_MODE_DSS = 0x0008
|
---|
130 | } AMTunerModeType;
|
---|
131 | typedef enum tagAnalogVideoStandard {
|
---|
132 | AnalogVideo_None = 0x00000000,
|
---|
133 | AnalogVideo_NTSC_M = 0x00000001,
|
---|
134 | AnalogVideo_NTSC_M_J = 0x00000002,
|
---|
135 | AnalogVideo_NTSC_433 = 0x00000004,
|
---|
136 | AnalogVideo_PAL_B = 0x00000010,
|
---|
137 | AnalogVideo_PAL_D = 0x00000020,
|
---|
138 | AnalogVideo_PAL_H = 0x00000080,
|
---|
139 | AnalogVideo_PAL_I = 0x00000100,
|
---|
140 | AnalogVideo_PAL_M = 0x00000200,
|
---|
141 | AnalogVideo_PAL_N = 0x00000400,
|
---|
142 | AnalogVideo_PAL_60 = 0x00000800,
|
---|
143 | AnalogVideo_SECAM_B = 0x00001000,
|
---|
144 | AnalogVideo_SECAM_D = 0x00002000,
|
---|
145 | AnalogVideo_SECAM_G = 0x00004000,
|
---|
146 | AnalogVideo_SECAM_H = 0x00008000,
|
---|
147 | AnalogVideo_SECAM_K = 0x00010000,
|
---|
148 | AnalogVideo_SECAM_K1 = 0x00020000,
|
---|
149 | AnalogVideo_SECAM_L = 0x00040000,
|
---|
150 | AnalogVideo_SECAM_L1 = 0x00080000,
|
---|
151 | AnalogVideo_PAL_N_COMBO = 0x00100000
|
---|
152 | } AnalogVideoStandard;
|
---|
153 | typedef enum {
|
---|
154 | CameraControl_Flags_Auto = 0x0001,
|
---|
155 | CameraControl_Flags_Manual = 0x0002
|
---|
156 | } CameraControlFlags;
|
---|
157 | typedef enum {
|
---|
158 | CameraControl_Pan = 1,
|
---|
159 | CameraControl_Tilt,
|
---|
160 | CameraControl_Roll,
|
---|
161 | CameraControl_Zoom,
|
---|
162 | CameraControl_Exposure,
|
---|
163 | CameraControl_Iris,
|
---|
164 | CameraControl_Focus
|
---|
165 | } CameraControlProperty;
|
---|
166 | typedef enum {
|
---|
167 | CompressionCaps_CanQuality = 0x01,
|
---|
168 | CompressionCaps_CanCrunch = 0x02,
|
---|
169 | CompressionCaps_CanKeyFrame = 0x04,
|
---|
170 | CompressionCaps_CanBFrame = 0x08,
|
---|
171 | CompressionCaps_CanWindow = 0x10
|
---|
172 | } CompressionCaps;
|
---|
173 | typedef enum {
|
---|
174 | DECIMATION_LEGACY,
|
---|
175 | DECIMATION_USE_DECODER_ONLY,
|
---|
176 | DECIMATION_USE_VIDEOPORT_ONLY,
|
---|
177 | DECIMATION_USE_OVERLAY_ONLY,
|
---|
178 | DECIMATION_DEFAULT
|
---|
179 | } DECIMATION_USAGE;
|
---|
180 | typedef enum tagDVD_AUDIO_APPMODE {
|
---|
181 | DVD_AudioMode_None = 0,
|
---|
182 | DVD_AudioMode_Karaoke = 1,
|
---|
183 | DVD_AudioMode_Surround = 2,
|
---|
184 | DVD_AudioMode_Other = 3
|
---|
185 | } DVD_AUDIO_APPMODE;
|
---|
186 | typedef enum tagDVD_AUDIO_FORMAT {
|
---|
187 | DVD_AudioFormat_AC3 = 0,
|
---|
188 | DVD_AudioFormat_MPEG1 = 1,
|
---|
189 | DVD_AudioFormat_MPEG1_DRC = 2,
|
---|
190 | DVD_AudioFormat_MPEG2 = 3,
|
---|
191 | DVD_AudioFormat_MPEG2_DRC = 4,
|
---|
192 | DVD_AudioFormat_LPCM = 5,
|
---|
193 | DVD_AudioFormat_DTS = 6,
|
---|
194 | DVD_AudioFormat_SDDS = 7,
|
---|
195 | DVD_AudioFormat_Other = 8
|
---|
196 | } DVD_AUDIO_FORMAT;
|
---|
197 | typedef enum tagDVD_AUDIO_LANG_EXT {
|
---|
198 | DVD_AUD_EXT_NotSpecified = 0,
|
---|
199 | DVD_AUD_EXT_Captions = 1,
|
---|
200 | DVD_AUD_EXT_VisuallyImpaired = 2,
|
---|
201 | DVD_AUD_EXT_DirectorComments1 = 3,
|
---|
202 | DVD_AUD_EXT_DirectorComments2 = 4
|
---|
203 | } DVD_AUDIO_LANG_EXT;
|
---|
204 | typedef enum {
|
---|
205 | DVD_CMD_FLAG_None = 0x00000000,
|
---|
206 | DVD_CMD_FLAG_Flush = 0x00000001,
|
---|
207 | DVD_CMD_FLAG_SendEvents = 0x00000002,
|
---|
208 | DVD_CMD_FLAG_Block = 0x00000004,
|
---|
209 | DVD_CMD_FLAG_StartWhenRendered = 0x00000008,
|
---|
210 | DVD_CMD_FLAG_EndAfterRendered = 0x00000010
|
---|
211 | } DVD_CMD_FLAGS;
|
---|
212 | typedef enum tagDVD_DISC_SIDE {
|
---|
213 | DVD_SIDE_A,
|
---|
214 | DVD_SIDE_B
|
---|
215 | } DVD_DISC_SIDE;
|
---|
216 | typedef enum tagDVD_DOMAIN {
|
---|
217 | DVD_DOMAIN_FirstPlay,
|
---|
218 | DVD_DOMAIN_VideoManagerMenu,
|
---|
219 | DVD_DOMAIN_VideoTitleSetMenu,
|
---|
220 | DVD_DOMAIN_Title,
|
---|
221 | DVD_DOMAIN_Stop
|
---|
222 | } DVD_DOMAIN;
|
---|
223 | typedef enum tagDVD_FRAMERATE {
|
---|
224 | DVD_FPS_25 = 1,
|
---|
225 | DVD_FPS_30NonDrop = 3
|
---|
226 | } DVD_FRAMERATE;
|
---|
227 | typedef enum tagDVD_KARAOKE_ASSIGNMENT {
|
---|
228 | DVD_Assignment_reserved0 = 0,
|
---|
229 | DVD_Assignment_reserved1 = 1,
|
---|
230 | DVD_Assignment_LR = 2,
|
---|
231 | DVD_Assignment_LRM = 3,
|
---|
232 | DVD_Assignment_LR1 = 4,
|
---|
233 | DVD_Assignment_LRM1 = 5,
|
---|
234 | DVD_Assignment_LR12 = 6,
|
---|
235 | DVD_Assignment_LRM12 = 7
|
---|
236 | } DVD_KARAOKE_ASSIGNMENT;
|
---|
237 | typedef enum tagDVD_KARAOKE_CONTENTS {
|
---|
238 | DVD_Karaoke_GuideVocal1 = 0x0001,
|
---|
239 | DVD_Karaoke_GuideVocal2 = 0x0002,
|
---|
240 | DVD_Karaoke_GuideMelody1 = 0x0004,
|
---|
241 | DVD_Karaoke_GuideMelody2 = 0x0008,
|
---|
242 | DVD_Karaoke_GuideMelodyA = 0x0010,
|
---|
243 | DVD_Karaoke_GuideMelodyB = 0x0020,
|
---|
244 | DVD_Karaoke_SoundEffectA = 0x0040,
|
---|
245 | DVD_Karaoke_SoundEffectB = 0x0080
|
---|
246 | } DVD_KARAOKE_CONTENTS;
|
---|
247 | typedef enum tagDVD_KARAOKE_DOWNMIX {
|
---|
248 | DVD_Mix_0to0 = 0x0001,
|
---|
249 | DVD_Mix_1to0 = 0x0002,
|
---|
250 | DVD_Mix_2to0 = 0x0004,
|
---|
251 | DVD_Mix_3to0 = 0x0008,
|
---|
252 | DVD_Mix_4to0 = 0x0010,
|
---|
253 | DVD_Mix_Lto0 = 0x0020,
|
---|
254 | DVD_Mix_Rto0 = 0x0040,
|
---|
255 | DVD_Mix_0to1 = 0x0100,
|
---|
256 | DVD_Mix_1to1 = 0x0200,
|
---|
257 | DVD_Mix_2to1 = 0x0400,
|
---|
258 | DVD_Mix_3to1 = 0x0800,
|
---|
259 | DVD_Mix_4to1 = 0x1000,
|
---|
260 | DVD_Mix_Lto1 = 0x2000,
|
---|
261 | DVD_Mix_Rto1 = 0x4000
|
---|
262 | } DVD_KARAOKE_DOWNMIX;
|
---|
263 | typedef enum tagDVD_MENU_ID {
|
---|
264 | DVD_MENU_Title = 2,
|
---|
265 | DVD_MENU_Root = 3,
|
---|
266 | DVD_MENU_Subpicture = 4,
|
---|
267 | DVD_MENU_Audio = 5,
|
---|
268 | DVD_MENU_Angle = 6,
|
---|
269 | DVD_MENU_Chapter = 7
|
---|
270 | } DVD_MENU_ID;
|
---|
271 | typedef enum {
|
---|
272 | DVD_ResetOnStop = 1,
|
---|
273 | DVD_NotifyParentalLevelChange = 2,
|
---|
274 | DVD_HMSF_TimeCodeEvents = 3,
|
---|
275 | DVD_AudioDuringFFwdRew = 4,
|
---|
276 | DVD_EnableNonblockingAPIs = 5,
|
---|
277 | DVD_CacheSizeInMB = 6,
|
---|
278 | DVD_EnablePortableBookmarks = 7
|
---|
279 | } DVD_OPTION_FLAG;
|
---|
280 | typedef enum tagDVD_PARENTAL_LEVEL {
|
---|
281 | DVD_PARENTAL_LEVEL_8 = 0x8000,
|
---|
282 | DVD_PARENTAL_LEVEL_7 = 0x4000,
|
---|
283 | DVD_PARENTAL_LEVEL_6 = 0x2000,
|
---|
284 | DVD_PARENTAL_LEVEL_5 = 0x1000,
|
---|
285 | DVD_PARENTAL_LEVEL_4 = 0x0800,
|
---|
286 | DVD_PARENTAL_LEVEL_3 = 0x0400,
|
---|
287 | DVD_PARENTAL_LEVEL_2 = 0x0200,
|
---|
288 | DVD_PARENTAL_LEVEL_1 = 0x0100
|
---|
289 | } DVD_PARENTAL_LEVEL;
|
---|
290 | typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
|
---|
291 | DISPLAY_CONTENT_DEFAULT = 0,
|
---|
292 | DISPLAY_16x9 = 1,
|
---|
293 | DISPLAY_4x3_PANSCAN_PREFERRED = 2,
|
---|
294 | DISPLAY_4x3_LETTERBOX_PREFERRED = 3
|
---|
295 | } DVD_PREFERRED_DISPLAY_MODE;
|
---|
296 | typedef enum tagDVD_RELATIVE_BUTTON {
|
---|
297 | DVD_Relative_Upper = 1,
|
---|
298 | DVD_Relative_Lower = 2,
|
---|
299 | DVD_Relative_Left = 3,
|
---|
300 | DVD_Relative_Right = 4
|
---|
301 | } DVD_RELATIVE_BUTTON;
|
---|
302 | typedef enum tagDVD_SUBPICTURE_LANG_EXT {
|
---|
303 | DVD_SP_EXT_NotSpecified = 0,
|
---|
304 | DVD_SP_EXT_Caption_Normal = 1,
|
---|
305 | DVD_SP_EXT_Caption_Big = 2,
|
---|
306 | DVD_SP_EXT_Caption_Children = 3,
|
---|
307 | DVD_SP_EXT_CC_Normal = 5,
|
---|
308 | DVD_SP_EXT_CC_Big = 6,
|
---|
309 | DVD_SP_EXT_CC_Children = 7,
|
---|
310 | DVD_SP_EXT_Forced = 9,
|
---|
311 | DVD_SP_EXT_DirectorComments_Normal = 13,
|
---|
312 | DVD_SP_EXT_DirectorComments_Big = 14,
|
---|
313 | DVD_SP_EXT_DirectorComments_Children = 15
|
---|
314 | } DVD_SUBPICTURE_LANG_EXT;
|
---|
315 | typedef enum tagDVD_SUBPICTURE_TYPE {
|
---|
316 | DVD_SPType_NotSpecified = 0,
|
---|
317 | DVD_SPType_Language = 1,
|
---|
318 | DVD_SPType_Other = 2
|
---|
319 | } DVD_SUBPICTURE_TYPE;
|
---|
320 | typedef enum tagDVD_SUBPICTURE_CODING {
|
---|
321 | DVD_SPCoding_RunLength = 0,
|
---|
322 | DVD_SPCoding_Extended = 1,
|
---|
323 | DVD_SPCoding_Other = 2
|
---|
324 | } DVD_SUBPICTURE_CODING;
|
---|
325 | enum DVD_TextCharSet {
|
---|
326 | DVD_CharSet_Unicode = 0,
|
---|
327 | DVD_CharSet_ISO646 = 1,
|
---|
328 | DVD_CharSet_JIS_Roman_Kanji = 2,
|
---|
329 | DVD_CharSet_ISO8859_1 = 3,
|
---|
330 | DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
|
---|
331 | };
|
---|
332 | enum DVD_TextStringType {
|
---|
333 | DVD_Struct_Volume = 0x01,
|
---|
334 | DVD_Struct_Title = 0x02,
|
---|
335 | DVD_Struct_ParentalID = 0x03,
|
---|
336 | DVD_Struct_PartOfTitle = 0x04,
|
---|
337 | DVD_Struct_Cell = 0x05,
|
---|
338 | DVD_Stream_Audio = 0x10,
|
---|
339 | DVD_Stream_Subpicture = 0x11,
|
---|
340 | DVD_Stream_Angle = 0x12,
|
---|
341 | DVD_Channel_Audio = 0x20,
|
---|
342 | DVD_General_Name = 0x30,
|
---|
343 | DVD_General_Comments = 0x31,
|
---|
344 | DVD_Title_Series = 0x38,
|
---|
345 | DVD_Title_Movie = 0x39,
|
---|
346 | DVD_Title_Video = 0x3a,
|
---|
347 | DVD_Title_Album = 0x3b,
|
---|
348 | DVD_Title_Song = 0x3c,
|
---|
349 | DVD_Title_Other = 0x3f,
|
---|
350 | DVD_Title_Sub_Series = 0x40,
|
---|
351 | DVD_Title_Sub_Movie = 0x41,
|
---|
352 | DVD_Title_Sub_Video = 0x42,
|
---|
353 | DVD_Title_Sub_Album = 0x43,
|
---|
354 | DVD_Title_Sub_Song = 0x44,
|
---|
355 | DVD_Title_Sub_Other = 0x47,
|
---|
356 | DVD_Title_Orig_Series = 0x48,
|
---|
357 | DVD_Title_Orig_Movie = 0x49,
|
---|
358 | DVD_Title_Orig_Video = 0x4a,
|
---|
359 | DVD_Title_Orig_Album = 0x4b,
|
---|
360 | DVD_Title_Orig_Song = 0x4c,
|
---|
361 | DVD_Title_Orig_Other = 0x4f,
|
---|
362 | DVD_Other_Scene = 0x50,
|
---|
363 | DVD_Other_Cut = 0x51,
|
---|
364 | DVD_Other_Take = 0x52
|
---|
365 | };
|
---|
366 | typedef enum tagDVD_TIMECODE_FLAGS {
|
---|
367 | DVD_TC_FLAG_25fps = 0x00000001,
|
---|
368 | DVD_TC_FLAG_30fps = 0x00000002,
|
---|
369 | DVD_TC_FLAG_DropFrame = 0x00000004,
|
---|
370 | DVD_TC_FLAG_Interpolated = 0x00000008
|
---|
371 | } DVD_TIMECODE_FLAGS;
|
---|
372 | typedef enum tagDVD_TITLE_APPMODE {
|
---|
373 | DVD_AppMode_Not_Specified = 0,
|
---|
374 | DVD_AppMode_Karaoke = 1,
|
---|
375 | DVD_AppMode_Other = 3
|
---|
376 | } DVD_TITLE_APPMODE;
|
---|
377 | typedef enum tagDVD_VIDEO_COMPRESSION {
|
---|
378 | DVD_VideoCompression_Other = 0,
|
---|
379 | DVD_VideoCompression_MPEG1 = 1,
|
---|
380 | DVD_VideoCompression_MPEG2 = 2
|
---|
381 | } DVD_VIDEO_COMPRESSION;
|
---|
382 | typedef enum _DVDECODERRESOLUTION {
|
---|
383 | DVDECODERRESOLUTION_720x480 = 1000,
|
---|
384 | DVDECODERRESOLUTION_360x240 = 1001,
|
---|
385 | DVDECODERRESOLUTION_180x120 = 1002,
|
---|
386 | DVDECODERRESOLUTION_88x60 = 1003
|
---|
387 | } DVDECODERRESOLUTION;
|
---|
388 | typedef enum _DVRESOLUTION {
|
---|
389 | DVRESOLUTION_FULL = 1000,
|
---|
390 | DVRESOLUTION_HALF = 1001,
|
---|
391 | DVRESOLUTION_QUARTER = 1002,
|
---|
392 | DVRESOLUTION_DC = 1003
|
---|
393 | } DVRESOLUTION;
|
---|
394 | typedef enum _DVENCODERFORMAT {
|
---|
395 | DVENCODERFORMAT_DVSD = 2007,
|
---|
396 | DVENCODERFORMAT_DVHD = 2008,
|
---|
397 | DVENCODERFORMAT_DVSL = 2009
|
---|
398 | } DVENCODERFORMAT;
|
---|
399 | typedef enum _DVENCODERRESOLUTION {
|
---|
400 | DVENCODERRESOLUTION_720x480 = 2012,
|
---|
401 | DVENCODERRESOLUTION_360x240 = 2013,
|
---|
402 | DVENCODERRESOLUTION_180x120 = 2014,
|
---|
403 | DVENCODERRESOLUTION_88x60 = 2015
|
---|
404 | } DVENCODERRESOLUTION;
|
---|
405 | typedef enum _DVENCODERVIDEOFORMAT {
|
---|
406 | DVENCODERVIDEOFORMAT_NTSC = 2000,
|
---|
407 | DVENCODERVIDEOFORMAT_PAL = 2001
|
---|
408 | } DVENCODERVIDEOFORMAT;
|
---|
409 | typedef enum _FilterState {
|
---|
410 | State_Stopped,
|
---|
411 | State_Paused,
|
---|
412 | State_Running
|
---|
413 | } FILTER_STATE;
|
---|
414 | typedef enum {
|
---|
415 | INTERLEAVE_NONE,
|
---|
416 | INTERLEAVE_CAPTURE,
|
---|
417 | INTERLEAVE_FULL,
|
---|
418 | INTERLEAVE_NONE_BUFFERED
|
---|
419 | } InterleavingMode;
|
---|
420 | typedef enum {
|
---|
421 | PhysConn_Video_Tuner = 1,
|
---|
422 | PhysConn_Video_Composite,
|
---|
423 | PhysConn_Video_SVideo,
|
---|
424 | PhysConn_Video_RGB,
|
---|
425 | PhysConn_Video_YRYBY,
|
---|
426 | PhysConn_Video_SerialDigital,
|
---|
427 | PhysConn_Video_ParallelDigital,
|
---|
428 | PhysConn_Video_SCSI,
|
---|
429 | PhysConn_Video_AUX,
|
---|
430 | PhysConn_Video_1394,
|
---|
431 | PhysConn_Video_USB,
|
---|
432 | PhysConn_Video_VideoDecoder,
|
---|
433 | PhysConn_Video_VideoEncoder,
|
---|
434 | PhysConn_Video_SCART,
|
---|
435 | PhysConn_Video_Black,
|
---|
436 | PhysConn_Audio_Tuner = 4096,
|
---|
437 | PhysConn_Audio_Line,
|
---|
438 | PhysConn_Audio_Mic,
|
---|
439 | PhysConn_Audio_AESDigital,
|
---|
440 | PhysConn_Audio_SPDIFDigital,
|
---|
441 | PhysConn_Audio_SCSI,
|
---|
442 | PhysConn_Audio_AUX,
|
---|
443 | PhysConn_Audio_1394,
|
---|
444 | PhysConn_Audio_USB,
|
---|
445 | PhysConn_Audio_AudioDecoder
|
---|
446 | } PhysicalConnectorType;
|
---|
447 | typedef enum _PinDirection {
|
---|
448 | PINDIR_INPUT,
|
---|
449 | PINDIR_OUTPUT
|
---|
450 | } PIN_DIRECTION;
|
---|
451 | typedef enum {
|
---|
452 | Famine,
|
---|
453 | Flood
|
---|
454 | } QualityMessageType;
|
---|
455 | enum {
|
---|
456 | REG_PINFLAG_B_ZERO = 0x1,
|
---|
457 | REG_PINFLAG_B_RENDERER = 0x2,
|
---|
458 | REG_PINFLAG_B_MANY = 0x4,
|
---|
459 | REG_PINFLAG_B_OUTPUT = 0x8
|
---|
460 | } REG_PINFLAG;
|
---|
461 | typedef enum _REM_FILTER_FLAGS {
|
---|
462 | REMFILTERF_LEAVECONNECTED = 0x00000001
|
---|
463 | } REM_FILTER_FLAGS;
|
---|
464 | typedef enum {
|
---|
465 | TunerInputCable,
|
---|
466 | TunerInputAntenna
|
---|
467 | } TunerInputType;
|
---|
468 | typedef enum tagTVAudioMode {
|
---|
469 | AMTVAUDIO_MODE_MONO = 0x0001,
|
---|
470 | AMTVAUDIO_MODE_STEREO = 0x0002,
|
---|
471 | AMTVAUDIO_MODE_LANG_A = 0x0010,
|
---|
472 | AMTVAUDIO_MODE_LANG_B = 0x0020,
|
---|
473 | AMTVAUDIO_MODE_LANG_C = 0x0040,
|
---|
474 | AMTVAUDIO_PRESET_STEREO = 0x0200,
|
---|
475 | AMTVAUDIO_PRESET_LANG_A = 0x1000,
|
---|
476 | AMTVAUDIO_PRESET_LANG_B = 0x2000,
|
---|
477 | AMTVAUDIO_PRESET_LANG_C = 0x4000
|
---|
478 | } TVAudioMode;
|
---|
479 | typedef enum {
|
---|
480 | UOP_FLAG_Play_Title_Or_AtTime = 0x00000001,
|
---|
481 | UOP_FLAG_Play_Chapter = 0x00000002,
|
---|
482 | UOP_FLAG_Play_Title = 0x00000004,
|
---|
483 | UOP_FLAG_Stop = 0x00000008,
|
---|
484 | UOP_FLAG_ReturnFromSubMenu = 0x00000010,
|
---|
485 | UOP_FLAG_Play_Chapter_Or_AtTime = 0x00000020,
|
---|
486 | UOP_FLAG_PlayPrev_Or_Replay_Chapter = 0x00000040,
|
---|
487 | UOP_FLAG_PlayNext_Chapter = 0x00000080,
|
---|
488 | UOP_FLAG_Play_Forwards = 0x00000100,
|
---|
489 | UOP_FLAG_Play_Backwards = 0x00000200,
|
---|
490 | UOP_FLAG_ShowMenu_Title = 0x00000400,
|
---|
491 | UOP_FLAG_ShowMenu_Root = 0x00000800,
|
---|
492 | UOP_FLAG_ShowMenu_SubPic = 0x00001000,
|
---|
493 | UOP_FLAG_ShowMenu_Audio = 0x00002000,
|
---|
494 | UOP_FLAG_ShowMenu_Angle = 0x00004000,
|
---|
495 | UOP_FLAG_ShowMenu_Chapter = 0x00008000,
|
---|
496 | UOP_FLAG_Resume = 0x00010000,
|
---|
497 | UOP_FLAG_Select_Or_Activate_Button = 0x00020000,
|
---|
498 | UOP_FLAG_Still_Off = 0x00040000,
|
---|
499 | UOP_FLAG_Pause_On = 0x00080000,
|
---|
500 | UOP_FLAG_Select_Audio_Stream = 0x00100000,
|
---|
501 | UOP_FLAG_Select_SubPic_Stream = 0x00200000,
|
---|
502 | UOP_FLAG_Select_Angle = 0x00400000,
|
---|
503 | UOP_FLAG_Select_Karaoke_Audio_Presentation_Mode = 0x00800000,
|
---|
504 | UOP_FLAG_Select_Video_Mode_Preference = 0x01000000
|
---|
505 | } VALID_UOP_FLAG;
|
---|
506 | typedef enum {
|
---|
507 | VfwCaptureDialog_Source = 0x01,
|
---|
508 | VfwCaptureDialog_Format = 0x02,
|
---|
509 | VfwCaptureDialog_Display = 0x04
|
---|
510 | } VfwCaptureDialogs;
|
---|
511 | typedef enum {
|
---|
512 | VfwCompressDialog_Config = 0x01,
|
---|
513 | VfwCompressDialog_About = 0x02,
|
---|
514 | VfwCompressDialog_QueryConfig = 0x04,
|
---|
515 | VfwCompressDialog_QueryAbout = 0x08
|
---|
516 | } VfwCompressDialogs;
|
---|
517 | typedef enum tagVideoControlFlags {
|
---|
518 | VideoControlFlag_FlipHorizontal = 0x0001,
|
---|
519 | VideoControlFlag_FlipVertical = 0x0002,
|
---|
520 | VideoControlFlag_ExternalTriggerEnable = 0x0004,
|
---|
521 | VideoControlFlag_Trigger = 0x0008
|
---|
522 | } VideoControlFlags;
|
---|
523 | typedef enum {
|
---|
524 | ConstantBitRate = 0,
|
---|
525 | VariableBitRateAverage,
|
---|
526 | VariableBitRatePeak
|
---|
527 | } VIDEOENCODER_BITRATE_MODE;
|
---|
528 | typedef enum tagVideoProcAmpFlags {
|
---|
529 | VideoProcAmp_Flags_Auto = 0x0001,
|
---|
530 | VideoProcAmp_Flags_Manual = 0x0002
|
---|
531 | } VideoProcAmpFlags;
|
---|
532 | typedef enum tagVideoProcAmpProperty {
|
---|
533 | VideoProcAmp_Brightness,
|
---|
534 | VideoProcAmp_Contrast,
|
---|
535 | VideoProcAmp_Hue,
|
---|
536 | VideoProcAmp_Saturation,
|
---|
537 | VideoProcAmp_Sharpness,
|
---|
538 | VideoProcAmp_Gamma,
|
---|
539 | VideoProcAmp_ColorEnable,
|
---|
540 | VideoProcAmp_WhiteBalance,
|
---|
541 | VideoProcAmp_BacklightCompensation,
|
---|
542 | VideoProcAmp_Gain
|
---|
543 | } VideoProcAmpProperty;
|
---|
544 | enum VMR_ASPECT_RATIO_MODE {
|
---|
545 | VMR_ARMODE_NONE,
|
---|
546 | VMR_ARMODE_LETTER_BOX
|
---|
547 | };
|
---|
548 | typedef enum {
|
---|
549 | DeinterlacePref_NextBest = 0x01,
|
---|
550 | DeinterlacePref_BOB = 0x02,
|
---|
551 | DeinterlacePref_Weave = 0x04,
|
---|
552 | DeinterlacePref_Mask = 0x07
|
---|
553 | } VMRDeinterlacePrefs;
|
---|
554 | typedef enum {
|
---|
555 | DeinterlaceTech_Unknown = 0x0000,
|
---|
556 | DeinterlaceTech_BOBLineReplicate = 0x0001,
|
---|
557 | DeinterlaceTech_BOBVerticalStretch = 0x0002,
|
---|
558 | DeinterlaceTech_MedianFiltering = 0x0004,
|
---|
559 | DeinterlaceTech_EdgeFiltering = 0x0010,
|
---|
560 | DeinterlaceTech_FieldAdaptive = 0x0020,
|
---|
561 | DeinterlaceTech_PixelAdaptive = 0x0040,
|
---|
562 | DeinterlaceTech_MotionVectorSteered = 0x0080
|
---|
563 | } VMRDeinterlaceTech;
|
---|
564 | typedef enum {
|
---|
565 | MixerPref_NoDecimation = 0x00000001,
|
---|
566 | MixerPref_DecimateOutput = 0x00000002,
|
---|
567 | MixerPref_ARAdjustXorY = 0x00000004,
|
---|
568 | MixerPref_DecimationReserved = 0x00000008,
|
---|
569 | MixerPref_DecimateMask = 0x0000000F,
|
---|
570 | MixerPref_BiLinearFiltering = 0x00000010,
|
---|
571 | MixerPref_PointFiltering = 0x00000020,
|
---|
572 | MixerPref_FilteringMask = 0x000000F0,
|
---|
573 | MixerPref_RenderTargetRGB = 0x00000100,
|
---|
574 | MixerPref_RenderTargetYUV = 0x00001000,
|
---|
575 | MixerPref_RenderTargetYUV420 = 0x00000200,
|
---|
576 | MixerPref_RenderTargetYUV422 = 0x00000400,
|
---|
577 | MixerPref_RenderTargetYUV444 = 0x00000800,
|
---|
578 | MixerPref_RenderTargetReserved = 0x0000E000,
|
---|
579 | MixerPref_RenderTargetMask = 0x0000FF00,
|
---|
580 | MixerPref_DynamicSwitchToBOB = 0x00010000,
|
---|
581 | MixerPref_DynamicDecimateBy2 = 0x00020000,
|
---|
582 | MixerPref_DynamicReserved = 0x000C0000,
|
---|
583 | MixerPref_DynamicMask = 0x000F0000
|
---|
584 | } VMRMixerPrefs;
|
---|
585 | enum VMRMode {
|
---|
586 | VMRMode_Windowed = 0x00000001,
|
---|
587 | VMRMode_Windowless = 0x00000002,
|
---|
588 | VMRMode_Renderless = 0x00000004,
|
---|
589 | VMRMode_Mask = 0x00000007
|
---|
590 | };
|
---|
591 | typedef enum {
|
---|
592 | VMRSample_SyncPoint = 0x00000001,
|
---|
593 | VMRSample_Preroll = 0x00000002,
|
---|
594 | VMRSample_Discontinuity = 0x00000004,
|
---|
595 | VMRSample_TimeValid = 0x00000008
|
---|
596 | } VMRPresentationFlags;
|
---|
597 | typedef enum {
|
---|
598 | RenderPrefs_ForceOffscreen = 0x00000001,
|
---|
599 | RenderPrefs_ForceOverlays = 0x00000002,
|
---|
600 | RenderPrefs_AllowOverlays = 0x00000000,
|
---|
601 | RenderPrefs_AllowOffscreen = 0x00000000,
|
---|
602 | RenderPrefs_DoNotRenderColorKeyAndBorder = 0x00000008,
|
---|
603 | RenderPrefs_RestrictToInitialMonitor = 0x00000010,
|
---|
604 | RenderPrefs_PreferAGPMemWhenMixing = 0x00000020,
|
---|
605 | RenderPrefs_Mask = 0x0000003f
|
---|
606 | } VMRRenderPrefs;
|
---|
607 | typedef enum {
|
---|
608 | AMAP_PIXELFORMAT_VALID = 0x01,
|
---|
609 | AMAP_3D_TARGET = 0x02,
|
---|
610 | AMAP_ALLOW_SYSMEM = 0x04,
|
---|
611 | AMAP_FORCE_SYSMEM = 0x08,
|
---|
612 | AMAP_DIRECTED_FLIP = 0x10,
|
---|
613 | AMAP_DXVA_TARGET = 0x20
|
---|
614 | } VMRSurfaceAllocationFlags;
|
---|
615 | /*--- DirectShow Reference - DirectShow Structures */
|
---|
616 | typedef struct _AllocatorProperties {
|
---|
617 | long cBuffers;
|
---|
618 | long cbBuffer;
|
---|
619 | long cbAlign;
|
---|
620 | long cbPrefix;
|
---|
621 | } ALLOCATOR_PROPERTIES;
|
---|
622 | typedef struct {
|
---|
623 | HRESULT hrVPEStatus;
|
---|
624 | BOOL bDvdVolInvalid;
|
---|
625 | BOOL bDvdVolUnknown;
|
---|
626 | BOOL bNoLine21In;
|
---|
627 | BOOL bNoLine21Out;
|
---|
628 | int iNumStreams;
|
---|
629 | int iNumStreamsFailed;
|
---|
630 | DWORD dwFailedStreamsFlag;
|
---|
631 | } AM_DVD_RENDERSTATUS;
|
---|
632 | typedef struct _AMCOPPCommand {
|
---|
633 | GUID macKDI;
|
---|
634 | GUID guidCommandID;
|
---|
635 | DWORD dwSequence;
|
---|
636 | DWORD cbSizeData;
|
---|
637 | BYTE CommandData[4056];
|
---|
638 | } AMCOPPCommand,*LPAMCOPPCommand;
|
---|
639 | typedef struct _AMCOPPSignature {
|
---|
640 | BYTE Signature[256];
|
---|
641 | } AMCOPPSignature;
|
---|
642 | typedef struct _AMCOPPStatusInput {
|
---|
643 | GUID rApp;
|
---|
644 | GUID guidStatusRequestID;
|
---|
645 | DWORD dwSequence;
|
---|
646 | DWORD cbSizeData;
|
---|
647 | BYTE StatusData[4056];
|
---|
648 | } AMCOPPStatusInput,*LPAMCOPPStatusInput;
|
---|
649 | typedef struct _AMCOPPStatusOutput {
|
---|
650 | GUID macKDI;
|
---|
651 | DWORD cbSizeData;
|
---|
652 | BYTE COPPStatus[4076];
|
---|
653 | } AMCOPPStatusOutput,*LPAMCOPPStatusOutput;
|
---|
654 | typedef struct _AMMediaType {
|
---|
655 | GUID majortype;
|
---|
656 | GUID subtype;
|
---|
657 | BOOL bFixedSizeSamples;
|
---|
658 | BOOL bTemporalCompression;
|
---|
659 | ULONG lSampleSize;
|
---|
660 | GUID formattype;
|
---|
661 | IUnknown *pUnk;
|
---|
662 | ULONG cbFormat;
|
---|
663 | BYTE *pbFormat;
|
---|
664 | } AM_MEDIA_TYPE;
|
---|
665 | typedef struct tagAM_SAMPLE2_PROPERTIES {
|
---|
666 | DWORD cbData;
|
---|
667 | DWORD dwTypeSpecificFlags;
|
---|
668 | DWORD dwSampleFlags;
|
---|
669 | LONG lActual;
|
---|
670 | REFERENCE_TIME tStart;
|
---|
671 | REFERENCE_TIME tStop;
|
---|
672 | DWORD dwStreamId;
|
---|
673 | AM_MEDIA_TYPE *pMediaType;
|
---|
674 | BYTE *pbBuffer;
|
---|
675 | LONG cbBuffer;
|
---|
676 | } AM_SAMPLE2_PROPERTIES;
|
---|
677 | typedef struct {
|
---|
678 | REFERENCE_TIME tStart;
|
---|
679 | REFERENCE_TIME tStop;
|
---|
680 | DWORD dwStartCookie;
|
---|
681 | DWORD dwStopCookie;
|
---|
682 | DWORD dwFlags;
|
---|
683 | } AM_STREAM_INFO;
|
---|
684 | typedef struct {
|
---|
685 | const CLSID *clsMajorType;
|
---|
686 | const CLSID *clsMinorType;
|
---|
687 | } REGPINTYPES;
|
---|
688 | typedef REGPINTYPES AMOVIESETUP_MEDIATYPE,*PAMOVIESETUP_MEDIATYPE,*LPAMOVIESETUP_MEDIATYPE;
|
---|
689 | typedef struct {
|
---|
690 | LPWSTR strName;
|
---|
691 | BOOL bRendered;
|
---|
692 | BOOL bOutput;
|
---|
693 | BOOL bZero;
|
---|
694 | BOOL bMany;
|
---|
695 | const CLSID *clsConnectsToFilter;
|
---|
696 | const WCHAR *strConnectsToPin;
|
---|
697 | UINT nMediaTypes;
|
---|
698 | const REGPINTYPES *lpMediaType;
|
---|
699 | } REGFILTERPINS;
|
---|
700 | typedef REGFILTERPINS AMOVIESETUP_PIN,*PAMOVIESETUP_PIN,*LPAMOVIESETUP_PIN;
|
---|
701 | typedef struct _AMOVIESETUP_FILTER {
|
---|
702 | const CLSID *clsID;
|
---|
703 | const WCHAR *strName;
|
---|
704 | DWORD dwMerit;
|
---|
705 | UINT nPins;
|
---|
706 | const AMOVIESETUP_PIN *lpPin;
|
---|
707 | } AMOVIESETUP_FILTER,*PAMOVIESETUP_FILTER,*LPAMOVIESETUP_FILTER;
|
---|
708 | typedef struct _AUDIO_STREAM_CONFIG_CAPS {
|
---|
709 | GUID guid;
|
---|
710 | ULONG MinimumChannels;
|
---|
711 | ULONG MaximumChannels;
|
---|
712 | ULONG ChannelsGranularity;
|
---|
713 | ULONG MinimumBitsPerSample;
|
---|
714 | ULONG MaximumBitsPerSample;
|
---|
715 | ULONG BitsPerSampleGranularity;
|
---|
716 | ULONG MinimumSampleFrequency;
|
---|
717 | ULONG MaximumSampleFrequency;
|
---|
718 | ULONG SampleFrequencyGranularity;
|
---|
719 | } AUDIO_STREAM_CONFIG_CAPS;
|
---|
720 | struct CodecAPIEventData {
|
---|
721 | GUID guid;
|
---|
722 | DWORD dataLength;
|
---|
723 | DWORD reserved[3];
|
---|
724 | };
|
---|
725 | typedef struct tagCOLORKEY {
|
---|
726 | DWORD KeyType;
|
---|
727 | DWORD PaletteIndex;
|
---|
728 | COLORREF LowColorValue;
|
---|
729 | COLORREF HighColorValue;
|
---|
730 | } COLORKEY;
|
---|
731 | #define CK_NOCOLORKEY 0x00000000
|
---|
732 | #define CK_INDEX 0x00000001
|
---|
733 | #define CK_RGB 0x00000002
|
---|
734 | typedef struct {
|
---|
735 | DWORD dw1;
|
---|
736 | DWORD dw2;
|
---|
737 | } DDCOLORKEY;
|
---|
738 | typedef struct tagDVD_AudioAttributes {
|
---|
739 | DVD_AUDIO_APPMODE AppMode;
|
---|
740 | DVD_AUDIO_FORMAT AudioFormat;
|
---|
741 | LCID Language;
|
---|
742 | DVD_AUDIO_LANG_EXT LanguageExtension;
|
---|
743 | BOOL fHasMultichannelInfo;
|
---|
744 | DWORD dwFrequency;
|
---|
745 | BYTE bQuantization;
|
---|
746 | BYTE bNumberOfChannels;
|
---|
747 | DWORD dwReserved[2];
|
---|
748 | } DVD_AudioAttributes;
|
---|
749 | typedef struct tagDVD_DECODER_CAPS {
|
---|
750 | DWORD dwSize;
|
---|
751 | DWORD dwAudioCaps;
|
---|
752 | double dFwdMaxRateVideo;
|
---|
753 | double dFwdMaxRateAudio;
|
---|
754 | double dFwdMaxRateSP;
|
---|
755 | double dBwdMaxRateVideo;
|
---|
756 | double dBwdMaxRateAudio;
|
---|
757 | double dBwdMaxRateSP;
|
---|
758 | DWORD dwRes1;
|
---|
759 | DWORD dwRes2;
|
---|
760 | DWORD dwRes3;
|
---|
761 | DWORD dwRes4;
|
---|
762 | } DVD_DECODER_CAPS;
|
---|
763 | #define DVD_AUDIO_CAPS_AC3 0x00000001
|
---|
764 | #define DVD_AUDIO_CAPS_MPEG2 0x00000002
|
---|
765 | #define DVD_AUDIO_CAPS_LPCM 0x00000004
|
---|
766 | #define DVD_AUDIO_CAPS_DTS 0x00000008
|
---|
767 | #define DVD_AUDIO_CAPS_SDDS 0x00000010
|
---|
768 | typedef struct tagDVD_HMSF_TIMECODE {
|
---|
769 | BYTE bHours;
|
---|
770 | BYTE bMinutes;
|
---|
771 | BYTE bSeconds;
|
---|
772 | BYTE bFrames;
|
---|
773 | } DVD_HMSF_TIMECODE;
|
---|
774 | typedef struct tagDVD_KaraokeAttributes {
|
---|
775 | BYTE bVersion;
|
---|
776 | BOOL fMasterOfCeremoniesInGuideVocal1;
|
---|
777 | BOOL fDuet;
|
---|
778 | DVD_KARAOKE_ASSIGNMENT ChannelAssignment;
|
---|
779 | WORD wChannelContents[8];
|
---|
780 | } DVD_KaraokeAttributes;
|
---|
781 | typedef struct tagDVD_MUA_Coeff {
|
---|
782 | double log2_alpha;
|
---|
783 | double log2_beta;
|
---|
784 | } DVD_MUA_Coeff;
|
---|
785 | typedef struct tagDVD_MUA_MixingInfo {
|
---|
786 | BOOL fMixTo0;
|
---|
787 | BOOL fMixTo1;
|
---|
788 | BOOL fMix0InPhase;
|
---|
789 | BOOL fMix1InPhase;
|
---|
790 | DWORD dwSpeakerPosition;
|
---|
791 | } DVD_MUA_MixingInfo;
|
---|
792 | #define KSAUDIO_SPEAKER_LEFT 0x00000001
|
---|
793 | #define KSAUDIO_SPEAKER_RIGHT 0x00000002
|
---|
794 | #define KSAUDIO_SPEAKER_CENTER 0x00000004
|
---|
795 | #define KSAUDIO_SPEAKER_SURROUND_LEFT 0x00000008
|
---|
796 | #define KSAUDIO_SPEAKER_SURROUND_RIGHT 0x00000010
|
---|
797 | #define KSAUDIO_SPEAKER_SUBWOOFER 0x00000020
|
---|
798 | #define KSAUDIO_SPEAKER_LEFT_OF_CENTER 0x00000040
|
---|
799 | #define KSAUDIO_SPEAKER_RIGHT_OF_CENTER 0x00000080
|
---|
800 | #define KSAUDIO_SPEAKER_SURROUND_MONO 0x00000100
|
---|
801 | #define KSAUDIO_SPEAKER_SIDE_LEFT 0x00000200
|
---|
802 | #define KSAUDIO_SPEAKER_SIDE_RIGHT 0x00000400
|
---|
803 | #define KSAUDIO_SPEAKER_TOP 0x00000800
|
---|
804 | typedef struct tagDVD_MultichannelAudioAttributes {
|
---|
805 | DVD_MUA_MixingInfo Info[8];
|
---|
806 | DVD_MUA_Coeff Coeff[8];
|
---|
807 | } DVD_MultichannelAudioAttributes;
|
---|
808 | typedef struct tagDVD_PLAYBACK_LOCATION {
|
---|
809 | ULONG TitleNum;
|
---|
810 | ULONG ChapterNum;
|
---|
811 | ULONG TimeCode;
|
---|
812 | } DVD_PLAYBACK_LOCATION;
|
---|
813 | typedef struct tagDVD_PLAYBACK_LOCATION2 {
|
---|
814 | ULONG TitleNum;
|
---|
815 | ULONG ChapterNum;
|
---|
816 | DVD_HMSF_TIMECODE TimeCode;
|
---|
817 | ULONG TimeCodeFlags;
|
---|
818 | } DVD_PLAYBACK_LOCATION2;
|
---|
819 | typedef struct tagDVD_SubpictureAttributes {
|
---|
820 | DVD_SUBPICTURE_TYPE Type;
|
---|
821 | DVD_SUBPICTURE_CODING CodingMode;
|
---|
822 | LCID Language;
|
---|
823 | DVD_SUBPICTURE_LANG_EXT LanguageExtension;
|
---|
824 | } DVD_SubpictureAttributes;
|
---|
825 | typedef struct tagDVD_TIMECODE {
|
---|
826 | ULONG Hours1:4;
|
---|
827 | ULONG Hours10:4;
|
---|
828 | ULONG Minutes1:4;
|
---|
829 | ULONG Minutes10:4;
|
---|
830 | ULONG Seconds1:4;
|
---|
831 | ULONG Seconds10:4;
|
---|
832 | ULONG Frames1:4;
|
---|
833 | ULONG Frames10:2;
|
---|
834 | ULONG FrameRateCode:2;
|
---|
835 | } DVD_TIMECODE;
|
---|
836 | typedef struct tagDVD_VideoAttributes {
|
---|
837 | BOOL fPanscanPermitted;
|
---|
838 | BOOL fLetterboxPermitted;
|
---|
839 | ULONG ulAspectX;
|
---|
840 | ULONG ulAspectY;
|
---|
841 | ULONG ulFrameRate;
|
---|
842 | ULONG ulFrameHeight;
|
---|
843 | DVD_VIDEO_COMPRESSION Compression;
|
---|
844 | BOOL fLine21Field1InGOP;
|
---|
845 | BOOL fLine21Field2InGOP;
|
---|
846 | ULONG ulSourceResolutionX;
|
---|
847 | ULONG ulSourceResolutionY;
|
---|
848 | BOOL fIsSourceLetterboxed;
|
---|
849 | BOOL fIsFilmMode;
|
---|
850 | } DVD_VideoAttributes;
|
---|
851 | struct tagDVD_MenuAttributes {
|
---|
852 | BOOL fCompatibleRegion[8];
|
---|
853 | DVD_VideoAttributes VideoAttributes;
|
---|
854 | BOOL fAudioPresent;
|
---|
855 | DVD_AudioAttributes AudioAttributes;
|
---|
856 | BOOL fSubpicturePresent;
|
---|
857 | DVD_SubpictureAttributes SubpictureAttributes;
|
---|
858 | } DVD_MenuAttributes;
|
---|
859 | typedef struct tagDVD_TitleMainAttributes {
|
---|
860 | DVD_TITLE_APPMODE AppMode;
|
---|
861 | DVD_VideoAttributes VideoAttributes;
|
---|
862 | ULONG ulNumberOfAudioStreams;
|
---|
863 | DVD_AudioAttributes AudioAttributes[8];
|
---|
864 | DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8];
|
---|
865 | ULONG ulNumberOfSubpictureStreams;
|
---|
866 | DVD_SubpictureAttributes SubpictureAttributes[32];
|
---|
867 | } DVD_TitleAttributes;
|
---|
868 | typedef struct tag_DVINFO {
|
---|
869 | DWORD dwDVAAuxSrc;
|
---|
870 | DWORD dwDVAAuxCtl;
|
---|
871 | DWORD dwDVAAuxSrc1;
|
---|
872 | DWORD dwDVAAuxCtl1;
|
---|
873 | DWORD dwDVVAuxSrc;
|
---|
874 | DWORD dwDVVAuxCtl;
|
---|
875 | DWORD dwDVReserved[2];
|
---|
876 | } DVINFO,*PDVINFO;
|
---|
877 | /***************
|
---|
878 | #define MAX_FILTER_NAME 128
|
---|
879 | typedef struct _FilterInfo {
|
---|
880 | WCHAR achName[MAX_FILTER_NAME];
|
---|
881 | IFilterGraph *pGraph;
|
---|
882 | } FILTER_INFO;
|
---|
883 | ***************/
|
---|
884 | typedef struct _NORMALIZEDRECT {
|
---|
885 | float left;
|
---|
886 | float top;
|
---|
887 | float right;
|
---|
888 | float bottom;
|
---|
889 | } NORMALIZEDRECT,*PNORMALIZEDRECT;
|
---|
890 | #define MAX_PIN_NAME 128
|
---|
891 | typedef struct _PinInfo {
|
---|
892 | IBaseFilter *pFilter;
|
---|
893 | PIN_DIRECTION dir;
|
---|
894 | WCHAR achName[MAX_PIN_NAME];
|
---|
895 | } PIN_INFO;
|
---|
896 | typedef struct{
|
---|
897 | QualityMessageType Type;
|
---|
898 | long Proportion;
|
---|
899 | REFERENCE_TIME Late;
|
---|
900 | REFERENCE_TIME TimeStamp;
|
---|
901 | } Quality;
|
---|
902 | typedef struct {
|
---|
903 | CLSID clsMedium;
|
---|
904 | DWORD dw1;
|
---|
905 | DWORD dw2;
|
---|
906 | } REGPINMEDIUM;
|
---|
907 | typedef struct {
|
---|
908 | DWORD dwFlags;
|
---|
909 | UINT cInstances;
|
---|
910 | UINT nMediaTypes;
|
---|
911 | const REGPINTYPES *lpMediaType;
|
---|
912 | UINT nMediums;
|
---|
913 | const REGPINMEDIUM *lpMedium;
|
---|
914 | const CLSID *clsPinCategory;
|
---|
915 | } REGFILTERPINS2;
|
---|
916 | typedef struct {
|
---|
917 | DWORD dwVersion;
|
---|
918 | DWORD dwMerit;
|
---|
919 | union {
|
---|
920 | struct {
|
---|
921 | ULONG cPins;
|
---|
922 | const REGFILTERPINS *rgPins;
|
---|
923 | };
|
---|
924 | struct {
|
---|
925 | ULONG cPins2;
|
---|
926 | const REGFILTERPINS2 *rgPins2;
|
---|
927 | };
|
---|
928 | };
|
---|
929 | } REGFILTER2;
|
---|
930 | typedef struct {
|
---|
931 | ULONG stream_id;
|
---|
932 | DWORD dwMediaSampleContent;
|
---|
933 | ULONG ulSubstreamFilterValue;
|
---|
934 | int iDataOffset;
|
---|
935 | } STREAM_ID_MAP;
|
---|
936 | #define MPEG2_PROGRAM_STREAM_MAP 0x00000000
|
---|
937 | #define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001
|
---|
938 | #define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002
|
---|
939 | #define MPEG2_PROGRAM_PACK_HEADER 0x00000003
|
---|
940 | #define MPEG2_PROGRAM_PES_STREAM 0x00000004
|
---|
941 | #define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005
|
---|
942 | #define SUBSTREAM_FILTER_VAL_NONE 0x10000000
|
---|
943 | typedef struct tagTIMECODE {
|
---|
944 | WORD wFrameRate;
|
---|
945 | WORD wFrameFract;
|
---|
946 | DWORD dwFrames;
|
---|
947 | } TIMECODE;
|
---|
948 | #define ED_FORMAT_SMPTE_30 0x00001196
|
---|
949 | #define ED_FORMAT_SMPTE_30DROP 0x00001197
|
---|
950 | #define ED_FORMAT_SMPTE_25 0x00001198
|
---|
951 | #define ED_FORMAT_SMPTE_24 0x00001199
|
---|
952 | typedef struct tagTIMECODE_SAMPLE {
|
---|
953 | LONGLONG qwTick;
|
---|
954 | TIMECODE timecode;
|
---|
955 | DWORD dwUser;
|
---|
956 | DWORD dwFlags;
|
---|
957 | } TIMECODE_SAMPLE;
|
---|
958 | /*#define AM_TIMECODE_FLAG_FCM */
|
---|
959 | /*#define AM_TIMECODE_FLAG_CF */
|
---|
960 | /*#define AM_TIMECODE_FLAG_FIELD */
|
---|
961 | /*#define AM_TIMECODE_FLAG_DF */
|
---|
962 | /*#define AM_TIMECODE_COLORFRAME */
|
---|
963 | /*#define AM_TIMECODE_COLORSEQUENCE */
|
---|
964 | /*#define AM_TIMECODE_FILMSEQUENCE_TYPE */
|
---|
965 | typedef struct _VIDEO_STREAM_CONFIG_CAPS {
|
---|
966 | GUID guid;
|
---|
967 | ULONG VideoStandard;
|
---|
968 | SIZE InputSize;
|
---|
969 | SIZE MinCroppingSize;
|
---|
970 | SIZE MaxCroppingSize;
|
---|
971 | int CropGranularityX;
|
---|
972 | int CropGranularityY;
|
---|
973 | int CropAlignX;
|
---|
974 | int CropAlignY;
|
---|
975 | SIZE MinOutputSize;
|
---|
976 | SIZE MaxOutputSize;
|
---|
977 | int OutputGranularityX;
|
---|
978 | int OutputGranularityY;
|
---|
979 | int StretchTapsX;
|
---|
980 | int StretchTapsY;
|
---|
981 | int ShrinkTapsX;
|
---|
982 | int ShrinkTapsY;
|
---|
983 | LONGLONG MinFrameInterval;
|
---|
984 | LONGLONG MaxFrameInterval;
|
---|
985 | LONG MinBitsPerSecond;
|
---|
986 | LONG MaxBitsPerSecond;
|
---|
987 | } VIDEO_STREAM_CONFIG_CAPS;
|
---|
988 | typedef struct tagVMRALLOCATIONINFO {
|
---|
989 | DWORD dwFlags;
|
---|
990 | LPBITMAPINFOHEADER lpHdr;
|
---|
991 | LPDDPIXELFORMAT lpPixFmt;
|
---|
992 | SIZE szAspectRatio;
|
---|
993 | DWORD dwMinBuffers;
|
---|
994 | DWORD dwMaxBuffers;
|
---|
995 | DWORD dwInterlaceFlags;
|
---|
996 | SIZE szNativeSize;
|
---|
997 | } VMRALLOCATIONINFO;
|
---|
998 | /**********
|
---|
999 | typedef struct _VMRALPHABITMAP {
|
---|
1000 | DWORD dwFlags;
|
---|
1001 | HDC hdc;
|
---|
1002 | LPDIRECTDRAWSURFACE7 pDDS;
|
---|
1003 | RECT rSrc;
|
---|
1004 | NORMALIZEDRECT rDest;
|
---|
1005 | FLOAT fAlpha;
|
---|
1006 | COLORREF clrSrcKey;
|
---|
1007 | } VMRALPHABITMAP,*PVMRALPHABITMAP;
|
---|
1008 | **********/
|
---|
1009 | #define VMRBITMAP_DISABLE 0x00000001
|
---|
1010 | #define VMRBITMAP_HDC 0x00000002
|
---|
1011 | #define VMRBITMAP_ENTIREDDS 0x00000004
|
---|
1012 | #define VMRBITMAP_SRCCOLORKEY 0x00000008
|
---|
1013 | #define VMRBITMAP_SRCRECT 0x00000010
|
---|
1014 | typedef struct _VMRDeinterlaceCaps {
|
---|
1015 | DWORD dwSize;
|
---|
1016 | DWORD dwNumPreviousOutputFrames;
|
---|
1017 | DWORD dwNumForwardRefSamples;
|
---|
1018 | DWORD dwNumBackwardRefSamples;
|
---|
1019 | VMRDeinterlaceTech DeinterlaceTechnology;
|
---|
1020 | } VMRDeinterlaceCaps;
|
---|
1021 | typedef struct _VMRFrequency {
|
---|
1022 | DWORD dwNumerator;
|
---|
1023 | DWORD dwDenominator;
|
---|
1024 | } VMRFrequency;
|
---|
1025 | typedef struct tagVMRGUID {
|
---|
1026 | GUID *pGUID;
|
---|
1027 | GUID GUID;
|
---|
1028 | } VMRGUID;
|
---|
1029 | typedef struct tagVMRMONITORINFO {
|
---|
1030 | VMRGUID guid;
|
---|
1031 | RECT rcMonitor;
|
---|
1032 | HMONITOR hMon;
|
---|
1033 | DWORD dwFlags;
|
---|
1034 | wchar_t szDevice[32];
|
---|
1035 | wchar_t szDescription[256];
|
---|
1036 | } VMRMONITORINFO;
|
---|
1037 | /**********
|
---|
1038 | typedef struct tagVMRPRESENTATIONINFO {
|
---|
1039 | DWORD dwFlags;
|
---|
1040 | LPDIRECTDRAWSURFACE7 lpSurf;
|
---|
1041 | REFERENCE_TIME rtStart;
|
---|
1042 | REFERENCE_TIME rtEnd;
|
---|
1043 | SIZE szAspectRatio;
|
---|
1044 | RECT rcSrc;
|
---|
1045 | RECT rcDst;
|
---|
1046 | DWORD dwTypeSpecificFlags;
|
---|
1047 | DWORD dwInterlaceFlags;
|
---|
1048 | } VMRPRESENTATIONINFO;
|
---|
1049 | **********/
|
---|
1050 | typedef struct _VMRVideoDesc {
|
---|
1051 | DWORD dwSize;
|
---|
1052 | DWORD dwSampleWidth;
|
---|
1053 | DWORD dwSampleHeight;
|
---|
1054 | BOOL SingleFieldPerSample;
|
---|
1055 | DWORD dwFourCC;
|
---|
1056 | VMRFrequency InputSampleFreq;
|
---|
1057 | VMRFrequency OutputFrameFreq;
|
---|
1058 | } VMRVideoDesc;
|
---|
1059 | /**********
|
---|
1060 | typedef struct _VMRVIDEOSTREAMINFO {
|
---|
1061 | LPDIRECTDRAWSURFACE7 pddsVideoSurface;
|
---|
1062 | DWORD dwWidth;
|
---|
1063 | DWORD dwHeight;
|
---|
1064 | DWORD dwStrmID;
|
---|
1065 | FLOAT fAlpha;
|
---|
1066 | DDCOLORKEY ddClrKey;
|
---|
1067 | NORMALIZEDRECT rNormal;
|
---|
1068 | } VMRVIDEOSTREAMINFO;
|
---|
1069 | **********/
|
---|
1070 | /*--- DirectShow Reference - Interfaces */
|
---|
1071 | #define INTERFACE IAMAnalogVideoDecoder
|
---|
1072 | DECLARE_INTERFACE_(IAMAnalogVideoDecoder, IUnknown)
|
---|
1073 | {
|
---|
1074 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1075 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1076 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1077 | STDMETHOD_(HRESULT,get_AvailableTVFormats)(THIS_ long*) PURE;
|
---|
1078 | STDMETHOD_(HRESULT,get_HorizontalLocked)(THIS_ long*) PURE;
|
---|
1079 | STDMETHOD_(HRESULT,get_NumberOfLines)(THIS_ long*) PURE;
|
---|
1080 | STDMETHOD_(HRESULT,get_OutputEnable)(THIS_ long*) PURE;
|
---|
1081 | STDMETHOD_(HRESULT,get_TVFormat)(THIS_ long*) PURE;
|
---|
1082 | STDMETHOD_(HRESULT,get_VCRHorizontalLocking)(THIS_ long*) PURE;
|
---|
1083 | STDMETHOD_(HRESULT,put_OutputEnable)(THIS_ long) PURE;
|
---|
1084 | STDMETHOD_(HRESULT,put_TVFormat)(THIS_ long) PURE;
|
---|
1085 | STDMETHOD_(HRESULT,put_VCRHorizontalLocking)(THIS_ long) PURE;
|
---|
1086 | };
|
---|
1087 | #undef INTERFACE
|
---|
1088 | #define INTERFACE IAMAudioInputMixer
|
---|
1089 | DECLARE_INTERFACE_(IAMAudioInputMixer, IUnknown)
|
---|
1090 | {
|
---|
1091 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1092 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1093 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1094 | STDMETHOD_(HRESULT,get_Bass)(THIS_ double*) PURE;
|
---|
1095 | STDMETHOD_(HRESULT,get_BassRange)(THIS_ double*) PURE;
|
---|
1096 | STDMETHOD_(HRESULT,get_Enable)(THIS_ BOOL*) PURE;
|
---|
1097 | STDMETHOD_(HRESULT,get_Loudness)(THIS_ BOOL*) PURE;
|
---|
1098 | STDMETHOD_(HRESULT,get_MixLevel)(THIS_ double*) PURE;
|
---|
1099 | STDMETHOD_(HRESULT,get_Mono)(THIS_ BOOL*) PURE;
|
---|
1100 | STDMETHOD_(HRESULT,get_Pan)(THIS_ double*) PURE;
|
---|
1101 | STDMETHOD_(HRESULT,get_Treble)(THIS_ double*) PURE;
|
---|
1102 | STDMETHOD_(HRESULT,get_TrebleRange)(THIS_ double*) PURE;
|
---|
1103 | STDMETHOD_(HRESULT,put_Bass)(THIS_ double) PURE;
|
---|
1104 | STDMETHOD_(HRESULT,put_Enable)(THIS_ BOOL) PURE;
|
---|
1105 | STDMETHOD_(HRESULT,put_Loudness)(THIS_ BOOL) PURE;
|
---|
1106 | STDMETHOD_(HRESULT,put_MixLevel)(THIS_ double) PURE;
|
---|
1107 | STDMETHOD_(HRESULT,put_Mono)(THIS_ BOOL) PURE;
|
---|
1108 | STDMETHOD_(HRESULT,put_Pan)(THIS_ double) PURE;
|
---|
1109 | STDMETHOD_(HRESULT,put_Treble)(THIS_ double) PURE;
|
---|
1110 | };
|
---|
1111 | #undef INTERFACE
|
---|
1112 | #define INTERFACE IAMAudioRendererStats
|
---|
1113 | DECLARE_INTERFACE_(IAMAudioRendererStats, IUnknown)
|
---|
1114 | {
|
---|
1115 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1116 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1117 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1118 | STDMETHOD_(HRESULT,GetStatParam)(THIS_ DWORD,DWORD*,DWORD*) PURE;
|
---|
1119 | };
|
---|
1120 | #undef INTERFACE
|
---|
1121 | #define INTERFACE IAMBufferNegotiation
|
---|
1122 | DECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown)
|
---|
1123 | {
|
---|
1124 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1125 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1126 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1127 | STDMETHOD_(HRESULT,GetAllocatorProperties)(THIS_ ALLOCATOR_PROPERTIES*) PURE;
|
---|
1128 | STDMETHOD_(HRESULT,SuggestAllocatorProperties)(THIS_ const ALLOCATOR_PROPERTIES*) PURE;
|
---|
1129 | };
|
---|
1130 | #undef INTERFACE
|
---|
1131 | #define INTERFACE IAMCameraControl
|
---|
1132 | DECLARE_INTERFACE_(IAMCameraControl, IUnknown)
|
---|
1133 | {
|
---|
1134 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1135 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1136 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1137 | STDMETHOD_(HRESULT,Get)(THIS_ long,long*,long*) PURE;
|
---|
1138 | STDMETHOD_(HRESULT,GetRange)(THIS_ long,long*,long*,long*,long*,long*) PURE;
|
---|
1139 | STDMETHOD_(HRESULT,Set)(THIS_ long,long,long) PURE;
|
---|
1140 | };
|
---|
1141 | #undef INTERFACE
|
---|
1142 |
|
---|
1143 | #define INTERFACE IAMCertifiedOutputProtection
|
---|
1144 | DECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown)
|
---|
1145 | {
|
---|
1146 | STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
|
---|
1147 | STDMETHOD_(ULONG,AddRef)(THIS) PURE;
|
---|
1148 | STDMETHOD_(ULONG,Release)(THIS) PURE;
|
---|
1149 | STDMETHOD_(HRESULT,KeyExchange)(THIS_ GUID*,BYTE**,DWORD*) PURE;
|
---|
1150 | STDMETHOD_(HRESULT,ProtectionCommand)(THIS_ const AMCOPPCommand*) PURE;
|
---|
1151 | STDMETHOD_(HRESULT,ProtectionStatus)(THIS_ const AMCOPPStatusInput*,AMCOPPStatusOutput*) PURE;
|
---|
1152 | STDMETHOD_(HRESULT,SessionSequenceStart)(THIS_ const AMCOPPSignature*) PURE;
|
---|
1153 | };
|
---|
1154 | #undef INTERFACE
|
---|
1155 |
|
---|
1156 | #ifdef __cplusplus
|
---|
1157 | }
|
---|
1158 | #endif
|
---|
1159 | #endif
|
---|