Skip to main content

XApuDecodeConvertActivateCommand

定義解碼或解碼轉換的啟用參數

語法

成員

id
類型:XApuCommandId
指定要傳送至硬體進行處理的基本命令參數。相同的 XApuCommandId 會設定至 XApuResult::id。 channelCount
類型:uint32_t
指定串流通道數目。僅支援 1 和 2,分別代表單聲道和立體聲。 initializeDataLength
類型:uint32_t
未使用,應設定為零。 initializeData
類型:void*
未使用,應設定為 NULL。 startPitch
類型:float
轉換器作用中時的起始音高。在僅解碼的情況下,會忽略此值。 processingBufferLength
類型:uint32_t
XApuDecodeConvertActivateCommand::processingBuffer 的長度 (以位元組為單位)。長度必須是 16 的倍數。 processingBuffer
類型:void*
中繼緩衝區,用來為 XApuProcessType::DecodeConvertOpus 和 XApuProcessType::ConvertPCM 類型儲存未壓縮的 PCM float (32 位元) 資料 處理緩衝區是從 XApuConnectOutputParameters::baseData 中劃分出來,並透過 XApuCommandType::Activate 命令,使用 XApuDecodeConvertActivateCommand::processingBuffer 和 XApuDecodeConvertActivateCommand::processingBufferLength 引數傳遞給 XAPU 在 XApuProcessType::DecodeConvertOpus 的情況下,需要處理緩衝區來儲存解碼器產生但尚未轉換的中繼 PCM float (32 位元) 資料。在 XApuProcessType::ConvertPCM 的情況下,它會儲存呼叫端提供但尚未轉換的 PCM float 資料。此緩衝區必須為 16 位元組對齊。 此外,對於 XApuProcessType::DecodeConvertOpus 和 XApuProcessType::ConvertPCM 這兩種類型,它也會儲存已轉換但尚未準備好輸出的資料。 XAPU 會在內部將處理緩衝區分成兩個區段:一個是用於未轉換輸入 PCM 資料的輸入區段, 另一個是用於已轉換輸出 PCM 資料的輸出區段。 輸入區段的長度應一律為 Opus 封包持續時間長度的兩倍,即 (2 x 960 x ChannelCount x sizeof(float)) 當已轉換的資料少於 512 XApuConnectInputParameters::maxFrameCountPerOutput 時,會使用輸出區段來儲存該資料 設定 XApuCommandOptions::Flush 時不會使用輸出區段,因為即使資料少於 XApuConnectInputParameters::maxFrameCountPerOutput 個框架,XAPU 也會輸出資料。 輸出區段的長度為 XApuConnectInputParameters::maxFrameCountPerOutput x ChannelCount x sizeof(float) XApuDecodeConvertActivateCommand::processingBufferLength 是每個串流的固定數值,適用於從 1/8 到 8/1 的所有音高值,應依下列方式設定: ProcessingBufferLength = (2 x 960 x ChannelCount x sizeof(float)) + (XApuConnectInputParameters::maxFrameCountPerOutput x ChannelCount x sizeof(float))
ChannelCount = 1 或 2
XApuConnectInputParameters::maxFrameCountPerOutput = 256、480、512、960 或 1024。

備註

由 XApuDecodeConvertActivateCommand 用來解碼及轉換啟用參數。如需 XApuCommandId 成員的資訊,請參閱 XApuCommandId。如需 XApuProcessType 常數的資訊,請參閱 XApuProcessType。

需求

標頭: xapu.h 支援的平台: XBOX Series X|S

另請參閱

XApuEnqueueCommand
XAPU
Last modified on October 6, 2026