Skip to main content

GetShapeDmaMixBufferPeakMagnitude

Direct Memory Access (DMA) ミックス バッファーのピーク マグニチュードを取得します。

構文

パラメーター

context   _In_
型: SHAPE_DMA_CONTEXT*
SHAPE_DMA_CONTEXT 構造体へのポインター。

戻り値

型: float ピーク マグニチュード。

解説

タイトルのオーディオ エンジンでは、ヘッドルームの管理が非常に難しくなることがあります。このため、各 SHAPE ブロックは、シグナル オーバーヘッドおよびゲインに関連付けられた状態を保持します。各ブロック (Sample Rate Convertor [SRC] ブロックを除く) は、処理中に内部飽和が発生したかどうかを記録します。 内部飽和フラグに加えて、各ハードウェア ブロックは、ハードウェア ブロックの出力の大きさを表す 2 つの 4 ビット数も保持します。この大きさは、オーディオ フレーム中のピーク出力を判定し、その絶対値の先頭のゼロをカウントすることで算出されます。1 つの 4 ビット数は永続的なピーク マグニチュードを保持し、もう 1 つはハードウェアによってオーディオ フレームごとにリセットされます。 各ハードウェア ブロックのピーク マグニチュードを監視するだけでなく、ミックス バッファーのピーク マグニチュードも保持されます。ハードウェア ブロックの出力がミックス バッファーに加算されると、同様の方法 (先頭のゼロのカウント) でピーク マグニチュードが計算されます。各ハードウェア ブロックの状態は、追加でもう 1 組の 4 ビット ピーク マグニチュード値を保持します。これらの値は、ハードウェア ブロックの出力がミックス バッファーに累積された後の、ミックス バッファーのピーク マグニチュードを表します。1 つの 4 ビット数は継続的で永続的なピーク マグニチュードを表し、もう 1 つはオーディオ フレームごとに更新されます。実際にはミックス バッファーの状態を表していますが、ピーク マグニチュード値は SHAPE ブロックのコンテキストに保存されます。 ピーク マグニチュードは次の表に従ってエンコードされます。 オーバーヘッドの管理を助け、オーバーフローや飽和を回避するために、細かいゲイン設定に加えて、出力ミックス バッファーへの累積前に、ハードウェア ブロックの出力に対して 0 ~ 7 ビットの右シフトを実行できます。これは各 SHAPE ハードウェア ブロックのコンテキストで指定されます。

要件

ヘッダー: shapedmacontext.h サポートされるプラットフォーム: XBOX One ファミリ本体および XBOX Series 本体

関連項目

SHAPE の概要
ShapeDmaContext
最終更新日 2026年8月24日