Dolby Audio Decoder

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

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

Wichtig

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

Weitere Informationen zu diesen Formaten finden Sie im ATSC-Dokument Digital Audio Compression Standard (AC-3, E-AC-3) Revision B.

Der Decoder kann auch einen Dolby Digital Plus-Stream in das Dolby Digital-Format für DIE AC-3 S/PIDF-Ausgabe konvertieren oder einen Dolby Digital Plus-Stream für die digitale AUSGABE VON DOLBY 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; weitere Informationen finden Sie unter Audiountertypen. Dieser Untertyp kann synonym mit MEDIASUBTYPE _ DOLBY _ AC3 verwendet werden.
wmcodecdsp.h
MFAudioFormat _ Dolby _ Digital _ Plus Dolby Digital Plus-Audio. mfapi.h

In der folgenden Tabelle sind die attribute requires und optional für den Eingabemedientyp aufgeführt.

attribute BESCHREIBUNG Bemerkungen
MF_MT_MAJOR_TYPE Haupttyp. Erforderlich. Muss MFMediaType_Audio.
MF_MT_SUBTYPE Audiountertyp. Erforderlich. Weitere Informationen finden Sie in der vorherigen Tabelle.
MF_MT_AUDIO_SAMPLES_PER_SECOND Stichprobenrate 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.
[!Note]
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 (Low Frequency, LFE), sofern 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 von Kanälen Kanalmasken
1/0 (mono) 1 0x4 (SPEAKER_FRONT_CENTER)
2/0 (Stereo) oder 1+1 (Dual Mono) 2 0x3 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT)
3/0 3 0x7 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER)
2/1 3 0x103 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_BACK_CENTER)
3/1 4 0x107 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_BACK_CENTER)
2/2 4 0x33 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT)
oder
0x603 (SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT SPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT)
3/2 5 0x37 (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT)
oder
0x607 (SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT)
3/2 + LFE 6 0x3F (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCY SPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT)
oder
0x60F (SPEAKER_FRONT_LEFT
SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCY SPEAKER_SIDE_LEFT SPEAKER_SIDE_RIGHT)
2.03.2 + LFE
[!Note]
Nur Dolby Digital Plus.


8 0x63F (SPEAKER_FRONT_LEFT SPEAKER_FRONT_RIGHT SPEAKER_FRONT_CENTER SPEAKER_LOW_FREQUENCY SPEAKER_BACK_LEFT SPEAKER_BACK_RIGHT SPEAKER_SIDE_LEFT SPEAKER_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 _ _ AC3FORMAT Dolby AC-3-Audio, das für die digitale Ausgabe von S/PDIF formatiert ist. mfapi.h
_KSDATAFORMAT-UNTERTYP _ IEC61937 _ DOLBY DIGITAL _ _ PLUS Dolby Digital Plus-Audio, formatiert für die digitale Ausgabe von DOLBY. ksmedia.h
MFAudioFormat _ Float IEEE 32-Bit-Gleitkomma-PCM-Audio
Windows 10: Stereo, 5.1, 7.1
Frühere Versionen: Stereo, 5.1
mfapi.h
MFAudioFormat _ PCM 16-Bit-PCM-Audio
Windows 10: Stereo, 5.1, 7.1
Frühere Versionen: 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.
MF_MT_SUBTYPE Audiountertyp. Erforderlich. Weitere Informationen finden Sie in der vorherigen Tabelle.
MF_MT_AUDIO_SAMPLES_PER_SECOND Stichprobenrate in Stichproben pro Sekunde. Erforderlich. Gültige Werte sind: 48000, 44100, 32000, 24000, 22050 und 16000. Die Ausgabestichprobenrate muss mit der Eingabestichprobenrate identisch sein. Der Decoder kann die Samplingrate des Streams nicht ändern.
MF_MT_AUDIO_NUM_CHANNELS Anzahl der Kanäle, einschließlich des Kanals mit niedriger Frequenz (Low Frequency, LFE), sofern 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 im Folgenden angegeben 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 im folgenden Wert sein:
  • 0x3 für Stereoausgabe
  • 0x3F 5.1-Kanalausgabe
  • 0x63F 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 32 für MFAudioFormat_Floatund 16 fürMFAudioFormat_PCM.
Für die digitale Ausgabe nicht erforderlich.
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE Anzahl der gültigen Bits von Audiodaten in jedem Audiobeispiel. Optional für PCM-Ausgabe. Wenn festgelegt, muss der Wert mit dem WertMF_MT_AUDIO_BITS_PER_SAMPLE.
Für die Digitalen Ausgabeuntertypen 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 DECODERTransform::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 ist. Bevor der erste Dolby-Frame decodiert wird, lautet der Wert eAVDecAudioDualMono _ UnSpecified. Nachdem die Decodierung begonnen hat, 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. Bei Dolby Digital Plus (E-AC3) ist der Wert immer 0 (null).
Schreibgeschützt.
CODECAPI _ AVDecDDDynamicRangeScaleHigh Der obere Schnitt, wenn der Decoder die Steuerung des dynamischen Bereichs ausführt.
Lese-/Schreibzugriff.
CODECAPI _ AVDecDDDynamicRangeScaleLow Die Verstärkung auf niedriger Ebene, wenn der Decoder die Steuerung des dynamischen Bereichs ausführt.
Lese-/Schreibzugriff.
CODECAPI _ AVDecDDOperationalMode Der Komprimierungssteuerungsmodus.
Lese-/Schreibzugriff.
CODECAPI _ AVDecDDStereoDownMixMode Der Typ von Stereo-Downmix. Diese Eigenschaft gilt, wenn die Eingabe ein Mehrkanalstream und die Ausgabe ein Stereostream ist.
Lese-/Schreibzugriff.
DYNAMISCHE _ _ _ FORMATÄNDERUNG DURCH MFT-UNTERSTÜTZUNG _ 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 unformatierte Dolby-Streams, wie von A/52B definiert. Nutzlasten wie packetisierte elementare Streams (PES) werden nicht unterstützt. Bei 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 Downmix des 5.1-Kanals decodiert. Wenn der Stream Dolby Digital Plus mit mehr als einem unabhängigen Unterstream ist, wird nur der unabhängige Substream 0 decodiert. Der Decoder überspringt andere unabhängige Unterstreams. Darüber hinaus überspringt der Decoder alle abhängigen Unterstreams. Der Decoder unterstützt die Entschlüsselung und Decodierung von Datenströmen, die durch DRM-Technologie (Digital Rights Management) geschützt werden.

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)
  • Stereo-Downmix

Wenn Stereo-Downmix ausgewählt ist, kann der Typ von Downmix für den MFT mithilfe der CODECAPI _ AVDecDDStereoDownMixMode-Eigenschaft festgelegt werden.

Wenn der Ausgabetyp MFAudioFormat _ Dolby _ AC3 _ SOLLIF lautet, 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 einer Auffüllung von null 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-Stichproben entsprechen, gefolgt von einer Auffüllung von 24.576 Bytes. Für die AUSGABE von PACKS wird nur der unabhängige Unterstream 0 gepackt.

Der Decoder-MFT wird mit dem Flag _ MFT-ENUM-FLAG _ _ FIELDOFUSE registriert, das angibt, dass der MFT vor der Verwendung von der Anwendung entsperrt werden muss. Weitere Informationen finden Sie unter Field of Use Restrictions.

Requirements (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