diff options
Diffstat (limited to 'gst/filter/iir.h')
-rw-r--r-- | gst/filter/iir.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gst/filter/iir.h b/gst/filter/iir.h new file mode 100644 index 00000000..241cc1d2 --- /dev/null +++ b/gst/filter/iir.h @@ -0,0 +1,37 @@ +/******************************************************************** + * * + * THIS FILE IS PART OF THE Ogg Vorbis SOFTWARE CODEC SOURCE CODE. * + * USE, DISTRIBUTION AND REPRODUCTION OF THIS SOURCE IS GOVERNED BY * + * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE. * + * PLEASE READ THESE TERMS DISTRIBUTING. * + * * + * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000 * + * by Monty <monty@xiph.org> and The XIPHOPHORUS Company * + * http://www.xiph.org/ * + * * + ******************************************************************** + + function: Direct Form I, II IIR filters, plus some specializations + last mod: $Id$ + + ********************************************************************/ + +#ifndef _V_IIR_H_ +#define _V_IIR_H_ + +typedef struct { + int stages; + double *coeff_A; + double *coeff_B; + double *z_A; + double *z_B; + int ring; + double gain; +} IIR_state; + +void IIR_init(IIR_state *s,int stages,double gain, double *A, double *B); +void IIR_clear(IIR_state *s); +double IIR_filter(IIR_state *s,double in); +double IIR_filter_ChebBand(IIR_state *s,double in); + +#endif |