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
