From a556694e128a10eb03a0cc8311e6516bdbd88674 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Sat, 1 Mar 2008 20:14:20 +1100 Subject: [PATCH] Stereo pitch search no longer requires twice the memory/complexity. --- libcelt/celt.c | 4 ++-- libcelt/pitch.c | 20 +++++++++++--------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/libcelt/celt.c b/libcelt/celt.c index 071e4efe..f4b154ed 100644 --- a/libcelt/celt.c +++ b/libcelt/celt.c @@ -103,8 +103,8 @@ CELTEncoder *celt_encoder_create(const CELTMode *mode) ec_byte_writeinit(&st->buf); ec_enc_init(&st->enc,&st->buf); - st->fft = kiss_fftr_alloc(MAX_PERIOD*C, 0, 0); - psydecay_init(&st->psy, MAX_PERIOD*C/2, st->mode->Fs); + st->fft = kiss_fftr_alloc(MAX_PERIOD, 0, 0); + psydecay_init(&st->psy, MAX_PERIOD/2, st->mode->Fs); st->in_mem = celt_alloc(N*C*sizeof(celt_sig_t)); st->mdct_overlap = celt_alloc(N*C*sizeof(celt_sig_t)); diff --git a/libcelt/pitch.c b/libcelt/pitch.c index 11550975..2b461160 100644 --- a/libcelt/pitch.c +++ b/libcelt/pitch.c @@ -55,29 +55,31 @@ void find_spectral_pitch(kiss_fftr_cfg fft, struct PsyDecay *decay, celt_sig_t * int n2; SAVE_STACK; n2 = lag/2; - ALLOC(xx, lag*C, celt_word32_t); - ALLOC(X, lag*C, celt_word32_t); - ALLOC(curve, n2*C, celt_mask_t); + ALLOC(xx, lag, celt_word32_t); + ALLOC(X, lag, celt_word32_t); + ALLOC(curve, n2, celt_mask_t); - for (i=0;i