Windows Media Video 9 Screen Codec
The Windows Media Video Screen encoder object is instantiated using the class identifier CLSID_CMSSCEncMediaObject2. The decoder is instantiated using the class identifier CLSID_CMSSCDecMediaObject. The FOURCC for Windows Media Video Screen Version 9 encoded content is "MSS2".
Formats
The following input types are supported by the Version 9 Screen decoder.
- MEDIASUBTYPE_MSS2
The following output types are supported by the Version 9 Screen decoder when it is being used as a DirectX Media Object (DMO).
- MEDIASUBTYPE_RGB24
- MEDIASUBTYPE_RGB32
- MEDIASUBTYPE_ARGB32
- MEDIASUBTYPE_RGB565
- MEDIASUBTYPE_RGB555
- MEDIASUBTYPE_RGB8
The following output types are supported by the Version 9 Screen decoder when it is being used as a Media Foundation Transform (MFT).
- MFVideoFormat_RGB24
- MFVideoFormat_RGB32
- MFVideoFormat_ARGB32
- MFVideoFormat_RGB565
- MFVideoFormat_RGB555
- MFVideoFormat_RGB8
Encoder Properties
The following properties can be set on the encoder for the Windows Media Video 9 Screen encoder.
Property | Description |
MFPKEY_ASFOVERHEADPERFRAME | Specifies the overhead, in bytes per packet, required for the container that is used to store the compressed content. |
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). |
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). |
MFPKEY_BUFFERFULLNESSINFIRSTBYTE | Specifies whether the encoded video bit stream contains a buffer fullness value with every key frame. |
MFPKEY_CODEDFRAMES | Specifies the number of video frames encoded by the codec. |
MFPKEY_CODEDNONZEROFRAMES | Specifies the number of video frames encoded by the codec that actually contain data. |
MFPKEY_COMPLEXITY | This property is superseded by MFPKEY_COMPLEXITYEX |
MFPKEY_COMPLEXITYEX | Specifies the encoder algorithm complexity. |
MFPKEY_CRISP | Specifies a numeric representation of the tradeoff between motion smoothness and image quality of codec output. |
MFPKEY_DROPPEDFRAMES | Specifies the number of video frames dropped during encoding. |
MFPKEY_ENDOFPASS | Specifies the end of an encoding pass. |
MFPKEY_FOURCC | Specifies the FOURCC identifying the encoder you want to use. |
MFPKEY_KEYDIST | Specifies the maximum time, in milliseconds, between key frames in the codec output. |
MFPKEY_PASSESRECOMMENDED | Specifies the maximum number of passes supported by the codec. |
MFPKEY_PASSESUSED | Specifies the number of passes that the codec will use to encode the content. |
MFPKEY_RAVG | Specifies the average bit rate, in bits per second, used for 2-pass variable-bit-rate (VBR) encoding. |
MFPKEY_RMAX | Specifies the peak bit rate, in bits per second, used for constrained 2-pass variable-bit-rate (VBR). |
MFPKEY_TOTALFRAMES | Specifies the number of video frames passed to the codec. |
MFPKEY_VBRENABLED | Specifies whether the codec will use variable-bit-rate (VBR) encoding. |
MFPKEY_VBRQUALITY | Specifies the actual quality level for quality based (1-pass) variable-bit-rate (VBR) encoding. |
MFPKEY_VIDEOWINDOW | The amount of content, in milliseconds, that can fit into the model buffer. |
MFPKEY_ZEROBYTEFRAMES | Specifies the number of video frames that are skipped because they were duplicates of previous frames. |
Remarks
A video encoder or decoder object exposes the IMediaObject interface so that the object can be used as a DirectX Media Object (DMO), and the IMFTransform interface so that the object can be used as a Media Foundation Transform (MFT).
A video encoder or decoder 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 or decoder behaves as a DMO or an MFT.
Operating system | Encoder or decoder behavior |
Windows XP | A Windows Media video encoder or decoder always behaves as a DMO. |
Windows Vista and Windows 7 | By default, a Windows media video encoder or decoder behaves as a DMO. If you obtain an IMFTransform interface on a video encoder or decoder, it behaves as an MFT. |
You can use the same CLSID (CLSID_CMSSCDecMediaObject) to create the Version 7 Screen decoder and the Version 9 Screen decoder. The FOURCC for Windows Media Video Screen Version 7 encoded content is "MSS1". The Version 7 Screen decoder supports the MEDIASUBTYPE_MSS1 input type.
Requirements
Client: Requires Windows 7, Windows Vista, or Windows XP.
Header: Include wmcodecdsp.h.
Library: Use wmvsencd.dll for the encoder and wmvsdecd.dll for the decoder.
See Also
- Codec Objects
- Codec Implementation
- Media Subtype GUIDs
- Using the Windows Media Video 9 Screen Codec