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:

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:

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
Msmpeg2vdec.dll

See also

Codec Objects