> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SHAPE_EQCOMP_CONTEXT

> SHAPE_EQCOMP_CONTEXT

# SHAPE\_EQCOMP\_CONTEXT

El contexto del ecualizador y compresor (EQComp).

## Sintaxis

```cpp theme={null}
typedef struct SHAPE_EQCOMP_CONTEXT {  
    UINT32 timestamp : 21;  
    UINT32 reserved0 : 2;  
    UINT32 internalSaturate : 1;  
    UINT32 mixBufPeakMag : 4;  
    UINT32 peakMag : 4;  
    UINT32 eqAB0 : 24;  
    UINT32 eqAB1_L : 8;  
    UINT32 eqAB1_H : 16;  
    UINT32 eqAB2_L : 16;  
    UINT32 eqAB2_H : 8;  
    UINT32 eqAA1 : 24;  
    UINT32 eqAA2 : 24;  
    UINT32 eqBB0_L : 8;  
    UINT32 eqBB0_H : 16;  
    UINT32 eqBB1_L : 16;  
    UINT32 eqBB1_H : 8;  
    UINT32 eqBB2 : 24;  
    UINT32 eqBA1 : 24;  
    UINT32 eqBA2_L : 8;  
    UINT32 eqBA2_H : 16;  
    UINT32 eqCB0_L : 16;  
    UINT32 eqCB0_H : 8;  
    UINT32 eqCB1 : 24;  
    UINT32 eqCB2 : 24;  
    UINT32 eqCA1_L : 8;  
    UINT32 eqCA1_H : 16;  
    UINT32 eqCA2_L : 16;  
    UINT32 eqCA2_H : 8;  
    UINT32 reserved1 : 24;  
    UINT32 eqAInputDelay0 : 24;  
    UINT32 reserved2 : 8;  
    UINT32 eqAInputDelay1 : 24;  
    UINT32 reserved3 : 8;  
    UINT32 eqDelayElements2;  
    UINT32 eqDelayElements3;  
    UINT32 eqDelayElements4;  
    UINT32 eqDelayElements5;  
    UINT32 eqDelayElements6;  
    UINT32 eqDelayElements7;  
    UINT32 compInputLevel;  
    UINT32 compGainReduction : 24;  
    UINT32 reserved4 : 8;  
    UINT32 compGain : 16;  
    UINT32 reserved5 : 16;  
    UINT32 eqAB0Target : 24;  
    UINT32 eqAB1Target_L : 8;  
    UINT32 eqAB1Target_H : 16;  
    UINT32 eqAB2Target_L : 16;  
    UINT32 eqAB2Target_H : 8;  
    UINT32 eqAA1Target : 24;  
    UINT32 eqAA2Target : 24;  
    UINT32 eqBB0Target_L : 8;  
    UINT32 eqBB0Target_H : 16;  
    UINT32 eqBB1Target_L : 16;  
    UINT32 eqBB1Target_H : 8;  
    UINT32 eqBB2Target : 24;  
    UINT32 eqBA1Target : 24;  
    UINT32 eqBA2Target_L : 8;  
    UINT32 eqBA2Target_H : 16;  
    UINT32 eqCB0Target_L : 16;  
    UINT32 eqCB0Target_H : 8;  
    UINT32 eqCB1Target : 24;  
    UINT32 eqCB2Target : 24;  
    UINT32 eqCA1Target_L : 8;  
    UINT32 eqCA1Target_H : 16;  
    UINT32 eqCA2Target_L : 16;  
    UINT32 eqCA2Target_H : 8;  
    UINT32 reserved6 : 24;  
    UINT32 compRelease : 24;  
    UINT32 reserved7 : 2;  
    UINT32 compExpand : 1;  
    UINT32 compLogGain : 1;  
    UINT32 compSidechainMode : 2;  
    UINT32 compMode : 1;  
    UINT32 compEnable : 1;  
    UINT32 compThreshold : 24;  
    UINT32 reserved8 : 8;  
    UINT32 compAttack : 24;  
    UINT32 reserved9 : 8;  
    UINT32 compOneOverRatio : 16;  
    UINT32 compGainTarget : 16;  
} SHAPE_EQCOMP_CONTEXT  
```

### Miembros

*timestamp*\
Tipo: UINT32

Lectura: marca de tiempo de la finalización del procesamiento del contexto.

*Reserved0*\
Tipo: UINT32

Reservado.

*internalSaturate*\
Tipo: UINT32

Lectura: 1 si EQ/Comp está saturado; 0 en caso contrario.

*mixBufPeakMag*\
Tipo: UINT32

Lectura: magnitud máxima del búfer de mezcla de salida.

*peakMag*\
Tipo: UINT32

Lectura: magnitud máxima de la salida.

*eqAB0*\
Tipo: UINT32

Lectura/Escritura: coeficiente b0 del filtro de ecualizador A.

