Dolby Audio Decoder

Der Dolby-Audiodecoder ist eine Media Foundation-Transformation (MFT ), die die folgenden Streamtypen decodiert:

  • Dolby Digital, auch Dolby AC-3 genannt
  • Dolby Digital Plus, auch als Enhanced AC-3 (E-AC-3) bezeichnet

Wichtig

Für Versionen von Windows vor Windows 8 ist die Microsoft-Implementierung der Dolby Digital-Technologie gemäß den Bestimmungen des Dolby Digital-Lizenzierungsprogramms auf die Verwendung durch Microsoft-Anwendungen beschränkt.

 

Weitere Informationen zu diesen Formaten finden Sie unter Advanced Television Systems Committee (ATSC) document Digital Audio Compression Standard (AC-3, E-AC-3) Revision B.

Der Decoder kann auch einen Dolby Digital Plus-Stream für die AC-3-S/PIDF-Ausgabe in das Dolby Digital-Format konvertieren oder einen Dolby Digital Plus-Stream für den digitalen HDMI-Ausgang formatieren.

Klassenbezeichner

Der Klassenbezeichner (CLSID) des Dolby-Audiodecoders ist CLSID_CMSDDPlusDecMFT, definiert in der Headerdatei wmcodecdsp.h.

Eingabetypen

Der Dolby-Audiodecoder unterstützt die folgenden Eingabeuntertypen.

Subtype BESCHREIBUNG Header
MEDIASUBTYPE_DOLBY_AC3 Dolby Digital-Audio. mfapi.h
MEDIASUBTYPE_DVM Dolby Digital-Audio; siehe Audiountertypen. Dieser Untertyp kann austauschbar mit MEDIASUBTYPE_DOLBY_AC3 verwendet werden.
wmcodecdsp.h
MFAudioFormat_Dolby_Digital_Plus Dolby Digital Plus-Audio. mfapi.h

 

In der folgenden Tabelle sind die benötigten und optionalen Attribute für den Eingabemedientyp aufgeführt.

attribute BESCHREIBUNG Bemerkungen
MF_MT_MAJOR_TYPE Haupttyp. Erforderlich. Muss MFMediaType_Audio sein.
MF_MT_SUBTYPE Audiountertyp. Erforderlich. Weitere Informationen finden Sie in der vorherigen Tabelle.
MF_MT_AUDIO_SAMPLES_PER_SECOND Abtastrate in Stichproben pro Sekunde. Optional. Gültige Werte sind: 48000, 44100, 32000, 24000, 22050 und 16000. Wenn dieses Attribut nicht festgelegt ist, ist der Standardwert 48000.
Hinweis: Dolby AC-3-Streams sind auf die drei höchsten Raten in dieser Liste beschränkt.
MF_MT_AUDIO_NUM_CHANNELS Anzahl der Kanäle, einschließlich des Kanals mit niedriger Frequenz (LFE), falls vorhanden. Optional. Gültige Werte liegen im Bereich von 1 (mono) bis 8 (7,1 Kanalkonfiguration). Wenn dieses Attribut nicht festgelegt ist, ist der Standardwert 2 (Stereo).
MF_MT_AUDIO_CHANNEL_MASK Gibt die Zuweisung von Audiokanälen zu Sprecherpositionen an. Optional. Wenn angegeben, muss der Wert mit der Anzahl der Audiokanäle konsistent sein. Wenn das Attribut nicht festgelegt ist, verwendet der Decoder basierend auf der Anzahl der Kanäle eine Standardkanalmaske.

 

In der folgenden Tabelle sind die unterstützten Dolby-Kanalkonfigurationen aufgeführt.

Kanalkonfiguration Anzahl der Kanäle Kanalmasken
1/0 (mono) 1 0x4 (SPEAKER_FRONT_CENTER)
2/0 (Stereo) oder 1+1 (Dual Mono) 2 0x3 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHT)
3/0 3 0x7 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTER)
2/1 3 0x103 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_BACK_CENTER)
3/1 4 0x107 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_BACK_CENTER)
2/2 4 0x33 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT)
oder
0x603 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT)
3/2 5 0x37 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT)
oder
0x607 (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT)
3/2 + LFE 6 0x3F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFTSPEAKER_BACK_RIGHT)
oder
0x60F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT)
3/2/2 + LFE Hinweis: Nur Dolby Digital Plus.
8 0x63F (SPEAKER_FRONT_LEFTSPEAKER_FRONT_RIGHTSPEAKER_FRONT_CENTERSPEAKER_LOW_FREQUENCYSPEAKER_BACK_LEFT SPEAKER_BACK_RIGHTSPEAKER_SIDE_LEFTSPEAKER_SIDE_RIGHT)

 

