fixed lots of warning/errors on retarded (non-C99) compilers
authorjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 9 Feb 2006 08:54:52 +0000 (08:54 +0000)
committerjm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Thu, 9 Feb 2006 08:54:52 +0000 (08:54 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@10789 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/fftwrap.c
libspeex/mdf.c
libspeex/pcm_wrapper.c
libspeex/pseudofloat.h
libspeex/testenc_wb.c

index f1abbd6..de09356 100644 (file)
@@ -248,9 +248,10 @@ void spx_fft_float(void *table, float *in, float *out)
       out[i] = _out[i];
    if (!fixed_point)
    {
+      float scale;
       struct drft_lookup t;
       spx_drft_init(&t, ((struct kiss_config *)table)->N);
-      float scale = 1./((struct kiss_config *)table)->N;
+      scale = 1./((struct kiss_config *)table)->N;
       for (i=0;i<((struct kiss_config *)table)->N;i++)
          out[i] = scale*in[i];
       spx_drft_forward(&t, out);
index b3e0c9e..0e42442 100644 (file)
@@ -123,6 +123,10 @@ struct SpeexEchoState_ {
    spx_word32_t *W;
    spx_word32_t *power;
    spx_float_t *power_1;
+   spx_word16_t *wtmp;
+#ifdef FIXED_POINT
+   spx_word16_t *wtmp2;
+#endif
    spx_word32_t *Rf;
    spx_word32_t *Yf;
    spx_word32_t *Xf;
@@ -300,7 +304,9 @@ SpeexEchoState *speex_echo_state_init(int frame_size, int filter_length)
    st->power = (spx_word32_t*)speex_alloc((frame_size+1)*sizeof(spx_word32_t));
    st->power_1 = (spx_float_t*)speex_alloc((frame_size+1)*sizeof(spx_float_t));
    st->window = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t));
-#ifdef FIXED_POINT   
+   st->wtmp = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t));
+#ifdef FIXED_POINT
+   st->wtmp2 = (spx_word16_t*)speex_alloc(N*sizeof(spx_word16_t));
    for (i=0;i<N>>1;i++)
    {
       st->window[i] = (16383-SHL16(spx_cos(DIV32_16(MULT16_16(25736,i<<1),N)),1));
@@ -375,7 +381,10 @@ void speex_echo_state_destroy(SpeexEchoState *st)
    speex_free(st->power);
    speex_free(st->power_1);
    speex_free(st->window);
-
+   speex_free(st->wtmp);
+#ifdef FIXED_POINT
+   speex_free(st->wtmp2);
+#endif
    speex_free(st);
 }
 
@@ -626,31 +635,29 @@ void speex_echo_cancel(SpeexEchoState *st, short *ref, short *echo, short *out,
       /* Remove the "if" to make this an MDF filter */
       if (j==M-1 || st->cancel_count%(M-1) == j)
       {
-         spx_word16_t w[N];
 #ifdef FIXED_POINT
-         spx_word16_t w2[N];
          for (i=0;i<N;i++)
-            w2[i] = PSHR32(st->W[j*N+i],NORMALIZE_SCALEDOWN+16);
-         spx_ifft(st->fft_table, w2, w);
+            st->wtmp2[i] = PSHR32(st->W[j*N+i],NORMALIZE_SCALEDOWN+16);
+         spx_ifft(st->fft_table, st->wtmp2, st->wtmp);
          for (i=0;i<st->frame_size;i++)
          {
-            w[i]=0;
+            st->wtmp[i]=0;
          }
          for (i=st->frame_size;i<N;i++)
          {
-            w[i]=SHL(w[i],NORMALIZE_SCALEUP);
+            st->wtmp[i]=SHL(st->wtmp[i],NORMALIZE_SCALEUP);
          }
-         spx_fft(st->fft_table, w, w2);
+         spx_fft(st->fft_table, st->wtmp, st->wtmp2);
          /* The "-1" in the shift is a sort of kludge that trades less efficient update speed for decrease noise */
          for (i=0;i<N;i++)
-            st->W[j*N+i] -= SHL32(w2[i],16+NORMALIZE_SCALEDOWN-NORMALIZE_SCALEUP-1);
+            st->W[j*N+i] -= SHL32(st->wtmp2[i],16+NORMALIZE_SCALEDOWN-NORMALIZE_SCALEUP-1);
 #else
-         spx_ifft(st->fft_table, &st->W[j*N], w);
+         spx_ifft(st->fft_table, &st->W[j*N], st->wtmp);
          for (i=st->frame_size;i<N;i++)
          {
-            w[i]=0;
+            st->wtmp[i]=0;
          }
-         spx_fft(st->fft_table, w, &st->W[j*N]);
+         spx_fft(st->fft_table, st->wtmp, &st->W[j*N]);
 #endif
       }
    }
index 440c459..71f4181 100644 (file)
@@ -53,7 +53,7 @@ static void *pcm_encoder_init(const SpeexMode *m)
    PCMState *st = (PCMState*)speex_alloc(sizeof(PCMState));
    st->mode = m;
    st->frame_size = 64;
-   
+   return st;
 }
 
 /** De-allocates encoder state resources*/
@@ -74,6 +74,7 @@ static int pcm_encode(void *state, void *vin, SpeexBits *bits)
       x = in[i];
       speex_bits_pack(bits, x, 16);
    }
+   return 0;
 }
 
 /** Initializes decoder state*/
