From af49c74a89060fdd55460ad910778851f93a8022 Mon Sep 17 00:00:00 2001 From: jmvalin Date: Fri, 15 Mar 2002 19:28:09 +0000 Subject: wideband coexists with narrowband now git-svn-id: http://svn.xiph.org/trunk/speex@3152 0101bb08-14d6-0310-b084-bc0e0c8e3800 --- libspeex/cb_search.c | 79 +++++++++++++++++++++++++--------------------------- libspeex/modes.c | 5 ++-- libspeex/quant_lsp.c | 51 +++++++++++++++++++++++++++++++++ libspeex/quant_lsp.h | 3 ++ 4 files changed, 95 insertions(+), 43 deletions(-) (limited to 'libspeex') diff --git a/libspeex/cb_search.c b/libspeex/cb_search.c index e8a0fbb..2b4db2c 100644 --- a/libspeex/cb_search.c +++ b/libspeex/cb_search.c @@ -220,56 +220,53 @@ float *stack } { -#if 1 int best_vq_index=0, max_index; float max_gain=0, log_max, min_dist=0, *sign; - sign = PUSH(stack, nb_subvect); - for (i=0;imax_gain) - max_gain=gains[i]; - log_max=log(max_gain+1); - max_index = (int)(floor(.5+log_max-3)); - if (max_index>7) - max_index=7; - if (max_index<0) - max_index=0; - max_gain=1/exp(max_index+3.0); - for (i=0;igain_bits); - - printf ("best_gains_vq_index %d %f %d\n", best_vq_index, min_dist, max_index); - -#if 1 /* If 0, the gains are not quantized */ - for (i=0;imax_gain) + max_gain=gains[i]; + log_max=log(max_gain+1); + max_index = (int)(floor(.5+log_max-3)); + if (max_index>7) + max_index=7; + if (max_index<0) + max_index=0; + max_gain=1/exp(max_index+3.0); + for (i=0;igain_bits); + + printf ("best_gains_vq_index %d %f %d\n", best_vq_index, min_dist, max_index); + + for (i=0;i #include "modes.h" #include "ltp.h" #include "quant_lsp.h" @@ -55,7 +56,7 @@ split_cb_params split_cb_wb = { 8, /*nb_subvect*/ exc_wb_table, /*shape_cb*/ 7, /*shape_bits*/ - exc_gains_table, /*gain_cb*/ + NULL, /*gain_cb*/ 8 /*gain_bits*/ }; @@ -96,7 +97,7 @@ SpeexMode wb_mode = { 0.4, /*gamma2*/ /*LSP quantization*/ lsp_quant_wb, - lsp_unquant_nb, + lsp_unquant_wb, /*Pitch quantization*/ pitch_search_3tap, pitch_unquant_3tap, diff --git a/libspeex/quant_lsp.c b/libspeex/quant_lsp.c index aa7799e..cc3053b 100644 --- a/libspeex/quant_lsp.c +++ b/libspeex/quant_lsp.c @@ -212,3 +212,54 @@ void lsp_quant_wb(float *lsp, float *qlsp, int order, FrameBits *bits) for (i=0;i