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 - v19
  • GCC 10.5, 11.4, 12.3, 13.3, 14.2
  • MinGW 12.2, 13.2
  • Intel Classic Compiler
  • Intel oneAPI Compiler
  • CMake 3.20

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