> ## 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

Le contexte de l'égaliseur et du compresseur (EQComp).

## Syntaxe

```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  
```

### Membres

*timestamp*\
Type : UINT32

Lecture : Horodatage de la fin du traitement du contexte.

*Reserved0*\
Type : UINT32

Réservé.

*internalSaturate*\
Type : UINT32

Lecture : 1 si EQ/Comp est saturé; 0 sinon.

*mixBufPeakMag*\
Type : UINT32

Lecture : Amplitude de crête de la mémoire tampon de mixage de sortie.

*peakMag*\
Type : UINT32

Lecture : Amplitude de crête de la sortie.

*eqAB0*\
Type : UINT32

Lecture/Écriture : Coefficient b0 du filtre d'égaliseur A.

*eqAB1\_L*\
Type : UINT32

Lecture/Écriture : Coefficient b1 du filtre d'égaliseur A, 8 bits de poids faible.

*eqAB1\_H*\
Type : UINT32

Lecture/Écriture : Coefficient b1 du filtre d'égaliseur A, 16 bits de poids fort.

*eqAB2\_L*\
Type : UINT32

Lecture/Écriture : Coefficient b2 du filtre d'égaliseur A, 16 bits de poids faible.

*eqAB2\_H*\
Type : UINT32

Lecture/Écriture : Coefficient b2 du filtre d'égaliseur A, 8 bits de poids fort.

*eqAA1*\
Type : UINT32

Lecture/Écriture : Coefficient a1 du filtre d'égaliseur A.

*eqAA2*\
Type : UINT32

Lecture/Écriture : Coefficient a2 du filtre d'égaliseur A.

*eqBB0\_L*\
Type : UINT32

Lecture/Écriture : Coefficient b0 du filtre d'égaliseur B, 8 bits de poids faible.

*eqBB0\_H*\
Type : UINT32

Lecture/Écriture : Coefficient b0 du filtre d'égaliseur B, 16 bits de poids fort.

*eqBB1\_L*\
Type : UINT32

Lecture/Écriture : Coefficient b1 du filtre d'égaliseur B, 16 bits de poids faible.

*eqBB1\_H*\
Type : UINT32

Lecture/Écriture : Coefficient b1 du filtre d'égaliseur B, 8 bits de poids fort.

*eqBB2*\
Type : UINT32

Lecture/Écriture : Coefficient b2 du filtre d'égaliseur B.

*eqBA1*\
Type : UINT32

Lecture/Écriture : Coefficient a1 du filtre d'égaliseur B.

*eqBA2\_L*\
Type : UINT32

Lecture/Écriture : Coefficient a2 du filtre d'égaliseur B, 8 bits de poids faible.

*eqBA2\_H*\
Type : UINT32

Lecture/Écriture : Coefficient a2 du filtre d'égaliseur B, 16 bits de poids fort.

*eqCB0\_L*\
Type : UINT32

Lecture/Écriture : Coefficient b0 du filtre d'égaliseur C, 16 bits de poids faible.

*eqCB0\_H*\
Type : UINT32

Lecture/Écriture : Coefficient b0 du filtre d'égaliseur C, 8 bits de poids fort.

*eqCB1*\
Type : UINT32

Lecture/Écriture : Coefficient b1 du filtre d'égaliseur C.

*eqCB2*\
Type : UINT32

Lecture/Écriture : Coefficient b2 du filtre d'égaliseur C.

*eqCA1\_L*\
Type : UINT32

Lecture/Écriture : Coefficient a1 du filtre d'égaliseur C, 8 bits de poids faible.

*eqCA1\_H*\
Type : UINT32

Lecture/Écriture : Coefficient a1 du filtre d'égaliseur C, 16 bits de poids fort.

*eqCA2\_L*\
Type : UINT32

Lecture/Écriture : Coefficient a2 du filtre d'égaliseur C, 16 bits de poids faible.

*eqCA2\_H*\
Type : UINT32

Lecture/Écriture : Coefficient a2 du filtre d'égaliseur C, 8 bits de poids fort.

*Reserved1*\
Type : UINT32

Réservé.

*eqAInputDelay0*\
Type : UINT32

Lecture : Délai d'entrée du canal gauche.

*Reserved2*\
Type : UINT32

Réservé.

