Some comments
authorjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Fri, 15 Feb 2002 00:31:47 +0000 (00:31 +0000)
committerjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Fri, 15 Feb 2002 00:31:47 +0000 (00:31 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@3053 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/speex.c
libspeex/speex.h

index 37884b9..090a79e 100644 (file)
@@ -35,7 +35,9 @@ void encoder_init(EncState *st)
    for (i=0;i<st->lpcSize+1;i++)
       st->lagWindow[i]=exp(-.5*sqr(2*M_PI*.01*i));
    st->lsp = malloc(st->lpcSize*sizeof(float));
+   st->old_lsp = malloc(st->lpcSize*sizeof(float));
    st->rc = malloc(st->lpcSize*sizeof(float));
+   st->first = 1;
 }
 
 void encoder_destroy(EncState *st)
@@ -47,6 +49,7 @@ void encoder_destroy(EncState *st)
    free(st->autocorr);
    free(st->lagWindow);
    free(st->lsp);
+   free(st->old_lsp);
    free(st->rc);
 }
 
@@ -94,6 +97,11 @@ void encode(EncState *st, float *in, int *outSize, void *bits)
    /* Compute "weighted" residue */
 
    /* Find pitch */
+
+   for (i=0;i<st->lpcSize;i++)
+      st->old_lsp[i] = st->lsp[i];
+   st->first = 0;
+
 }
 
 
index a745f5b..7d275f8 100644 (file)
@@ -3,19 +3,22 @@
 
 
 typedef struct EncState {
-   int    frameSize;
-   int    subframeSize;
-   int    lpcSize;
-   int    bufSize;
-   float *inBuf;
-   float *window;
-   int    windowSize;
-   float *buf2;
-   float *autocorr;
-   float *lagWindow;
-   float *lpc;
-   float *lsp;
-   float *rc;
+   int    frameSize;      /* Size of frames */
+   int    subframeSize;   /* Size of sub-frames */
+   int    nbSubframes;    /* Number of sub-frames */
+   int    lpcSize;        /* LPC order */
+   int    bufSize;        /* Buffer size */
+   float *inBuf;          /* Input buffer */
+   float *window;         /* Temporary (Hanning) window */
+   int    windowSize;     /* Window length */
+   float *buf2;           /* 2nd temporary buffer */
+   float *autocorr;       /* auto-correlation */
+   float *lagWindow;      /* Window applied to auto-correlation */
+   float *lpc;            /* LPCs for current frame */
+   float *lsp;            /* LSPs for current frame */
+   float *old_lsp;        /* LSPs for previous frame */
+   float *rc;             /* Reflection coefficients */
+   int    first;          /* Is this the first frame? */
 } EncState;
 
 typedef struct DecState {