From 4f5557c3095a1d212161609ff638cdae67a9b303 Mon Sep 17 00:00:00 2001 From: Felicia Lim Date: Wed, 30 Mar 2016 15:46:59 +0200 Subject: Attenuate SILK PLC gain only for unvoiced speech --- silk/PLC.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'silk/PLC.c') diff --git a/silk/PLC.c b/silk/PLC.c index fb6ea887..277037a9 100644 --- a/silk/PLC.c +++ b/silk/PLC.c @@ -328,8 +328,10 @@ static OPUS_INLINE void silk_PLC_conceal( for( j = 0; j < LTP_ORDER; j++ ) { B_Q14[ j ] = silk_RSHIFT( silk_SMULBB( harm_Gain_Q15, B_Q14[ j ] ), 15 ); } - /* Gradually reduce excitation gain */ - rand_scale_Q14 = silk_RSHIFT( silk_SMULBB( rand_scale_Q14, rand_Gain_Q15 ), 15 ); + if ( psDec->indices.signalType != TYPE_NO_VOICE_ACTIVITY ) { + /* Gradually reduce excitation gain */ + rand_scale_Q14 = silk_RSHIFT( silk_SMULBB( rand_scale_Q14, rand_Gain_Q15 ), 15 ); + } /* Slowly increase pitch lag */ psPLC->pitchL_Q8 = silk_SMLAWB( psPLC->pitchL_Q8, psPLC->pitchL_Q8, PITCH_DRIFT_FAC_Q16 ); -- cgit v1.2.1