*eqAInputDelay1*\
Type : UINT32

Lecture : Délai d'entrée du canal droit.

*Reserved*\
Type : UINT32

Réservé.

*eqDelayElements2*\
Type : UINT32

Lecture : Élément de délai.

*eqDelayElements3*\
Type : UINT32

Lecture : Élément de délai.

*eqDelayElements4*\
Type : UINT32

Lecture : Élément de délai.

*eqDelayElements5*\
Type : UINT32

Lecture : Élément de délai.

*eqDelayElements6*\
Type : UINT32

Lecture : Élément de délai.

*eqDelayElements7*\
Type : UINT32

Lecture : Élément de délai.

*compInputLevel*\
Type : UINT32

Lecture : InputLevel calculé pour l'entrée du compresseur, au format u8.23 (-0x0000\_0000 à 0x7FFF\_FFFF). Les huit bits entiers permettent à la section d'égaliseur d'avoir un gain allant jusqu'à 48 dB avant le compresseur, sans écrêtage.

*compGainReduction*\
Type : UINT32

Lecture : Atténuation calculée pour le compresseur, au format u1.23 (-0x00\_0000 à 0x80\_0000). Il s'agit d'un multiplicateur linéaire; une valeur de 0x40\_0000, qui correspond à 0,5, représente un gain de -6 dB ou une réduction de gain de 6 dB.

*Reserved4*\
Type : UINT32

Réservé.

*compGain*\
Type : UINT32

Lecture/Écriture : Valeur actuelle du gain de sortie (de compensation), au format u3.13 (-0x0000 à 0xFFFF).

*Reserved5*\
Type : UINT32

Réservé.

*eqAB0Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b0 du filtre d'égaliseur A.

*eqAB1Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b1 du filtre d'égaliseur A, 8 bits de poids faible.

*eqAB1Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b1 du filtre d'égaliseur A, 16 bits de poids fort.

*eqAB2Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b2 du filtre d'égaliseur A, 16 bits de poids faible.

*eqAB2Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b2 du filtre d'égaliseur A, 8 bits de poids fort.

*eqAA1Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a1 du filtre d'égaliseur A.

*eqAA2Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a2 du filtre d'égaliseur A.

*eqBB0Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b0 du filtre d'égaliseur B, 8 bits de poids faible.

*eqBB0Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b0 du filtre d'égaliseur B, 16 bits de poids fort.

*eqBB1Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b1 du filtre d'égaliseur B, 16 bits de poids faible.

*eqBB1Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b1 du filtre d'égaliseur B, 8 bits de poids fort.

*eqBB2Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b2 du filtre d'égaliseur B.

*eqBA1Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a1 du filtre d'égaliseur B.

*eqBA2Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a2 du filtre d'égaliseur B, 8 bits de poids faible.

*eqBA2Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a2 du filtre d'égaliseur B, 16 bits de poids fort.

*eqCB0Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b0 du filtre d'égaliseur C, 16 bits de poids faible.

*eqCB0Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b0 du filtre d'égaliseur C, 8 bits de poids fort.

*eqCB1Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b1 du filtre d'égaliseur C.

*eqCB2Target*\
Type : UINT32

Lecture/Écriture : Cible du coefficient b2 du filtre d'égaliseur C.

*eqCA1Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a1 du filtre d'égaliseur C, 8 bits de poids faible.

*eqCA1Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a1 du filtre d'égaliseur C, 16 bits de poids fort.

*eqCA2Target\_L*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a2 du filtre d'égaliseur C, 16 bits de poids faible.

*eqCA2Target\_H*\
Type : UINT32

Lecture/Écriture : Cible du coefficient a2 du filtre d'égaliseur C, 8 bits de poids fort.

*Reserved6*\
Type : UINT32

Réservé.

*compRelease*\
Type : UINT32

Écriture : Taux de relâchement du compresseur, au format u1.23 (-0x00\_0001 à 0x80\_0000). Il s'agit de la quantité dont *compGainReduction* est incrémenté à chaque période d'échantillonnage lorsque le compresseur/expanseur est en phase de relâchement. Si *compLogGain* est défini, *compRelease* est décalé vers la droite afin d'aligner le bit 23 sur le bit le plus significatif de la valeur actuelle de *compGainReduction*; l'incrément devient ainsi exponentiel. La valeur 0 n'est pas valide pour ce membre et entraînera un fonctionnement incorrect.

