#include <lancir.h>
Classes | |
class | CSinGen |
Public Member Functions | |
float * | getFilter (const double x) |
bool | update (const double la, const double k) |
Public Attributes | |
int | KernelLen |
Protected Member Functions | |
template<class T > | |
void | makeFilter (const double FracDelay, T *op) const |
template<class T > | |
void | normalizeFilter (T *const p) const |
Protected Attributes | |
float * | FilterBuf |
int | FilterBufLen |
float ** | Filters |
int | FiltersLen |
int | fl2 |
int | FracCount |
int | FracFill |
double | Freq |
double | FreqA |
double | Len2 |
double | NormFreq |
double | Prevk |
double | Prevla |
Friends | |
class | CResizeScanline |
Class implements fractional delay filter bank calculation.
float* avir::CLancIR::CResizeFilters::getFilter | ( | const double | x | ) |
Function returns filter at the specified fractional offset. This function can only be called before the prior update() function call.
x | Fractional offset, [0; 1). |
|
protected |
Function creates filter for the specified fractional delay. The update() function should be called prior to calling this function. The created filter is not normalized, so it should be normalized afterwards.
FracDelay | Fractional delay, 0 to 1, inclusive. | |
[out] | Output | filter buffer. |
T | Output buffer type. |
|
protected |
Function normalizes the specified filter so that it has unity gain at DC.
p | Filter buffer pointer. |
T | Filter buffer type. |
bool avir::CLancIR::CResizeFilters::update | ( | const double | la, |
const double | k | ||
) |
Function updates the resizing filter bank.
la | Lanczos "a" parameter value. |
k | Resizing step. |
|
protected |
Buffer that holds all filters.
|
protected |
Allocated length of FilterBuf in elements.
|
protected |
Fractional delay filters for all positions. Filter pointers equal NULL if filter was not yet created.
|
protected |
Allocated length of Filters in elements.
|
protected |
Half resampling length, integer.
|
protected |
The number of fractional positions for which filters are created.
|
protected |
The number of fractional positions filled in the filter buffer.
|
protected |
Circular frequency of the filter.
|
protected |
Circular frequency of the window function.
int avir::CLancIR::CResizeFilters::KernelLen |
Resampling filter kernel length, taps. Available after the update() function call.
|
protected |
Half resampling filter length, unrounded.
|
protected |
Normalized frequency of the filter.
|
protected |
Previous "k".
|
protected |
Previous "la".