Darüber hinaus können Kanalkonfigurationen 1/0, 2/0, 3/0, 2/1, 3/1 und 2/2 auch mit einem LFE-Kanal angezeigt werden.

Ausgabetypen

Der Dolby-Audiodecoder unterstützt die folgenden Ausgabeuntertypen.

Subtype BESCHREIBUNG Header
MFAudioFormat_Dolby_AC3_SPDIF Dolby AC-3-Audioformatiert für die digitale S/PDIF-Ausgabe. mfapi.h
KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS Dolby Digital Plus-Audio für den digitalen HDMI-Ausgang formatiert. ksmedia.h
MFAudioFormat_Float IEEE 32-Bit-Gleitkomma-PCM-Audio
Windows 10: Stereo, 5.1, 7.1
Vorgängerversionen: Stereo, 5.1
mfapi.h
MFAudioFormat_PCM 16-Bit-PCM-Audio
Windows 10: Stereo, 5.1, 7.1
Vorgängerversionen: Stereo, 5.1
mfapi.h

 

In der folgenden Tabelle sind die erforderlichen und optionalen Attribute für den Ausgabemedientyp aufgeführt.

attribute BESCHREIBUNG Bemerkungen
MF_MT_MAJOR_TYPE Haupttyp. Erforderlich. Muss MFMediaType_Audio sein.
MF_MT_SUBTYPE Audiountertyp. Erforderlich. Weitere Informationen finden Sie in der vorherigen Tabelle.
MF_MT_AUDIO_SAMPLES_PER_SECOND Abtastrate in Stichproben pro Sekunde. Erforderlich. Gültige Werte sind: 48000, 44100, 32000, 24000, 22050 und 16000. Die Ausgabe-Abtastrate muss mit der Eingabe-Abtastrate identisch sein. Der Decoder kann die Samplingrate des Datenstroms nicht ändern.
MF_MT_AUDIO_NUM_CHANNELS Anzahl der Kanäle, einschließlich des Kanals mit niedriger Frequenz (LFE), falls vorhanden. Erforderlich für die PCM-Ausgabe.
Für die digitale Ausgabe nicht erforderlich.
Wenn der Eingabetyp Mono, Stereo oder Dual-Mono (alle ohne LFE-Kanal) ist, ist der einzige gültige Wert 2 für die Stereoausgabe. Andernfalls kann der Wert wie folgt sein:
  • 2 für Stereo-Downmix
  • 6 für 5.1-Kanalkonfigurationen
  • 8 für 7.1-Kanalkonfigurationen
MF_MT_AUDIO_CHANNEL_MASK Gibt die Zuweisung von Audiokanälen zu Sprecherpositionen an. Erforderlich für die PCM-Ausgabe, wenn die Anzahl der Kanäle größer als 2 ist. Der Wert muss wie folgt sein:
  • 0x3 für Stereoausgabe
  • 0x3F für die 5.1-Kanalausgabe
  • 0x63F für die 7.1-Kanalausgabe
Für die digitale Ausgabe nicht erforderlich.
MF_MT_AUDIO_BITS_PER_SAMPLE Anzahl der Bits pro Audiobeispiel. Erforderlich für die PCM-Ausgabe. Der Wert muss für MFAudioFormat_Float 32 und für MFAudioFormat_PCM 16 sein.
Für die digitale Ausgabe nicht erforderlich.
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE Anzahl gültiger Audiodatenbits in jedem Audiobeispiel. Optional für PCM-Ausgabe. Wenn festgelegt, muss der Wert mit MF_MT_AUDIO_BITS_PER_SAMPLE identisch sein.
Für die Untertypen der digitalen Ausgabe nicht erforderlich.
MF_MT_AUDIO_BLOCK_ALIGNMENT Blockausrichtung in Bytes. Optional für PCM-Ausgabe. Für die digitale Ausgabe nicht erforderlich.
MF_MT_AUDIO_AVG_BYTES_PER_SECOND Durchschnittliche Anzahl von Bytes pro Sekunde. Optional für PCM-Ausgabe. Für die digitale Ausgabe nicht erforderlich.

 

Transformieren von Attributen

Der Dolby-Audiodecoder implementiert die IMFTransform::GetAttributes-Methode . Die Anwendung kann diese Methode verwenden, um die folgenden Attribute abzurufen oder festzulegen.

