📄 wmcodecs.h
字号:
0xe436eb7a, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
// RGB 16 bits per pixel (5 red bits, 6 green bits, 5 blue bits)
// Subtype: e436eb7b-524f-11ce-9f53-0020af0ba770
EXTERN_GUID(WMCMEDIASUBTYPE_RGB565,
0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
// RGB 16 bits per pixel (5 red bits, 4 green bits, 5 blue bits)
// Subtype: e436eb7c-524f-11ce-9f53-0020af0ba770
EXTERN_GUID(WMCMEDIASUBTYPE_RGB555,
0xe436eb7c, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
// RGB 24 bits per pixel
// Subtype: e436eb7d-524f-11ce-9f53-0020af0ba770
EXTERN_GUID(WMCMEDIASUBTYPE_RGB24,
0xe436eb7d, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
// RGB 32 bits per pixel
// Subtype: e436eb7e-524f-11ce-9f53-0020af0ba770
EXTERN_GUID(WMCMEDIASUBTYPE_RGB32,
0xe436eb7e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
// I420 Subtype: 30323449-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_I420,
0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// IYUV Subtype: 56555949-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_IYUV,
0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// YV12 Subtype: 32315659-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_YV12,
0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// YUY2 Subtype: 32595559-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_YUY2,
0x32595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// UYVY Subtype: 59565955-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_UYVY,
0x59565955, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// YUYV Subtype: 56595559-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_YUYV,
0x56595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// YVYU Subtype: 55595659-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_YVYU,
0x55595659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// YVU9 Subtype: 39555659-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_YVU9,
0x39555659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// Special input type for Windows Media Video 9 Image.
// Consists of structured transform data with occasional RGB images on which
// the transforms are executed. This first DWORD of this subtype does not
// translate to a legible FOURCC.
// Subtype: 1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37
EXTERN_GUID(WMCMEDIASUBTYPE_VIDEOIMAGE,
0x1d4a45f2, 0xe5f6, 0x4b44, 0x83, 0x88, 0xf0, 0xae, 0x5c, 0x0e, 0x0c, 0x37);
//////////////////////////////////////////////////////
// Uncompressed audio subtype (only PCM is accepted).
//
// PCM audio.
// Format tag 0x001 Subtype: 00000001-0000-0010-8000-00AA00389B71
EXTERN_GUID(WMCMEDIASUBTYPE_PCM,
0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
////////////////////////////////////////////////////////////////////////////
// Definitions of the FOURCC values that are commonly used by the codec
// DMOs. Each FOURCC identifies a video format subtype. The FOURCC value
// for a format is also contained in the first DWORD in the subtype
// GUID (with the exception of RGB formats, which don't need FOURCCs).
////////////////////////////////////////////////////////////////////////////
// Macro that makes a FOURCC from four characters.
#define wmcFOURCC( ch0, ch1, ch2, ch3 ) \
( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) | \
( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) )
// YUV formats.
#define WMCFOURCC_UYVY 0x59565955
#define WMCFOURCC_YUY2 0x32595559
#define WMCFOURCC_YVYU 0x55595659
#define WMCFOURCC_YVU9 0x39555659
#define WMCFOURCC_YV12 0x32315659
#define WMCFOURCC_I420 0x30323449
#define WMCFOURCC_IYUV 0x56555949
// Windows Media Video formats.
#define WMCFOURCC_WMV1 wmcFOURCC('W','M','V','1')
#define WMCFOURCC_WMV2 wmcFOURCC('W','M','V','2')
#define WMCFOURCC_WMV3 wmcFOURCC('W','M','V','3')
#define WMCFOURCC_WMVA wmcFOURCC('W','M','V','A')
#define WMCFOURCC_WMVP wmcFOURCC('W','M','V','P')
#define WMCFOURCC_WVP2 wmcFOURCC('W','V','P','2')
#define WMCFOURCC_MSS1 wmcFOURCC('M','S','S','1')
#define WMCFOURCC_MSS2 wmcFOURCC('M','S','S','2')
////////////////////////////////////////////////////////////////////////////
// Definitions of the audio format tags for the Windows Media Audio types.
////////////////////////////////////////////////////////////////////////////
#define WMC_WAVE_MSA 0x160 // Old Microsoft audio format (pre WMA7)
#define WMC_WAVE_WMA 0x161 // Windows Media Audio (7,8,9)
#define WMC_WAVE_WMAPRO 0x162 // Windows Media Audio 9 Professional
#define WMC_WAVE_WMALOSLS 0x163 // Windows Media Audio 9 Lossless
#define WMC_WAVE_WMAVOICE 0x00A // Windows Media Audio 9 Voice
////////////////////////////////////////////////////////////////////////////
// Definitions of the name strings used for properties accessed using
// IPropertyBag. These constants should be used to avoid potentially
// difficult errors due to misspelling the names (the compiler will catch
// a misspelled constant).
////////////////////////////////////////////////////////////////////////////
/*
static const WCHAR *g_wszWMACAvgBytesPerSec = L"AvgBytesPerSec";
static const WCHAR *g_wszWMACAvgPCMValue = L"AverageLevel";
static const WCHAR *g_wszWMACDXVAEnabled = L"DXVAEnabled";
static const WCHAR *g_wszWMACFoldDownXToYChannels = L"FoldDown%dTo%dChannels";
static const WCHAR *g_wszWMACFoldXToYChannelsZ = L"Fold%uTo%uChannels%u";
static const WCHAR *g_wszWMACHiResOutput = L"_HIRESOUTPUT";
static const WCHAR *g_wszWMACIncludeNumPasses = L"_INCLUDENUMPASSES";
static const WCHAR *g_wszWMACInputFormatName = L"_INPUTFORMATNAME";
static const WCHAR *g_wszWMACMixTable = L"MixTable";
static const WCHAR *g_wszWMACMusicSpeechClassMode = L"MusicSpeechClassMode";
static const WCHAR *g_wszWMACOriginalWaveFormat = L"_ORIGINALWAVEFORMAT";
static const WCHAR *g_wszWMACPeakPCMValue = L"PeakValue";
static const WCHAR *g_wszWMACSourceFormatTag = L"_SOURCEFORMATTAG";
static const WCHAR *g_wszWMACSpeakerConfig = L"SpeakerConfig";
static const WCHAR *g_wszWMACVoiceBuffer = L"BufferWindow";
static const WCHAR *g_wszWMACVoiceEDL = L"_EDL";
static const WCHAR *g_wszWMADRCAverageReference = L"WMADRCAverageReference";
static const WCHAR *g_wszWMADRCAverageTarget = L"WMADRCAverageTarget";
static const WCHAR *g_wszWMADRCPeakReference = L"WMADRCPeakReference";
static const WCHAR *g_wszWMADRCPeakTarget = L"WMADRCPeakTarget";
static const WCHAR *g_wszWMACDRCSetting = L"DynamicRangeControl";
*/
static const WCHAR *g_wszWMVCAvgBitrate = L"_RAVG";
static const WCHAR *g_wszWMVCAvgFrameRate = L"_AVGFRAMERATE";
static const WCHAR *g_wszWMVCBAvg = L"_BAVG";
static const WCHAR *g_wszWMVCBMax = L"_BMAX";
static const WCHAR *g_wszWMVCBufferFullnessInFirstByte = L"_BUFFERFULLNESSINFIRSTBYTE";
static const WCHAR *g_wszWMVCCodedFrames = L"_CODEDFRAMES";
static const WCHAR *g_wszWMVCComplexityEx = L"_COMPLEXITYEX";
static const WCHAR *g_wszWMVCComplexityExLive = L"_COMPLEXITYEXLIVE";
static const WCHAR *g_wszWMVCComplexityExMax = L"_COMPLEXITYEXMAX";
static const WCHAR *g_wszWMVCComplexityExOffline = L"_COMPLEXITYEXOFFLINE";
static const WCHAR *g_wszWMVCComplexityMode = L"_COMPLEXITY";
static const WCHAR *g_wszWMVCCrisp = L"_CRISP";
static const WCHAR *g_wszWMVCDatarate = L"_DATARATE";
static const WCHAR *g_wszWMVCDecoderComplexityRequested = L"_DECODERCOMPLEXITYREQUESTED";
static const WCHAR *g_wszWMVCDecoderComplexityProfile = L"_DECODERCOMPLEXITYPROFILE";
static const WCHAR *g_wszWMVCDecoderDeinterlacing = L"_DECODERDEINTERLACING";
static const WCHAR *g_wszWMVCDefaultCrisp = L"_DEFAULTCRISP";
static const WCHAR *g_wszWMVCEndOfPass = L"_ENDOFPASS";
static const WCHAR *g_wszWMVCFOURCC = L"_FOURCC";
static const WCHAR *g_wszWMVCFrameCount = L"_FRAMECOUNT";
static const WCHAR *g_wszWMVCFrameInterpolationEnabled = L"_FRAMEINTERPOLATIONENABLED";
static const WCHAR *g_wszWMVCFrameInterpolationSupported = L"_FRAMEINTERPOLATIONSUPPORTED";
static const WCHAR *g_wszWMVCInterlacedCodingEnabled = L"_INTERLACEDCODINGENABLED";
static const WCHAR *g_wszWMVCKeyframeDistance = L"_KEYDIST";
static const WCHAR *g_wszWMVCLiveEncode = L"_LIVEENCODE";
static const WCHAR *g_wszWMVCMaxBitrate = L"_RMAX";
static const WCHAR *g_wszWMVCPacketOverhead = L"_ASFOVERHEADPERFRAME";
static const WCHAR *g_wszWMVCPassesRecommended = L"_PASSESRECOMMENDED";
static const WCHAR *g_wszWMVCPassesUsed = L"_PASSESUSED";
static const WCHAR *g_wszWMVCProduceDummyFrames = L"_PRODUCEDUMMYFRAMES";
static const WCHAR *g_wszWMVCTotalFrames = L"_TOTALFRAMES";
static const WCHAR *g_wszWMVCTotalWindow = L"_TOTALWINDOW";
static const WCHAR *g_wszWMVCVBREnabled = L"_VBRENABLED";
static const WCHAR *g_wszWMVCVBRQuality = L"_VBRQUALITY";
static const WCHAR *g_wszWMVCVideoWindow = L"_VIDEOWINDOW";
static const WCHAR *g_wszWMVCZeroByteFrames = L"_ZEROBYTEFRAMES";
static const WCHAR *g_wszSpeechFormatCaps = L"SpeechFormatCap";
static const WCHAR *g_wszWMCPCodecName = L"_CODECNAME";
static const WCHAR *g_wszWMCPSupportedVBRModes = L"_SUPPORTEDVBRMODES";
// Constants used with g_wszWMCSupportedVBRModes
#define WM_CODEC_ONEPASS_CBR 1
#define WM_CODEC_ONEPASS_VBR 2
#define WM_CODEC_TWOPASS_CBR 4
#define WM_CODEC_TWOPASS_VBR_UNCONSTRAINED 8
#define WM_CODEC_TWOPASS_VBR_PEAKCONSTRAINED 16
#endif // !defined(__WMCODECS_H_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -