OpenShot Library | OpenShotAudio
0.2.2
|
This class is the convolution engine itself, processing only one channel at a time of input signal. More...
Classes | |
struct | ProcessingInformation |
Public Member Functions | |
void | reset () |
void | initializeConvolutionEngine (ProcessingInformation &info, int channel) |
Initalize all the states and objects to perform the convolution. | |
void | copyStateFromOtherEngine (const ConvolutionEngine &other) |
Copy the states of another engine. | |
void | processSamples (const float *input, float *output, size_t numSamples) |
Performs the uniform partitioned convolution using FFT. | |
void | prepareForConvolution (float *samples) noexcept |
After each FFT, this function is called to allow convolution to be performed with only 4 SIMD functions calls. | |
void | convolutionProcessingAndAccumulate (const float *input, const float *impulse, float *output) |
Does the convolution operation itself only on half of the frequency domain samples. | |
void | updateSymmetricFrequencyDomainData (float *samples) noexcept |
Undo the re-organization of samples from the function prepareForConvolution. More... | |
Public Attributes | |
std::unique_ptr< FFT > | FFTobject |
size_t | FFTSize = 0 |
size_t | currentSegment = 0 |
size_t | numInputSegments = 0 |
size_t | numSegments = 0 |
size_t | blockSize = 0 |
size_t | inputDataPos = 0 |
AudioBuffer< float > | bufferInput |
AudioBuffer< float > | bufferOutput |
AudioBuffer< float > | bufferTempOutput |
AudioBuffer< float > | bufferOverlap |
Array< AudioBuffer< float > > | buffersInputSegments |
Array< AudioBuffer< float > > | buffersImpulseSegments |
bool | isReady = false |
This class is the convolution engine itself, processing only one channel at a time of input signal.
Definition at line 35 of file juce_Convolution.cpp.
|
inlinenoexcept |
Undo the re-organization of samples from the function prepareForConvolution.
Then, takes the conjugate of the frequency domain first half of samples, to fill the second half, so that the inverse transform will return real samples in the time domain.
Definition at line 296 of file juce_Convolution.cpp.
Referenced by processSamples().