Made the code valid for a C++ compiler (void* stuff), plus some cleanup
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sun, 27 Oct 2002 06:01:31 +0000 (06:01 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Sun, 27 Oct 2002 06:01:31 +0000 (06:01 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@4060 0101bb08-14d6-0310-b084-bc0e0c8e3800

19 files changed:
libspeex/Makefile.am
libspeex/bits.c
libspeex/cb_search.c
libspeex/filters.c
libspeex/filters.h
libspeex/lsp.c
libspeex/ltp.c
libspeex/ltp_sse.h
libspeex/misc.c
libspeex/misc.h
libspeex/modes.c
libspeex/nb_celp.c
libspeex/sb_celp.c
libspeex/speex_callbacks.c
libspeex/speex_header.c
libspeex/testenc.c
libspeex/testenc_wb.c
src/speexdec.c
src/speexenc.c

index 8fba528..6f6f9e5 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in. -*-Makefile-*-
 
-# $Id: Makefile.am,v 1.41 2002/10/26 04:37:15 jm Exp $
+# $Id: Makefile.am,v 1.42 2002/10/27 06:01:30 jm Exp $
 
 # Disable automatic dependency tracking if using other tools than gcc and gmake
 #AUTOMAKE_OPTIONS = no-dependencies
@@ -60,7 +60,7 @@ noinst_HEADERS = lsp.h \
        
 libspeex_la_LDFLAGS = -release $(LT_RELEASE)
 
-bin_PROGRAMS = testenc testenc_wb
+noinst_PROGRAMS = testenc testenc_wb
 
 testenc_SOURCES = testenc.c
 testenc_LDADD = libspeex.la
index fe2225b..d8389d7 100644 (file)
@@ -40,7 +40,7 @@
 void speex_bits_init(SpeexBits *bits)
 {
    int i;
-   bits->bytes = speex_alloc(MAX_BYTES_PER_FRAME);
+   bits->bytes = (char*)speex_alloc(MAX_BYTES_PER_FRAME);
 
    for (i=0;i<MAX_BYTES_PER_FRAME;i++)
       bits->bytes[i]=0;
@@ -53,7 +53,7 @@ void speex_bits_init(SpeexBits *bits)
 void speex_bits_init_buffer(SpeexBits *bits, void *buff)
 {
    int i;
-   bits->bytes = buff;
+   bits->bytes = (char*)buff;
 
    for (i=0;i<MAX_BYTES_PER_FRAME;i++)
       bits->bytes[i]=0;
index 568632b..5733078 100644 (file)
@@ -55,10 +55,9 @@ int   complexity
    int i,j,k,m,n,q;
    float *resp;
    float *t, *e, *E, *r2;
-   /*FIXME: Should make this dynamic*/
-   float *tmp, *_ot[20], *_nt[20];
+   float *tmp;
    float *ndist, *odist;
-   int *itmp, *_nind[20], *_oind[20];
+   int *itmp;
    float **ot, **nt;
    int **nind, **oind;
    int *ind;
@@ -70,14 +69,15 @@ int   complexity
    float *best_dist;
    int have_sign;
 
-   ot=_ot;
-   nt=_nt;
-   oind=_oind;
-   nind=_nind;
    N=complexity;
    if (N>10)
       N=10;
 
+   ot=PUSH(stack, N, float*);
+   nt=PUSH(stack, N, float*);
+   oind=PUSH(stack, N, int*);
+   nind=PUSH(stack, N, int*);
+
    params = (split_cb_params *) par;
    subvect_size = params->subvect_size;
    nb_subvect = params->nb_subvect;
index f3ada0e..6b871db 100644 (file)
 
 #include "filters.h"
 #include "stack_alloc.h"
-#include <stdio.h>
 #include <math.h>
 
-void print_vec(float *vec, int len, char *name)
-{
-   int i;
-   printf ("%s ", name);
-   for (i=0;i<len;i++)
-      printf (" %f", vec[i]);
-   printf ("\n");
-}
 
 void bw_lpc(float gamma, float *lpc_in, float *lpc_out, int order)
 {
@@ -131,16 +122,17 @@ void residue_percep_zero(float *xx, float *ak, float *awk1, float *awk2, float *
    fir_mem2(y, awk2, y, N, ord, mem);
 }
 
-#define MAX_FILTER 100
-#define MAX_SIGNAL 1000
 
-void qmf_decomp(float *xx, float *aa, float *y1, float *y2, int N, int M, float *mem)
+void qmf_decomp(float *xx, float *aa, float *y1, float *y2, int N, int M, float *mem, void *stack)
 {
    int i,j,k,M2;
-   /* FIXME: this should be dynamic */
-   float a[MAX_FILTER];
-   float x[MAX_SIGNAL];
-   float *x2=x+M-1;
+   float *a;
+   float *x;
+   float *x2;
+   
+   a = PUSH(stack, M, float);
+   x = PUSH(stack, N+M-1, float);
+   x2=x+M-1;
    M2=M>>1;
    for (i=0;i<M;i++)
       a[M-i-1]=aa[i];
@@ -166,14 +158,13 @@ void qmf_decomp(float *xx, float *aa, float *y1, float *y2, int N, int M, float
 }
 
 /* By segher */
-void fir_mem_up(float *x, float *a, float *y, int N, int M, float *mem)
+void fir_mem_up(float *x, float *a, float *y, int N, int M, float *mem, void *stack)
    /* assumptions:
       all odd x[i] are zero -- well, actually they are left out of the array now
       N and M are multiples of 4 */
 {
    int i, j;
-   /*FIXME: Make that dynamic*/
-   float xx[384];
+   float *xx=PUSH(stack, M+N-1, float);
 
    for (i = 0; i < N/2; i++)
       xx[2*i] = x[N/2-1-i];
index 7a6b9c2..bbc9bb6 100644 (file)
 #ifndef FILTERS_H
 #define FILTERS_H
 
-void qmf_decomp(float *xx, float *aa, float *y1, float *y2, int N, int M, float *mem);
-void fir_mem_up(float *x, float *a, float *y, int N, int M, float *mem);
+void qmf_decomp(float *xx, float *aa, float *y1, float *y2, int N, int M, float *mem, void *stack);
+void fir_mem_up(float *x, float *a, float *y, int N, int M, float *mem, void *stack);
 
-void print_vec(float *vec, int len, char *name);
 
 void filter_mem2(float *x, float *num, float *den, float *y, int N, int ord, float *mem);
 void fir_mem2(float *x, float *num, float *y, int N, int ord, float *mem);
index 48420df..5f2cd40 100644 (file)
@@ -68,7 +68,7 @@ Modified by Jean-Marc Valin
 
 
 
-float cheb_poly_eva(float *coef,float x,int m,float *stack)
+float cheb_poly_eva(float *coef,float x,int m,void *stack)
 /*  float coef[]       coefficients of the polynomial to be evaluated  */
 /*  float x            the point where polynomial is to be evaluated   */
 /*  int m              order of the polynomial                         */
index 1ce5fae..83f6095 100644 (file)
@@ -357,8 +357,8 @@ int complexity
    N=complexity;
    if (N>10)
       N=10;
-   /*FIXME: This breaks if sizeof(int) != sizeof(float) */
-   nbest=(int*)PUSH(stack, N, float);
+
+   nbest=PUSH(stack, N, int);
    gains = PUSH(stack, N, float);
    params = (ltp_params*) par;
 
index 718cb09..fea5396 100644 (file)
@@ -84,9 +84,7 @@ static float inner_prod(float *a, float *b, int len)
   movhlps %%xmm3, %%xmm4
   addps %%xmm4, %%xmm3
   movaps %%xmm3, %%xmm4
-  //FIXME: which one?
   shufps $0x55, %%xmm4, %%xmm4
-  //shufps $33, %%xmm4, %%xmm4
   addss %%xmm4, %%xmm3
   movss %%xmm3, (%%edx)
   
index caff5ca..90a6df6 100644 (file)
 #include "misc.h"
 #include <stdlib.h>
 #include <string.h>
+#include <stdio.h>
+
+#ifndef RELEASE
+void print_vec(float *vec, int len, char *name)
+{
+   int i;
+   printf ("%s ", name);
+   for (i=0;i<len;i++)
+      printf (" %f", vec[i]);
+   printf ("\n");
+}
+#endif
 
 unsigned int be_int(unsigned int i)
 {
index cb6c372..2ece614 100644 (file)
 #define VERSION "Speex-1.0beta2"
 #endif
 
+#ifndef RELEASE
+void print_vec(float *vec, int len, char *name);
+#endif
+
 unsigned int be_int(unsigned int i);
 unsigned int le_int(unsigned int i);
 
index 49c37fa..56471ef 100644 (file)
@@ -506,7 +506,7 @@ void speex_decoder_ctl(void *state, int request, void *ptr)
 
 static void nb_mode_query(void *mode, int request, void *ptr)
 {
-   SpeexNBMode *m = mode;
+   SpeexNBMode *m = (SpeexNBMode*)mode;
    
    switch (request)
    {
@@ -524,7 +524,7 @@ static void nb_mode_query(void *mode, int request, void *ptr)
 
 static void wb_mode_query(void *mode, int request, void *ptr)
 {
-   SpeexSBMode *m = mode;
+   SpeexSBMode *m = (SpeexSBMode*)mode;
 
    switch (request)
    {
index 2671bb2..da21645 100644 (file)
@@ -67,8 +67,8 @@ void *nb_encoder_init(SpeexMode *m)
    SpeexNBMode *mode;
    int i;
 
-   mode=m->mode;
-   st = speex_alloc(sizeof(EncState));
+   mode=(SpeexNBMode *)m->mode;
+   st = (EncState*)speex_alloc(sizeof(EncState));
    st->mode=m;
    /* Codec parameters, should eventually have several "modes"*/
    st->frameSize = mode->frameSize;
@@ -92,71 +92,71 @@ void *nb_encoder_init(SpeexMode *m)
    st->bounded_pitch = 0;
 
    /* Allocating input buffer */
-   st->inBuf = speex_alloc(st->bufSize*sizeof(float));
+   st->inBuf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->frame = st->inBuf + st->bufSize - st->windowSize;
    /* Allocating excitation buffer */
-   st->excBuf = speex_alloc(st->bufSize*sizeof(float));
+   st->excBuf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->exc = st->excBuf + st->bufSize - st->windowSize;
-   st->swBuf = speex_alloc(st->bufSize*sizeof(float));
+   st->swBuf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->sw = st->swBuf + st->bufSize - st->windowSize;
 
-   st->exc2Buf = speex_alloc(st->bufSize*sizeof(float));
+   st->exc2Buf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->exc2 = st->exc2Buf + st->bufSize - st->windowSize;
 
-   st->innov = speex_alloc(st->frameSize*sizeof(float));
+   st->innov = (float*)speex_alloc(st->frameSize*sizeof(float));
 
    /* Asymetric "pseudo-Hamming" window */
    {
       int part1, part2;
       part1 = st->subframeSize*7/2;
       part2 = st->subframeSize*5/2;
-      st->window = speex_alloc(st->windowSize*sizeof(float));
+      st->window = (float*)speex_alloc(st->windowSize*sizeof(float));
       for (i=0;i<part1;i++)
          st->window[i]=.54-.46*cos(M_PI*i/part1);
       for (i=0;i<part2;i++)
          st->window[part1+i]=.54+.46*cos(M_PI*i/part2);
    }
    /* Create the window for autocorrelation (lag-windowing) */
-   st->lagWindow = speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->lagWindow = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
    for (i=0;i<st->lpcSize+1;i++)
       st->lagWindow[i]=exp(-.5*sqr(2*M_PI*st->lag_factor*i));
 
-   st->autocorr = speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->autocorr = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
 
-   st->stack = speex_alloc(20000*sizeof(float));
+   st->stack = (float*)speex_alloc(20000*sizeof(float));
+
+   st->buf2 = (float*)speex_alloc(st->windowSize*sizeof(float));
 
-   st->buf2 = speex_alloc(st->windowSize*sizeof(float));
-
-   st->lpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->interp_lpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->interp_qlpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->bw_lpc1 = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->bw_lpc2 = speex_alloc((st->lpcSize+1)*sizeof(float));
-
-   st->lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->rc = speex_alloc(st->lpcSize*sizeof(float));
+   st->lpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->interp_lpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->interp_qlpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->bw_lpc1 = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->bw_lpc2 = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+
+   st->lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->rc = (float*)speex_alloc(st->lpcSize*sizeof(float));
    st->first = 1;
    for (i=0;i<st->lpcSize;i++)
    {
       st->lsp[i]=(M_PI*((float)(i+1)))/(st->lpcSize+1);
    }
 
-   st->mem_sp = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_sw = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_sw_whole = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_exc = speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sw = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sw_whole = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_exc = (float*)speex_alloc(st->lpcSize*sizeof(float));
 
-   st->pi_gain = speex_alloc(st->nbSubframes*sizeof(float));
+   st->pi_gain = (float*)speex_alloc(st->nbSubframes*sizeof(float));
 
-   st->pitch = speex_alloc(st->nbSubframes*sizeof(int));
+   st->pitch = (int*)speex_alloc(st->nbSubframes*sizeof(int));
 
    if (1) {
-      st->vbr = speex_alloc(sizeof(VBRState));
+      st->vbr = (VBRState*)speex_alloc(sizeof(VBRState));
       vbr_init(st->vbr);
       st->vbr_quality = 8;
       st->vbr_enabled = 0;
@@ -170,14 +170,14 @@ void *nb_encoder_init(SpeexMode *m)
 
 void nb_encoder_destroy(void *state)
 {
-   EncState *st=state;
+   EncState *st=(EncState *)state;
    /* Free all allocated memory */
    speex_free(st->inBuf);
    speex_free(st->excBuf);
    speex_free(st->swBuf);
    speex_free(st->exc2Buf);
    speex_free(st->innov);
-   speex_free(st->stack);
+   speex_free((float*)st->stack);
 
    speex_free(st->window);
    speex_free(st->buf2);
@@ -208,7 +208,7 @@ void nb_encoder_destroy(void *state)
    speex_free(st->vbr);
 
    /*Free state memory... should be last*/
-   speex_free(st);
+   speex_free((float*)st);
 }
 
 void nb_encode(void *state, float *in, SpeexBits *bits)
@@ -223,7 +223,7 @@ void nb_encode(void *state, float *in, SpeexBits *bits)
    void *stack;
    float *syn_resp;
 
-   st=state;
+   st=(EncState *)state;
    stack=st->stack;
 
    /* Copy new data in input buffer */
@@ -671,7 +671,7 @@ void nb_encode(void *state, float *in, SpeexBits *bits)
 
          /* In some (rare) modes, we do a second search (more bits) to reduce noise even more */
          if (SUBMODE(double_codebook)) {
-            float *tmp_stack=stack;
+            void *tmp_stack=stack;
             float *innov2 = PUSH(tmp_stack, st->subframeSize, float);
             for (i=0;i<st->subframeSize;i++)
                innov2[i]=0;
@@ -731,8 +731,8 @@ void *nb_decoder_init(SpeexMode *m)
    SpeexNBMode *mode;
    int i;
 
-   mode=m->mode;
-   st = speex_alloc(sizeof(DecState));
+   mode=(SpeexNBMode*)m->mode;
+   st = (DecState *)speex_alloc(sizeof(DecState));
    st->mode=m;
 
    st->first=1;
@@ -757,23 +757,23 @@ void *nb_decoder_init(SpeexMode *m)
 
    st->stack = speex_alloc(20000*sizeof(float));
 
-   st->inBuf = speex_alloc(st->bufSize*sizeof(float));
+   st->inBuf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->frame = st->inBuf + st->bufSize - st->windowSize;
-   st->excBuf = speex_alloc(st->bufSize*sizeof(float));
+   st->excBuf = (float*)speex_alloc(st->bufSize*sizeof(float));
    st->exc = st->excBuf + st->bufSize - st->windowSize;
    for (i=0;i<st->bufSize;i++)
       st->inBuf[i]=0;
    for (i=0;i<st->bufSize;i++)
       st->excBuf[i]=0;
-   st->innov = speex_alloc(st->frameSize*sizeof(float));
+   st->innov = (float*)speex_alloc(st->frameSize*sizeof(float));
 
-   st->interp_qlpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_sp = speex_alloc(5*st->lpcSize*sizeof(float));
+   st->interp_qlpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sp = (float*)speex_alloc(5*st->lpcSize*sizeof(float));
 
-   st->pi_gain = speex_alloc(st->nbSubframes*sizeof(float));
+   st->pi_gain = (float*)speex_alloc(st->nbSubframes*sizeof(float));
    st->last_pitch = 40;
    st->count_lost=0;
 
@@ -789,7 +789,7 @@ void *nb_decoder_init(SpeexMode *m)
 void nb_decoder_destroy(void *state)
 {
    DecState *st;
-   st=state;
+   st=(DecState*)state;
    speex_free(st->inBuf);
    speex_free(st->excBuf);
    speex_free(st->innov);
@@ -901,7 +901,7 @@ int nb_decode(void *state, SpeexBits *bits, float *out)
    int m;
    void *stack;
    float *awk1, *awk2, *awk3;
-   st=state;
+   st=(DecState*)state;
    stack=st->stack;
 
    /* If bits is NULL, consider the packet to be lost (what could we do anyway) */
@@ -1156,7 +1156,7 @@ int nb_decode(void *state, SpeexBits *bits, float *out)
          /* Decode second codebook (only for some modes) */
          if (SUBMODE(double_codebook))
          {
-            float *tmp_stack=stack;
+            void *tmp_stack=stack;
             float *innov2 = PUSH(tmp_stack, st->subframeSize, float);
             for (i=0;i<st->subframeSize;i++)
                innov2[i]=0;
@@ -1215,7 +1215,7 @@ int nb_decode(void *state, SpeexBits *bits, float *out)
 void nb_encoder_ctl(void *state, int request, void *ptr)
 {
    EncState *st;
-   st=state;     
+   st=(EncState*)state;     
    switch(request)
    {
    case SPEEX_GET_FRAME_SIZE:
@@ -1286,7 +1286,7 @@ void nb_encoder_ctl(void *state, int request, void *ptr)
 void nb_decoder_ctl(void *state, int request, void *ptr)
 {
    DecState *st;
-   st=state;
+   st=(DecState*)state;
    switch(request)
    {
    case SPEEX_SET_ENH:
@@ -1306,7 +1306,7 @@ void nb_decoder_ctl(void *state, int request, void *ptr)
       break;
    case SPEEX_SET_HANDLER:
       {
-         SpeexCallback *c = ptr;
+         SpeexCallback *c = (SpeexCallback*)ptr;
          st->speex_callbacks[c->callback_id].func=c->func;
          st->speex_callbacks[c->callback_id].data=c->data;
          st->speex_callbacks[c->callback_id].callback_id=c->callback_id;
@@ -1314,7 +1314,7 @@ void nb_decoder_ctl(void *state, int request, void *ptr)
       break;
    case SPEEX_SET_USER_HANDLER:
       {
-         SpeexCallback *c = ptr;
+         SpeexCallback *c = (SpeexCallback*)ptr;
          st->user_callback.func=c->func;
          st->user_callback.data=c->data;
          st->user_callback.callback_id=c->callback_id;
index d92eec4..290a6fb 100644 (file)
@@ -131,9 +131,9 @@ void *sb_encoder_init(SpeexMode *m)
    SBEncState *st;
    SpeexSBMode *mode;
 
-   st = speex_alloc(sizeof(SBEncState));
+   st = (SBEncState*)speex_alloc(sizeof(SBEncState));
    st->mode = m;
-   mode = m->mode;
+   mode = (SpeexSBMode*)m->mode;
 
    st->st_low = nb_encoder_init(mode->nb_mode);
    st->full_frame_size = 2*mode->frameSize;
@@ -158,58 +158,57 @@ void *sb_encoder_init(SpeexMode *m)
    st->first=1;
    st->stack = speex_alloc(10000*sizeof(float));
 
-   st->x0d=speex_alloc(st->frame_size*sizeof(float));
-   st->x1d=speex_alloc(st->frame_size*sizeof(float));
-   st->high=speex_alloc(st->full_frame_size*sizeof(float));
-   st->y0=speex_alloc(st->full_frame_size*sizeof(float));
-   st->y1=speex_alloc(st->full_frame_size*sizeof(float));
+   st->x0d=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->x1d=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->high=(float*)speex_alloc(st->full_frame_size*sizeof(float));
+   st->y0=(float*)speex_alloc(st->full_frame_size*sizeof(float));
+   st->y1=(float*)speex_alloc(st->full_frame_size*sizeof(float));
 
-   st->h0_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->h1_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->g0_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->g1_mem=speex_alloc(QMF_ORDER*sizeof(float));
+   st->h0_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->h1_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->g0_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->g1_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
 
-   st->buf=speex_alloc(st->windowSize*sizeof(float));
-   st->excBuf=speex_alloc(st->bufSize*sizeof(float));
+   st->buf=(float*)speex_alloc(st->windowSize*sizeof(float));
+   st->excBuf=(float*)speex_alloc(st->bufSize*sizeof(float));
    st->exc = st->excBuf + st->bufSize - st->windowSize;
-   /*st->exc=st->excBuf+st->frame_size;*/
 
-   st->res=speex_alloc(st->frame_size*sizeof(float));
-   st->sw=speex_alloc(st->frame_size*sizeof(float));
-   st->target=speex_alloc(st->frame_size*sizeof(float));
+   st->res=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->sw=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->target=(float*)speex_alloc(st->frame_size*sizeof(float));
    /*Asymetric "pseudo-Hamming" window*/
    {
       int part1, part2;
       part1 = st->subframeSize*7/2;
       part2 = st->subframeSize*5/2;
-      st->window = speex_alloc(st->windowSize*sizeof(float));
+      st->window = (float*)speex_alloc(st->windowSize*sizeof(float));
       for (i=0;i<part1;i++)
          st->window[i]=.54-.46*cos(M_PI*i/part1);
       for (i=0;i<part2;i++)
          st->window[part1+i]=.54+.46*cos(M_PI*i/part2);
    }
 
-   st->lagWindow = speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->lagWindow = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
    for (i=0;i<st->lpcSize+1;i++)
       st->lagWindow[i]=exp(-.5*sqr(2*M_PI*st->lag_factor*i));
 
-   st->rc = speex_alloc(st->lpcSize*sizeof(float));
-   st->autocorr = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->lpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->bw_lpc1 = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->bw_lpc2 = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_lsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_lpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-   st->interp_qlpc = speex_alloc((st->lpcSize+1)*sizeof(float));
-
-   st->mem_sp = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_sp2 = speex_alloc(st->lpcSize*sizeof(float));
-   st->mem_sw = speex_alloc(st->lpcSize*sizeof(float));
+   st->rc = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->autocorr = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->lpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->bw_lpc1 = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->bw_lpc2 = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_lsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_lpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->interp_qlpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
+
+   st->mem_sp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sp2 = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sw = (float*)speex_alloc(st->lpcSize*sizeof(float));
    st->complexity=2;
 
    return st;
@@ -217,7 +216,7 @@ void *sb_encoder_init(SpeexMode *m)
 
 void sb_encoder_destroy(void *state)
 {
-   SBEncState *st=state;
+   SBEncState *st=(SBEncState*)state;
 
    nb_encoder_destroy(st->st_low);
    speex_free(st->x0d);
@@ -268,11 +267,11 @@ void sb_encode(void *state, float *in, SpeexBits *bits)
    void *stack;
    float *mem, *innov, *syn_resp;
 
-   st = state;
+   st = (SBEncState*)state;
    stack=st->stack;
 
    /* Compute the two sub-bands by filtering with h0 and h1*/
-   qmf_decomp(in, h0, st->x0d, st->x1d, st->full_frame_size, QMF_ORDER, st->h0_mem);
+   qmf_decomp(in, h0, st->x0d, st->x1d, st->full_frame_size, QMF_ORDER, st->h0_mem, stack);
 
    /* Encode the narrowband part*/
    nb_encode(st->st_low, st->x0d, bits);
@@ -342,8 +341,8 @@ void sb_encode(void *state, float *in, SpeexBits *bits)
 #ifndef RELEASE
 
       /* Reconstruct the original */
-      fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);
-      fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);
+      fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);
+      fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);
 
       for (i=0;i<st->full_frame_size;i++)
          in[i]=2*(st->y0[i]-st->y1[i]);
@@ -544,7 +543,7 @@ void sb_encode(void *state, float *in, SpeexBits *bits)
             exc[i] += innov[i]*scale;
 
          if (SUBMODE(double_codebook)) {
-            float *tmp_stack=stack;
+            void *tmp_stack=stack;
             float *innov2 = PUSH(tmp_stack, st->subframeSize, float);
             for (i=0;i<st->subframeSize;i++)
                innov2[i]=0;
@@ -586,8 +585,8 @@ void sb_encode(void *state, float *in, SpeexBits *bits)
 #ifndef RELEASE
 
    /* Reconstruct the original */
-   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);
-   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);
+   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);
+   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);
 
    for (i=0;i<st->full_frame_size;i++)
       in[i]=2*(st->y0[i]-st->y1[i]);
@@ -608,9 +607,9 @@ void *sb_decoder_init(SpeexMode *m)
 {
    SBDecState *st;
    SpeexSBMode *mode;
-   st = speex_alloc(sizeof(SBDecState));
+   st = (SBDecState*)speex_alloc(sizeof(SBDecState));
    st->mode = m;
-   mode=m->mode;
+   mode=(SpeexSBMode*)m->mode;
 
    st->st_low = nb_decoder_init(mode->nb_mode);
    st->full_frame_size = 2*mode->frameSize;
@@ -625,32 +624,32 @@ void *sb_decoder_init(SpeexMode *m)
    st->first=1;
    st->stack = speex_alloc(10000*sizeof(float));
 
-   st->x0d=speex_alloc(st->frame_size*sizeof(float));
-   st->x1d=speex_alloc(st->frame_size*sizeof(float));
-   st->high=speex_alloc(st->full_frame_size*sizeof(float));
-   st->y0=speex_alloc(st->full_frame_size*sizeof(float));
-   st->y1=speex_alloc(st->full_frame_size*sizeof(float));
+   st->x0d=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->x1d=(float*)speex_alloc(st->frame_size*sizeof(float));
+   st->high=(float*)speex_alloc(st->full_frame_size*sizeof(float));
+   st->y0=(float*)speex_alloc(st->full_frame_size*sizeof(float));
+   st->y1=(float*)speex_alloc(st->full_frame_size*sizeof(float));
 
-   st->h0_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->h1_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->g0_mem=speex_alloc(QMF_ORDER*sizeof(float));
-   st->g1_mem=speex_alloc(QMF_ORDER*sizeof(float));
+   st->h0_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->h1_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->g0_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
+   st->g1_mem=(float*)speex_alloc(QMF_ORDER*sizeof(float));
 
-   st->exc=speex_alloc(st->frame_size*sizeof(float));
+   st->exc=(float*)speex_alloc(st->frame_size*sizeof(float));
 
-   st->qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->old_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_qlsp = speex_alloc(st->lpcSize*sizeof(float));
-   st->interp_qlpc = speex_alloc((st->lpcSize+1)*sizeof(float));
+   st->qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->old_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_qlsp = (float*)speex_alloc(st->lpcSize*sizeof(float));
+   st->interp_qlpc = (float*)speex_alloc((st->lpcSize+1)*sizeof(float));
 
-   st->mem_sp = speex_alloc(st->lpcSize*sizeof(float));
+   st->mem_sp = (float*)speex_alloc(st->lpcSize*sizeof(float));
    return st;
 }
 
 void sb_decoder_destroy(void *state)
 {
    SBDecState *st;
-   st = state;
+   st = (SBDecState*)state;
    nb_decoder_destroy(st->st_low);
    speex_free(st->x0d);
    speex_free(st->x1d);
@@ -687,8 +686,8 @@ static void sb_decode_lost(SBDecState *st, float *out, void *stack)
    iir_mem2(st->exc, st->interp_qlpc, st->high, st->subframeSize, st->lpcSize, st->mem_sp);
    
    /* Reconstruct the original */
-   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);
-   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);
+   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);
+   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);
 
    for (i=0;i<st->full_frame_size;i++)
       out[i]=2*(st->y0[i]-st->y1[i]);
@@ -704,7 +703,7 @@ int sb_decode(void *state, SpeexBits *bits, float *out)
    int ret;
    void *stack;
 
-   st = state;
+   st = (SBDecState*)state;
    stack=st->stack;
 
    /* Decode the low-band */
@@ -749,8 +748,8 @@ int sb_decode(void *state, SpeexBits *bits, float *out)
       /* Final signal synthesis from excitation */
       iir_mem2(st->exc, st->interp_qlpc, st->high, st->subframeSize, st->lpcSize, st->mem_sp);
 
-      fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);
-      fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);
+      fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);
+      fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);
 
       for (i=0;i<st->full_frame_size;i++)
          out[i]=2*(st->y0[i]-st->y1[i]);
@@ -843,7 +842,7 @@ int sb_decode(void *state, SpeexBits *bits, float *out)
             exc[i]*=scale;
 
          if (SUBMODE(double_codebook)) {
-            float *tmp_stack=stack;
+            void *tmp_stack=stack;
             float *innov2 = PUSH(tmp_stack, st->subframeSize, float);
             for (i=0;i<st->subframeSize;i++)
                innov2[i]=0;
@@ -860,8 +859,8 @@ int sb_decode(void *state, SpeexBits *bits, float *out)
 
    }
 
-   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem);
-   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem);
+   fir_mem_up(st->x0d, h0, st->y0, st->full_frame_size, QMF_ORDER, st->g0_mem, stack);
+   fir_mem_up(st->high, h1, st->y1, st->full_frame_size, QMF_ORDER, st->g1_mem, stack);
 
    for (i=0;i<st->full_frame_size;i++)
       out[i]=2*(st->y0[i]-st->y1[i]);
@@ -878,7 +877,7 @@ int sb_decode(void *state, SpeexBits *bits, float *out)
 void sb_encoder_ctl(void *state, int request, void *ptr)
 {
    SBEncState *st;
-   st=state;
+   st=(SBEncState*)state;
    switch(request)
    {
    case SPEEX_GET_FRAME_SIZE:
@@ -983,7 +982,7 @@ void sb_encoder_ctl(void *state, int request, void *ptr)
 void sb_decoder_ctl(void *state, int request, void *ptr)
 {
    SBDecState *st;
-   st=state;
+   st=(SBDecState*)state;
    switch(request)
    {
    case SPEEX_GET_FRAME_SIZE:
index 75099a7..a8750cc 100644 (file)
@@ -119,7 +119,7 @@ int speex_std_vbr_quality_request_handler(SpeexBits *bits, void *state, void *da
 int speex_std_char_handler(SpeexBits *bits, void *state, void *data)
 {
    unsigned char ch;
-   FILE *f = data;
+   FILE *f = (FILE *)data;
    ch = speex_bits_unpack_unsigned(bits, 8);
    fputc(ch, f);
    return 0;
index 6691d25..b455cf7 100644 (file)
@@ -98,7 +98,7 @@ void speex_init_header(SpeexHeader *header, int rate, int nb_channels, SpeexMode
 char *speex_header_to_packet(SpeexHeader *header, int *size)
 {
    SpeexHeader *le_header;
-   le_header = speex_alloc(sizeof(SpeexHeader));
+   le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader));
    
    speex_move(le_header, header, sizeof(SpeexHeader));
    
@@ -136,7 +136,7 @@ SpeexHeader *speex_packet_to_header(char *packet, int size)
       return NULL;
    }
    
-   le_header = speex_alloc(sizeof(SpeexHeader));
+   le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader));
    
    speex_move(le_header, packet, sizeof(SpeexHeader));
    
index 18e9e49..7033ef4 100644 (file)
@@ -114,7 +114,7 @@ int main(int argc, char **argv)
       }
       speex_bits_reset(&bits);
       for (i=0;i<FRAME_SIZE;i++)
-         in[i]=input[i];
+         in[i]=(short)input[i];
       for (i=0;i<FRAME_SIZE;i++)
          bak2[i]=bak[i];
       fwrite(in, sizeof(short), FRAME_SIZE, fout);
index fdcefa5..31fe77c 100644 (file)
@@ -90,7 +90,7 @@ int main(int argc, char **argv)
       }
       speex_bits_reset(&bits);
       for (i=0;i<FRAME_SIZE;i++)
-         in[i]=input[i];
+         in[i]=(short)input[i];
       for (i=0;i<FRAME_SIZE;i++)
          bak2[i]=bak[i];
       fwrite(in, sizeof(short), FRAME_SIZE, fout);
index c0055ad..7265524 100644 (file)
@@ -190,7 +190,7 @@ void usage()
    printf (" --no-enh              Disable perceptual enhancement (default FOR NOW)\n");
    printf (" --force-nb            Force decoding in narrowband, even for wideband\n");
    printf (" --force-wb            Force decoding in wideband, even for narrowband\n");
-   printf (" --packet-loss n       Simulate n % random packet loss\n");
+   printf (" --packet-loss n       Simulate n %% random packet loss\n");
    printf (" -V                    Verbose mode (show bit-rate)\n"); 
    printf (" -h, --help            This help\n");
    printf (" -v, --version         Version information\n");
@@ -441,7 +441,7 @@ int main(int argc, char **argv)
                fout = out_file_open(outFile, rate);
 
             } else if (packet_count==1){
-               print_comments(op.packet, op.bytes);
+               print_comments((char*)op.packet, op.bytes);
                /*
                fprintf (stderr, "File comments: ");
                fwrite(op.packet, 1, op.bytes, stderr);
@@ -484,7 +484,7 @@ int main(int argc, char **argv)
                   }
                   /*Convert to short and save to output file*/
                   for (i=0;i<frame_size;i++)
-                     out[i]=(short)le_short(output[i]);
+                     out[i]=(short)le_short((short)output[i]);
 #if defined WIN32 || defined _WIN32
                   if (strlen(outFile)==0)
                       WIN_Play_Samples (out, sizeof(short) * frame_size);
index 3403e51..576ac96 100644 (file)
@@ -51,8 +51,9 @@
 #include <fcntl.h>
 #endif
 
-void comment_init();
-void comment_add();
+
+void comment_init(char **comments, int* length, char *vendor_string);
+void comment_add(char **comments, int* length, char *tag, char *val);
 
 
 /*Write an Ogg page to a file pointer*/
@@ -636,7 +637,7 @@ void comment_add(char **comments, int* length, char *tag, char *val)
   int val_len=strlen(val);
   int len=(*length)+4+tag_len+val_len;
 
-  p=realloc(p, len);
+  p=(char*)realloc(p, len);
   if(p==NULL){
   }