ref: 287cb030ab8a59dcecbb7ab8ea689f6dd5eb38b8
parent: ed7283089cd1b6e8e3913bcfa310647a7797c288
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Thu May 24 09:15:39 EDT 2018
Switch from narrowband to wideband at 9 kb/s, don't use mediumband
--- a/src/opus_encoder.c
+++ b/src/opus_encoder.c
@@ -123,26 +123,26 @@
middle (memoriless) threshold. The second column is the hysteresis
(difference with the middle) */
static const opus_int32 mono_voice_bandwidth_thresholds[8] = {
- 10000, 1000, /* NB<->MB */
- 11000, 1000, /* MB<->WB */
+ 9000, 700, /* NB<->MB */
+ 9000, 700, /* MB<->WB */
13500, 1000, /* WB<->SWB */
14000, 2000, /* SWB<->FB */
};
static const opus_int32 mono_music_bandwidth_thresholds[8] = {
- 9000, 1000, /* NB<->MB */
- 10000, 1000, /* MB<->WB */
+ 9000, 700, /* NB<->MB */
+ 9000, 700, /* MB<->WB */
11000, 1000, /* WB<->SWB */
12000, 2000, /* SWB<->FB */
};
static const opus_int32 stereo_voice_bandwidth_thresholds[8] = {
- 10000, 1000, /* NB<->MB */
- 11000, 1000, /* MB<->WB */
+ 9000, 700, /* NB<->MB */
+ 9000, 700, /* MB<->WB */
13500, 1000, /* WB<->SWB */
14000, 2000, /* SWB<->FB */
};
static const opus_int32 stereo_music_bandwidth_thresholds[8] = {
- 9000, 1000, /* NB<->MB */
- 10000, 1000, /* MB<->WB */
+ 9000, 700, /* NB<->MB */
+ 9000, 700, /* MB<->WB */
11000, 1000, /* WB<->SWB */
12000, 2000, /* SWB<->FB */
};
@@ -1487,6 +1487,10 @@
if (equiv_rate >= threshold)
break;
} while (--bandwidth>OPUS_BANDWIDTH_NARROWBAND);
+ /* We don't use mediumband anymore, except when explicitly requested or during
+ mode transitions. */
+ if (bandwidth == OPUS_BANDWIDTH_MEDIUMBAND)
+ bandwidth = OPUS_BANDWIDTH_WIDEBAND;
st->bandwidth = st->auto_bandwidth = bandwidth;
/* Prevents any transition to SWB/FB until the SILK layer has fully
switched to WB mode and turned the variable LP filter off */