*Reserved7*\
Type : UINT32

Réservé.

*compExpand*\
Type : UINT32

Écriture : Consultez SHAPE\_EQCOMP\_EXPAND\_MODE.

*compLogGain*\
Type : UINT32

Écriture : Consultez SHAPE\_EQCOMP\_LOG\_GAIN. Les phases d'attaque et de relâchement décrémentent et incrémentent alors la réduction de gain de façon exponentielle, afin de la rendre linéaire dans l'espace logarithmique, c'est-à-dire linéaire en dB.

*compSidechainMode*\
Type : UINT32

Écriture : Consultez SHAPE\_EQCOMP\_SIDECHAIN\_MODE.

*compMode*\
Type : UINT32

Écriture : Consultez SHAPE\_EQCOMP\_COMPRESSOR\_MODE.

*compEnable*\
Type : UINT32

Écriture : 1 == activé, 0 == désactivé.

*compThreshold*\
Type : UINT32

Écriture : Valeur du seuil, au format u1.23 (-0x00\_0000 à 0x80\_0000).

*Reserved8*\
Type : UINT32

Réservé.

*compAttack*\
Type : UINT32

Écriture : Taux d'attaque du compresseur, au format u1.23 (-0x00\_0001 à 0x80\_0000). Il s'agit de la quantité dont *compGainReduction* est décrémenté à chaque période d'échantillonnage lorsque le compresseur/expanseur est en phase d'attaque. Si *compLogGain* est défini, *compAttack* est décalé vers la droite afin d'aligner le bit 23 sur le bit le plus significatif de la valeur actuelle de *compGainReduction*; l'incrément devient ainsi exponentiel. La valeur 0 n'est pas valide pour ce membre et entraînera un fonctionnement incorrect.

*Reserved9*\
Type : UINT32

Réservé.

*compOneOverRatio*\
Type : UINT32

Écriture : Pente du compresseur, au format u1.15 (-0x0000 à 0x8000). Il s'agit de l'inverse du contrôle de taux traditionnel des compresseurs. Pour un taux de 1:1, définissez *compOneOverRatio* sur 0x8000. Pour un taux de 4:1, définissez *compOneOverRatio* sur 0x2000. La valeur 0x0000 correspond à un taux de infini:1.

*compGainTarget*\
Type : UINT32

Écriture : Cible définissable par l'utilisateur pour le gain de sortie (de compensation). Pendant une trame audio, le gain passe progressivement de la valeur actuelle à *compGainTarget*, au format u3.13 (-0x0000 à 0xFFFF).

## Remarques

Cette structure contient le contexte de l'égaliseur (EQ) et du compresseur. Le moteur SHAPE (Scalable Hardware Audio Processing Engine) peut traiter jusqu'à 512 contextes EQComp par trame audio.

Pour plus d'informations, consultez [Égalisation et compression](/fr-CA/build/console-features/audio/overviews/shape-overview#ID4ECF) dans [Vue d'ensemble de SHAPE](/fr-CA/build/console-features/audio/overviews/shape-overview).

## Configuration requise

**En-tête :** shapeeqcompcontext.h

**Plateformes prises en charge :** Consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Vue d'ensemble de l'ACP](/fr-CA/build/console-features/audio/overviews/acp-overview)

## Voir aussi

[ShapeEqCompContext](/fr-CA/reference/audio/shapeeqcompcontext/shapeeqcompcontext_members)


## Related topics

- [SHAPE_EQCOMP_CONTEXT](/reference/audio/shapeeqcompcontext/structs/shape_eqcomp_context.md)
- [ShapeEqCompContext](/reference/audio/shapeeqcompcontext/shapeeqcompcontext_members.md)
- [ACP_COMMAND_UPDATE_EQCOMP_CONTEXT_ENTRY](/reference/audio/acphal/structs/acp_command_update_eqcomp_context_entry.md)
- [SHAPE_EQCOMP_FILTER_INDEX](/reference/audio/shapeeqcompcontext/enums/shape_eqcomp_filter_index.md)
- [SHAPE_EQCOMP_COMPRESSOR_MODE](/reference/audio/shapeeqcompcontext/enums/shape_eqcomp_compressor_mode.md)
