Windows Media Video 7/8 Encoder

The Windows Media Video 7/8 encoder implements previous versions of the Windows Media Video encoder.

Class Identifier

The class identifier (CLSID) for the Windows Media Video 7/8 encoder is CLSID_CWMVXEncMediaObject. You can create an instance of the encoder by calling CoCreateInstance.

Interfaces

A video encoder object exposes the IMediaObject interface so that the object can be used as a DirectX Media Object (DMO), and it exposes the IMFTransform interface so that the object can be used as a Media Foundation Transform (MFT).

A video encoder behaves as a DMO or an MFT depending on which interfaces you obtain and which version of Windows is running. The following table shows the conditions under which a video encoder behaves as a DMO or an MFT.

Operating system Encoder behavior
Windows XP A Windows Media video encoder always behaves as a DMO.
Windows Vista and Windows 7 By default, a Windows Media video encoder behaves as a DMO. If you obtain an IMFTransform interface on a video encoder, it behaves as an MFT.

 

Input Formats

The Windows Media Video encoder supports the following input media subtypes when it is acting as a DMO.

  • MEDIASUBTYPE_IYUV
  • MEDIASUBTYPE_I420
  • MEDIASUBTYPE_YV12
  • MEDIASUBTYPE_NV11
  • MEDIASUBTYPE_NV12
  • MEDIASUBTYPE_YUY2
  • MEDIASUBTYPE_UYVY
  • MEDIASUBTYPE_YVYU
  • MEDIASUBTYPE_RGB32
  • MEDIASUBTYPE_RGB24
  • MEDIASUBTYPE_RGB565
  • MEDIASUBTYPE_RGB555
  • MEDIASUBTYPE_RGB8
  • MEDIASUBTYPE_PHOTOMOTION

The Windows Media Video encoder supports the following input media subtypes when it is acting as an MFT.

  • MFVideoFormat_IYUV
  • MFVideoFormat_I420
  • MFVideoFormat_YV12
  • MFVideoFormat_NV11
  • MFVideoFormat_NV12
  • MFVideoFormat_YUY2
  • MFVideoFormat_UYVY
  • MFVideoFormat_YVYU
  • MFVideoFormat_RGB32
  • MFVideoFormat_RGB24
  • MFVideoFormat_RGB565
  • MFVideoFormat_RGB555
  • MFVideoFormat_RGB8
  • MEDIASUBTYPE_PHOTOMOTION

Output Formats

The following table shows the four-character codes (FOURCCs) for the output types supported by the Windows Media Video 7/8 encoder.

Category FOURCC
Windows Media Video 7 "WMV1"
Windows Media Video 8 "WMV2"

 

Properties

The Windows Media Video 7/8 encoder supports the following properties.

Property Description
MFPKEY_ASFOVERHEADPERFRAME Specifies the overhead, in bytes per packet, required for the container used to store the compressed content.
Windows XP and later.
Write-only.
MFPKEY_AVGFRAMERATE Specifies the average frame rate of video content, in frames per second.
Windows XP and later.
Read-only.
MFPKEY_BAVG Specifies the buffer window, in milliseconds, of a constrained variable-bit-rate (VBR) stream at its average bit rate (specified by MFPKEY_RAVG).
Windows XP and later.
Read/write.
MFPKEY_BMAX Specifies the buffer window, in milliseconds, of a constrained variable-bit-rate (VBR) stream at its peak bit rate (specified by MFPKEY_RMAX).
Windows XP and later.
Read/write.
MFPKEY_BUFFERFULLNESSINFIRSTBYTE Specifies whether the encoded video bit stream contains a buffer fullness value with every key frame.
Windows XP and later.
Read-only.
MFPKEY_CODEDFRAMES Specifies the number of video frames encoded by the codec.
Windows XP and later.
Read-only.
MFPKEY_CODEDNONZEROFRAMES Specifies the number of video frames encoded by the codec that actually contain data.
Windows XP and later.
Read-only.
MFPKEY_COMPLEXITY This property is superseded by MFPKEY_COMPLEXITYEX.
MFPKEY_COMPLEXITYEX Specifies the complexity of the encoder algorithm.
Windows Vista and later.
Write-only.
MFPKEY_CRISP Specifies a numeric representation of the tradeoff between motion smoothness and image quality in codec output.
Windows XP and later.
Write-only.
MFPKEY_DECODERCOMPLEXITYPROFILE Specifies the device conformance template to which the encoded content conforms.
Windows XP and later.
Read-only.
MFPKEY_DECODERCOMPLEXITYREQUESTED Specifies the device conformance template that you want to use for video encoding.
Windows XP and later.
Write-only.
MFPKEY_DROPPEDFRAMES Specifies the number of video frames dropped during encoding.
Windows XP and later.
Read-only.
MFPKEY_ENDOFPASS Specifies the end of an encoding pass.
Windows XP and later.
Write-only.
MFPKEY_FOURCC Specifies the FOURCC that identifies the encoder you want to use.
Windows XP and later.
Write-only.
MFPKEY_INTERLACEDCODINGENABLED Specifies whether the codec output will be interlaced.
Windows XP and later.
Write-only.
MFPKEY_KEYDIST Specifies the maximum time, in milliseconds, between key frames in the codec output.
Windows XP and later.
Write-only.
MFPKEY_PASSESRECOMMENDED Specifies the maximum number of passes supported by the codec.
Windows XP and later.
Read-only.
MFPKEY_PASSESUSED Specifies the number of passes that the codec will use to encode the content.
Windows XP and later.
Read/write.
MFPKEY_PRODUCEDUMMYFRAMES Specifies whether the encoder produces dummy frame entries in the bit stream for duplicate frames.
Windows XP and later.
Write-only.
MFPKEY_QPPERFRAME Specifies QP.
Windows Vista and later.
Write-only.
MFPKEY_RAVG Specifies the average bit rate, in bits per second, used for 2-pass variable-bit-rate (VBR) encoding.
Windows XP and later.
Read/write.
MFPKEY_RMAX Specifies the peak bit rate, in bits per second, used for constrained 2-pass variable-bit-rate (VBR).
Windows XP and later.
Read/write.
MFPKEY_TOTALFRAMES Specifies the number of video frames passed to the encoder during the encoding process.
Windows XP and later.
Read-only.
MFPKEY_VBRENABLED Specifies whether the codec will use variable-bit-rate (VBR) encoding.
Windows XP and later.
Read/write.
MFPKEY_VBRQUALITY Specifies the actual quality level for quality based (1-pass) variable-bit-rate (VBR) encoding.
Windows XP and later.
Write-only.
MFPKEY_VIDEOWINDOW Specifies the amount of content, in milliseconds, that can fit into the model buffer.
Windows XP and later.
Write-only.
MFPKEY_ZEROBYTEFRAMES Specifies the number of video frames that were skipped because they were duplicates of previous frames.
Windows XP and later.
Read-only

 

Requirements

Client
Windows XP, Windows Vista or Windows 7
Header
Wmcodecdsp.h
DLL
Wmvxencd.dll

See also

Codec Objects

Codec Implementation

Video Subtype GUIDs