Skip to main content

XApuDecodeConvertActivateCommand

Define los parámetros de activación de descodificación o descodificación-conversión

Sintaxis

Miembros

id
Tipo: XApuCommandId
Especifica los parámetros de comando base que se enviarán al hardware para su procesamiento. El mismo XApuCommandId se establecerá en XApuResult::id. channelCount
Tipo: uint32_t
Especifica el número de canales de la secuencia. Solo se admiten 1 y 2 para mono y estéreo, respectivamente. initializeDataLength
Tipo: uint32_t
No se usa y debe establecerse en cero. initializeData
Tipo: void*
No se usa y debe establecerse en NULL. startPitch
Tipo: float
Tono inicial si el convertidor está activo. En el caso de solo descodificación, este valor se omite. processingBufferLength
Tipo: uint32_t
Longitud de XApuDecodeConvertActivateCommand::processingBuffer en bytes. La longitud debe ser un múltiplo de 16. processingBuffer
Tipo: void*
Búfer intermedio para almacenar datos PCM float (32 bits) sin comprimir para los tipos XApuProcessType::DecodeConvertOpus y XApuProcessType::ConvertPCM El búfer de procesamiento se extrae de XApuConnectOutputParameters::baseData y se pasa a XAPU a través del comando XApuCommandType::Activate mediante los argumentos XApuDecodeConvertActivateCommand::processingBuffer y XApuDecodeConvertActivateCommand::processingBufferLength El búfer de procesamiento es necesario para almacenar los datos intermedios PCM float (32 bits) del descodificador que aún no se han convertido para el caso de XApuProcessType::DecodeConvertOpus. Para el caso de XApuProcessType::ConvertPCM, almacenará los datos PCM float del autor de la llamada que aún no se han convertido. Este búfer debe estar alineado a 16 bytes. También almacena los datos convertidos que aún no están listos para salir, tanto para el tipo XApuProcessType::DecodeConvertOpus como para XApuProcessType::ConvertPCM. XAPU divide internamente el búfer de procesamiento en dos segmentos: un segmento de entrada para los datos PCM de entrada sin convertir y un segmento de salida para los datos PCM de salida convertidos. La longitud del segmento de entrada siempre debe ser el doble de la longitud de la duración del paquete Opus, es decir, (2 x 960 x ChannelCount x sizeof(float)) El segmento de salida se usa para almacenar los datos convertidos cuando son menos de 512 XApuConnectInputParameters::maxFrameCountPerOutput El segmento de salida no se usará cuando se establezca XApuCommandOptions::Flush, ya que XAPU generará los datos de salida incluso si son menos de XApuConnectInputParameters::maxFrameCountPerOutput fotogramas. La longitud del segmento de salida es XApuConnectInputParameters::maxFrameCountPerOutput x ChannelCount x sizeof(float) XApuDecodeConvertActivateCommand::processingBufferLength es un número constante por secuencia, funciona para todos los valores de tono de 1/8 a 8/1 y debe establecerse de la siguiente manera: ProcessingBufferLength = (2 x 960 x ChannelCount x sizeof(float)) + (XApuConnectInputParameters::maxFrameCountPerOutput x ChannelCount x sizeof(float))
ChannelCount = 1 o 2
XApuConnectInputParameters::maxFrameCountPerOutput = 256, 480, 512, 960 o 1024.

Comentarios

XApuDecodeConvertActivateCommand lo usa para los parámetros de activación de descodificación y conversión. Para obtener información sobre los miembros de XApuCommandId, consulte XApuCommandId. Para obtener información sobre las constantes de XApuProcessType, consulte XApuProcessType.

Requisitos

Encabezado: xapu.h Plataformas compatibles: XBOX Series X|S

Consulte también

XApuEnqueueCommand
XAPU
Última modificación el 28 de agosto de 2026