SAF
|
A multi-channel convolver. More...
#include "_common.h"
Go to the source code of this file.
Functions | |
void | multiconv_create (void **const phMCnv) |
Creates an instance of multiconv. | |
void | multiconv_destroy (void **const phMCnv) |
Destroys an instance of multiconv. | |
void | multiconv_init (void *const hMCnv, int samplerate, int hostBlockSize) |
Initialises an instance of multiconv with default settings. | |
void | multiconv_process (void *const hMCnv, const float *const *inputs, float *const *const outputs, int nInputs, int nOutputs, int nSamples) |
Performs the multuchannel convolution processing. | |
void | multiconv_refreshParams (void *const hMCnv) |
Sets all intialisation flags to 1. | |
void | multiconv_checkReInit (void *const hMCnv) |
Checks whether things have to be reinitialised, and does so if it is needed. | |
void | multiconv_setFilters (void *const hMCnv, const float *const *H, int numChannels, int numSamples, int sampleRate) |
Loads the multichannel of filters. | |
void | multiconv_setEnablePart (void *const hMCnv, int newState) |
Enable (1), disable (0), partitioned convolution. | |
void | multiconv_setNumChannels (void *const hMCnv, int newValue) |
Sets the number of input/output channels. | |
int | multiconv_getFrameSize (void) |
Returns the processing framesize (i.e., number of samples processed with every _process() call ) | |
int | multiconv_getEnablePart (void *const hMCnv) |
Returns a flag indicating whether partitioned convolution is enabled (1) or disabled (0) | |
int | multiconv_getNumChannels (void *const hMCnv) |
Returns the number input/output channels. | |
int | multiconv_getHostBlockSize (void *const hMCnv) |
Returns the currect host block size. | |
int | multiconv_getNfilters (void *const hMCnv) |
Returns the number of filters in the loaded wav file. | |
int | multiconv_getFilterLength (void *const hMCnv) |
Returns the current filter length, in samples. | |
int | multiconv_getFilterFs (void *const hMCnv) |
Returns the samplerate of the loaded filters. | |
int | multiconv_getHostFs (void *const hMCnv) |
Returns the samperate of the host. | |
int | multiconv_getProcessingDelay (void *const hMCnv) |
Returns the processing delay in samples (may be used for delay compensation features) | |
void multiconv_checkReInit | ( | void *const | hMCnv | ) |
Checks whether things have to be reinitialised, and does so if it is needed.
Definition at line 170 of file multiconv.c.
void multiconv_create | ( | void **const | phMCnv | ) |
Creates an instance of multiconv.
[in] | phMCnv | (&) address of multiconv handle |
Definition at line 28 of file multiconv.c.
void multiconv_destroy | ( | void **const | phMCnv | ) |
Destroys an instance of multiconv.
[in] | phMCnv | (&) address of multiconv handle |
Definition at line 60 of file multiconv.c.
int multiconv_getEnablePart | ( | void *const | hMCnv | ) |
Returns a flag indicating whether partitioned convolution is enabled (1) or disabled (0)
Definition at line 238 of file multiconv.c.
int multiconv_getFilterFs | ( | void *const | hMCnv | ) |
Returns the samplerate of the loaded filters.
Definition at line 268 of file multiconv.c.
int multiconv_getFilterLength | ( | void *const | hMCnv | ) |
Returns the current filter length, in samples.
Definition at line 262 of file multiconv.c.
int multiconv_getHostBlockSize | ( | void *const | hMCnv | ) |
Returns the currect host block size.
Definition at line 250 of file multiconv.c.
int multiconv_getHostFs | ( | void *const | hMCnv | ) |
int multiconv_getNfilters | ( | void *const | hMCnv | ) |
Returns the number of filters in the loaded wav file.
Definition at line 256 of file multiconv.c.
int multiconv_getNumChannels | ( | void *const | hMCnv | ) |
Returns the number input/output channels.
Definition at line 244 of file multiconv.c.
int multiconv_getProcessingDelay | ( | void *const | hMCnv | ) |
Returns the processing delay in samples (may be used for delay compensation features)
Definition at line 280 of file multiconv.c.
void multiconv_init | ( | void *const | hMCnv, |
int | samplerate, | ||
int | hostBlockSize ) |
Initialises an instance of multiconv with default settings.
[in] | hMCnv | multiconv handle |
[in] | samplerate | Host samplerate |
[in] | hostBlockSize | Host frame/block size |
Definition at line 80 of file multiconv.c.
void multiconv_process | ( | void *const | hMCnv, |
const float *const * | inputs, | ||
float *const *const | outputs, | ||
int | nInputs, | ||
int | nOutputs, | ||
int | nSamples ) |
Performs the multuchannel convolution processing.
[in] | hMCnv | multiconv handle |
[in] | inputs | Input channel buffers; 2-D array: nInputs x nSamples |
[in] | outputs | Output channel buffers; 2-D array: nOutputs x nSamples |
[in] | nInputs | Number of input channels |
[in] | nOutputs | Number of output channels |
[in] | nSamples | Number of samples in 'inputs'/'output' matrices |
Definition at line 100 of file multiconv.c.
void multiconv_refreshParams | ( | void *const | hMCnv | ) |
Sets all intialisation flags to 1.
Re-initialising all settings/variables, as multiconv is currently configured, at next available opportunity.
Definition at line 164 of file multiconv.c.
void multiconv_setEnablePart | ( | void *const | hMCnv, |
int | newState ) |
Enable (1), disable (0), partitioned convolution.
Definition at line 221 of file multiconv.c.
void multiconv_setFilters | ( | void *const | hMCnv, |
const float *const * | H, | ||
int | numChannels, | ||
int | numSamples, | ||
int | sampleRate ) |
Loads the multichannel of filters.
[in] | hMCnv | multiconv handle |
[in] | H | Input channel buffers; 2-D array: numChannels x nSamples |
[in] | numChannels | Number of channels in loaded data (also the number of outputs) |
[in] | numSamples | Number of samples (per channel) in the loaded data |
[in] | sampleRate | Samplerate of the loaded data |
Definition at line 200 of file multiconv.c.
void multiconv_setNumChannels | ( | void *const | hMCnv, |
int | newValue ) |
Sets the number of input/output channels.
Definition at line 230 of file multiconv.c.