diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2017-06-04 02:59:33 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2017-06-04 03:04:52 -0400 |
commit | 15a30e282586f9c88784975944daf9e6c44aa72a (patch) | |
tree | 06a31a4b4839dd5118279286b55f8bf30067b13c /src | |
parent | f3390cdf732d7f51264c6f869fe41955f511de3d (diff) | |
download | opus-15a30e282586f9c88784975944daf9e6c44aa72a.tar.gz |
Properly init speech/music confidence values
This was sometimes causing the music probability to be stuck at
zero at the beginning of files
Diffstat (limited to 'src')
-rw-r--r-- | src/analysis.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/analysis.c b/src/analysis.c index f0a04dc6..8f13d93b 100644 --- a/src/analysis.c +++ b/src/analysis.c @@ -224,6 +224,8 @@ void tonality_analysis_reset(TonalityAnalysisState *tonal) /* Clear non-reusable fields. */ char *start = (char*)&tonal->TONALITY_ANALYSIS_RESET_START; OPUS_CLEAR(start, sizeof(TonalityAnalysisState) - (start - (char*)tonal)); + tonal->music_confidence = .9f; + tonal->speech_confidence = .1f; } void tonality_get_info(TonalityAnalysisState *tonal, AnalysisInfo *info_out, int len) @@ -869,11 +871,6 @@ static void tonality_analysis(TonalityAnalysisState *tonal, const CELTMode *celt tonal->speech_confidence_count = IMIN(tonal->speech_confidence_count, 500); tonal->speech_confidence += adapt*MIN16(.2f,frame_probs[0]-tonal->speech_confidence); } - } else { - if (tonal->music_confidence_count==0) - tonal->music_confidence = .9f; - if (tonal->speech_confidence_count==0) - tonal->speech_confidence = .1f; } } tonal->last_music = tonal->music_prob>.5f; |