Skip to content
Chuck Walbourn edited this page Mar 26, 2019 · 3 revisions

This is an implementation of the legacy DirectX SDK utility header DSP math functions using DirectXMath.

See this blog post for more details.

API

All functions are in the C++ namespace XDSP.

All memory buffers used with these functions must be 16-byte aligned. This happens by default for x64, but requires alignment or use of __aligned_malloc with x86 or ARM.

  • FFT - Fast Fourier Transform with an arbitrary number of samples.

  • FFT4 - Four sample Fast Fourier Transform.

  • FFT8 - Eight sample Fast Fourier Transform.

  • FFT16 - Sixteen sample Fast Fourier Transform.

  • FFTInitializeUnityTable - Initializes unity roots lookup table used by Fast Fourier Transform functions (FFT, FFTDeinterleaved, and FFTInterleaved)

  • FFTPolar - Converts complex components to polar form.

  • FFTUnswizzle - Arranges Fast Fourier Transform function output by order of increasing frequency.

  • Interleave - Interleaves audio samples.

  • Deinterleave - Deinterleaves audio samples.

  • FFTInterleaved - Fast Fourier Transform, plus deinterleaves multichannel audio before processing.

  • IFFTDeinterleaved - Fast Fourier Transform, plus interleaved multichannel audio.

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