⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wmsdkidl.h

📁 从FFMPEG转换而来的H264解码程序,VC下编译..
💻 H
📖 第 1 页 / 共 5 页
字号:
	WMT_Transport_Type_Reliable	= WMT_Transport_Type_Unreliable + 1
    } 	WMT_TRANSPORT_TYPE;

typedef
enum WMT_NET_PROTOCOL
    {	WMT_PROTOCOL_HTTP	= 0
    } 	WMT_NET_PROTOCOL;

typedef
enum WMT_PLAY_MODE
    {	WMT_PLAY_MODE_AUTOSELECT	= 0,
	WMT_PLAY_MODE_LOCAL	= 1,
	WMT_PLAY_MODE_DOWNLOAD	= 2,
	WMT_PLAY_MODE_STREAMING	= 3
    } 	WMT_PLAY_MODE;

typedef
enum WMT_PROXY_SETTINGS
    {	WMT_PROXY_SETTING_NONE	= 0,
	WMT_PROXY_SETTING_MANUAL	= 1,
	WMT_PROXY_SETTING_AUTO	= 2,
	WMT_PROXY_SETTING_BROWSER	= 3,
	WMT_PROXY_SETTING_MAX	= WMT_PROXY_SETTING_BROWSER + 1
    } 	WMT_PROXY_SETTINGS;

typedef
enum WMT_CODEC_INFO_TYPE
    {	WMT_CODECINFO_AUDIO	= 0,
	WMT_CODECINFO_VIDEO	= 1,
	WMT_CODECINFO_UNKNOWN	= 0xffffffff
    } 	WMT_CODEC_INFO_TYPE;


enum __MIDL___MIDL_itf_wmsdkidl_0000_0004
    {	WM_DM_NOTINTERLACED	= 0,
	WM_DM_DEINTERLACE_NORMAL	= 1,
	WM_DM_DEINTERLACE_HALFSIZE	= 2,
	WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE	= 3,
	WM_DM_DEINTERLACE_INVERSETELECINE	= 4,
	WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE	= 5
    } ;

enum __MIDL___MIDL_itf_wmsdkidl_0000_0005
    {	WM_DM_IT_DISABLE_COHERENT_MODE	= 0,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP	= 1,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP	= 2,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP	= 3,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP	= 4,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP	= 5,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM	= 6,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM	= 7,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM	= 8,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM	= 9,
	WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM	= 10
    } ;
typedef
enum tagWMT_OFFSET_FORMAT
    {	WMT_OFFSET_FORMAT_100NS	= 0,
	WMT_OFFSET_FORMAT_FRAME_NUMBERS	= WMT_OFFSET_FORMAT_100NS + 1,
	WMT_OFFSET_FORMAT_PLAYLIST_OFFSET	= WMT_OFFSET_FORMAT_FRAME_NUMBERS + 1,
	WMT_OFFSET_FORMAT_TIMECODE	= WMT_OFFSET_FORMAT_PLAYLIST_OFFSET + 1,
	WMT_OFFSET_FORMAT_100NS_APPROXIMATE	= WMT_OFFSET_FORMAT_TIMECODE + 1
    } 	WMT_OFFSET_FORMAT;

typedef
enum tagWMT_INDEXER_TYPE
    {	WMT_IT_PRESENTATION_TIME	= 0,
	WMT_IT_FRAME_NUMBERS	= WMT_IT_PRESENTATION_TIME + 1,
	WMT_IT_TIMECODE	= WMT_IT_FRAME_NUMBERS + 1
    } 	WMT_INDEXER_TYPE;

typedef
enum tagWMT_INDEX_TYPE
    {	WMT_IT_NEAREST_DATA_UNIT	= 1,
	WMT_IT_NEAREST_OBJECT	= WMT_IT_NEAREST_DATA_UNIT + 1,
	WMT_IT_NEAREST_CLEAN_POINT	= WMT_IT_NEAREST_OBJECT + 1
    } 	WMT_INDEX_TYPE;

