/******************************************************************** * * * 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 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