LMMS
Loading...
Searching...
No Matches
iir.h File Reference
#include <ladspa-util.h>

Go to the source code of this file.

Classes

struct  iir_stage
struct  iirf

Macros

#define gliirt   float
#define CLAMP(x, mi, ma)
#define MIN(a, b)
#define MAX(a, b)
#define ALLOC(type)
#define ALLOCN(n, type)
#define IIR_STAGE_LOWPASS   0
#define IIR_STAGE_HIGHPASS   1
#define IIR_STAGE_BANDPASS   2
#define IIR_STAGE_BANDPASS_A   3

Typedefs

typedef struct iir_stage iir_stage_t
typedef struct iirf iirf_t

Functions

static iirf_tinit_iirf_t (iir_stage_t *gt)
static void free_iirf_t (iirf_t *iirf, iir_stage_t *gt)
static void reset_iirf_t (iirf_t *iirf, iir_stage_t *gt, int n)
iir_stage_tinit_iir_stage (int mode, int nstages, int na, int nb)
void combine_iir_stages (int mode, iir_stage_t *gt, iir_stage_t *first, iir_stage_t *second, int upf, int ups)
void free_iir_stage (iir_stage_t *gt)
void calc_2polebandpass (iirf_t *iirf, iir_stage_t *gt, float fc, float bw, long sample_rate)
int chebyshev (iirf_t *iirf, iir_stage_t *gt, int n, int mode, float fc, float pr)
static void butterworth_stage (iir_stage_t *gt, int mode, float f, float r, long sample_rate)
static void iir_process_buffer (iirf_t *iirf, iir_stage_t *gt, const float *indata, float *outdata, const long numSampsToProcess, int add)
static void iir_process_buffer_1s_5 (iirf_t *iirf, iir_stage_t *gt, const float *indata, float *outdata, const long numSampsToProcess, int add)
static void iir_process_buffer_ns_5 (iirf_t *iirf, iir_stage_t *gt, const float *indata, float *outdata, const long numSampsToProcess, int add)

Macro Definition Documentation

◆ ALLOC

#define ALLOC ( type)
Value:
(type *)calloc(1, sizeof(type))
CAdPlugDatabase::CRecord::RecordType type
Definition adplugdb.cpp:93

◆ ALLOCN

#define ALLOCN ( n,
type )
Value:
(n == 0 ? NULL : (type *)calloc((n), sizeof(type)))
#define NULL
Definition CarlaBridgeFormat.cpp:30
int n
Definition crypt.c:458

◆ CLAMP

#define CLAMP ( x,
mi,
ma )
Value:
( (x < mi) ? mi : ( (x>ma) ? ma : x))
unsigned x[BMAX+1]
Definition inflate.c:1586

◆ gliirt

#define gliirt   float

◆ IIR_STAGE_BANDPASS

#define IIR_STAGE_BANDPASS   2

◆ IIR_STAGE_BANDPASS_A

#define IIR_STAGE_BANDPASS_A   3

◆ IIR_STAGE_HIGHPASS

#define IIR_STAGE_HIGHPASS   1

◆ IIR_STAGE_LOWPASS

#define IIR_STAGE_LOWPASS   0

◆ MAX

#define MAX ( a,
b )
Value:
((a)>(b)?(a):(b))
uint8_t a
Definition Spc_Cpu.h:141
b
Definition crypt.c:628

◆ MIN

#define MIN ( a,
b )
Value:
((a)<(b)?(a):(b))

Typedef Documentation

◆ iir_stage_t

typedef struct iir_stage iir_stage_t

◆ iirf_t

typedef struct iirf iirf_t

Function Documentation

◆ butterworth_stage()

void butterworth_stage ( iir_stage_t * gt,
int mode,
float f,
float r,
long sample_rate )
inlinestatic

◆ calc_2polebandpass()

void calc_2polebandpass ( iirf_t * iirf,
iir_stage_t * gt,
float fc,
float bw,
long sample_rate )

◆ chebyshev()

int chebyshev ( iirf_t * iirf,
iir_stage_t * gt,
int n,
int mode,
float fc,
float pr )

◆ combine_iir_stages()

void combine_iir_stages ( int mode,
iir_stage_t * gt,
iir_stage_t * first,
iir_stage_t * second,
int upf,
int ups )

◆ free_iir_stage()

void free_iir_stage ( iir_stage_t * gt)

◆ free_iirf_t()

void free_iirf_t ( iirf_t * iirf,
iir_stage_t * gt )
inlinestatic

◆ iir_process_buffer()

void iir_process_buffer ( iirf_t * iirf,
iir_stage_t * gt,
const float * indata,
float * outdata,
const long numSampsToProcess,
int add )
inlinestatic

◆ iir_process_buffer_1s_5()

void iir_process_buffer_1s_5 ( iirf_t * iirf,
iir_stage_t * gt,
const float * indata,
float * outdata,
const long numSampsToProcess,
int add )
inlinestatic

◆ iir_process_buffer_ns_5()

void iir_process_buffer_ns_5 ( iirf_t * iirf,
iir_stage_t * gt,
const float * indata,
float * outdata,
const long numSampsToProcess,
int add )
inlinestatic

◆ init_iir_stage()

iir_stage_t * init_iir_stage ( int mode,
int nstages,
int na,
int nb )

◆ init_iirf_t()

iirf_t * init_iirf_t ( iir_stage_t * gt)
inlinestatic

◆ reset_iirf_t()

void reset_iirf_t ( iirf_t * iirf,
iir_stage_t * gt,
int n )
inlinestatic