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
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
- The Microsoft implementation of the Dolby Digital technology is restricted under terms of the Dolby Digital licensing program to use by Microsoft applications.
Note
- 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_NORMAL - 1
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
- 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 |
|
See also