MPEG-4 Part 2 Video Decoder
The MPEG4 Part 2 Video decoder decodes video streams that were encoded according to the MPEG4 Part 2 standard.
You can create an instance of the MPEG4 Part 2 Video decoder by calling CoCreateInstance. To create an instance of the decoder that behaves as a DirectX Media Object (DMO), use the class identifier CLSID_CMpeg4sDecMediaObject. To create an istance of the decoder that behaves as a Media Foundation Transform (MFT), use the class identifier CLSID_CMpeg4sDecMFT.
The MPEG4 Part 2 Video decoder supports the following input media types.
- MEDIASUBTYPE_MP4S (deprecated)
- MEDIASUBTYPE_mp4s (deprecated)
The MPEG4 Part 2 Video decoder supports the following output media subtypes when it is acting as a DMO.
- MEDIASUBTYPE_ RGB565
The MPEG4 Part 2 Video decoder supports the following output media subtypes when it is acting as an MFT.
The MPEG4 Part 2 Video decoder accepts the following formats.
- VIDEOINFOHEADER2 (VIH2)
- MPEG2VIDEOINFO (Only the VIH2 portion of the header is used.)
If you create an instance of the MPEG4 Part 2 Video decoder as a DMO, the decoder exposes the following interfaces.
If you create an instance of the MPEG2 Part 2 Video decoder as an MFT, the decoder exposes the following interfaces.
You can obtain a pointer to the IMFTransform interface by calling CoCreateInstance, and you can obtain a pointer to the IMFAttributes interface by calling IMFTransform::GetAttributes. You can obtain a pointer to the IMFQualityAdvise or IMFQualityAdvise2 interface by calling QueryInterface on the MFT. You can obtain a pointer to the IMFRateControl or IMFRateSupport interface by calling MFGetService and passing the service identifier MF_RATE_CONTROL_SERVICE.
The MPEG4 specification defines several profiles, each of which specifies the tools that an encoder can use to generate an encoded stream. The MPEG4 Part2 Video Decoder supports two of those profiles: Simple Visual Profile and Advanced Simple Profile. In other words, the MPEG4 Part 2 Video decoder can decode streams that were encoded according to either the Simple Visual Profile or the Advanced Simple Profile.
The Simple Visual Profile supports basic transmission of low bit-rate video in progressive mode. It supports only Intra and Prediction pictures. It also supports the short header mode, which is backward compatible with the H.263 baseline profile.
The Advanced Simple Profile supports all the tools of the Simple Visual Profile and, in addition, supports interlaced video, B-frames, quarter-pel motion compensation, additional quantization tables, and global motion compensation.
The MPEG4 specification also defines several levels, each of which specifies constraints on the output stream generated by an encoder.
The following table shows the profiles and levels, along with typical resolutions, supported by the MPEG4 Part 2 Video decoder.
|Simple Visual||0||176 x 144|
|Simple Visual||1||176 x 144|
|Simple Visual||2||352 x 288|
|Simple Visual||3||352 x 288|
|SimpleVisual||4a||640 x 480|
|Simple Visual||5||720 x 576|
|Advanced Simple||0||176 x 144|
|Advanced Simple||1||176 x 144|
|Advanced Simple||2||352 x 288|
|Advanced Simple||3||352 x 288|
|Advanced Simple||3b||352 x 288|
|Advanced Simple||4||352 x 756|
|Advanced Simple||5||720 x 576|
For more information about profiles and levels, see the MPEG4 Part 2 specification (ISO/IEC 14496-2): Information technology -- Coding of audio-visual objects -- Part 2: Visual.
The MPEG4 Part 2 Video decoder supports the following properties.
Specifies the power level.
Specifies the thumbnail generation mode.
The globally unique identifiers (GUIDs) for RGB media subtypes differ depending on whether a decoder is acting as a DMO or an MFT. The GUIDs for non-RGB media subtypes are the same, regardless of whether a decoder is acting as a DMO or an MFT. For information about the GUIDs that represent media subtypes, see Media Types.
Minimum supported client
|Windows 7 [desktop apps only]|
Minimum supported server
|Windows Server 2008 R2 [desktop apps only]|