MPEG1WAVEFORMAT-Struktur (mmreg.h)
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Die MPEG1WAVEFORMAT
Struktur beschreibt das Format von MPEG-1-Audiodaten.
Syntax
typedef struct mpeg1waveformat_tag {
WAVEFORMATEX wfx;
WORD fwHeadLayer;
DWORD dwHeadBitrate;
WORD fwHeadMode;
WORD fwHeadModeExt;
WORD wHeadEmphasis;
WORD fwHeadFlags;
DWORD dwPTSLow;
DWORD dwPTSHigh;
} MPEG1WAVEFORMAT;
Member
wfx
WAVEFORMATEX-Struktur , die Informationen zum Audioformat enthält. Siehe Hinweise.
fwHeadLayer
Gibt die MPEG-Audioebene an, die durch die folgenden Konstanten definiert wird:
Wert | Bedeutung |
---|---|
|
Ebene 1 |
|
Layer 2- |
|
Ebene 3 |
Einige MPEG-Streams können Frames aus mehr als einer Ebene enthalten. Wenn ja, kombinieren Sie die Flags mit einem bitweisen OR.
dwHeadBitrate
Gibt die Bitrate in Bits pro Sekunde an. Dieser Wert gibt die tatsächliche Bitrate an, nicht den MPEG-Frameheadercode. Wenn die Bitrate variabel ist oder eine nicht standardmäßige Bitrate ist, legen Sie dieses Feld auf 0 fest.
fwHeadMode
Gibt den Streammodus an, der durch die folgenden Konstanten definiert wird:
Wert | Bedeutung |
---|---|
|
Stereo |
|
Gemeinsame Stereoanlage |
|
Dual-Kanal |
|
Einzelner Kanal |
Einige MPEG-Streams können Frames mit unterschiedlichen Modi enthalten. Wenn ja, kombinieren Sie die Flags mit einem bitweisen OR.
fwHeadModeExt
Gibt die Moduserweiterung für die Joint-Stereo-Codierung an:
Wert | MPEG-Frameheadercode | Schicht 1 und 2 | Ebene 3 |
---|---|---|---|
0x01 | '00' | Intensität Stereo in Bändern 4 bis 31 | Intensität Stereo aus; Mittel-/Seitliche Stereoanlage (MS) aus |
0x02 | '01' | Intensität Stereo in Bändern 8 bis 31 | Intensität Stereo ein; MS-Stereo aus |
0x04 | '10' | Intensität Stereo in Bändern 12 bis 31 | Intensität Stereo aus; MS-Stereo ein |
0x08 | '11' | Intensität Stereo in Bändern 16 bis 31 | Intensität Stereo aus; MS-Stereo ein |
Diese Werte können mit einem bitweisen OR kombiniert werden. Im Allgemeinen wechseln Encoder dynamisch zwischen den Erweiterungsmodi entsprechend den Merkmalen des Signals. Legen Sie daher für die normale Joint-Stereo-Codierung dieses Feld auf 0x0F fest (das bitweise OR aller Flags). Sie können dieses Feld jedoch verwenden, um den Encoder auf einen Satz zulässiger Codierungstypen zu beschränken.
Dieses Feld gilt nur, wenn fwHeadMode ACM_MPEG_JOINTSTEREO enthält. Legen Sie für andere Modi dieses Feld auf Null fest.
wHeadEmphasis
Gibt die vom Decoder erforderliche Debetonierung an:
Wert | MPEG-Frameheader | Codeenthebung erforderlich |
---|---|---|
1 | '00' | Keine |
2 | '01' | 50/15 ms Schwerpunkt |
3 | '10' | Reserviert |
4 | '11' | CCITT J.17 |
fwHeadFlags
Gibt eine bitweise Kombination aus null oder mehr der folgenden Flags an:
Ein Encoder verwendet diese Flags, um die entsprechenden Bits in den MPEG-Audioframeheadern festzulegen.
dwPTSLow
Gibt die geringsten 32 Bits des Präsentationszeitstempels (PTS) des ersten Frames des Audiostreams an.
dwPTSHigh
Gibt das wichtigste Bit des PTS an. Die Felder dwPTSLow und dwPTSHigh können als einzelner 64-Bit-Wert behandelt werden.
Bemerkungen
Für MPEG-1-Audio muss die im wfx-Member definierte WAVEFORMATEX-Struktur die folgenden Werte aufweisen.
WAVEFORMATEX-Member | Beschreibung |
---|---|
wFormatTag | Muss WAVE_FORMAT_MPEG sein |
nChannels | 1 für Mono, 2 für Stereo |
nSamplesPerSec | Gibt die Samplinghäufigkeit an, wenn die Samplinghäufigkeit festgelegt ist. Wenn es sich um eine Variable handelt, legen Sie dieses Feld auf 0 (null) fest. |
nAvgBytesPerSec | Gibt die durchschnittliche Datenrate an. Wenn die Codierung mit variabler Bitrate unter Ebene 3 verwendet wird, ist der Wert möglicherweise keine zulässige MPEG-1-Bitrate. |
nBlockAlign | Für Audiostreams mit einer festen Audioframelänge gibt dieses Feld die Länge des Audioframes an. Wenn die Framelänge variabel ist, legen Sie dieses Feld auf 1 fest. Wenn die Samplinghäufigkeit 32 kHz oder 48 kHz beträgt und die Bitrate konstant ist, ist die Audioframegröße konstant. In diesem Fall berechnen Sie nBlockAlign wie folgt:
|
wBitsPerSample | Nicht verwendet; auf 0 (null) festgelegt. |
cbSize | Gibt die Größe der Formatdaten nach der WAVEFORMATEX-Struktur in Bytes an. Für die MPEG1WAVEFORMAT-Standardstruktur beträgt dieser Wert 22 Bytes. |
Requirements (Anforderungen)
Kopfzeile | mmreg.h |