strmif.h
来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 1,160 行 · 第 1/3 页
H
1,160 行
#ifndef _STRMIF_H
#define _STRMIF_H
#if __GNUC__ >= 3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*--- DirectShow Reference - DirectShow Enumerated Types - TVAudioMode Enumeration */
#define TVAUDIO_MODE_MASK 0x000000FF
#define TVAUDIO_PRESET_MASK 0x0000FF00
/*--- DirectShow Reference - DirectShow Data Types */
typedef LONGLONG REFERENCE_TIME;
typedef double REFTIME;
/*--- DirectShow Reference - Constants and GUIDs */
enum {
MERIT_PREFERRED = 0x800000,
MERIT_NORMAL = 0x600000,
MERIT_UNLIKELY = 0x400000,
MERIT_DO_NOT_USE = 0x200000,
MERIT_SW_COMPRESSOR = 0x100000,
MERIT_HW_COMPRESSOR = 0x100050
};
/*--- DirectShow Reference - DirectShow Enumerated Types */
typedef enum _AM_AUDIO_RENDERER_STAT_PARAM {
AM_AUDREND_STAT_PARAM_BREAK_COUNT = 1,
AM_AUDREND_STAT_PARAM_SLAVE_MODE,
AM_AUDREND_STAT_PARAM_SILENCE_DUR,
AM_AUDREND_STAT_PARAM_LAST_BUFFER_DUR,
AM_AUDREND_STAT_PARAM_DISCONTINUITIES,
AM_AUDREND_STAT_PARAM_SLAVE_RATE,
AM_AUDREND_STAT_PARAM_SLAVE_DROPWRITE_DUR,
AM_AUDREND_STAT_PARAM_SLAVE_HIGHLOWERROR,
AM_AUDREND_STAT_PARAM_SLAVE_LASTHIGHLOWERROR,
AM_AUDREND_STAT_PARAM_SLAVE_ACCUMERROR,
AM_AUDREND_STAT_PARAM_BUFFERFULLNESS,
AM_AUDREND_STAT_PARAM_JITTER
} AM_AUDIO_RENDERER_STAT_PARAM;
typedef enum _AM_DVD_GRAPH_FLAGS {
AM_DVD_HWDEC_PREFER = 0x01,
AM_DVD_HWDEC_ONLY = 0x02,
AM_DVD_SWDEC_PREFER = 0x04,
AM_DVD_SWDEC_ONLY = 0x08,
AM_DVD_NOVPE = 0x100,
AM_DVD_VMR9_ONLY = 0x800,
AM_DVD_EVR_ONLY = 0x1000
} AM_DVD_GRAPH_FLAGS;
typedef enum _AM_DVD_STREAM_FLAGS {
AM_DVD_STREAM_VIDEO = 0x01,
AM_DVD_STREAM_AUDIO = 0x02,
AM_DVD_STREAM_SUBPIC = 0x04
} AM_DVD_STREAM_FLAGS;
typedef enum _AM_FILTER_MISC_FLAGS {
AM_FILTER_MISC_FLAGS_IS_RENDERER = 0x00000001,
AM_FILTER_MISC_FLAGS_IS_SOURCE = 0x00000002
} AM_FILTER_MISC_FLAGS;
typedef enum _AM_GRAPH_CONFIG_RECONNECT_FLAGS {
AM_GRAPH_CONFIG_RECONNECT_DIRECTCONNECT = 0x00000001,
AM_GRAPH_CONFIG_RECONNECT_CACHE_REMOVED_FILTERS = 0x00000002,
AM_GRAPH_CONFIG_RECONNECT_USE_ONLY_CACHED_FILTERS = 0x00000004
} AM_GRAPH_CONFIG_RECONNECT_FLAGS;
typedef enum _AM_INTF_SEARCH_FLAGS {
AM_INTF_SEARCH_INPUT_PIN = 0x00000001,
AM_INTF_SEARCH_OUTPUT_PIN = 0x00000002,
AM_INTF_SEARCH_FILTER = 0x00000004
} AM_INTF_SEARCH_FLAGS;
typedef enum _AM_OVERLAY_NOTIFY_FLAGS {
AM_OVERLAY_NOTIFY_VISIBLE_CHANGE = 0x00000001,
AM_OVERLAY_NOTIFY_SOURCE_CHANGE = 0x00000002,
AM_OVERLAY_NOTIFY_DEST_CHANGE = 0x00000004
} AM_OVERLAY_NOTIFY_FLAGS;
typedef enum _AM_PIN_CONNECTION_BLOCK_FLAGS {
AM_PIN_FLOW_CONTROL_BLOCK = 0x00000001,
AM_PIN_PUSH_THROUGH_DATA = 0x00000002
} AM_PIN_CONNECTION_BLOCK_FLAGS;
typedef enum _AM_PUSHSOURCE_FLAGS {
AM_PUSHSOURCECAPS_INTERNAL_RM = 0x00000001,
AM_PUSHSOURCECAPS_NOT_LIVE = 0x00000002,
AM_PUSHSOURCECAPS_PRIVATE_CLOCK = 0x00000004,
AM_PUSHSOURCEREQS_USE_STREAM_CLOCK = 0x00010000
} AM_PUSHSOURCE_FLAGS;
typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
AM_SAMPLE_SPLICEPOINT = 0x01,
AM_SAMPLE_PREROLL = 0x02,
AM_SAMPLE_DATADISCONTINUITY = 0x04,
AM_SAMPLE_TYPECHANGED = 0x08,
AM_SAMPLE_TIMEVALID = 0x10,
AM_SAMPLE_TIMEDISCONTINUITY = 0x40,
AM_SAMPLE_FLUSH_ON_PAUSE = 0x80,
AM_SAMPLE_STOPVALID = 0x100,
AM_SAMPLE_ENDOFSTREAM = 0x200,
AM_STREAM_MEDIA = 0,
AM_STREAM_CONTROL = 1
} AM_SAMPLE_PROPERTY_FLAGS;
typedef enum AM_SEEKING_SeekingCapabilities {
AM_SEEKING_CanSeekAbsolute = 0x1,
AM_SEEKING_CanSeekForwards = 0x2,
AM_SEEKING_CanSeekBackwards = 0x4,
AM_SEEKING_CanGetCurrentPos = 0x8,
AM_SEEKING_CanGetStopPos = 0x10,
AM_SEEKING_CanGetDuration = 0x20,
AM_SEEKING_CanPlayBackwards = 0x40,
AM_SEEKING_CanDoSegments = 0x80,
AM_SEEKING_Source = 0x100
} AM_SEEKING_SEEKING_CAPABILITIES;
typedef enum {
AM_STREAM_INFO_START_DEFINED = 0x00000001,
AM_STREAM_INFO_STOP_DEFINED = 0x00000002,
AM_STREAM_INFO_DISCARDING = 0x00000004,
AM_STREAM_INFO_STOP_SEND_EXTRA = 0x00000010
} AM_STREAM_INFO_FLAGS;
enum AMOVERLAYFX {
AMOVERFX_NOFX = 0x00000000,
AMOVERFX_MIRRORLEFTRIGHT = 0x00000002,
AMOVERFX_MIRRORUPDOWN = 0x00000004,
AMOVERFX_DEINTERLACE = 0x00000008
};
typedef enum _AMRESCTL_RESERVEFLAGS {
AMRESCTL_RESERVEFLAGS_RESERVE = 0x00,
AMRESCTL_RESERVEFLAGS_UNRESERVE = 0x01
} AMRESCTL_RESERVEFLAGS;
typedef enum tagAMTunerModeType {
AMTUNER_MODE_DEFAULT = 0x0000,
AMTUNER_MODE_TV = 0x0001,
AMTUNER_MODE_FM_RADIO = 0x0002,
AMTUNER_MODE_AM_RADIO = 0x0004,
AMTUNER_MODE_DSS = 0x0008
} AMTunerModeType;
typedef enum tagAnalogVideoStandard {
AnalogVideo_None = 0x00000000,
AnalogVideo_NTSC_M = 0x00000001,
AnalogVideo_NTSC_M_J = 0x00000002,
AnalogVideo_NTSC_433 = 0x00000004,
AnalogVideo_PAL_B = 0x00000010,
AnalogVideo_PAL_D = 0x00000020,
AnalogVideo_PAL_H = 0x00000080,
AnalogVideo_PAL_I = 0x00000100,
AnalogVideo_PAL_M = 0x00000200,
AnalogVideo_PAL_N = 0x00000400,
AnalogVideo_PAL_60 = 0x00000800,
AnalogVideo_SECAM_B = 0x00001000,
AnalogVideo_SECAM_D = 0x00002000,
AnalogVideo_SECAM_G = 0x00004000,
AnalogVideo_SECAM_H = 0x00008000,
AnalogVideo_SECAM_K = 0x00010000,
AnalogVideo_SECAM_K1 = 0x00020000,
AnalogVideo_SECAM_L = 0x00040000,
AnalogVideo_SECAM_L1 = 0x00080000,
AnalogVideo_PAL_N_COMBO = 0x00100000
} AnalogVideoStandard;
typedef enum {
CameraControl_Flags_Auto = 0x0001,
CameraControl_Flags_Manual = 0x0002
} CameraControlFlags;
typedef enum {
CameraControl_Pan = 1,
CameraControl_Tilt,
CameraControl_Roll,
CameraControl_Zoom,
CameraControl_Exposure,
CameraControl_Iris,
CameraControl_Focus
} CameraControlProperty;
typedef enum {
CompressionCaps_CanQuality = 0x01,
CompressionCaps_CanCrunch = 0x02,
CompressionCaps_CanKeyFrame = 0x04,
CompressionCaps_CanBFrame = 0x08,
CompressionCaps_CanWindow = 0x10
} CompressionCaps;
typedef enum {
DECIMATION_LEGACY,
DECIMATION_USE_DECODER_ONLY,
DECIMATION_USE_VIDEOPORT_ONLY,
DECIMATION_USE_OVERLAY_ONLY,
DECIMATION_DEFAULT
} DECIMATION_USAGE;
typedef enum tagDVD_AUDIO_APPMODE {
DVD_AudioMode_None = 0,
DVD_AudioMode_Karaoke = 1,
DVD_AudioMode_Surround = 2,
DVD_AudioMode_Other = 3
} DVD_AUDIO_APPMODE;
typedef enum tagDVD_AUDIO_FORMAT {
DVD_AudioFormat_AC3 = 0,
DVD_AudioFormat_MPEG1 = 1,
DVD_AudioFormat_MPEG1_DRC = 2,
DVD_AudioFormat_MPEG2 = 3,
DVD_AudioFormat_MPEG2_DRC = 4,
DVD_AudioFormat_LPCM = 5,
DVD_AudioFormat_DTS = 6,
DVD_AudioFormat_SDDS = 7,
DVD_AudioFormat_Other = 8
} DVD_AUDIO_FORMAT;
typedef enum tagDVD_AUDIO_LANG_EXT {
DVD_AUD_EXT_NotSpecified = 0,
DVD_AUD_EXT_Captions = 1,
DVD_AUD_EXT_VisuallyImpaired = 2,
DVD_AUD_EXT_DirectorComments1 = 3,
DVD_AUD_EXT_DirectorComments2 = 4
} DVD_AUDIO_LANG_EXT;
typedef enum {
DVD_CMD_FLAG_None = 0x00000000,
DVD_CMD_FLAG_Flush = 0x00000001,
DVD_CMD_FLAG_SendEvents = 0x00000002,
DVD_CMD_FLAG_Block = 0x00000004,
DVD_CMD_FLAG_StartWhenRendered = 0x00000008,
DVD_CMD_FLAG_EndAfterRendered = 0x00000010
} DVD_CMD_FLAGS;
typedef enum tagDVD_DISC_SIDE {
DVD_SIDE_A,
DVD_SIDE_B
} DVD_DISC_SIDE;
typedef enum tagDVD_DOMAIN {
DVD_DOMAIN_FirstPlay,
DVD_DOMAIN_VideoManagerMenu,
DVD_DOMAIN_VideoTitleSetMenu,
DVD_DOMAIN_Title,
DVD_DOMAIN_Stop
} DVD_DOMAIN;
typedef enum tagDVD_FRAMERATE {
DVD_FPS_25 = 1,
DVD_FPS_30NonDrop = 3
} DVD_FRAMERATE;
typedef enum tagDVD_KARAOKE_ASSIGNMENT {
DVD_Assignment_reserved0 = 0,
DVD_Assignment_reserved1 = 1,
DVD_Assignment_LR = 2,
DVD_Assignment_LRM = 3,
DVD_Assignment_LR1 = 4,
DVD_Assignment_LRM1 = 5,
DVD_Assignment_LR12 = 6,
DVD_Assignment_LRM12 = 7
} DVD_KARAOKE_ASSIGNMENT;
typedef enum tagDVD_KARAOKE_CONTENTS {
DVD_Karaoke_GuideVocal1 = 0x0001,
DVD_Karaoke_GuideVocal2 = 0x0002,
DVD_Karaoke_GuideMelody1 = 0x0004,
DVD_Karaoke_GuideMelody2 = 0x0008,
DVD_Karaoke_GuideMelodyA = 0x0010,
DVD_Karaoke_GuideMelodyB = 0x0020,
DVD_Karaoke_SoundEffectA = 0x0040,
DVD_Karaoke_SoundEffectB = 0x0080
} DVD_KARAOKE_CONTENTS;
typedef enum tagDVD_KARAOKE_DOWNMIX {
DVD_Mix_0to0 = 0x0001,
DVD_Mix_1to0 = 0x0002,
DVD_Mix_2to0 = 0x0004,
DVD_Mix_3to0 = 0x0008,
DVD_Mix_4to0 = 0x0010,
DVD_Mix_Lto0 = 0x0020,
DVD_Mix_Rto0 = 0x0040,
DVD_Mix_0to1 = 0x0100,
DVD_Mix_1to1 = 0x0200,
DVD_Mix_2to1 = 0x0400,
DVD_Mix_3to1 = 0x0800,
DVD_Mix_4to1 = 0x1000,
DVD_Mix_Lto1 = 0x2000,
DVD_Mix_Rto1 = 0x4000
} DVD_KARAOKE_DOWNMIX;
typedef enum tagDVD_MENU_ID {
DVD_MENU_Title = 2,
DVD_MENU_Root = 3,
DVD_MENU_Subpicture = 4,
DVD_MENU_Audio = 5,
DVD_MENU_Angle = 6,
DVD_MENU_Chapter = 7
} DVD_MENU_ID;
typedef enum {
DVD_ResetOnStop = 1,
DVD_NotifyParentalLevelChange = 2,
DVD_HMSF_TimeCodeEvents = 3,
DVD_AudioDuringFFwdRew = 4,
DVD_EnableNonblockingAPIs = 5,
DVD_CacheSizeInMB = 6,
DVD_EnablePortableBookmarks = 7
} DVD_OPTION_FLAG;
typedef enum tagDVD_PARENTAL_LEVEL {
DVD_PARENTAL_LEVEL_8 = 0x8000,
DVD_PARENTAL_LEVEL_7 = 0x4000,
DVD_PARENTAL_LEVEL_6 = 0x2000,
DVD_PARENTAL_LEVEL_5 = 0x1000,
DVD_PARENTAL_LEVEL_4 = 0x0800,
DVD_PARENTAL_LEVEL_3 = 0x0400,
DVD_PARENTAL_LEVEL_2 = 0x0200,
DVD_PARENTAL_LEVEL_1 = 0x0100
} DVD_PARENTAL_LEVEL;
typedef enum tagDVD_PREFERRED_DISPLAY_MODE {
DISPLAY_CONTENT_DEFAULT = 0,
DISPLAY_16x9 = 1,
DISPLAY_4x3_PANSCAN_PREFERRED = 2,
DISPLAY_4x3_LETTERBOX_PREFERRED = 3
} DVD_PREFERRED_DISPLAY_MODE;
typedef enum tagDVD_RELATIVE_BUTTON {
DVD_Relative_Upper = 1,
DVD_Relative_Lower = 2,
DVD_Relative_Left = 3,
DVD_Relative_Right = 4
} DVD_RELATIVE_BUTTON;
typedef enum tagDVD_SUBPICTURE_LANG_EXT {
DVD_SP_EXT_NotSpecified = 0,
DVD_SP_EXT_Caption_Normal = 1,
DVD_SP_EXT_Caption_Big = 2,
DVD_SP_EXT_Caption_Children = 3,
DVD_SP_EXT_CC_Normal = 5,
DVD_SP_EXT_CC_Big = 6,
DVD_SP_EXT_CC_Children = 7,
DVD_SP_EXT_Forced = 9,
DVD_SP_EXT_DirectorComments_Normal = 13,
DVD_SP_EXT_DirectorComments_Big = 14,
DVD_SP_EXT_DirectorComments_Children = 15
} DVD_SUBPICTURE_LANG_EXT;
typedef enum tagDVD_SUBPICTURE_TYPE {
DVD_SPType_NotSpecified = 0,
DVD_SPType_Language = 1,
DVD_SPType_Other = 2
} DVD_SUBPICTURE_TYPE;
typedef enum tagDVD_SUBPICTURE_CODING {
DVD_SPCoding_RunLength = 0,
DVD_SPCoding_Extended = 1,
DVD_SPCoding_Other = 2
} DVD_SUBPICTURE_CODING;
enum DVD_TextCharSet {
DVD_CharSet_Unicode = 0,
DVD_CharSet_ISO646 = 1,
DVD_CharSet_JIS_Roman_Kanji = 2,
DVD_CharSet_ISO8859_1 = 3,
DVD_CharSet_ShiftJIS_Kanji_Roman_Katakana = 4
};
enum DVD_TextStringType {
DVD_Struct_Volume = 0x01,
DVD_Struct_Title = 0x02,
DVD_Struct_ParentalID = 0x03,
DVD_Struct_PartOfTitle = 0x04,
DVD_Struct_Cell = 0x05,
DVD_Stream_Audio = 0x10,
DVD_Stream_Subpicture = 0x11,
DVD_Stream_Angle = 0x12,
DVD_Channel_Audio = 0x20,
DVD_General_Name = 0x30,
DVD_General_Comments = 0x31,
DVD_Title_Series = 0x38,
DVD_Title_Movie = 0x39,
DVD_Title_Video = 0x3a,
DVD_Title_Album = 0x3b,
DVD_Title_Song = 0x3c,
DVD_Title_Other = 0x3f,
DVD_Title_Sub_Series = 0x40,
DVD_Title_Sub_Movie = 0x41,
DVD_Title_Sub_Video = 0x42,
DVD_Title_Sub_Album = 0x43,
DVD_Title_Sub_Song = 0x44,
DVD_Title_Sub_Other = 0x47,
DVD_Title_Orig_Series = 0x48,
DVD_Title_Orig_Movie = 0x49,
DVD_Title_Orig_Video = 0x4a,
DVD_Title_Orig_Album = 0x4b,
DVD_Title_Orig_Song = 0x4c,
DVD_Title_Orig_Other = 0x4f,
DVD_Other_Scene = 0x50,
DVD_Other_Cut = 0x51,
DVD_Other_Take = 0x52
};
typedef enum tagDVD_TIMECODE_FLAGS {
DVD_TC_FLAG_25fps = 0x00000001,
DVD_TC_FLAG_30fps = 0x00000002,
DVD_TC_FLAG_DropFrame = 0x00000004,
DVD_TC_FLAG_Interpolated = 0x00000008
} DVD_TIMECODE_FLAGS;
typedef enum tagDVD_TITLE_APPMODE {
DVD_AppMode_Not_Specified = 0,
DVD_AppMode_Karaoke = 1,
DVD_AppMode_Other = 3
} DVD_TITLE_APPMODE;
typedef enum tagDVD_VIDEO_COMPRESSION {
DVD_VideoCompression_Other = 0,
DVD_VideoCompression_MPEG1 = 1,
DVD_VideoCompression_MPEG2 = 2
} DVD_VIDEO_COMPRESSION;
typedef enum _DVDECODERRESOLUTION {
DVDECODERRESOLUTION_720x480 = 1000,
DVDECODERRESOLUTION_360x240 = 1001,
DVDECODERRESOLUTION_180x120 = 1002,
DVDECODERRESOLUTION_88x60 = 1003
} DVDECODERRESOLUTION;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?