diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2019-02-13 11:48:20 -0500 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2019-02-13 13:51:08 -0500 |
commit | a7aa7fb382416ff257ab352c3b9cf3d46da51f56 (patch) | |
tree | aabda719d0d2847c0538b880b317c6146030d938 /src | |
parent | 843121b356685ff5a8c40211951f392f77f689cc (diff) | |
download | opus-a7aa7fb382416ff257ab352c3b9cf3d46da51f56.tar.gz |
Fixing initialization issues on small frame sizes
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis.c | 8 |
1 files changed, 5 insertions, 3 deletions
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); |