📄 strmif.h
字号:
BYTE bVersion; BOOL fMasterOfCeremoniesInGuideVocal1; BOOL fDuet; DVD_KARAOKE_ASSIGNMENT ChannelAssignment; WORD wChannelContents[8];} DVD_KaraokeAttributes;typedef struct tagDVD_MUA_Coeff { double log2_alpha; double log2_beta;} DVD_MUA_Coeff;typedef struct tagDVD_MUA_MixingInfo { BOOL fMixTo0; BOOL fMixTo1; BOOL fMix0InPhase; BOOL fMix1InPhase; DWORD dwSpeakerPosition;} DVD_MUA_MixingInfo;#define KSAUDIO_SPEAKER_LEFT 0x00000001#define KSAUDIO_SPEAKER_RIGHT 0x00000002#define KSAUDIO_SPEAKER_CENTER 0x00000004#define KSAUDIO_SPEAKER_SURROUND_LEFT 0x00000008#define KSAUDIO_SPEAKER_SURROUND_RIGHT 0x00000010#define KSAUDIO_SPEAKER_SUBWOOFER 0x00000020#define KSAUDIO_SPEAKER_LEFT_OF_CENTER 0x00000040#define KSAUDIO_SPEAKER_RIGHT_OF_CENTER 0x00000080#define KSAUDIO_SPEAKER_SURROUND_MONO 0x00000100#define KSAUDIO_SPEAKER_SIDE_LEFT 0x00000200#define KSAUDIO_SPEAKER_SIDE_RIGHT 0x00000400#define KSAUDIO_SPEAKER_TOP 0x00000800typedef struct tagDVD_MultichannelAudioAttributes { DVD_MUA_MixingInfo Info[8]; DVD_MUA_Coeff Coeff[8];} DVD_MultichannelAudioAttributes;typedef struct tagDVD_PLAYBACK_LOCATION { ULONG TitleNum; ULONG ChapterNum; ULONG TimeCode;} DVD_PLAYBACK_LOCATION;typedef struct tagDVD_PLAYBACK_LOCATION2 { ULONG TitleNum; ULONG ChapterNum; DVD_HMSF_TIMECODE TimeCode; ULONG TimeCodeFlags;} DVD_PLAYBACK_LOCATION2;typedef struct tagDVD_SubpictureAttributes { DVD_SUBPICTURE_TYPE Type; DVD_SUBPICTURE_CODING CodingMode; LCID Language; DVD_SUBPICTURE_LANG_EXT LanguageExtension;} DVD_SubpictureAttributes;typedef struct tagDVD_TIMECODE { ULONG Hours1:4; ULONG Hours10:4; ULONG Minutes1:4; ULONG Minutes10:4; ULONG Seconds1:4; ULONG Seconds10:4; ULONG Frames1:4; ULONG Frames10:2; ULONG FrameRateCode:2; } DVD_TIMECODE;typedef struct tagDVD_VideoAttributes { BOOL fPanscanPermitted; BOOL fLetterboxPermitted; ULONG ulAspectX; ULONG ulAspectY; ULONG ulFrameRate; ULONG ulFrameHeight; DVD_VIDEO_COMPRESSION Compression; BOOL fLine21Field1InGOP; BOOL fLine21Field2InGOP; ULONG ulSourceResolutionX; ULONG ulSourceResolutionY; BOOL fIsSourceLetterboxed; BOOL fIsFilmMode;} DVD_VideoAttributes;struct tagDVD_MenuAttributes { BOOL fCompatibleRegion[8]; DVD_VideoAttributes VideoAttributes; BOOL fAudioPresent; DVD_AudioAttributes AudioAttributes; BOOL fSubpicturePresent; DVD_SubpictureAttributes SubpictureAttributes;} DVD_MenuAttributes;typedef struct tagDVD_TitleMainAttributes { DVD_TITLE_APPMODE AppMode; DVD_VideoAttributes VideoAttributes; ULONG ulNumberOfAudioStreams; DVD_AudioAttributes AudioAttributes[8]; DVD_MultichannelAudioAttributes MultichannelAudioAttributes[8]; ULONG ulNumberOfSubpictureStreams; DVD_SubpictureAttributes SubpictureAttributes[32];} DVD_TitleAttributes;typedef struct tag_DVINFO { DWORD dwDVAAuxSrc; DWORD dwDVAAuxCtl; DWORD dwDVAAuxSrc1; DWORD dwDVAAuxCtl1; DWORD dwDVVAuxSrc; DWORD dwDVVAuxCtl; DWORD dwDVReserved[2];} DVINFO,*PDVINFO;/***************#define MAX_FILTER_NAME 128typedef struct _FilterInfo { WCHAR achName[MAX_FILTER_NAME]; IFilterGraph *pGraph;} FILTER_INFO;***************/typedef struct _NORMALIZEDRECT { float left; float top; float right; float bottom;} NORMALIZEDRECT,*PNORMALIZEDRECT;#define MAX_PIN_NAME 128typedef struct _PinInfo { IBaseFilter *pFilter; PIN_DIRECTION dir; WCHAR achName[MAX_PIN_NAME];} PIN_INFO;typedef struct{ QualityMessageType Type; long Proportion; REFERENCE_TIME Late; REFERENCE_TIME TimeStamp;} Quality;typedef struct { CLSID clsMedium; DWORD dw1; DWORD dw2;} REGPINMEDIUM;typedef struct { DWORD dwFlags; UINT cInstances; UINT nMediaTypes; const REGPINTYPES *lpMediaType; UINT nMediums; const REGPINMEDIUM *lpMedium; const CLSID *clsPinCategory;} REGFILTERPINS2;typedef struct { DWORD dwVersion; DWORD dwMerit; union { struct { ULONG cPins; const REGFILTERPINS *rgPins; }; struct { ULONG cPins2; const REGFILTERPINS2 *rgPins2; }; };} REGFILTER2;typedef struct { ULONG stream_id; DWORD dwMediaSampleContent; ULONG ulSubstreamFilterValue; int iDataOffset;} STREAM_ID_MAP;#define MPEG2_PROGRAM_STREAM_MAP 0x00000000#define MPEG2_PROGRAM_ELEMENTARY_STREAM 0x00000001#define MPEG2_PROGRAM_DIRECTORY_PES_PACKET 0x00000002#define MPEG2_PROGRAM_PACK_HEADER 0x00000003#define MPEG2_PROGRAM_PES_STREAM 0x00000004#define MPEG2_PROGRAM_SYSTEM_HEADER 0x00000005#define SUBSTREAM_FILTER_VAL_NONE 0x10000000typedef struct tagTIMECODE { WORD wFrameRate; WORD wFrameFract; DWORD dwFrames;} TIMECODE;#define ED_FORMAT_SMPTE_30 0x00001196#define ED_FORMAT_SMPTE_30DROP 0x00001197#define ED_FORMAT_SMPTE_25 0x00001198#define ED_FORMAT_SMPTE_24 0x00001199typedef struct tagTIMECODE_SAMPLE { LONGLONG qwTick; TIMECODE timecode; DWORD dwUser; DWORD dwFlags;} TIMECODE_SAMPLE;/*#define AM_TIMECODE_FLAG_FCM *//*#define AM_TIMECODE_FLAG_CF *//*#define AM_TIMECODE_FLAG_FIELD *//*#define AM_TIMECODE_FLAG_DF *//*#define AM_TIMECODE_COLORFRAME *//*#define AM_TIMECODE_COLORSEQUENCE *//*#define AM_TIMECODE_FILMSEQUENCE_TYPE */typedef struct _VIDEO_STREAM_CONFIG_CAPS { GUID guid; ULONG VideoStandard; SIZE InputSize; SIZE MinCroppingSize; SIZE MaxCroppingSize; int CropGranularityX; int CropGranularityY; int CropAlignX; int CropAlignY; SIZE MinOutputSize; SIZE MaxOutputSize; int OutputGranularityX; int OutputGranularityY; int StretchTapsX; int StretchTapsY; int ShrinkTapsX; int ShrinkTapsY; LONGLONG MinFrameInterval; LONGLONG MaxFrameInterval; LONG MinBitsPerSecond; LONG MaxBitsPerSecond;} VIDEO_STREAM_CONFIG_CAPS;typedef struct tagVMRALLOCATIONINFO { DWORD dwFlags; LPBITMAPINFOHEADER lpHdr; LPDDPIXELFORMAT lpPixFmt; SIZE szAspectRatio; DWORD dwMinBuffers; DWORD dwMaxBuffers; DWORD dwInterlaceFlags; SIZE szNativeSize;} VMRALLOCATIONINFO;/**********typedef struct _VMRALPHABITMAP { DWORD dwFlags; HDC hdc; LPDIRECTDRAWSURFACE7 pDDS; RECT rSrc; NORMALIZEDRECT rDest; FLOAT fAlpha; COLORREF clrSrcKey;} VMRALPHABITMAP,*PVMRALPHABITMAP;**********/#define VMRBITMAP_DISABLE 0x00000001#define VMRBITMAP_HDC 0x00000002#define VMRBITMAP_ENTIREDDS 0x00000004#define VMRBITMAP_SRCCOLORKEY 0x00000008#define VMRBITMAP_SRCRECT 0x00000010typedef struct _VMRDeinterlaceCaps { DWORD dwSize; DWORD dwNumPreviousOutputFrames; DWORD dwNumForwardRefSamples; DWORD dwNumBackwardRefSamples; VMRDeinterlaceTech DeinterlaceTechnology;} VMRDeinterlaceCaps;typedef struct _VMRFrequency { DWORD dwNumerator; DWORD dwDenominator;} VMRFrequency;typedef struct tagVMRGUID { GUID *pGUID; GUID GUID;} VMRGUID;typedef struct tagVMRMONITORINFO { VMRGUID guid; RECT rcMonitor; HMONITOR hMon; DWORD dwFlags; wchar_t szDevice[32]; wchar_t szDescription[256];} VMRMONITORINFO;/**********typedef struct tagVMRPRESENTATIONINFO { DWORD dwFlags; LPDIRECTDRAWSURFACE7 lpSurf; REFERENCE_TIME rtStart; REFERENCE_TIME rtEnd; SIZE szAspectRatio; RECT rcSrc; RECT rcDst; DWORD dwTypeSpecificFlags; DWORD dwInterlaceFlags;} VMRPRESENTATIONINFO;**********/typedef struct _VMRVideoDesc { DWORD dwSize; DWORD dwSampleWidth; DWORD dwSampleHeight; BOOL SingleFieldPerSample; DWORD dwFourCC; VMRFrequency InputSampleFreq; VMRFrequency OutputFrameFreq;} VMRVideoDesc;/**********typedef struct _VMRVIDEOSTREAMINFO { LPDIRECTDRAWSURFACE7 pddsVideoSurface; DWORD dwWidth; DWORD dwHeight; DWORD dwStrmID; FLOAT fAlpha; DDCOLORKEY ddClrKey; NORMALIZEDRECT rNormal;} VMRVIDEOSTREAMINFO;**********//*--- DirectShow Reference - Interfaces */#define INTERFACE IAMAnalogVideoDecoderDECLARE_INTERFACE_(IAMAnalogVideoDecoder, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,get_AvailableTVFormats)(THIS_ long*) PURE; STDMETHOD_(HRESULT,get_HorizontalLocked)(THIS_ long*) PURE; STDMETHOD_(HRESULT,get_NumberOfLines)(THIS_ long*) PURE; STDMETHOD_(HRESULT,get_OutputEnable)(THIS_ long*) PURE; STDMETHOD_(HRESULT,get_TVFormat)(THIS_ long*) PURE; STDMETHOD_(HRESULT,get_VCRHorizontalLocking)(THIS_ long*) PURE; STDMETHOD_(HRESULT,put_OutputEnable)(THIS_ long) PURE; STDMETHOD_(HRESULT,put_TVFormat)(THIS_ long) PURE; STDMETHOD_(HRESULT,put_VCRHorizontalLocking)(THIS_ long) PURE;};#undef INTERFACE#define INTERFACE IAMAudioInputMixerDECLARE_INTERFACE_(IAMAudioInputMixer, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,get_Bass)(THIS_ double*) PURE; STDMETHOD_(HRESULT,get_BassRange)(THIS_ double*) PURE; STDMETHOD_(HRESULT,get_Enable)(THIS_ BOOL*) PURE; STDMETHOD_(HRESULT,get_Loudness)(THIS_ BOOL*) PURE; STDMETHOD_(HRESULT,get_MixLevel)(THIS_ double*) PURE; STDMETHOD_(HRESULT,get_Mono)(THIS_ BOOL*) PURE; STDMETHOD_(HRESULT,get_Pan)(THIS_ double*) PURE; STDMETHOD_(HRESULT,get_Treble)(THIS_ double*) PURE; STDMETHOD_(HRESULT,get_TrebleRange)(THIS_ double*) PURE; STDMETHOD_(HRESULT,put_Bass)(THIS_ double) PURE; STDMETHOD_(HRESULT,put_Enable)(THIS_ BOOL) PURE; STDMETHOD_(HRESULT,put_Loudness)(THIS_ BOOL) PURE; STDMETHOD_(HRESULT,put_MixLevel)(THIS_ double) PURE; STDMETHOD_(HRESULT,put_Mono)(THIS_ BOOL) PURE; STDMETHOD_(HRESULT,put_Pan)(THIS_ double) PURE; STDMETHOD_(HRESULT,put_Treble)(THIS_ double) PURE;};#undef INTERFACE#define INTERFACE IAMAudioRendererStatsDECLARE_INTERFACE_(IAMAudioRendererStats, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,GetStatParam)(THIS_ DWORD,DWORD*,DWORD*) PURE;};#undef INTERFACE#define INTERFACE IAMBufferNegotiationDECLARE_INTERFACE_(IAMBufferNegotiation, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,GetAllocatorProperties)(THIS_ ALLOCATOR_PROPERTIES*) PURE; STDMETHOD_(HRESULT,SuggestAllocatorProperties)(THIS_ const ALLOCATOR_PROPERTIES*) PURE;};#undef INTERFACE#define INTERFACE IAMCameraControlDECLARE_INTERFACE_(IAMCameraControl, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,Get)(THIS_ long,long*,long*) PURE; STDMETHOD_(HRESULT,GetRange)(THIS_ long,long*,long*,long*,long*,long*) PURE; STDMETHOD_(HRESULT,Set)(THIS_ long,long,long) PURE;};#undef INTERFACE#define INTERFACE IAMCertifiedOutputProtectionDECLARE_INTERFACE_(IAMCertifiedOutputProtection, IUnknown){ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; STDMETHOD_(HRESULT,KeyExchange)(THIS_ GUID*,BYTE**,DWORD*) PURE; STDMETHOD_(HRESULT,ProtectionCommand)(THIS_ const AMCOPPCommand*) PURE; STDMETHOD_(HRESULT,ProtectionStatus)(THIS_ const AMCOPPStatusInput*,AMCOPPStatusOutput*) PURE; STDMETHOD_(HRESULT,SessionSequenceStart)(THIS_ const AMCOPPSignature*) PURE;};#undef INTERFACE#ifdef __cplusplus}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -