Windows Media Video 7/8 Encoder
The Windows Media Video 7/8 encoder implements previous versions of the Windows Media Video encoder.
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.
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.|
The Windows Media Video encoder supports the following input media subtypes when it is acting as a DMO.
The Windows Media Video encoder supports the following input media subtypes when it is acting as an MFT.
The following table shows the four-character codes (FOURCCs) for the output types supported by the Windows Media Video 7/8 encoder.
|Windows Media Video 7||"WMV1"|
|Windows Media Video 8||"WMV2"|
The Windows Media Video 7/8 encoder supports the following properties.
Specifies the overhead, in bytes per packet, required for the container used to store the compressed content.
Specifies the average frame rate of video content, in frames per second.
Specifies the buffer window, in milliseconds, of a constrained variable-bit-rate (VBR) stream at its average bit rate (specified by MFPKEY_RAVG).
Specifies the buffer window, in milliseconds, of a constrained variable-bit-rate (VBR) stream at its peak bit rate (specified by MFPKEY_RMAX).
Specifies whether the encoded video bit stream contains a buffer fullness value with every key frame.
Specifies the number of video frames encoded by the codec.
Specifies the number of video frames encoded by the codec that actually contain data.
This property is superseded by MFPKEY_COMPLEXITYEX.
Specifies the complexity of the encoder algorithm.
Specifies a numeric representation of the tradeoff between motion smoothness and image quality in codec output.
Specifies the device conformance template to which the encoded content conforms.
Specifies the device conformance template that you want to use for video encoding.
Specifies the number of video frames dropped during encoding.
Specifies the end of an encoding pass.
Specifies the FOURCC that identifies the encoder you want to use.
Specifies whether the codec output will be interlaced.
Specifies the maximum time, in milliseconds, between key frames in the codec output.
Specifies the maximum number of passes supported by the codec.
Specifies the number of passes that the codec will use to encode the content.
Specifies whether the encoder produces dummy frame entries in the bit stream for duplicate frames.
Specifies the average bit rate, in bits per second, used for 2-pass variable-bit-rate (VBR) encoding.
Specifies the peak bit rate, in bits per second, used for constrained 2-pass variable-bit-rate (VBR).
Specifies the number of video frames passed to the encoder during the encoding process.
Specifies whether the codec will use variable-bit-rate (VBR) encoding.
Specifies the actual quality level for quality based (1-pass) variable-bit-rate (VBR) encoding.
Specifies the amount of content, in milliseconds, that can fit into the model buffer.
Specifies the number of video frames that were skipped because they were duplicates of previous frames.
|Windows XP, Windows Vista, or Windows 7|