typedef
enum tagWMT_FILESINK_MODE
    {	WMT_FM_SINGLE_BUFFERS	= 0x1,
	WMT_FM_FILESINK_DATA_UNITS	= 0x2,
	WMT_FM_FILESINK_UNBUFFERED	= 0x4
    } 	WMT_FILESINK_MODE;

typedef
enum tagWMT_MUSICSPEECH_CLASS_MODE
    {	WMT_MS_CLASS_MUSIC	= 0,
	WMT_MS_CLASS_SPEECH	= 1,
	WMT_MS_CLASS_MIXED	= 2
    } 	WMT_MUSICSPEECH_CLASS_MODE;

typedef
enum tagWMT_WATERMARK_ENTRY_TYPE
    {	WMT_WMETYPE_AUDIO	= 1,
	WMT_WMETYPE_VIDEO	= 2
    } 	WMT_WATERMARK_ENTRY_TYPE;


enum __MIDL___MIDL_itf_wmsdkidl_0000_0006
    {	WM_PLAYBACK_DRC_HIGH	= 0,
	WM_PLAYBACK_DRC_MEDIUM	= WM_PLAYBACK_DRC_HIGH + 1,
	WM_PLAYBACK_DRC_LOW	= WM_PLAYBACK_DRC_MEDIUM + 1
    } ;

enum __MIDL___MIDL_itf_wmsdkidl_0000_0007
    {	WMT_TIMECODE_FRAMERATE_30	= 0,
	WMT_TIMECODE_FRAMERATE_30DROP	= WMT_TIMECODE_FRAMERATE_30 + 1,
	WMT_TIMECODE_FRAMERATE_25	= WMT_TIMECODE_FRAMERATE_30DROP + 1,
	WMT_TIMECODE_FRAMERATE_24	= WMT_TIMECODE_FRAMERATE_25 + 1
    } ;
typedef
enum WMT_CREDENTIAL_FLAGS
    {	WMT_CREDENTIAL_SAVE	= 0x1,
	WMT_CREDENTIAL_DONT_CACHE	= 0x2,
	WMT_CREDENTIAL_CLEAR_TEXT	= 0x4,
	WMT_CREDENTIAL_PROXY	= 0x8,
	WMT_CREDENTIAL_ENCRYPT	= 0x10
    } 	WMT_CREDENTIAL_FLAGS;

typedef
enum WM_AETYPE
    {	WM_AETYPE_INCLUDE	= 0x69,
	WM_AETYPE_EXCLUDE	= 0x65
    } 	WM_AETYPE;


#pragma pack(push)

#pragma pack(2)
typedef struct _WMStreamPrioritizationRecord
    {
    WORD wStreamNumber;
    BOOL fMandatory;
    } 	WM_STREAM_PRIORITY_RECORD;


#pragma pack(pop)
typedef struct _WMWriterStatistics
    {
    QWORD qwSampleCount;
    QWORD qwByteCount;
    QWORD qwDroppedSampleCount;
    QWORD qwDroppedByteCount;
    DWORD dwCurrentBitrate;
    DWORD dwAverageBitrate;
    DWORD dwExpectedBitrate;
    DWORD dwCurrentSampleRate;
    DWORD dwAverageSampleRate;
    DWORD dwExpectedSampleRate;
    } 	WM_WRITER_STATISTICS;

typedef struct _WMWriterStatisticsEx
    {
    DWORD dwBitratePlusOverhead;
    DWORD dwCurrentSampleDropRateInQueue;
    DWORD dwCurrentSampleDropRateInCodec;
    DWORD dwCurrentSampleDropRateInMultiplexer;
    DWORD dwTotalSampleDropsInQueue;
    DWORD dwTotalSampleDropsInCodec;
    DWORD dwTotalSampleDropsInMultiplexer;
    } 	WM_WRITER_STATISTICS_EX;

typedef struct _WMReaderStatistics
    {
    DWORD cbSize;
    DWORD dwBandwidth;
    DWORD cPacketsReceived;
    DWORD cPacketsRecovered;
    DWORD cPacketsLost;
    WORD wQuality;
    } 	WM_READER_STATISTICS;

