Fixed a bug in the PLC and added code to estimate the pitch from the synthesis

instead of relying on the one previously transmitted by the encoder.
This commit is contained in:
Jean-Marc Valin 2008-05-02 10:34:07 +10:00
parent a1bb9c707f
commit 24c9cdaca1
6 changed files with 29 additions and 12 deletions

View file

@ -339,6 +339,8 @@ CELTMode EXPORT *celt_mode_create(celt_int32_t Fs, int channels, int frame_size,
mode->marker_end = MODEVALID;
#endif /* !STATIC_MODES */
mdct_init(&mode->mdct, 2*mode->mdctSize);
mode->fft = pitch_state_alloc(MAX_PERIOD);
mode->prob = quant_prob_alloc(mode);
if (error)
*error = CELT_OK;
@ -374,6 +376,7 @@ void EXPORT celt_mode_destroy(CELTMode *mode)
#endif
#endif
mdct_clear(&mode->mdct);
pitch_state_free(mode->fft);
quant_prob_free(mode->prob);
celt_free((CELTMode *)mode);
}