summaryrefslogtreecommitdiffstats
path: root/gst/filter/iir.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/filter/iir.h')
-rw-r--r--gst/filter/iir.h37
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