typedef struct _WMReaderClientInfo
    {
    DWORD cbSize;
    WCHAR *wszLang;
    WCHAR *wszBrowserUserAgent;
    WCHAR *wszBrowserWebPage;
    QWORD qwReserved;
    LPARAM *pReserved;
    WCHAR *wszHostExe;
    QWORD qwHostVersion;
    WCHAR *wszPlayerUserAgent;
    } 	WM_READER_CLIENTINFO;

typedef struct _WMClientProperties
    {
    DWORD dwIPAddress;
    DWORD dwPort;
    } 	WM_CLIENT_PROPERTIES;

typedef struct _WMClientPropertiesEx
    {
    DWORD cbSize;
    LPCWSTR pwszIPAddress;
    LPCWSTR pwszPort;
    LPCWSTR pwszDNSName;
    } 	WM_CLIENT_PROPERTIES_EX;

typedef struct _WMPortNumberRange
    {
    WORD wPortBegin;
    WORD wPortEnd;
    } 	WM_PORT_NUMBER_RANGE;

typedef struct _WMT_BUFFER_SEGMENT
    {
    INSSBuffer *pBuffer;
    DWORD cbOffset;
    DWORD cbLength;
    } 	WMT_BUFFER_SEGMENT;

typedef struct _WMT_PAYLOAD_FRAGMENT
    {
    DWORD dwPayloadIndex;
    WMT_BUFFER_SEGMENT segmentData;
    } 	WMT_PAYLOAD_FRAGMENT;

typedef struct _WMT_FILESINK_DATA_UNIT
    {
    WMT_BUFFER_SEGMENT packetHeaderBuffer;
    DWORD cPayloads;
    WMT_BUFFER_SEGMENT *pPayloadHeaderBuffers;
    DWORD cPayloadDataFragments;
    WMT_PAYLOAD_FRAGMENT *pPayloadDataFragments;
    } 	WMT_FILESINK_DATA_UNIT;

typedef struct _WMT_WEBSTREAM_FORMAT
    {
    WORD cbSize;
    WORD cbSampleHeaderFixedData;
    WORD wVersion;
    WORD wReserved;
    } 	WMT_WEBSTREAM_FORMAT;

typedef struct _WMT_WEBSTREAM_SAMPLE_HEADER
    {
    WORD cbLength;
    WORD wPart;
    WORD cTotalParts;
    WORD wSampleType;
    WCHAR wszURL[ 1 ];
    } 	WMT_WEBSTREAM_SAMPLE_HEADER;

typedef struct _WMAddressAccessEntry
    {
    DWORD dwIPAddress;
    DWORD dwMask;
    } 	WM_ADDRESS_ACCESSENTRY;


#pragma pack(push)

#pragma pack(1)
typedef struct _WMPicture
    {
    LPWSTR pwszMIMEType;
    BYTE bPictureType;
    LPWSTR pwszDescription;
    DWORD dwDataLen;
    BYTE *pbData;
    } 	WM_PICTURE;

typedef struct _WMSynchronisedLyrics
    {
    BYTE bTimeStampFormat;
    BYTE bContentType;
    LPWSTR pwszContentDescriptor;
    DWORD dwLyricsLen;
    BYTE *pbLyrics;
    } 	WM_SYNCHRONISED_LYRICS;

typedef struct _WMUserWebURL
    {
    LPWSTR pwszDescription;
    LPWSTR pwszURL;
    } 	WM_USER_WEB_URL;

typedef struct _WMUserText
    {
    LPWSTR pwszDescription;
    LPWSTR pwszText;
    } 	WM_USER_TEXT;

typedef struct _WMLeakyBucketPair
    {
    DWORD dwBitrate;
    DWORD msBufferWindow;
    } 	WM_LEAKY_BUCKET_PAIR;

typedef struct _WMStreamTypeInfo
    {
    GUID guidMajorType;
    DWORD cbFormat;
    } 	WM_STREAM_TYPE_INFO;


