[1046] | 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
|
---|