Skip to content

FFTInterleaved

Chuck Walbourn edited this page May 23, 2016 · 1 revision

This function applies a 2N-sample Fast Fourier Transform, and unswizzles the result such that the samples are in order of increasing frequency. Audio is first deinterleaved if it is multichannel.

void FFTInterleaved(XMVECTOR* pReal, XMVECTOR* pImaginary,
    const XMVECTOR* pUnityTable,
    const size_t uChannelCount, const size_t uLog2Length);

Parameters

pReal

[in, out] Real components of the FFT. Must have as least (1 << uLog2Length × uChannelCount) ÷ 4 elements.

pImaginary

[out] Imaginary components of the FFT. Must have at least (1 << uLog2Length × uChannelCount) ÷ 4 elements.

pUnityTable

[in] Unity table the FFT should use. Must have at least (1 << uLog2Length) elements. See FFTInitializeUnityTable for more information.

uChannelCount

[in] Number of channels in the FFT. uChannelCount must be within [1,6].

uLog2Length

[in] Log (base 2) of FFT length in frames. uLog2Length must be within [2, 9].

Remarks

All buffer parameters must be 16-byte aligned. Audio data must be 32-bit float mono.

For Use

  • Universal Windows Platform apps
  • Windows desktop apps
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Xbox One
  • Xbox Series X|S
  • Windows Subsystem for Linux

Architecture

  • x86
  • x64
  • ARM64

For Development

  • Visual Studio 2022
  • Visual Studio 2019 (16.11)
  • clang/LLVM v12 - v18
  • GCC 10.5, 11.4, 12.3
  • MinGW 12.2, 13.2
  • Intel Classic Compiler
  • Intel oneAPI Compiler

Related Projects

DirectX Tool Kit for DirectX 11

DirectX Tool Kit for DirectX 12

DirectXMesh

DirectXTex

Tools

Test Suite

See also

DirectX Landing Page

Clone this wiki locally