@@ -81,7 +82,8 @@ static void *pcm_decoder_init(const SpeexMode *m)
 {
    PCMState *st = (PCMState*)speex_alloc(sizeof(PCMState));
    st->mode = m;
-   st->frame_size = 64;   
+   st->frame_size = 64;
+   return st;
 }
 
 /** De-allocates decoder state resources*/
@@ -102,6 +104,7 @@ static int pcm_decode(void *state, SpeexBits *bits, void *vout)
       x = speex_bits_unpack_signed(bits, 16);
       out[i] = x;
    }
+   return 0;
 }
 
 /** ioctl-like function for controlling a narrowband encoder */
@@ -121,6 +124,7 @@ static int pcm_encoder_ctl(void *state, int request, void *ptr)
          speex_warning_int("Unknown nb_ctl request: ", request);
          return -1;
    }
+   return 0;
 }
 
 /** ioctl-like function for controlling a narrowband decoder */
@@ -139,8 +143,8 @@ static int pcm_decoder_ctl(void *state, int request, void *ptr)
       default:
          speex_warning_int("Unknown nb_ctl request: ", request);
          return -1;
-
    }
+   return 0;
 }
 
 typedef struct {
@@ -150,7 +154,7 @@ static PCMMode pcmmode;
 
 int pcm_mode_query(const void *mode, int request, void *ptr)
 {
-   const PCMMode *m = (const PCMMode*)mode;
+   /*const PCMMode *m = (const PCMMode*)mode;*/
    
    switch (request)
    {
@@ -177,4 +181,4 @@ const SpeexMode pcm_wrapper_mode = {
    &pcm_decoder_ctl,
 };
 
-const SpeexMode *speex_pcm_wrapper = &pcm_wrapper_mode;
\ No newline at end of file
+const SpeexMode *speex_pcm_wrapper = &pcm_wrapper_mode;
index b86d892..8642bf0 100644 (file)
@@ -79,18 +79,15 @@ static inline spx_float_t PSEUDOFLOAT(spx_int32_t x)
       return (spx_float_t) {x,e};
 }
 
-static inline float REALFLOAT(spx_float_t a)
-{
-   return a.m * pow(2,a.e);
-}
 
 static inline spx_float_t FLOAT_ADD(spx_float_t a, spx_float_t b)
 {
+   spx_float_t r;
    if (a.m==0)
       return b;
    else if (b.m==0)
       return a;
-   spx_float_t r = (a).e > (b).e ? (spx_float_t) {((a).m>>1) + ((b).m>>MIN(15,(a).e-(b).e+1)),(a).e+1} : (spx_float_t) {((b).m>>1) + ((a).m>>MIN(15,(b).e-(a).e+1)),(b).e+1};
+   r = (a).e > (b).e ? (spx_float_t) {((a).m>>1) + ((b).m>>MIN(15,(a).e-(b).e+1)),(a).e+1} : (spx_float_t) {((b).m>>1) + ((a).m>>MIN(15,(b).e-(a).e+1)),(b).e+1};
    if (r.m>0)
    {
       if (r.m<16384)
@@ -111,11 +108,12 @@ static inline spx_float_t FLOAT_ADD(spx_float_t a, spx_float_t b)
 
 static inline spx_float_t FLOAT_SUB(spx_float_t a, spx_float_t b)
 {
+   spx_float_t r;
    if (a.m==0)
       return b;
    else if (b.m==0)
       return a;
-   spx_float_t r = (a).e > (b).e ? (spx_float_t) {((a).m>>1) - ((b).m>>MIN(15,(a).e-(b).e+1)),(a).e+1} : (spx_float_t) {((a).m>>MIN(15,(b).e-(a).e+1)) - ((b).m>>1) ,(b).e+1};
+   r = (a).e > (b).e ? (spx_float_t) {((a).m>>1) - ((b).m>>MIN(15,(a).e-(b).e+1)),(a).e+1} : (spx_float_t) {((a).m>>MIN(15,(b).e-(a).e+1)) - ((b).m>>1) ,(b).e+1};
    if (r.m>0)
    {
       if (r.m<16384)
@@ -173,10 +171,6 @@ static inline spx_float_t FLOAT_MULT(spx_float_t a, spx_float_t b)
    return r;   
 }
 
-static inline spx_float_t FLOAT_SHR(spx_float_t a, int b)
-{
-   return (spx_float_t) {a.m,a.e-b};
-}
 
 static inline spx_float_t FLOAT_SHL(spx_float_t a, int b)
 {
@@ -191,14 +185,6 @@ static inline spx_int16_t FLOAT_EXTRACT16(spx_float_t a)
       return a.m<<a.e;
 }
 
-static inline spx_int32_t FLOAT_EXTRACT32(spx_float_t a)
-{
-   if (a.e<0)
-      return ((spx_int32_t)a.m+(1<<(-a.e-1)))>>-a.e;
-   else
-      return ((spx_int32_t)a.m)<<a.e;
-}
-
 static inline spx_int32_t FLOAT_MUL32(spx_float_t a, spx_word32_t b)
 {
    if (a.e<-15)
index 74984b4..8d37d39 100644 (file)
@@ -108,6 +108,7 @@ int main(int argc, char **argv)
    fprintf (stderr, "Total encoded size: %d bits\n", bitCount);
    speex_encoder_destroy(st);
    speex_decoder_destroy(dec);
+   speex_bits_destroy(&bits);
 
    rewind(fin);
    rewind(fout);