More shuffling of includes to ease codebook integration. This breaks
[platform/upstream/libvorbis.git] / lib / lpc.h
index 431d7ab..0858d92 100644 (file)
--- a/lib/lpc.h
+++ b/lib/lpc.h
@@ -5,23 +5,40 @@
  * THE GNU PUBLIC LICENSE 2, WHICH IS INCLUDED WITH THIS SOURCE.    *
  * PLEASE READ THESE TERMS DISTRIBUTING.                            *
  *                                                                  *
- * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-1999             *
- * by 1999 Monty <monty@xiph.org> and The XIPHOPHORUS Company       *
+ * THE OggSQUISH SOURCE CODE IS (C) COPYRIGHT 1994-2000             *
+ * by Monty <monty@xiph.org> and The XIPHOPHORUS Company            *
  * http://www.xiph.org/                                             *
  *                                                                  *
  ********************************************************************
 
   function: LPC low level routines
+  last mod: $Id: lpc.h,v 1.7 2000/01/05 03:10:59 xiphmont Exp $
 
  ********************************************************************/
 
 #ifndef _V_LPC_H_
 #define _V_LPC_H_
 
-extern double vorbis_curve_to_lpc(double *curve,int n,double *lpc,int m);
-extern void vorbis_lpc_to_curve(double *curve,int n,double *lpc, 
-                               double amp,int m);
-extern void vorbis_lpc_apply(double *residue,int n,double *lpc, 
-                             double amp,int m);
+#include "vorbis/codec.h"
+
+extern void lpc_init(lpc_lookup *l,int n, long mapped, long rate, int m);
+extern void lpc_clear(lpc_lookup *l);
+
+/* simple linear scale LPC code */
+extern double vorbis_lpc_from_data(double *data,double *lpc,int n,int m);
+extern double vorbis_lpc_from_spectrum(double *curve,double *lpc,lpc_lookup *l);
+
+/* log scale layer */
+extern double vorbis_curve_to_lpc(double *curve,double *lpc,lpc_lookup *l);
+extern void vorbis_lpc_to_curve(double *curve,double *lpc, double amp,
+                               lpc_lookup *l);
+extern void vorbis_lpc_apply(double *residue,double *lpc, double amp,
+                            lpc_lookup *l);
+
+/* standard lpc stuff */
+extern void vorbis_lpc_residue(double *coeff,double *prime,int m,
+                       double *data,long n);
+extern void vorbis_lpc_predict(double *coeff,double *prime,int m,
+                       double *data,long n);
 
 #endif