Microsoft MPEG-1/DD/AAC Audio Decoder

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

This filter decodes the following audio formats:

  • MPEG-1 audio layers I and II.
  • Backward-compatible MPEG-2 audio, layers I and II (ISO/IEC 13818-3), mono and stereo only.
  • Advanced Audio Coding (AAC) Low Complexity (LC) profile.
  • High-Efficiency AAC (HE-AAC) version 1 and version 2.
  • Pass-through Digital Theater Systems (DTS) for digital output.
  • LPCM, mono and stereo only, with or without PES headers.
  • Dolby Digital.
  • Dolby Digital Plus, including conversion from Dolby Digital Plus to Dolby Digital for digital output.

Note

The Microsoft implementation of the Dolby Digital technology is restricted under terms of the Dolby Digital licensing program to use by Microsoft applications.

 

Note

This filter is not supported on IA-64-based platforms.

 

Decoding of Dolby Digital Plus, AAC, and HE-AAC formats requires Windows 7. Decoding of Dolby Digital or Dolby Digital Plus is not supported on Windows 7 Home Basic or Windows 7 Starter.

In the registry, the friendly name of this filter is "Microsoft DTV-DVD Audio Decoder".

Filter Information

Filter Interfaces

IBaseFilter
ICodecAPI

Input Pin Media Types

In Windows Vista and later, the filter supports the following input types:

  • MEDIATYPE_Audio, MEDIASUBTYPE_DOLBY_AC3 (See Note 1.)
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1Audio
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1Payload
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG2_AUDIO
  • MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DOLBY_AC3 (See Note 1.)
  • MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DTS (See Note 2.)
  • MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_DVD_LPCM_AUDIO
  • MEDIATYPE_DVD_ENCRYPTED_PACK, MEDIASUBTYPE_MPEG2_AUDIO
  • MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DOLBY_AC3 (See Note 1.)
  • MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DTS (See Note 2.)
  • MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_DVD_LPCM_AUDIO
  • MEDIATYPE_MPEG2_PES, MEDIASUBTYPE_MPEG2_AUDIO
  • MEDIATYPE_Stream, MEDIASUBTYPE_DOLBY_AC3 (See Note 1.)
  • MEDIATYPE_Stream, MEDIASUBTYPE_MPEG1Audio
  • MEDIATYPE_Stream, MEDIASUBTYPE_MPEG2_AUDIO

Starting in Windows 7, the filter also supports the following input types:

  • MEDIATYPE_Audio, MEDIASUBTYPE_DOLBY_DDPLUS (See Note 1.)
  • MEDIATYPE_Audio, MEDIASUBTYPE_DTS2 (See Note 2.)
  • MEDIATYPE_Audio, MEDIASUBTYPE_DVD_LPCM_AUDIO
  • MEDIATYPE_Audio, MEDIASUBTYPE_DVM (See Note 1.)
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG_ADTS_AAC
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG_LOAS
  • MEDIATYPE_Audio, MEDIASUBTYPE_MPEG1AudioPayload
  • MEDIATYPE_Audio, MEDIASUBTYPE_RAW_AAC1
  • MEDIATYPE_Stream, MEDIASUBTYPE_DOLBY_DDPLUS (See Note 1.)
  • MEDIATYPE_Stream, MEDIASUBTYPE_MPEG_ADTS_AAC
  • MEDIATYPE_Stream, MEDIASUBTYPE_MPEG_LOAS

The input type can change dynamically during streaming.
For more information about these media types, see Audio Subtypes.

Note

  1. The Microsoft implementation of the Dolby Digital technology is restricted under terms of the Dolby Digital licensing program to use by Microsoft applications.

Note

  1. For Digital Theater Systems (DTS) input, only S/PDIF output is supported (DTS over S/PDIF). Audio decoding is not supported.

Input Pin Interfaces

ICodecAPI
IKsPropertySet
IMemInputPin
IPin
IQualityControl

Output Pin Media Types

