Compartir a través de


Estructura MPEG1WAVEFORMAT (mmreg.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

La MPEG1WAVEFORMAT estructura describe el formato de los datos de audio MPEG-1.

Sintaxis

typedef struct mpeg1waveformat_tag {
  WAVEFORMATEX wfx;
  WORD         fwHeadLayer;
  DWORD        dwHeadBitrate;
  WORD         fwHeadMode;
  WORD         fwHeadModeExt;
  WORD         wHeadEmphasis;
  WORD         fwHeadFlags;
  DWORD        dwPTSLow;
  DWORD        dwPTSHigh;
} MPEG1WAVEFORMAT;

Miembros

wfx

Estructura WAVEFORMATEX que contiene información sobre el formato de audio. Vea la sección Comentarios.

fwHeadLayer

Especifica la capa de audio MPEG, tal como se define en las siguientes constantes:

Valor Significado
ACM_MPEG_LAYER1
Capa 1
ACM_MPEG_LAYER2
Capa 2
ACM_MPEG_LAYER3
Capa 3
 

Algunas secuencias MPEG pueden contener fotogramas de más de una capa. Si es así, combine las marcas con un OR bit a bit.

dwHeadBitrate

Especifica la velocidad de bits, en bits por segundo. Este valor proporciona la velocidad de bits real, no el código de encabezado del marco MPEG. Si la velocidad de bits es variable o es una velocidad de bits no estándar, establezca este campo en cero.

fwHeadMode

Especifica el modo de secuencia, tal y como se define en las siguientes constantes:

Valor Significado
ACM_MPEG_STEREO
Estéreo
ACM_MPEG_JOINTSTEREO
Estéreo conjunto
ACM_MPEG_DUALCHANNEL
Canal dual
ACM_MPEG_SINGLECHANNEL
Canal único
 

Algunas secuencias MPEG pueden contener fotogramas con diferentes modos. Si es así, combine las marcas con un OR bit a bit.

fwHeadModeExt

Especifica la extensión de modo para la codificación estéreo conjunta:

Valor Código de encabezado de marco MPEG Capas 1 y 2 Capa 3
0x01 '00' Intensidad estéreo en bandas de 4 a 31 Intensidad estéreo desactivado; Estéreo central/lateral (MS) desactivado
0x02 '01' Estéreo de intensidad en bandas de 8 a 31 Intensidad estéreo en; MS estéreo desactivado
0x04 '10' Estéreo de intensidad en bandas de 12 a 31 Intensidad estéreo desactivado; MS estéreo en
0x08 '11' Estéreo de intensidad en bandas de 16 a 31 Intensidad estéreo desactivado; MS estéreo en
 

Estos valores se pueden combinar con un OR bit a bit. En general, los codificadores cambiarán dinámicamente entre los modos de extensión según las características de la señal. Por lo tanto, para la codificación normal en estéreo de la articulación, establezca este campo en 0x0F (or bit a bit de todas las marcas). Sin embargo, puede usar este campo para limitar el codificador a un conjunto de tipos de codificación permitidos.

Este campo solo se aplica cuando fwHeadMode incluye ACM_MPEG_JOINTSTEREO. Para otros modos, establezca este campo en cero.

wHeadEmphasis

Especifica el énfasis requerido por el descodificador:

Valor Encabezado de marco MPEG Se requiere desasistencia del código
1 '00' None
2 '01' Énfasis de 50/15 ms
3 '10' Reservado
4 '11' CCITT J.17

fwHeadFlags

Especifica una combinación bit a bit de cero o más de las marcas siguientes:

Valor Significado
ACM_MPEG_PRIVATEBIT
Establezca el bit privado.
ACM_MPEG_COPYRIGHT
Establezca el bit de copyright.
ACM_MPEG_ORIGINALHOME
Establezca el bit original o de inicio.
ACM_MPEG_PROTECTIONBIT
Establezca el bit de protección e inserte un código de protección de errores de 16 bits en cada fotograma.
ACM_MPEG_ID_MPEG1
Establezca el bit de identificador en 1, definiendo la secuencia como una secuencia de audio MPEG-1.
 

Un codificador usará estas marcas para establecer los bits correspondientes en los encabezados de marco de audio MPEG.

dwPTSLow

Especifica los 32 bits menos significativos de la marca de tiempo de presentación (PTS) del primer fotograma de la secuencia de audio.

dwPTSHigh

Especifica el bit más significativo del PTS. Los campos dwPTSLow y dwPTSHigh se pueden tratar como un único valor de 64 bits.

Observaciones

Para el audio MPEG-1, la estructura WAVEFORMATEX definida en el miembro wfx debe tener los valores siguientes.

Miembro WAVEFORMATEX Descripción
wFormatTag Debe ser WAVE_FORMAT_MPEG
nChannels 1 para mono, 2 para estéreo
nSamplesPerSec Especifica la frecuencia de muestreo, si la frecuencia de muestreo es fija. Si es variable, establezca este campo en cero.
nAvgBytesPerSec Especifica la velocidad media de datos. Si la codificación de velocidad de bits variable se usa en la capa 3, es posible que el valor no sea una velocidad de bits MPEG-1 legal.
nBlockAlign En el caso de las secuencias de audio con una longitud fija de fotogramas de audio, este campo especifica la longitud del marco de audio. Si la longitud del fotograma es variable, establezca este campo en 1.Si la frecuencia de muestreo es de 32 kHz o 48 kHz y la velocidad de bits es constante, el tamaño del fotograma de audio es constante. En ese caso, calcule nBlockAlign de la siguiente manera:
  • Capa 1: 4 * (int)(12 * bitrate / sampling frequency)
  • Capas 2 y 3: (int)(144 * bitrate / sampling frequency)
Si la velocidad de bits es variable o la frecuencia de muestreo es de 44,1 kHz, el tamaño del fotograma de audio no es constante y nBlockAlign debe ser 1.
wBitsPerSample No utilizado; se establece en cero.
cbSize Especifica el tamaño de los datos de formato después de la estructura WAVEFORMATEX , en bytes. Para la estructura MPEG1WAVEFORMAT estándar, este valor es de 22 bytes.

Requisitos

   
Encabezado mmreg.h

Consulte también

Estructuras directShow

Tipos de medios MPEG-1