*eqAB1\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente b1 del filtro de ecualizador A, 8 bits inferiores.

*eqAB1\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente b1 del filtro de ecualizador A, 16 bits superiores.

*eqAB2\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente b2 del filtro de ecualizador A, 16 bits inferiores.

*eqAB2\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente b2 del filtro de ecualizador A, 8 bits superiores.

*eqAA1*\
Tipo: UINT32

Lectura/Escritura: coeficiente a1 del filtro de ecualizador A.

*eqAA2*\
Tipo: UINT32

Lectura/Escritura: coeficiente a2 del filtro de ecualizador A.

*eqBB0\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente b0 del filtro de ecualizador B, 8 bits inferiores.

*eqBB0\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente b0 del filtro de ecualizador B, 16 bits superiores.

*eqBB1\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente b1 del filtro de ecualizador B, 16 bits inferiores.

*eqBB1\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente b1 del filtro de ecualizador B, 8 bits superiores.

*eqBB2*\
Tipo: UINT32

Lectura/Escritura: coeficiente b2 del filtro de ecualizador B.

*eqBA1*\
Tipo: UINT32

Lectura/Escritura: coeficiente a1 del filtro de ecualizador B.

*eqBA2\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente a2 del filtro de ecualizador B, 8 bits inferiores.

*eqBA2\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente a2 del filtro de ecualizador B, 16 bits superiores.

*eqCB0\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente b0 del filtro de ecualizador C, 16 bits inferiores.

*eqCB0\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente b0 del filtro de ecualizador C, 8 bits superiores.

*eqCB1*\
Tipo: UINT32

Lectura/Escritura: coeficiente b1 del filtro de ecualizador C.

*eqCB2*\
Tipo: UINT32

Lectura/Escritura: coeficiente b2 del filtro de ecualizador C.

*eqCA1\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente a1 del filtro de ecualizador C, 8 bits inferiores.

*eqCA1\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente a1 del filtro de ecualizador C, 16 bits superiores.

*eqCA2\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente a2 del filtro de ecualizador C, 16 bits inferiores.

*eqCA2\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente a2 del filtro de ecualizador C, 8 bits superiores.

*Reserved1*\
Tipo: UINT32

Reservado.

*eqAInputDelay0*\
Tipo: UINT32

Lectura: retardo de entrada del canal izquierdo.

*Reserved2*\
Tipo: UINT32

Reservado.

*eqAInputDelay1*\
Tipo: UINT32

Lectura: retardo de entrada del canal derecho.

*Reserved*\
Tipo: UINT32

Reservado.

*eqDelayElements2*\
Tipo: UINT32

Lectura: elemento de retardo.

*eqDelayElements3*\
Tipo: UINT32

Lectura: elemento de retardo.

*eqDelayElements4*\
Tipo: UINT32

Lectura: elemento de retardo.

*eqDelayElements5*\
Tipo: UINT32

Lectura: elemento de retardo.

*eqDelayElements6*\
Tipo: UINT32

Lectura: elemento de retardo.

*eqDelayElements7*\
Tipo: UINT32

Lectura: elemento de retardo.

*compInputLevel*\
Tipo: UINT32

Lectura: InputLevel calculado para la entrada del compresor, en formato u8.23 (-0x0000\_0000 a 0x7FFF\_FFFF). Los ocho bits enteros permiten que la sección del ecualizador tenga una ganancia de hasta 48 dB antes del compresor, sin recorte.

*compGainReduction*\
Tipo: UINT32

Lectura: atenuación calculada para el compresor, en formato u1.23 (-0x00\_0000 a 0x80\_0000). Se trata de un multiplicador lineal; un valor de 0x40\_0000, que corresponde a 0,5, es una ganancia de -6 dB o una reducción de ganancia de 6 dB.

*Reserved4*\
Tipo: UINT32

Reservado.

*compGain*\
Tipo: UINT32

Lectura/Escritura: valor actual de la ganancia de salida (makeup), en formato u3.13 (-0x0000 a 0xFFFF).

*Reserved5*\
Tipo: UINT32

Reservado.

*eqAB0Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b0 del filtro de ecualizador A.

*eqAB1Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b1 del filtro de ecualizador A, 8 bits inferiores.

*eqAB1Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b1 del filtro de ecualizador A, 16 bits superiores.

*eqAB2Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b2 del filtro de ecualizador A, 16 bits inferiores.

*eqAB2Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b2 del filtro de ecualizador A, 8 bits superiores.

*eqAA1Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a1 del filtro de ecualizador A.

*eqAA2Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a2 del filtro de ecualizador A.

*eqBB0Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b0 del filtro de ecualizador B, 8 bits inferiores.

*eqBB0Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b0 del filtro de ecualizador B, 16 bits superiores.

*eqBB1Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b1 del filtro de ecualizador B, 16 bits inferiores.

*eqBB1Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b1 del filtro de ecualizador B, 8 bits superiores.

