summaryrefslogtreecommitdiff
path: root/silk/process_NLSFs.c
diff options
context:
space:
mode:
authorJean-Marc Valin <jmvalin@jmvalin.ca>2011-10-20 00:39:41 -0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2011-10-20 00:39:41 -0400
commit294bfec27b82f879e3c3004d31bb91bcb34014f4 (patch)
tree94a6332cc1df41ec84b453ef76ee8118b95bfd8f /silk/process_NLSFs.c
parentdbf2ea841e5b022f0b6d15a606dd7288f25c35dd (diff)
downloadopus-294bfec27b82f879e3c3004d31bb91bcb34014f4.tar.gz
Implements hard CBR for SILK
This is achieved by running the encoding process in a loop and padding when we don't reach the exact rate. It also implements VBR-with-cap, which means we no longer need to artificially decrease the SILK bandwidth when it's close to the cap.
Diffstat (limited to 'silk/process_NLSFs.c')
-rw-r--r--silk/process_NLSFs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/silk/process_NLSFs.c b/silk/process_NLSFs.c
index e077627c..6e1cc06f 100644
--- a/silk/process_NLSFs.c
+++ b/silk/process_NLSFs.c
@@ -54,14 +54,14 @@ void silk_process_NLSFs(
/* Calculate mu values */
/***********************/
/* NLSF_mu = 0.003 - 0.0015 * psEnc->speech_activity; */
- NLSF_mu_Q20 = silk_SMLAWB( SILK_FIX_CONST( 0.0025, 20 ), SILK_FIX_CONST( -0.001, 28 ), psEncC->speech_activity_Q8 );
+ NLSF_mu_Q20 = silk_SMLAWB( SILK_FIX_CONST( 0.003, 20 ), SILK_FIX_CONST( -0.001, 28 ), psEncC->speech_activity_Q8 );
if( psEncC->nb_subfr == 2 ) {
/* Multiply by 1.5 for 10 ms packets */
NLSF_mu_Q20 = silk_ADD_RSHIFT( NLSF_mu_Q20, NLSF_mu_Q20, 1 );
}
silk_assert( NLSF_mu_Q20 > 0 );
- silk_assert( NLSF_mu_Q20 <= SILK_FIX_CONST( 0.0045, 20 ) );
+ silk_assert( NLSF_mu_Q20 <= SILK_FIX_CONST( 0.005, 20 ) );
/* Calculate NLSF weights */
silk_NLSF_VQ_weights_laroia( pNLSFW_QW, pNLSF_Q15, psEncC->predictLPCOrder );