From a7aa7fb382416ff257ab352c3b9cf3d46da51f56 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin Date: Wed, 13 Feb 2019 11:48:20 -0500 Subject: Fixing initialization issues on small frame sizes --- src/analysis.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/analysis.c b/src/analysis.c index 6907a631..23bae422 100644 --- a/src/analysis.c +++ b/src/analysis.c @@ -488,7 +488,11 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt int is_silence; SAVE_STACK; - tonal->initialized = 1; + if (!tonal->initialized) + { + tonal->mem_fill = 240; + tonal->initialized = 1; + } alpha = 1.f/IMIN(10, 1+tonal->count); alphaE = 1.f/IMIN(25, 1+tonal->count); /* Noise floor related decay for bandwidth detection: -2.2 dB/second */ @@ -506,8 +510,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt } kfft = celt_mode->mdct.kfft[0]; - if (tonal->count==0) - tonal->mem_fill = 240; tonal->hp_ener_accum += (float)downmix_and_resample(downmix, x, &tonal->inmem[tonal->mem_fill], tonal->downmix_state, IMIN(len, ANALYSIS_BUF_SIZE-tonal->mem_fill), offset, c1, c2, C, tonal->Fs); -- cgit v1.2.3