Skip to main content

FFTInterleaved

Applies a 2N-sample Fast Fourier Transform (FFT), and it unswizzles the result so that the samples are arranged by increasing frequency. Audio is first deinterleaved if it is multichannel.

Syntax

Parameters

pReal   _Inout_updates_(((1 << uLog2Length) * uChannelCount) / 4)
Type: XMVECTOR* __restrict
Real components of the FFT. It must have at least (1 << uLog2Length × uChannelCount) ÷ 4 elements. pImaginary   _Out_writes_(((1 << uLog2Length) * uChannelCount) / 4)
Type: XMVECTOR* __restrict
Imaginary components of the FFT. It must have at least (1 << uLog2Length × uChannelCount) ÷ 4 elements. pUnityTable   _In_reads_(1 << uLog2Length)
Type: XMVECTOR* __restrict
Unity table to be used by the FFT. It must have at least (1 << uLog2Length) elements. uChannelCount   _In_
Type: size_t
Number of channels in the FFT. uChannelCount must be within [1, 6]. uLog2Length   _In_
Type: size_t
Base-2 log of the FFT length in frames. uLog2Length must be within [2, 9].

Return value

Type: void None.

Remarks

The memory pointed to by the parameters pReal, pImaginary, and pUnityTable must not overlap. Use the FFTIntializeUnityTable function to assign a value to the pUnityTable parameter. The FFTInitializedUnityTable function initializes a unity roots lookup table used by FFT functions.

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 Deinterleave FFTInitializeUnityTable FFTUnswizzle
Last modified on October 19, 2026