Cleaned up vocoder mode...
[speexdsp.git] / libspeex / modes.c
index 80190fd..fc9bf73 100644 (file)
@@ -131,25 +131,26 @@ static split_cb_params split_cb_high_lbr = {
 static SpeexSubmode nb_submode1 = {
    0,
    1,
+   1,
    /* LSP quantization */
    lsp_quant_lbr,
    lsp_unquant_lbr,
    /* No pitch quantization */
-   NULL,
-   NULL,
+   forced_pitch_quant,
+   forced_pitch_unquant,
    NULL,
    /* No innovation quantization (noise only) */
+   noise_codebook_quant,
+   noise_codebook_unquant,
    NULL,
-   NULL,
-   NULL,
-
    0, 0, -1,
-   2500
+   43
 };
 
 static SpeexSubmode nb_submode2 = {
    0,
    0,
+   0,
    /*LSP quantization*/
    lsp_quant_lbr,
    lsp_unquant_lbr,
@@ -162,13 +163,14 @@ static SpeexSubmode nb_submode2 = {
    split_cb_nogain_unquant,
    &split_cb_nb_vlbr,
 
-   0.75, 0.65, .6,
-   5900
+   0.75, 0.6, .6,
+   119
 };
 
 
 static SpeexSubmode nb_submode3 = {
    -1,
+   0,
    1,
    /*LSP quantization*/
    lsp_quant_lbr,
@@ -182,12 +184,13 @@ static SpeexSubmode nb_submode3 = {
    split_cb_nogain_unquant,
    &split_cb_nb_lbr,
 
-   0.75, 0.65, .5,
-   8350
+   0.75, 0.6, .5,
+   160
 };
 
 static SpeexSubmode nb_submode4 = {
    -1,
+   0,
    1,
    /*LSP quantization*/
    lsp_quant_lbr,
@@ -201,13 +204,14 @@ static SpeexSubmode nb_submode4 = {
    split_cb_nogain_unquant,
    &split_cb_nb_med,
 
-   0.72, 0.65, .4,
-   11350
+   0.72, 0.65, .3,
+   220
 };
 
 static SpeexSubmode nb_submode5 = {
    -1,
-   1,
+   0,
+   3,
    /*LSP quantization*/
    lsp_quant_nb,
    lsp_unquant_nb,
@@ -220,13 +224,14 @@ static SpeexSubmode nb_submode5 = {
    split_cb_nogain_unquant,
    &split_cb_nb,
 
-   0.7, 0.65, .3,
-   14950
+   0.7, 0.65, .2,
+   300
 };
 
 static SpeexSubmode nb_submode6 = {
    -1,
-   1,
+   0,
+   3,
    /*LSP quantization*/
    lsp_quant_nb,
    lsp_unquant_nb,
@@ -239,8 +244,8 @@ static SpeexSubmode nb_submode6 = {
    split_cb_nogain_unquant,
    &split_cb_sb,
 
-   0.68, 0.65, .2,
-   18150
+   0.68, 0.65, .1,
+   364
 };
 
 
@@ -267,7 +272,7 @@ SpeexMode speex_nb_mode = {
    &nb_mode,
    "narrowband",
    0,
-   3,
+   4,
    &nb_encoder_init,
    &nb_encoder_destroy,
    &nb_encode,
@@ -283,6 +288,7 @@ SpeexMode speex_nb_mode = {
 
 static SpeexSubmode wb_submode1 = {
    0,
+   0,
    1,
    /*LSP quantization*/
    lsp_quant_high,
@@ -297,12 +303,13 @@ static SpeexSubmode wb_submode1 = {
    NULL,
 
    0, 0, -1,
-   1750
+   36
 };
 
 
 static SpeexSubmode wb_submode2 = {
    0,
+   0,
    1,
    /*LSP quantization*/
    lsp_quant_high,
@@ -317,12 +324,13 @@ static SpeexSubmode wb_submode2 = {
    &split_cb_high_lbr,
 
    0, 0, -1,
-   5550
+   112
 };
 
 
 static SpeexSubmode wb_submode3 = {
    0,
+   0,
    1,
    /*LSP quantization*/
    lsp_quant_high,
@@ -337,12 +345,12 @@ static SpeexSubmode wb_submode3 = {
    &split_cb_high,
 
    0, 0, -1,
-   9550
+   192
 };
 
 
 /* Split-band wideband CELP mode*/
-static SpeexSBMode sb_wb_mode = {
+SpeexSBMode sb_wb_mode = {
    &speex_nb_mode,
    160,    /*frameSize*/
    40,     /*subframeSize*/
@@ -362,7 +370,7 @@ SpeexMode speex_wb_mode = {
    &sb_wb_mode,
    "full-rate wideband (sub-band CELP)",
    1,
-   3,
+   4,
    &sb_encoder_init,
    &sb_encoder_destroy,
    &sb_encode,