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

# GetShapeDmaMixBufferPeakMagnitude

> GetShapeDmaMixBufferPeakMagnitude

# GetShapeDmaMixBufferPeakMagnitude

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

## 構文

```cpp theme={null}
float GetShapeDmaMixBufferPeakMagnitude(  
         const SHAPE_DMA_CONTEXT* context  
)  
```

### パラメーター

*context*   \_In\_\
型: [SHAPE\_DMA\_CONTEXT\*](/reference/audio/shapedmacontext/structs/shape_dma_context)

[SHAPE\_DMA\_CONTEXT](/reference/audio/shapedmacontext/structs/shape_dma_context) 構造体へのポインター。

### 戻り値

型: float

ピーク マグニチュード。

## 解説

タイトルのオーディオ エンジンでは、ヘッドルームの管理が非常に難しくなることがあります。このため、各 [SHAPE](/build/console-features/audio/overviews/shape-overview) ブロックは、シグナル オーバーヘッドおよびゲインに関連付けられた状態を保持します。各ブロック (Sample Rate Convertor \[SRC] ブロックを除く) は、処理中に内部飽和が発生したかどうかを記録します。

内部飽和フラグに加えて、各ハードウェア ブロックは、ハードウェア ブロックの出力の大きさを表す 2 つの 4 ビット数も保持します。この大きさは、オーディオ フレーム中のピーク出力を判定し、その絶対値の先頭のゼロをカウントすることで算出されます。1 つの 4 ビット数は永続的なピーク マグニチュードを保持し、もう 1 つはハードウェアによってオーディオ フレームごとにリセットされます。

各ハードウェア ブロックのピーク マグニチュードを監視するだけでなく、ミックス バッファーのピーク マグニチュードも保持されます。ハードウェア ブロックの出力がミックス バッファーに加算されると、同様の方法 (先頭のゼロのカウント) でピーク マグニチュードが計算されます。各ハードウェア ブロックの状態は、追加でもう 1 組の 4 ビット ピーク マグニチュード値を保持します。これらの値は、ハードウェア ブロックの出力がミックス バッファーに累積された後の、ミックス バッファーのピーク マグニチュードを表します。1 つの 4 ビット数は継続的で永続的なピーク マグニチュードを表し、もう 1 つはオーディオ フレームごとに更新されます。実際にはミックス バッファーの状態を表していますが、ピーク マグニチュード値は SHAPE ブロックのコンテキストに保存されます。

ピーク マグニチュードは次の表に従ってエンコードされます。

| バイナリ値           | 説明                                                                                                                                                                              |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 0B0000          | 飽和: 出力を生成するための計算による値が符号付き 24 ビット範囲をオーバーフローし、最も近い最大値/最小値に置き換えられました。具体的には、8,388,607 (0x7F\_FFFF) より大きい値は 8,388,607 に置き換えられ、-8,388,608 (0x80\_0000) より小さい値は -8,388,608 に置き換えられました。 |
| 0B0001          | ピークの絶対値が MAX >> 1 (0x3F\_FFFF) より大きくなりました。                                                                                                                                      |
| 0B0010          | ピークの絶対値が MAX >> 2 (0x1F\_FFFF) より大きくなりました。                                                                                                                                      |
| 0B0011          | ピークの絶対値が MAX >> 3 より大きくなりました。                                                                                                                                                   |
| 0B0100          | ピークの絶対値が MAX >> 4 より大きくなりました。                                                                                                                                                   |
| 0B0101          | ピークの絶対値が MAX >> 5 より大きくなりました。                                                                                                                                                   |
| 0B0110 ～ 0B1101 | 上記と同様の内容ですが、ピークの絶対値が MAX >> 6 ～ 13 より大きい場合です。                                                                                                                                   |
| 0B1110          | ピークの絶対値が MAX >> 14 より大きくなりました。                                                                                                                                                  |
| 0B1111          | ピークの絶対値が MAX >> 14 以下でした。                                                                                                                                                       |

オーバーヘッドの管理を助け、オーバーフローや飽和を回避するために、細かいゲイン設定に加えて、出力ミックス バッファーへの累積前に、ハードウェア ブロックの出力に対して 0 ～ 7 ビットの右シフトを実行できます。これは各 SHAPE ハードウェア ブロックのコンテキストで指定されます。

## 要件

**ヘッダー:** shapedmacontext.h

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

## 関連項目

[SHAPE の概要](/build/console-features/audio/overviews/shape-overview)\
[ShapeDmaContext](/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [ShapeDmaContext](/ja-jp/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [GetShapeEqCompMixBufferPeakMagnitude](/ja-jp/reference/audio/shapeeqcompcontext/functions/getshapeeqcompmixbufferpeakmagnitude.md)
- [GetShapeFiltVolMixBufferPeakMagnitude](/ja-jp/reference/audio/shapefiltvolcontext/functions/getshapefiltvolmixbufferpeakmagnitude.md)
- [GetShapeSrcMixBufferPeakMagnitude0](/ja-jp/reference/audio/shapesrccontext/functions/getshapesrcmixbufferpeakmagnitude0.md)
- [GetShapeSrcMixBufferPeakMagnitude1](/ja-jp/reference/audio/shapesrccontext/functions/getshapesrcmixbufferpeakmagnitude1.md)
