OpenShot Library | OpenShotAudio  0.2.2
juce::dsp::ConvolutionEngine Struct Reference

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< FFTFFTobject
 
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
 

Detailed Description

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.

Member Function Documentation

◆ updateSymmetricFrequencyDomainData()

void juce::dsp::ConvolutionEngine::updateSymmetricFrequencyDomainData ( float *  samples)
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().


The documentation for this struct was generated from the following file: