diff options
author | Felicia Lim <flim@google.com> | 2019-05-31 13:58:44 -0700 |
---|---|---|
committer | Felicia Lim <flim@google.com> | 2019-05-31 14:13:03 -0700 |
commit | 3ebf4ad86de2469572f7fa2bd6451469e7867c8f (patch) | |
tree | 972c330a89c870444e44c01963a2130cb7c67bfe /silk/CNG.c | |
parent | 86e5f5ea56529d688568929d036574a93311e82a (diff) | |
download | libopus-3ebf4ad86de2469572f7fa2bd6451469e7867c8f.tar.gz |
Silk CNG adapts faster to received packets with lower gains
Diffstat (limited to 'silk/CNG.c')
-rw-r--r-- | silk/CNG.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -118,6 +118,10 @@ void silk_CNG( /* Smooth gains */ for( i = 0; i < psDec->nb_subfr; i++ ) { psCNG->CNG_smth_Gain_Q16 += silk_SMULWB( psDecCtrl->Gains_Q16[ i ] - psCNG->CNG_smth_Gain_Q16, CNG_GAIN_SMTH_Q16 ); + /* If the smoothed gain is 3 dB greater than this subframe's gain, use this subframe's gain to adapt faster. */ + if( silk_SMULWW( psCNG->CNG_smth_Gain_Q16, CNG_GAIN_SMTH_THRESHOLD_Q16 ) > psDecCtrl->Gains_Q16[ i ] ) { + psCNG->CNG_smth_Gain_Q16 = psDecCtrl->Gains_Q16[ i ]; + } } } |