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

等化器與壓縮器 (EQComp) 內容。

## 語法

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

### 成員

*timestamp*\
類型: UINT32

讀取:內容處理完成的時間戳記。

*Reserved0*\
類型: UINT32

保留。

*internalSaturate*\
類型: UINT32

讀取:若 EQ/Comp 已飽和則為 1,否則為 0。

*mixBufPeakMag*\
類型: UINT32

讀取:輸出混音緩衝區的峰值量級。

*peakMag*\
類型: UINT32

讀取:輸出的峰值量級。

*eqAB0*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 b0。

*eqAB1\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 b1,低 8 位元。

*eqAB1\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 b1,高 16 位元。

*eqAB2\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 b2,低 16 位元。

*eqAB2\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 b2,高 8 位元。

*eqAA1*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 a1。

*eqAA2*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的係數 a2。

*eqBB0\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 b0,低 8 位元。

*eqBB0\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 b0,高 16 位元。

*eqBB1\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 b1,低 16 位元。

*eqBB1\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 b1,高 8 位元。

*eqBB2*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 b2。

*eqBA1*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 a1。

*eqBA2\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 a2,低 8 位元。

*eqBA2\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的係數 a2,高 16 位元。

*eqCB0\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 b0,低 16 位元。

*eqCB0\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 b0,高 8 位元。

*eqCB1*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 b1。

*eqCB2*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 b2。

*eqCA1\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 a1,低 8 位元。

*eqCA1\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 a1,高 16 位元。

*eqCA2\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 a2,低 16 位元。

*eqCA2\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的係數 a2,高 8 位元。

*Reserved1*\
類型: UINT32

保留。

*eqAInputDelay0*\
類型: UINT32

讀取:左聲道的輸入延遲。

*Reserved2*\
類型: UINT32

保留。

*eqAInputDelay1*\
類型: UINT32

讀取:右聲道的輸入延遲。

*Reserved*\
類型: UINT32

保留。

*eqDelayElements2*\
類型: UINT32

讀取:延遲元素。

*eqDelayElements3*\
類型: UINT32

讀取:延遲元素。

*eqDelayElements4*\
類型: UINT32

讀取:延遲元素。

*eqDelayElements5*\
類型: UINT32

讀取:延遲元素。

*eqDelayElements6*\
類型: UINT32

讀取:延遲元素。

*eqDelayElements7*\
類型: UINT32

讀取:延遲元素。

*compInputLevel*\
類型: UINT32

讀取:針對壓縮器輸入計算出的 InputLevel,採用 u8.23 格式 (-0x0000\_0000 到 0x7FFF\_FFFF)。八個整數位元可讓等化器區段在壓縮器之前具有最高 48 dB 的增益,而不會發生削波。

*compGainReduction*\
類型: UINT32

讀取:計算出的壓縮器衰減量,採用 u1.23 格式 (-0x00\_0000 到 0x80\_0000)。這是線性乘數;值 0x40\_0000 對應 0.5,代表 -6 dB 的增益,或 6 dB 的增益衰減。

*Reserved4*\
類型: UINT32

保留。

*compGain*\
類型: UINT32

讀取/寫入:目前的輸出 (補償) 增益值,採用 u3.13 格式 (-0x0000 到 0xFFFF)。

*Reserved5*\
類型: UINT32

保留。

*eqAB0Target*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 b0。

*eqAB1Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 b1,低 8 位元。

*eqAB1Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 b1,高 16 位元。

*eqAB2Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 b2,低 16 位元。

*eqAB2Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 b2,高 8 位元。

*eqAA1Target*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 a1。

*eqAA2Target*\
類型: UINT32

讀取/寫入:等化器濾波器 A 的目標係數 a2。

*eqBB0Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 b0,低 8 位元。

*eqBB0Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 b0,高 16 位元。

*eqBB1Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 b1,低 16 位元。

*eqBB1Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 b1,高 8 位元。

*eqBB2Target*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 b2。

*eqBA1Target*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 a1。

*eqBA2Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 a2,低 8 位元。

*eqBA2Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 B 的目標係數 a2,高 16 位元。

