API for Vorbis masking curve
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Fri, 7 Oct 2005 07:31:25 +0000 (07:31 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Fri, 7 Oct 2005 07:31:25 +0000 (07:31 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@10141 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/vorbis_psy.c
libspeex/vorbis_psy.h

index 17ee557..3b2ca09 100644 (file)
@@ -53,7 +53,11 @@ static void fft_init(int size)
    }
 }
 
-void compute_curve(float *audio, int len, float *curve)
+VorbisPsy *vorbis_psy_init(int rate, int size)
+{
+}
+
+void compute_curve(VorbisPsy *psy, float *audio, int len, float *curve)
 {
    
 }
@@ -111,18 +115,19 @@ void curve_to_lpc(float *curve, int len, float *awk1, float *awk2, int ord)
 #include <stdio.h>
 #include <math.h>
 
-#define ORDER 20
+#define ORDER 10
+#define CURVE_SIZE 24
 
 int main()
 {
    int i;
-   float curve[32];
+   float curve[CURVE_SIZE];
    float awk1[ORDER], awk2[ORDER];
-   for (i=0;i<32;i++)
+   for (i=0;i<CURVE_SIZE;i++)
       scanf("%f ", &curve[i]);
-   for (i=0;i<32;i++)
+   for (i=0;i<CURVE_SIZE;i++)
       curve[i] = pow(10.f, .1*curve[i]);
-   curve_to_lpc(curve, 32, awk1, awk2, ORDER);
+   curve_to_lpc(curve, CURVE_SIZE, awk1, awk2, ORDER);
    for (i=0;i<ORDER;i++)
       printf("%f ", awk1[i]);
    printf ("\n");
index df561fa..8a71a05 100644 (file)
 
 #ifdef VORBIS_PSYCHO
 
-
+#include "smallft.h"
 
 typedef struct {
-
+   struct drft_lookup analysis_lookup;
+   struct drft_lookup curve_lookup;
+   
 } VorbisPsy;
 
-
-
+VorbisPsy *vorbis_psy_init(int rate, int size);
+void vorbis_psy_destroy(VorbisPsy *psy);
+void compute_curve(VorbisPsy *psy, float *audio, int len, float *curve);
+void curve_to_lpc(float *curve, int len, float *awk1, float *awk2, int ord);
 
 #endif
 #endif