*eqBB2Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b2 del filtro de ecualizador B.

*eqBA1Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a1 del filtro de ecualizador B.

*eqBA2Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a2 del filtro de ecualizador B, 8 bits inferiores.

*eqBA2Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a2 del filtro de ecualizador B, 16 bits superiores.

*eqCB0Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b0 del filtro de ecualizador C, 16 bits inferiores.

*eqCB0Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b0 (EQCoefficient) del filtro de ecualizador C, 8 bits superiores.

*eqCB1Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b1 del filtro de ecualizador C.

*eqCB2Target*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino b2 del filtro de ecualizador C.

*eqCA1Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a1 del filtro de ecualizador C, 8 bits inferiores.

*eqCA1Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a1 del filtro de ecualizador C, 16 bits superiores.

*eqCA2Target\_L*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a2 del filtro de ecualizador C, 16 bits inferiores.

*eqCA2Target\_H*\
Tipo: UINT32

Lectura/Escritura: coeficiente de destino a2 del filtro de ecualizador C, 8 bits superiores.

*Reserved6*\
Tipo: UINT32

Reservado.

*compRelease*\
Tipo: UINT32

Escritura: velocidad de liberación del compresor, en formato u1.23 (-0x00\_0001 a 0x80\_0000). Es la cantidad en la que se incrementa *compGainReduction* en cada período de muestreo cuando el compresor/expansor está en la fase de liberación. Si *compLogGain* está establecido, *compRelease* se desplaza a la derecha para alinear el bit 23 con el bit más significativo del valor actual de *compGainReduction*; esto hace que el incremento sea exponencial. El valor 0 no es válido para este miembro y provocará un funcionamiento incorrecto.

*Reserved7*\
Tipo: UINT32

Reservado.

*compExpand*\
Tipo: UINT32

Escritura: consulte SHAPE\_EQCOMP\_EXPAND\_MODE.

*compLogGain*\
Tipo: UINT32

Escritura: consulte SHAPE\_EQCOMP\_LOG\_GAIN. Esto hace que las fases de ataque y liberación decrementen e incrementen la reducción de ganancia de forma exponencial, para que sea lineal en el espacio logarítmico; es decir, lineal en dB.

*compSidechainMode*\
Tipo: UINT32

Escritura: consulte SHAPE\_EQCOMP\_SIDECHAIN\_MODE.

*compMode*\
Tipo: UINT32

Escritura: consulte SHAPE\_EQCOMP\_COMPRESSOR\_MODE.

*compEnable*\
Tipo: UINT32

Escritura: 1 == habilitado, 0 == deshabilitado.

*compThreshold*\
Tipo: UINT32

Escritura: valor de umbral, en formato u1.23 (-0x00\_0000 a 0x80\_0000).

*Reserved8*\
Tipo: UINT32

Reservado.

*compAttack*\
Tipo: UINT32

Escritura: velocidad de ataque del compresor, en formato u1.23 (-0x00\_0001 a 0x80\_0000). Es la cantidad en la que se decrementa *compGainReduction* en cada período de muestreo cuando el compresor/expansor está en la fase de ataque. Si *compLogGain* está establecido, *compAttack* se desplaza a la derecha para alinear el bit 23 con el bit más significativo del valor actual de *compGainReduction*; esto hace que el incremento sea exponencial. El valor 0 no es válido para este miembro y provocará un funcionamiento incorrecto.

*Reserved9*\
Tipo: UINT32

Reservado.

*compOneOverRatio*\
Tipo: UINT32

Escritura: pendiente del compresor, en formato u1.15 (-0x0000 a 0x8000). Es el recíproco del control de relación tradicional de los compresores. Para una relación de 1:1, establezca *compOneOverRatio* en 0x8000. Para una relación de 4:1, establezca *compOneOverRatio* en 0x2000. El valor 0x0000 es una relación de infinito:1.

*compGainTarget*\
Tipo: UINT32

Escritura: destino configurable por el usuario para la ganancia de salida (makeup). Durante un fotograma de audio, la ganancia aumentará gradualmente desde el valor actual hasta *compGainTarget*, en formato u3.13 (-0x0000 a 0xFFFF).

## Comentarios

Esta estructura contiene el contexto del ecualizador (EQ) y el compresor. El motor de procesamiento de audio de hardware escalable (SHAPE) puede procesar hasta 512 contextos EQComp por fotograma de audio.

Para obtener más información, consulte [Ecualización y compresión](/build/console-features/audio/overviews/shape-overview#ID4ECF) en [Información general de SHAPE](/build/console-features/audio/overviews/shape-overview).

## Requisitos

**Encabezado:** shapeeqcompcontext.h

**Plataformas compatibles:** consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Información general de ACP](/build/console-features/audio/overviews/acp-overview)

## Consulte también

[ShapeEqCompContext](/reference/audio/shapeeqcompcontext/shapeeqcompcontext_members)
