/*
 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
 * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
 * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
 */

/* $Header: /nfshome/cvs/xine-lib/src/libxineadec/gsm610/table.c,v 1.1 2002/10/12 19:12:49 tmmm Exp $ */

/*  Most of these tables are inlined at their point of use.
 */

/*  4.4 TABLES USED IN THE FIXED POINT IMPLEMENTATION OF THE RPE-LTP
 *      CODER AND DECODER
 *
 *	(Most of them inlined, so watch out.)
 */

#define	GSM_TABLE_C
#include "private.h"
#include	"gsm.h"

/*  Table 4.1  Quantization of the Log.-Area Ratios
 */
/*     i                     1      2      3        4      5      6        7      8 */
const word gsm_A[8]   = {20480, 20480, 20480,  20480,  13964,  15360,   8534,  9036};
const word gsm_B[8]   = {    0,     0,  2048,  -2560,     94,  -1792,   -341, -1144};
const word gsm_MIC[8] = {  -32,   -32,   -16,    -16,     -8,     -8,     -4,    -4};
const word gsm_MAC[8] = {   31,    31,    15,     15,      7,      7,      3,     3};


/*  Table 4.2  Tabulation  of 1/A[1..8]
 */
const word gsm_INVA[8] = { 13107, 13107,  13107, 13107,  19223, 17476,  31454, 29708 };


/*   Table 4.3a  Decision level of the LTP gain quantizer
 */
/*    bc                      0      1      2      3 */
const word gsm_DLB[4] = {  6554, 16384, 26214, 32767 };


/*   Table 4.3b   Quantization levels of the LTP gain quantizer
 */
/*     bc                    0      1      2      3 */
const word gsm_QLB[4] = { 3277, 11469, 21299, 32767 };


/*   Table 4.4	 Coefficients of the weighting filter
 */
/*    i                    0     1  2     3     4     5     6     7  8     9    10 */
const word gsm_H[11] = {-134, -374, 0, 2054, 5741, 8192, 5741, 2054, 0, -374, -134 };


/*   Table 4.5 	 Normalized inverse mantissa used to compute xM/xmax 
 */
/*    i                         0      1      2      3      4      5      6      7 */
const word gsm_NRFAC[8] = { 29128, 26215, 23832, 21846, 20165, 18725, 17476, 16384 };


/*   Table 4.6	 Normalized direct mantissa used to compute xM/xmax
 */
/*    i                       0      1      2      3      4      5      6      7 */
const word gsm_FAC[8] = { 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 };
