diff options
author | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2011-10-21 23:21:34 -0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2011-10-21 23:21:34 -0400 |
commit | 3b2aee062d08fc72f12a4379ce2d6e2b444d5021 (patch) | |
tree | 5e470d24cb1f00a2e764823fd404220f55b0ff80 /silk/control.h | |
parent | e53ebd696a34e2a74b1ccb5132a946b7c965f448 (diff) | |
download | opus-3b2aee062d08fc72f12a4379ce2d6e2b444d5021.tar.gz |
Implements glitchless switching between SILK bandwidths
Only encoder changes were necessary because this uses the same
"redundant frames" mechanism as SILK<->CELT switching.
This also fixes a regression introduced in 78291b27 that was
causing the encoder to go back and forth between bandwidths when
SILK wasn't ready to change.
Diffstat (limited to 'silk/control.h')
-rw-r--r-- | silk/control.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/silk/control.h b/silk/control.h index c2f906b8..47afecf6 100644 --- a/silk/control.h +++ b/silk/control.h @@ -89,6 +89,9 @@ typedef struct { /* I: Causes a smooth downmix to mono */ opus_int toMono; + /* I: Opus encoder is allowing us to switch bandwidth */ + opus_int opusCanSwitch; + /* O: Internal sampling rate used, in Hertz; 8000/12000/16000 */ opus_int32 internalSampleRate; @@ -100,6 +103,10 @@ typedef struct { /* O: Stereo width */ opus_int stereoWidth_Q14; + + /* O: Tells the Opus encoder we're ready to switch */ + opus_int switchReady; + } silk_EncControlStruct; /**************************************************************************/ |