From a31899f0e2c19f9ffab23738800771657da501ca Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Mon, 3 Mar 2008 22:28:23 +1100 Subject: [PATCH] added suffix to real fft. The celtclient can now be built with an unmodified speexdsp library. --- libcelt/kiss_fftr.h | 9 ++++++++- tools/celtclient.c | 8 +++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/libcelt/kiss_fftr.h b/libcelt/kiss_fftr.h index 7cc5bc61..32fda675 100644 --- a/libcelt/kiss_fftr.h +++ b/libcelt/kiss_fftr.h @@ -6,7 +6,13 @@ extern "C" { #endif - +#define kiss_fftr_alloc SUF(kiss_fftr_alloc,KF_SUFFIX) + +#define kiss_fftr_alloc SUF(kiss_fftr_alloc,KF_SUFFIX) +#define kiss_fftr_twiddles SUF(kiss_fftr_twiddles,KF_SUFFIX) +#define kiss_fftr SUF(kiss_fftr,KF_SUFFIX) +#define kiss_fftri SUF(kiss_fftri,KF_SUFFIX) + /* Real optimized version can save about 45% cpu time vs. complex fft of a real seq. @@ -38,6 +44,7 @@ kiss_fftr_cfg kiss_fftr_alloc(int nfft,void * mem, size_t * lenmem); input timedata has nfft scalar points output freqdata has nfft/2+1 complex points, packed into nfft scalar points */ +void kiss_fftr_twiddles(kiss_fftr_cfg st,kiss_fft_scalar *freqdata); void kiss_fftr(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar *freqdata); diff --git a/tools/celtclient.c b/tools/celtclient.c index 5da60297..08c612d0 100644 --- a/tools/celtclient.c +++ b/tools/celtclient.c @@ -121,8 +121,9 @@ int main(int argc, char *argv[]) /* Setup the encoder and decoder in wideband */ CELTEncoder *enc_state; CELTDecoder *dec_state; - enc_state = celt_encoder_new(celt_mono); - dec_state = celt_decoder_new(celt_mono); + CELTMode *mode = celt_mode_create(48000, 2, 256, 128, NULL); + enc_state = celt_encoder_create(mode); + dec_state = celt_decoder_create(mode); struct sched_param param; /*param.sched_priority = 40; */ param.sched_priority = sched_get_priority_min(SCHED_FIFO); @@ -142,7 +143,8 @@ int main(int argc, char *argv[]) /* Setup jitter buffer using decoder */ JitterBuffer *jitter; jitter = jitter_buffer_init(FRAME_SIZE); - + tmp = FRAME_SIZE; + jitter_buffer_ctl(jitter, JITTER_BUFFER_SET_MARGIN, &tmp); /* Echo canceller with 200 ms tail length */ SpeexEchoState *echo_state = speex_echo_state_init(FRAME_SIZE, 10*FRAME_SIZE); tmp = SAMPLING_RATE;