MPEG-2 Video Decoder
The MPEG-2 Video Decoder is a Media Foundation transform that decodes MPEG-1 and MPEG-2 video. The decoder supports MPEG-2 Simple and Main profile video (H.262, ISO/IEC 13818-2) and MPEG-1 video (ISO/IEC 11172-2).
Input Types
The decoder supports the following input media types.
Attribute | Description |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Video |
MF_MT_SUBTYPE | MFVideoFormat_MPEG1 MFVideoFormat_MPEG2 |
Output Types
The decoder supports the following output types.
Attribute | Description |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Video |
MF_MT_SUBTYPE | MFVideoFormat_I420 MFVideoFormat_IYUV MFVideoFormat_NV12 MFVideoFormat_YUY2 MFVideoFormat_YV12 |
Remarks
The MPEG-2 video decoder exposes the following interfaces:
- ICodecAPI
- IMFGetService
- IMFQualityAdvise
- IMFQualityAdvise2
- IMFRateControl
- IMFRateSupport
- IMFRealTimeClient
- IMFTransform
The input to the decoder must be an elementary stream. The maximum supported resolution is 1920 × 1088 pixels.
The decoder supports DirectX Video Acceleration (DXVA) using either Microsoft Direct3D 9 or Microsoft Direct3D 11.
Special Decoding Modes
- Low latency mode. This mode is appropriate for scenarios such as real-time communications. It reduces start-up latency, so the decoder produces the first output sample sooner. However, the decoder buffers fewer samples in this mode, which can potentially lead to glitches, because the decoder does not decode as many frames in advance. To enable low latency mode, set the CODECAPI_AVLowLatencyMode attribute.
- Seeking. For precise seeking, call the IMFTransform::SetOutputBounds method. When this method is called, the decoder outputs only frames that fall within the range of time stamps specified by the caller.
- Thumbnail generation mode. This mode is intended for quick generation of thumbnail images. In this mode, the decoder initially decodes only I frames. If no I frame is found within a certain number of frames, the decoder starts decoding P frames and outputs non–I frames at a fixed interval (one per N pictures) until an I frame is reached. To enable thumbnail generation mode, set the CODECAPI_AVDecVideoThumbnailGenerationMode property.
- Trick play. The decoder can decode at rates faster than real time. At higher playback rates, the decoder will switch to decoding only I frames. For reverse playback, only I frames are decoded.
Codec Properties
The decoder supports the following properties through the IMFTransform::GetAttributes method.
Property | Description |
---|---|
CODECAPI_AVDecVideoThumbnailGenerationMode | Enables or disables thumbnail generation mode. |
CODECAPI_AVDecVideoAcceleration_MPEG2 | Enables or disables hardware accelerated decoding. |
CODECAPI_AVLowLatencyMode | Enables or disables low-latency mode. |
MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE_ORDER | Specifies whether the decoder exposes output types that are suitable for transcoding before other formats. |
Of these properties, the following can also be set through the ICodecAPI interface:
- CODECAPI_AVDecVideoThumbnailGenerationMode
- CODECAPI_AVDecVideoAcceleration_MPEG2
- CODECAPI_AVLowLatencyMode
Limitations
- The decoder is not supported on IA-64–based platforms.
- The decoder does not support CSS decryption or playback of encrypted DVDs.
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows 8 [desktop apps only] |
Minimum supported server |
Windows Server 2012 [desktop apps only] |
DLL |
|
See also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for