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

# XApuDecodeConvertActivateCommand

> XApuDecodeConvertActivateCommand

# XApuDecodeConvertActivateCommand

デコードまたはデコード変換のアクティブ化パラメーターを定義します。

## 構文

```cpp theme={null}
typedef struct XApuDecodeConvertActivateCommand {  
    XApuCommandId id;  
    uint32_t channelCount;  
    uint32_t initializeDataLength;  
    void* initializeData;  
    float startPitch;  
    uint32_t processingBufferLength;  
    void* processingBuffer;  
} XApuDecodeConvertActivateCommand  
```

### メンバー

*id*\
型: [XApuCommandId](/reference/audio/xapu/structs/xapucommandid)

処理のためにハードウェアに送信される基本コマンド パラメーターを指定します。同じ XApuCommandId が [XApuResult::id](/reference/audio/xapu/structs/xapuresult) に設定されます。

*channelCount*\
型: uint32\_t

ストリームのチャネル数を指定します。モノラルとステレオに対してそれぞれ 1 と 2 のみサポートされます。

*initializeDataLength*\
型: uint32\_t

使用されず、0 に設定する必要があります。

*initializeData*\
型: void\*

使用されず、NULL に設定する必要があります。

*startPitch*\
型: float

コンバーターがアクティブな場合の開始ピッチ。デコードのみの場合は、この値は無視されます。

*processingBufferLength*\
型: uint32\_t

[XApuDecodeConvertActivateCommand::processingBuffer](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) の長さ (バイト単位)。長さは 16 の倍数である必要があります。

*processingBuffer*\
型: void\*

[XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype) と [XApuProcessType::ConvertPCM](/reference/audio/xapu/enums/xapuprocesstype) 種別のために、非圧縮 PCM float (32 ビット) データを格納する中間バッファー。
処理バッファーは [XApuConnectOutputParameters::baseData](/reference/audio/xapu/structs/xapuconnectoutputparameters) から切り出され、[XApuDecodeConvertActivateCommand::processingBuffer](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) と [XApuDecodeConvertActivateCommand::processingBufferLength](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) 引数を使用して [XApuCommandType::Activate](/reference/audio/xapu/enums/xapucommandtype) コマンド経由で XAPU に渡されます。

処理バッファーは、[XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype) の場合、デコーダーからのまだ変換されていない中間 PCM float (32 ビット) データを格納するために必要です。[XApuProcessType::ConvertPCM](/reference/audio/xapu/enums/xapuprocesstype) の場合は、呼び出し側からの、まだ変換されていない PCM float データを格納します。このバッファーは 16 バイト境界にアラインされている必要があります。
また、[XApuProcessType::DecodeConvertOpus](/reference/audio/xapu/enums/xapuprocesstype) と [XApuProcessType::ConvertPCM](/reference/audio/xapu/enums/xapuprocesstype) の両方の種別で、まだ出力する準備ができていない変換済みデータも格納します。

XAPU は内部的に処理バッファーを 2 つのセグメントに分割します。未変換の入力 PCM データ用の入力セグメントと、変換された出力 PCM データ用の出力セグメントです。

入力セグメントの長さは、常に Opus パケット持続時間の 2 倍である必要があります。すなわち (2 x 960 x ChannelCount x sizeof(float))。

出力セグメントは、変換されたデータが 512 [XApuConnectInputParameters::maxFrameCountPerOutput](/reference/audio/xapu/structs/xapuconnectinputparameters) 未満の場合に、そのデータを格納するために使用されます。

XAPU は [XApuConnectInputParameters::maxFrameCountPerOutput](/reference/audio/xapu/structs/xapuconnectinputparameters) フレーム未満であってもデータを出力するため、[XApuCommandOptions::Flush](/reference/audio/xapu/enums/xapucommandoptions) が設定されている場合、出力セグメントは使用されません。

出力セグメントの長さは、[XApuConnectInputParameters::maxFrameCountPerOutput](/reference/audio/xapu/structs/xapuconnectinputparameters) x ChannelCount x sizeof(float) です。

[XApuDecodeConvertActivateCommand::processingBufferLength](/reference/audio/xapu/structs/xapudecodeconvertactivatecommand) はストリームごとに一定の数値で、1/8 から 8/1 までのすべてのピッチ値に対して機能し、次のように設定する必要があります。

ProcessingBufferLength = (2 x 960 x ChannelCount x sizeof(float)) + ([XApuConnectInputParameters::maxFrameCountPerOutput](/reference/audio/xapu/structs/xapuconnectinputparameters) x ChannelCount x sizeof(float))\
ChannelCount = 1 または 2

[XApuConnectInputParameters::maxFrameCountPerOutput](/reference/audio/xapu/structs/xapuconnectinputparameters) = 256、480、512、960、または 1024。

## 解説

`XApuDecodeConvertActivateCommand` は、デコード変換のアクティブ化パラメーターに使用されます。`XApuCommandId` メンバーの詳細については、[XApuCommandId](/reference/audio/xapu/structs/xapucommandid) を参照してください。`XApuProcessType` 定数の詳細については、[XApuProcessType](/reference/audio/xapu/enums/xapuprocesstype) を参照してください。

## 要件

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

**サポートされているプラットフォーム:** XBOX Series X|S

## 関連項目

[XApuEnqueueCommand](/reference/audio/xapu/functions/xapuenqueuecommand)\
[XAPU](/reference/audio/xapu/xapu_members)


## Related topics

- [XApuCommandId](/ja-jp/reference/audio/xapu/structs/xapucommandid.md)
- [XApuDecodeConvertCommand](/ja-jp/reference/audio/xapu/structs/xapudecodeconvertcommand.md)
- [XAPU](/ja-jp/reference/audio/xapu/xapu_members.md)
- [XApuEnqueueCommand](/ja-jp/reference/audio/xapu/functions/xapuenqueuecommand.md)
- [XApuConnectInputParameters](/ja-jp/reference/audio/xapu/structs/xapuconnectinputparameters.md)
