Skip to main content

SetShapeDmaCommand

SHAPE DMA コマンドを初期化します。

Syntax

Parameters

command   _Inout_
Type: SHAPE_FLOWGRAPH_COMMAND*
初期化する SHAPE_FLOWGRAPH_COMMAND コマンド。 contextId   
Type: UINT32
このコマンドが参照する DMA コンテキスト ID (すなわちインデックス)。 mixBuffer   
Type: UINT32
writeToMemory フラグの設定に応じて、読み取り元または書き込み先となるミックスバッファー。 writeToMixBuffer   
Type: bool
DMA コマンドが指定のミックスバッファーへ書き込み、メインメモリから読み取る場合は true。DMA コマンドが指定のミックスバッファーから読み取り、メインメモリへ書き込む場合は false。

Return value

Type: HRESULT 関数が成功した場合は S_OK を返します。1 つ以上の引数が無効な場合は E_INVALIDARG を返します。

Remarks

ダイレクトメモリアクセス (DMA) システムは、float から整数、および整数から float への自動変換を伴う読み取り/書き込み機能をサポートします。DMA システムは、128 サンプルブロック単位のデインターリーブされたサンプルを含むリングバッファーを使用します。 DMA プロセッサーにより、Scalable Hardware Audio Processing Engine (SHAPE) はミックスバッファーからメインシステムメモリにデータを送信したり、メインシステムメモリからミックスバッファーへデータを取得してさらなる処理を行ったりできます。DMA はブロック単位で行われ、1 度に 1 オーディオフレーム分のデータが転送されます。ブロックインターリーブされたデータを扱えるようにするため、スキップ値により、サンプルの読み取り/書き込み時にベースアドレスからスキップするシステムメモリ内のオーディオフレームブロック数を指定します。マルチチャンネルストリームには、チャンネルごとに 1 つの DMA コンテキストが必要です。オーディオデータサンプルは常に 32 ビット値として読み書きされ、整数または float のいずれになるかは DMA コンテキストの floatConvert フラグで指定されます。
DMA の方向 (読み取りまたは書き込み) は DMA コマンドで指定され、DMA コンテキストでは指定されません。これによりデータ帯域幅を削減できます。DMA エンジンには信号処理機能はありませんが、float から整数への変換、または整数から float への変換を実行できます。これにより、アプリケーション CPU は浮動小数点形式でデータサンプルを処理できます。

Requirements

Header: shapeflowgraph.h Supported platforms: XBOX One ファミリー本体および XBOX Series 本体

See also

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