Skip to main content

Deinterleave

This function deinterleaves audio samples such that all samples corresponding to a specified channel are contiguous.

Syntax

Parameters

pOutput   _Out_writes_((uChannelCount * uFrameCount) / 4)
Type: XMVECTOR* __restrict
Caller-provided array of XMVECTOR elements that receives the samples in deinterleaved form. It cannot overlap pInput, and it must have at least (uChannelCount × uFrameCount) ÷ 4 elements. pInput   _In_reads_((uChannelCount * uFrameCount) / 4)
Type: XMVECTOR* __restrict
Caller-provided array of XMVECTOR elements that supplies audio samples in interleaved form. It cannot overlap pOutput, and it must have at least (uChannelCount × uFrameCount) ÷ 4 elements. uChannelCount   _In_
Type: size_t
Number of channels contained in the data. uChannelCount must be greater than 1. uFrameCount   _In_
Type: size_t
Number of frames of valid data. uFrameCount must be greater than 0.

Return value

Type: void None.

Remarks

As an example, audio of the form [LRLRLR] becomes [LLLRRR]. For more information about deinterleave audio channels, see De-interleave audio channels using SIMD instructions. For more information about the interleave function, see Interleave.

Requirements

Header: xdsp.h Supported platforms: XBOX One family consoles and XBOX Series consoles

See also

xdsp Game for Windows and the DirectX SDK blog FFTInterleaved
Last modified on August 20, 2026