diff options
Diffstat (limited to 'drivers/speex/modes.c')
| -rw-r--r-- | drivers/speex/modes.c | 366 | 
1 files changed, 0 insertions, 366 deletions
diff --git a/drivers/speex/modes.c b/drivers/speex/modes.c deleted file mode 100644 index 08c8633a73..0000000000 --- a/drivers/speex/modes.c +++ /dev/null @@ -1,366 +0,0 @@ -/* Copyright (C) 2002-2006 Jean-Marc Valin  -   File: modes.c - -   Describes the different modes of the codec - -   Redistribution and use in source and binary forms, with or without -   modification, are permitted provided that the following conditions -   are met: -    -   - Redistributions of source code must retain the above copyright -   notice, this list of conditions and the following disclaimer. -    -   - Redistributions in binary form must reproduce the above copyright -   notice, this list of conditions and the following disclaimer in the -   documentation and/or other materials provided with the distribution. -    -   - Neither the name of the Xiph.org Foundation nor the names of its -   contributors may be used to endorse or promote products derived from -   this software without specific prior written permission. -    -   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -   ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -   A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR -   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -   SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*/ - - -#include "config.h" - - -#include "modes.h" -#include "ltp.h" -#include "quant_lsp.h" -#include "cb_search.h" -#include "sb_celp.h" -#include "nb_celp.h" -#include "vbr.h" -#include "arch.h" -#include <math.h> - -#ifndef NULL -#define NULL 0 -#endif - - -/* Extern declarations for all codebooks we use here */ -extern const signed char gain_cdbk_nb[]; -extern const signed char gain_cdbk_lbr[]; -extern const signed char exc_5_256_table[]; -extern const signed char exc_5_64_table[]; -extern const signed char exc_8_128_table[]; -extern const signed char exc_10_32_table[]; -extern const signed char exc_10_16_table[]; -extern const signed char exc_20_32_table[]; - - -/* Parameters for Long-Term Prediction (LTP)*/ -static const ltp_params ltp_params_nb = { -   gain_cdbk_nb, -   7, -   7 -}; - -/* Parameters for Long-Term Prediction (LTP)*/ -static const ltp_params ltp_params_vlbr = { -   gain_cdbk_lbr, -   5, -   0 -}; - -/* Parameters for Long-Term Prediction (LTP)*/ -static const ltp_params ltp_params_lbr = { -   gain_cdbk_lbr, -   5, -   7 -}; - -/* Parameters for Long-Term Prediction (LTP)*/ -static const ltp_params ltp_params_med = { -   gain_cdbk_lbr, -   5, -   7 -}; - -/* Split-VQ innovation parameters for very low bit-rate narrowband */ -static const split_cb_params split_cb_nb_vlbr = { -   10,               /*subvect_size*/ -   4,               /*nb_subvect*/ -   exc_10_16_table, /*shape_cb*/ -   4,               /*shape_bits*/ -   0, -}; - -/* Split-VQ innovation parameters for very low bit-rate narrowband */ -static const split_cb_params split_cb_nb_ulbr = { -   20,               /*subvect_size*/ -   2,               /*nb_subvect*/ -   exc_20_32_table, /*shape_cb*/ -   5,               /*shape_bits*/ -   0, -}; - -/* Split-VQ innovation parameters for low bit-rate narrowband */ -static const split_cb_params split_cb_nb_lbr = { -   10,              /*subvect_size*/ -   4,               /*nb_subvect*/ -   exc_10_32_table, /*shape_cb*/ -   5,               /*shape_bits*/ -   0, -}; - - -/* Split-VQ innovation parameters narrowband */ -static const split_cb_params split_cb_nb = { -   5,               /*subvect_size*/ -   8,               /*nb_subvect*/ -   exc_5_64_table, /*shape_cb*/ -   6,               /*shape_bits*/ -   0, -}; - -/* Split-VQ innovation parameters narrowband */ -static const split_cb_params split_cb_nb_med = { -   8,               /*subvect_size*/ -   5,               /*nb_subvect*/ -   exc_8_128_table, /*shape_cb*/ -   7,               /*shape_bits*/ -   0, -}; - -/* Split-VQ innovation for low-band wideband */ -static const split_cb_params split_cb_sb = { -   5,               /*subvect_size*/ -   8,              /*nb_subvect*/ -   exc_5_256_table,    /*shape_cb*/ -   8,               /*shape_bits*/ -   0, -}; - - - -/* 2150 bps "vocoder-like" mode for comfort noise */ -static const SpeexSubmode nb_submode1 = { -   0, -   1, -   0, -   0, -   /* LSP quantization */ -   lsp_quant_lbr, -   lsp_unquant_lbr, -   /* No pitch quantization */ -   forced_pitch_quant, -   forced_pitch_unquant, -   NULL, -   /* No innovation quantization (noise only) */ -   noise_codebook_quant, -   noise_codebook_unquant, -   NULL, -   -1, -   43 -}; - -/* 3.95 kbps very low bit-rate mode */ -static const SpeexSubmode nb_submode8 = { -   0, -   1, -   0, -   0, -   /*LSP quantization*/ -   lsp_quant_lbr, -   lsp_unquant_lbr, -   /*No pitch quantization*/ -   forced_pitch_quant, -   forced_pitch_unquant, -   NULL, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb_ulbr, -   QCONST16(.5,15), -   79 -}; - -/* 5.95 kbps very low bit-rate mode */ -static const SpeexSubmode nb_submode2 = { -   0, -   0, -   0, -   0, -   /*LSP quantization*/ -   lsp_quant_lbr, -   lsp_unquant_lbr, -   /*No pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_vlbr, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb_vlbr, -   QCONST16(.6,15), -   119 -}; - -/* 8 kbps low bit-rate mode */ -static const SpeexSubmode nb_submode3 = { -   -1, -   0, -   1, -   0, -   /*LSP quantization*/ -   lsp_quant_lbr, -   lsp_unquant_lbr, -   /*Pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_lbr, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb_lbr, -   QCONST16(.55,15), -   160 -}; - -/* 11 kbps medium bit-rate mode */ -static const SpeexSubmode nb_submode4 = { -   -1, -   0, -   1, -   0, -   /*LSP quantization*/ -   lsp_quant_lbr, -   lsp_unquant_lbr, -   /*Pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_med, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb_med, -   QCONST16(.45,15), -   220 -}; - -/* 15 kbps high bit-rate mode */ -static const SpeexSubmode nb_submode5 = { -   -1, -   0, -   3, -   0, -   /*LSP quantization*/ -   lsp_quant_nb, -   lsp_unquant_nb, -   /*Pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_nb, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb, -   QCONST16(.3,15), -   300 -}; - -/* 18.2 high bit-rate mode */ -static const SpeexSubmode nb_submode6 = { -   -1, -   0, -   3, -   0, -   /*LSP quantization*/ -   lsp_quant_nb, -   lsp_unquant_nb, -   /*Pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_nb, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_sb, -   QCONST16(.2,15), -   364 -}; - -/* 24.6 kbps high bit-rate mode */ -static const SpeexSubmode nb_submode7 = { -   -1, -   0, -   3, -   1, -   /*LSP quantization*/ -   lsp_quant_nb, -   lsp_unquant_nb, -   /*Pitch quantization*/ -   pitch_search_3tap, -   pitch_unquant_3tap, -   <p_params_nb, -   /*Innovation quantization*/ -   split_cb_search_shape_sign, -   split_cb_shape_sign_unquant, -   &split_cb_nb, -   QCONST16(.1,15), -   492 -}; - - -/* Default mode for narrowband */ -static const SpeexNBMode nb_mode = { -   160,    /*frameSize*/ -   40,     /*subframeSize*/ -   10,     /*lpcSize*/ -   17,     /*pitchStart*/ -   144,    /*pitchEnd*/ -#ifdef FIXED_POINT -   29491, 19661, /* gamma1, gamma2 */ -#else -   0.9, 0.6, /* gamma1, gamma2 */ -#endif -   QCONST16(.0002,15), /*lpc_floor*/ -   {NULL, &nb_submode1, &nb_submode2, &nb_submode3, &nb_submode4, &nb_submode5, &nb_submode6, &nb_submode7, -   &nb_submode8, NULL, NULL, NULL, NULL, NULL, NULL, NULL}, -   5, -   {1, 8, 2, 3, 3, 4, 4, 5, 5, 6, 7} -}; - - -/* Default mode for narrowband */ -EXPORT const SpeexMode speex_nb_mode = { -   &nb_mode, -   nb_mode_query, -   "narrowband", -   0, -   4, -   &nb_encoder_init, -   &nb_encoder_destroy, -   &nb_encode, -   &nb_decoder_init, -   &nb_decoder_destroy, -   &nb_decode, -   &nb_encoder_ctl, -   &nb_decoder_ctl, -}; - - - -EXPORT int speex_mode_query(const SpeexMode *mode, int request, void *ptr) -{ -   return mode->query(mode->mode, request, ptr); -} - -#ifdef FIXED_DEBUG -long long spx_mips=0; -#endif -  |