#pragma pack(pop)
typedef struct _WM_LICENSE_STATE_DATA
    {
    DWORD dwSize;
    DWORD dwNumStates;
    DRM_LICENSE_STATE_DATA stateData[ 1 ];
    } 	WM_LICENSE_STATE_DATA;

typedef struct __WMT_WATERMARK_ENTRY
    {
    WMT_WATERMARK_ENTRY_TYPE wmetType;
    CLSID clsid;
    UINT cbDisplayName;
    LPWSTR pwszDisplayName;
    } 	WMT_WATERMARK_ENTRY;

#define WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME      1 // sample has input frame
#define WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME     2 // sample produces output frame
#define WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME  4
#define WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME 8
#define WMT_VIDEOIMAGE_SAMPLE_MOTION       1 // acef used (includes resizing)
#define WMT_VIDEOIMAGE_SAMPLE_ROTATION     2 // bd also used (not valid without acef)
#define WMT_VIDEOIMAGE_SAMPLE_BLENDING     4 // BlendCoef1 used
#define WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING 8 // BlendCoef2 also used (not valid without BlendCoef1)
#define WMT_VIDEOIMAGE_INTEGER_DENOMINATOR 65536L
#define WMT_VIDEOIMAGE_MAGIC_NUMBER 0x1d4a45f2
#define WMT_VIDEOIMAGE_MAGIC_NUMBER_2 0x1d4a45f3
typedef struct __WMT_VIDEOIMAGE_SAMPLE
    {
    DWORD dwMagic;
    ULONG cbStruct;
    DWORD dwControlFlags;
    DWORD dwInputFlagsCur;
    LONG lCurMotionXtoX;
    LONG lCurMotionYtoX;
    LONG lCurMotionXoffset;
    LONG lCurMotionXtoY;
    LONG lCurMotionYtoY;
    LONG lCurMotionYoffset;
    LONG lCurBlendCoef1;
    LONG lCurBlendCoef2;
    DWORD dwInputFlagsPrev;
    LONG lPrevMotionXtoX;
    LONG lPrevMotionYtoX;
    LONG lPrevMotionXoffset;
    LONG lPrevMotionXtoY;
    LONG lPrevMotionYtoY;
    LONG lPrevMotionYoffset;
    LONG lPrevBlendCoef1;
    LONG lPrevBlendCoef2;
    } 	WMT_VIDEOIMAGE_SAMPLE;

#define WMT_VIDEOIMAGE_TRANSITION_BOW_TIE           11
#define WMT_VIDEOIMAGE_TRANSITION_CIRCLE            12
#define WMT_VIDEOIMAGE_TRANSITION_CROSS_FADE        13
#define WMT_VIDEOIMAGE_TRANSITION_DIAGONAL          14
#define WMT_VIDEOIMAGE_TRANSITION_DIAMOND           15
#define WMT_VIDEOIMAGE_TRANSITION_FADE_TO_COLOR     16
#define WMT_VIDEOIMAGE_TRANSITION_FILLED_V          17
#define WMT_VIDEOIMAGE_TRANSITION_FLIP              18
#define WMT_VIDEOIMAGE_TRANSITION_INSET             19
#define WMT_VIDEOIMAGE_TRANSITION_IRIS              20
#define WMT_VIDEOIMAGE_TRANSITION_PAGE_ROLL         21
#define WMT_VIDEOIMAGE_TRANSITION_RECTANGLE         23
#define WMT_VIDEOIMAGE_TRANSITION_REVEAL            24
#define WMT_VIDEOIMAGE_TRANSITION_SLIDE             27
#define WMT_VIDEOIMAGE_TRANSITION_SPLIT             29
#define WMT_VIDEOIMAGE_TRANSITION_STAR              30
#define WMT_VIDEOIMAGE_TRANSITION_WHEEL             31
typedef struct __WMT_VIDEOIMAGE_SAMPLE2
    {
    DWORD dwMagic;
    DWORD dwStructSize;
    DWORD dwControlFlags;
    DWORD dwViewportWidth;
    DWORD dwViewportHeight;
    DWORD dwCurrImageWidth;
    DWORD dwCurrImageHeight;
    FLOAT fCurrRegionX0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -