OpenShot Audio Library | OpenShotAudio 0.3.2
|
Public Member Functions | |
void | reset () |
void | initializeConvolutionEngine (ProcessingInformation &info, int channel) |
void | copyStateFromOtherEngine (const ConvolutionEngine &other) |
void | processSamples (const float *input, float *output, size_t numSamples) |
void | prepareForConvolution (float *samples) noexcept |
void | convolutionProcessingAndAccumulate (const float *input, const float *impulse, float *output) |
void | updateSymmetricFrequencyDomainData (float *samples) noexcept |
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.
|
inline |
Does the convolution operation itself only on half of the frequency domain samples.
Definition at line 279 of file juce_Convolution.cpp.
Referenced by processSamples().
|
inline |
Copy the states of another engine.
Definition at line 150 of file juce_Convolution.cpp.
|
inline |
Initalize all the states and objects to perform the convolution.
Definition at line 87 of file juce_Convolution.cpp.
After each FFT, this function is called to allow convolution to be performed with only 4 SIMD functions calls.
Definition at line 265 of file juce_Convolution.cpp.
Referenced by initializeConvolutionEngine(), and processSamples().
|
inline |
Performs the uniform partitioned convolution using FFT.
Definition at line 176 of file juce_Convolution.cpp.
|
inline |
Definition at line 73 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().
size_t juce::dsp::ConvolutionEngine::blockSize = 0 |
Definition at line 319 of file juce_Convolution.cpp.
AudioBuffer<float> juce::dsp::ConvolutionEngine::bufferInput |
Definition at line 321 of file juce_Convolution.cpp.
AudioBuffer<float> juce::dsp::ConvolutionEngine::bufferOutput |
Definition at line 321 of file juce_Convolution.cpp.
AudioBuffer<float> juce::dsp::ConvolutionEngine::bufferOverlap |
Definition at line 321 of file juce_Convolution.cpp.
Array<AudioBuffer<float> > juce::dsp::ConvolutionEngine::buffersImpulseSegments |
Definition at line 322 of file juce_Convolution.cpp.
Array<AudioBuffer<float> > juce::dsp::ConvolutionEngine::buffersInputSegments |
Definition at line 322 of file juce_Convolution.cpp.
AudioBuffer<float> juce::dsp::ConvolutionEngine::bufferTempOutput |
Definition at line 321 of file juce_Convolution.cpp.
size_t juce::dsp::ConvolutionEngine::currentSegment = 0 |
Definition at line 319 of file juce_Convolution.cpp.
std::unique_ptr<FFT> juce::dsp::ConvolutionEngine::FFTobject |
Definition at line 316 of file juce_Convolution.cpp.
size_t juce::dsp::ConvolutionEngine::FFTSize = 0 |
Definition at line 318 of file juce_Convolution.cpp.
size_t juce::dsp::ConvolutionEngine::inputDataPos = 0 |
Definition at line 319 of file juce_Convolution.cpp.
Definition at line 324 of file juce_Convolution.cpp.
size_t juce::dsp::ConvolutionEngine::numInputSegments = 0 |
Definition at line 319 of file juce_Convolution.cpp.
size_t juce::dsp::ConvolutionEngine::numSegments = 0 |
Definition at line 319 of file juce_Convolution.cpp.