UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FFTAlgorithm.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
7
8namespace Audio
9{
34
50
56 {
57 public:
60
62 virtual int32 Size() const = 0;
63
65 int32 NumInputFloats() const { return Size(); };
66
68 int32 NumOutputFloats() const { return Size() + 2; }
69
71 virtual EFFTScaling ForwardScaling() const = 0;
72
74 virtual EFFTScaling InverseScaling() const = 0;
75
76
84 virtual void ForwardRealToComplex(const float* RESTRICT InReal, float* RESTRICT OutComplex) = 0;
85
93 virtual void InverseComplexToReal(const float* RESTRICT InComplex, float* RESTRICT OutReal) = 0;
94
103 virtual void BatchForwardRealToComplex(int32 InCount, const float* const RESTRICT InReal[], float* RESTRICT OutComplex[]) = 0;
104
113 virtual void BatchInverseComplexToReal(int32 InCount, const float* const RESTRICT InComplex[], float* RESTRICT OutReal[]) = 0;
114 };
115
121 {
122 public:
124 {}
125
128
130 virtual FName GetFactoryName() const = 0;
131
133 virtual bool IsHardwareAccelerated() const = 0;
134
136 virtual bool Expects128BitAlignedArrays() const = 0;
137
139 virtual bool AreFFTSettingsSupported(const FFFTSettings& InSettings) const = 0;
140
143 };
144
175}
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
#define RESTRICT
Definition Platform.h:706
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition FFTAlgorithm.h:150
static SIGNALPROCESSING_API TUniquePtr< IFFTAlgorithm > NewFFTAlgorithm(const FFFTSettings &InSettings, const FName &InAlgorithmFactoryName=AnyAlgorithmFactory)
Definition FFTAlgorithm.cpp:133
static SIGNALPROCESSING_API bool AreFFTSettingsSupported(const FFFTSettings &InSettings, const FName &InAlgorithmFactoryName=AnyAlgorithmFactory)
Definition FFTAlgorithm.cpp:157
static SIGNALPROCESSING_API const FName AnyAlgorithmFactory
Definition FFTAlgorithm.h:153
Definition FFTAlgorithm.h:121
virtual TUniquePtr< IFFTAlgorithm > NewFFTAlgorithm(const FFFTSettings &InSettings)=0
virtual FName GetFactoryName() const =0
static SIGNALPROCESSING_API const FName GetModularFeatureName()
Definition FFTAlgorithm.cpp:116
virtual bool IsHardwareAccelerated() const =0
virtual bool AreFFTSettingsSupported(const FFFTSettings &InSettings) const =0
virtual bool Expects128BitAlignedArrays() const =0
virtual ~IFFTAlgorithmFactory()
Definition FFTAlgorithm.h:123
Definition FFTAlgorithm.h:56
int32 NumOutputFloats() const
Definition FFTAlgorithm.h:68
virtual void BatchForwardRealToComplex(int32 InCount, const float *const RESTRICT InReal[], float *RESTRICT OutComplex[])=0
virtual void ForwardRealToComplex(const float *RESTRICT InReal, float *RESTRICT OutComplex)=0
virtual int32 Size() const =0
virtual SIGNALPROCESSING_API ~IFFTAlgorithm()
Definition FFTAlgorithm.cpp:111
int32 NumInputFloats() const
Definition FFTAlgorithm.h:65
virtual void InverseComplexToReal(const float *RESTRICT InComplex, float *RESTRICT OutReal)=0
virtual EFFTScaling ForwardScaling() const =0
virtual EFFTScaling InverseScaling() const =0
virtual void BatchInverseComplexToReal(int32 InCount, const float *const RESTRICT InComplex[], float *RESTRICT OutReal[])=0
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
EFFTScaling
Definition FFTAlgorithm.h:18
Definition FFTAlgorithm.h:40
bool bEnableHardwareAcceleration
Definition FFTAlgorithm.h:48
int32 Log2Size
Definition FFTAlgorithm.h:42
bool bArrays128BitAligned
Definition FFTAlgorithm.h:45