added suffix to real fft. The celtclient can now be built with an unmodified
speexdsp library.
This commit is contained in:
parent
300cb5b86a
commit
a31899f0e2
2 changed files with 13 additions and 4 deletions
|
@ -6,7 +6,13 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#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.
|
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
|
input timedata has nfft scalar points
|
||||||
output freqdata has nfft/2+1 complex points, packed into 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);
|
void kiss_fftr(kiss_fftr_cfg st,const kiss_fft_scalar *timedata,kiss_fft_scalar *freqdata);
|
||||||
|
|
||||||
|
|
|
@ -121,8 +121,9 @@ int main(int argc, char *argv[])
|
||||||
/* Setup the encoder and decoder in wideband */
|
/* Setup the encoder and decoder in wideband */
|
||||||
CELTEncoder *enc_state;
|
CELTEncoder *enc_state;
|
||||||
CELTDecoder *dec_state;
|
CELTDecoder *dec_state;
|
||||||
enc_state = celt_encoder_new(celt_mono);
|
CELTMode *mode = celt_mode_create(48000, 2, 256, 128, NULL);
|
||||||
dec_state = celt_decoder_new(celt_mono);
|
enc_state = celt_encoder_create(mode);
|
||||||
|
dec_state = celt_decoder_create(mode);
|
||||||
struct sched_param param;
|
struct sched_param param;
|
||||||
/*param.sched_priority = 40; */
|
/*param.sched_priority = 40; */
|
||||||
param.sched_priority = sched_get_priority_min(SCHED_FIFO);
|
param.sched_priority = sched_get_priority_min(SCHED_FIFO);
|
||||||
|
@ -142,7 +143,8 @@ int main(int argc, char *argv[])
|
||||||
/* Setup jitter buffer using decoder */
|
/* Setup jitter buffer using decoder */
|
||||||
JitterBuffer *jitter;
|
JitterBuffer *jitter;
|
||||||
jitter = jitter_buffer_init(FRAME_SIZE);
|
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 */
|
/* Echo canceller with 200 ms tail length */
|
||||||
SpeexEchoState *echo_state = speex_echo_state_init(FRAME_SIZE, 10*FRAME_SIZE);
|
SpeexEchoState *echo_state = speex_echo_state_init(FRAME_SIZE, 10*FRAME_SIZE);
|
||||||
tmp = SAMPLING_RATE;
|
tmp = SAMPLING_RATE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue