Skip to main content

GetShapeDmaPeakMagnitude

取得峰值大小。

語法

參數

context   _In_
類型: SHAPE_DMA_CONTEXT*
SHAPE_DMA_CONTEXT 結構的指標。

傳回值

類型: float 峰值大小。

備註

在遊戲音訊引擎中,管理動態餘裕 (headroom) 可能非常困難。因此,每個 SHAPE 區塊都會維護與訊號餘裕和增益相關的狀態。每個區塊 (取樣率轉換器 [SRC] 區塊除外) 都會記錄處理期間是否發生內部飽和。 除了內部飽和旗標之外,每個硬體區塊也會維護兩個 4 位元數字,代表硬體區塊輸出的大小。大小的計算方式是判斷音訊框架期間的峰值輸出,並計算峰值絕對值的前導零個數。其中一個 4 位元數字保存持續性峰值大小;另一個則由硬體在每個音訊框架重設。 除了監視每個個別硬體區塊的峰值大小之外,也會維護混音緩衝區的峰值大小。當硬體區塊的輸出加入混音緩衝區時,會以相同方式 (計算前導零) 計算峰值大小。每個硬體區塊狀態都會另外維護一組 4 位元峰值大小值。這些值代表硬體區塊的輸出累加到混音緩衝區之後,混音緩衝區的峰值大小。其中一個 4 位元數字代表持續進行的持續性峰值大小;另一個則在每個音訊框架更新。即使實際上代表的是混音緩衝區狀態,峰值大小值仍會儲存在 SHAPE 區塊的內容中。 峰值大小依照下表進行編碼。 為了協助管理餘裕並避免溢位和飽和,除了精細的增益設定之外,也可以在硬體區塊的輸出累加到輸出混音緩衝區之前,對其執行 0 到 7 位元的右移。這是在每個 SHAPE 硬體區塊的內容中指定。

需求

標頭: shapedmacontext.h 支援的平台: XBOX One 系列主機和 XBOX Series 主機

另請參閱

SHAPE 概觀
ShapeDmaContext
Last modified on October 6, 2026