In Windows Vista and later, the filter supports the following output types:

  • MEDIATYPE_Audio, MEDIASUBTYPE_DOLBY_AC3_SPDIF (same as KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL)
  • MEDIATYPE_Audio, MEDIASUBTYPE_PCM

Starting in Windows 7, the filter also supports the following output types:

  • MEDIATYPE_Audio, KSDATAFORMAT_SUBTYPE_IEC61937_DTS
  • MEDIATYPE_Audio, MEDIASUBTYPE_IEEE_FLOAT

Output Pin Interfaces

IMediaSeeking
IPin
IQualityControl

Filter CLSID

CLSID_CMPEG2AudDecoderDS (declared in wmcodecdsp.h)

Executable

msmpeg2adec.dll

Merit

MERIT_NORMAL - 1

Filter Category

CLSID_LegacyAmFilterCategory

 

Note

An earlier version of the documentation stated that this filter can decode "MPEG-2 audio." The filter decodes only backward-compatible MPEG-2 audio.

 

Remarks

Mono streams are always decoded to stereo.

For streams with a channel configuration of two or more speakers, the decoder does one of the following:

  • Up-mixes to six channels, using the common 5.1 speaker configuration.
  • Downmixes to stereo.

To select between these two options, use the ICodecAPI interface to set the AVDecCommonOutputFormat property, before connecting the pins. Alternatively, when the application builds the filter graph, it can set the desired media type on the output pin.

AAC Decoding

For AAC, the decoder has certain format constraints on the compressed AAC input. These format constraints are the same as the Media Foundation AAC Decoder, and are documented in the section "Format Constraints".

The DirectShow decoder also accepts different input types than the Media Foundation decoder. The DirectShow decoder supports the following AAC input types:

  • MEDIASUBTYPE_RAW_AAC1: Raw AAC, typically found in AVI or Matroska (.MKV) files.
  • MEDIASUBTYPE_MPEG_ADTS_AAC: AAC in an Audio Data Transport Stream (ADTS) for streaming.
  • MEDIASUBTYPE_MPEG_LOAS: Transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM).

The Media Foundation decoder supports the following AAC input types:

  • MFAudioFormat_AAC (same as MEDIASUBTYPE_MPEG_HEAAC) for MP4 file playback.
  • MEDIASUBTYPE_RAW_AAC1.

Property Sets

The decoder's input pin supports the following property sets through IKsPropertySet:

Note

Starting in Windows 7, the decoder supports trick mode through the rate-change property set. It supports playback rates in the range [0.501 – 2.0], where 1.0 is normal playback rate, and 2.0 is twice the normal rate.

 

Codec Properties

The decoder's input pin supports the following properties through ICodecAPI:

Property Requires
AVAudioChannelConfig Windows Vista
AVAudioChannelCount Windows Vista
AVAudioSampleRate Windows Vista
AVDDSurroundMode Windows Vista only; not supported in Windows 7 or later.
AVDecAudioDualMono Windows Vista
AVDecCommonInputFormat Windows Vista
AVDecCommonMeanBitRate Windows 7

 

The filter supports the following properties through ICodecAPI:

Property Requires
AVDecAACDownmixMode Windows 7
AVDecAudioDualMonoReproMode Windows Vista
AVDecCommonOutputFormat (See Note 3.) Windows Vista
AVDecDDDynamicRangeScaleHigh Windows Vista
AVDecDDDynamicRangeScaleLow Windows Vista
AVDecDDOperationalMode Windows Vista
AVDecMmcssClass Windows Vista
AVDSPLoudnessEqualization Windows 7
AVDSPSpeakerFill Windows 7

 

Note

  1. The AVDecCommonOutputFormat property must be set before the decoder's output pin is connected. Otherwise, the change has no effect.

 

Requirements

Requirement Value
Minimum supported client
Windows Vista Home Premium, Windows Vista Ultimate, Windows 7 [desktop apps only]
Minimum supported server
None supported
Header
Wmcodecdsp.h

See also

Audio Subtypes

DirectShow Filters

DVD Media Types