*eqCB0Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 b0,低 16 位元。

*eqCB0Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 b0,高 8 位元。

*eqCB1Target*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 b1。

*eqCB2Target*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 b2。

*eqCA1Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 a1,低 8 位元。

*eqCA1Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 a1,高 16 位元。

*eqCA2Target\_L*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 a2,低 16 位元。

*eqCA2Target\_H*\
類型: UINT32

讀取/寫入:等化器濾波器 C 的目標係數 a2,高 8 位元。

*Reserved6*\
類型: UINT32

保留。

*compRelease*\
類型: UINT32

寫入:壓縮器的釋放速率,採用 u1.23 格式 (-0x00\_0001 到 0x80\_0000)。這是壓縮器/擴展器處於釋放階段時,每個取樣週期 *compGainReduction* 遞增的量。若已設定 *compLogGain*,*compRelease* 會向右位移,使位元 23 與 *compGainReduction* 目前值的最高有效位元對齊;這會使遞增呈指數變化。值 0 對此成員無效,並會導致運作不正確。

*Reserved7*\
類型: UINT32

保留。

*compExpand*\
類型: UINT32

寫入:請參閱 SHAPE\_EQCOMP\_EXPAND\_MODE。

*compLogGain*\
類型: UINT32

寫入:請參閱 SHAPE\_EQCOMP\_LOG\_GAIN。這會使起音與釋放階段以指數方式遞減及遞增增益衰減量,使其在對數空間中呈線性;也就是以 dB 為單位呈線性。

*compSidechainMode*\
類型: UINT32

寫入:請參閱 SHAPE\_EQCOMP\_SIDECHAIN\_MODE。

*compMode*\
類型: UINT32

寫入:請參閱 SHAPE\_EQCOMP\_COMPRESSOR\_MODE。

*compEnable*\
類型: UINT32

寫入:1 == 啟用,0 == 停用。

*compThreshold*\
類型: UINT32

寫入:臨界值,採用 u1.23 格式 (-0x00\_0000 到 0x80\_0000)。

*Reserved8*\
類型: UINT32

保留。

*compAttack*\
類型: UINT32

寫入:壓縮器的起音速率,採用 u1.23 格式 (-0x00\_0001 到 0x80\_0000)。這是壓縮器/擴展器處於起音階段時,每個取樣週期 *compGainReduction* 遞減的量。若已設定 *compLogGain*,*compAttack* 會向右位移,使位元 23 與 *compGainReduction* 目前值的最高有效位元對齊;這會使遞增呈指數變化。值 0 對此成員無效,並會導致運作不正確。

*Reserved9*\
類型: UINT32

保留。

*compOneOverRatio*\
類型: UINT32

寫入:壓縮器的斜率,採用 u1.15 格式 (-0x0000 到 0x8000)。這是壓縮器上傳統比率控制的倒數。若要使用 1:1 的比率,請將 *compOneOverRatio* 設為 0x8000。若要使用 4:1 的比率,請將 *compOneOverRatio* 設為 0x2000。值 0x0000 代表無限:1 的比率。

*compGainTarget*\
類型: UINT32

寫入:使用者可設定的輸出 (補償) 增益目標值。在一個音訊框架期間,增益會從目前值漸變至 *compGainTarget*,採用 u3.13 格式 (-0x0000 到 0xFFFF)。

## 備註

此結構包含等化器 (EQ) 與壓縮器的內容。可擴充硬體音訊處理引擎 (SHAPE) 每個音訊框架最多可處理 512 個 EQComp 內容。

如需詳細資訊,請參閱 [SHAPE 概觀](/zh-TW/build/console-features/audio/overviews/shape-overview)中的[等化與壓縮](/zh-TW/build/console-features/audio/overviews/shape-overview#ID4ECF)。

## 需求

**標頭:** shapeeqcompcontext.h

**支援的平台:** XBOX One 系列主機和 XBOX Series 主機

## 概念文件

* [ACP 概觀](/zh-TW/build/console-features/audio/overviews/acp-overview)

## 另請參閱

[ShapeEqCompContext](/zh-TW/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)