attribute BESCHREIBUNG
CODECAPI_AVDecAudioDualMono Gibt an, ob ein 2-Kanal-Dolby-Audiostream als Stereo oder Dual-Mono codiert wird. Bevor der erste Dolby-Frame decodiert wird, wird der Wert eAVDecAudioDualMono_UnSpecified. Nach Beginn der Decodierung spiegelt der Wert den neuesten Dolby-Frame wider.
Schreibgeschützt.
CODECAPI_AVDecAudioDualMonoReproMode Gibt an, wie der Decoder Dual-Mono-Audio reproduziert. Der Standardwert ist eAVDecAudioDualMonoReproMode_LEFT_MONO. Die Anwendung kann diese Eigenschaft jederzeit festlegen.
Lese-/Schreibzugriff.
CODECAPI_AVDecCommonMeanBitRate Gibt für Dolby Digital-Streams (AC-3) die Bitrate des Eingabedatenstroms in Bits pro Sekunde an. Für Dolby Digital Plus (E-AC3) ist der Wert immer null.
Schreibgeschützt.
CODECAPI_AVDecDDDynamicRangeScaleHigh Der allgemeine Schnitt, wenn der Decoder die Dynamische Bereichssteuerung ausführt.
Lese-/Schreibzugriff.
CODECAPI_AVDecDDDynamicRangeScaleLow Die Low-Level-Verstärkung, wenn der Decoder die Dynamische Bereichssteuerung ausführt.
Lese-/Schreibzugriff.
CODECAPI_AVDecDDOperationalMode Der Komprimierungssteuerungsmodus.
Lese-/Schreibzugriff.
CODECAPI_AVDecDDStereoDownMixMode Der Typ des Stereo-Downmix. Diese Eigenschaft gilt, wenn es sich bei der Eingabe um einen Mehrkanaldatenstrom handelt und die Ausgabe ein Stereodatenstrom ist.
Lese-/Schreibzugriff.
MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE Dieses Attribut gibt FALSE zurück, was angibt, dass der Decoder entladen werden muss, bevor ein neuer Eingabetyp festgelegt wird.
Lese-/Schreibzugriff.

 

Bemerkungen

Der Decoder akzeptiert nur rohe Dolby-Streams, wie durch A/52B definiert. Nutzlasten wie Packetized Elementary Streams (PES) werden nicht unterstützt. Für Dolby Digital Plus decodiert der Decoder bis zu 5,1 Kanäle. Auf Windows 10 werden 7.1-Kanalstreams ohne Downmix decodiert. Wenn es sich bei früheren Betriebssystemversionen um 7.1-Kanäle handelt, wird nur der 5.1-Kanaldownmix decodiert. Wenn der Stream Dolby Digital Plus mit mehr als einem unabhängigen Substream ist, wird nur der unabhängige Substream 0 decodiert. Der Decoder überspringt andere unabhängige Substreams. Darüber hinaus überspringt der Decoder alle abhängigen Teilströme. Der Decoder unterstützt die Entschlüsselung und Decodierung von Datenströmen, die durch die DRM-Technologie (Digital Rights Management) geschützt sind.

Wenn der Eingabemedientyp über eine andere Kanalkonfiguration als Mono, Stereo oder Dual-Mono (alle ohne LFE-Kanal) verfügt, bietet der Decoder zwei Optionen für die Ausgabekanalkonfigurationen:

  • 8-Kanal-Ausgabe (7.1 Kanalkonfiguration)
  • 6-Kanal-Ausgabe (5.1-Kanalkonfiguration)
  • Stereodownmix

Wenn Stereodownmix ausgewählt ist, kann der Typ des Downmix für den MFT mit der CODECAPI_AVDecDDStereoDownMixMode-Eigenschaft festgelegt werden.

Wenn der Ausgabetyp MFAudioFormat_Dolby_AC3_SPDIF ist, enthält jeder Ausgabepuffer 6.144 Bytes. Der Puffer beginnt mit einem 8-Byte-S/PDIF-Header, gefolgt von einem komprimierten AC-3-Frame, gefolgt von null Auffüllung auf 6.144 Bytes.

Wenn der Ausgabetyp KSDATAFORMAT_SUBTYPE_IEC61937_DOLBY_DIGITAL_PLUS ist, enthält jeder Ausgabepuffer 24.576 Bytes. Der Puffer beginnt mit einem 8-Byte-S/PDIF-Header, gefolgt von 1–6 komprimierten Dolby Digital Plus-Frames, die 1.536 PCM-Beispielen entsprechen, gefolgt von null Auffüllung auf 24.576 Bytes. Für die HDMI-Ausgabe ist nur der unabhängige Substream 0 gepackt.

Der Decoder MFT ist mit dem Flag MFT_ENUM_FLAG_FIELDOFUSE registriert, was angibt, dass der MFT, der von der Anwendung vor der Verwendung entsperrt werden muss. Weitere Informationen finden Sie unter Feldeinschränkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server)
Nicht unterstützt
DLL
Msauddecmft.dll

Weitere Informationen

Codec-Objekte