/* * Static defines. * Copyright (C) 1999 Christopher Edwards * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ package javaforce.codec.gsm; public abstract class Gsm_Def { // TODO: remove // Define the magic number for audio files public static final int AUDIO_FILE_MAGIC = 0x2e736e64; // TODO: remove // The encoding key for type: 8-bit ISDN u-law public static final int AUDIO_FILE_ENCODING_MULAW_8 = 1; public static final short FRAME_SIZE = 33; public static final short MAX_FRAME_READ = 1000; // TODO: use Short.MIN/MAX_VALUE public static final short MIN_WORD = -32768; public static final short MAX_WORD = 32767; // TODO: use Integer.MIN/MAX_VALUE public static final int MIN_LONGWORD = -2147483648; public static final int MAX_LONGWORD = 2147483647; /* Table 4.1 Quantization of the Log.-Area Ratios */ /* i 1 2 3 4 5 6 7 8 */ public static final short gsm_A[] = { 20480, 20480, 20480, 20480, 13964, 15360, 8534, 9036 }; public static final short gsm_B[] = { 0, 0, 2048, -2560, 94, -1792, -341, -1144 }; public static final short gsm_MIC[] = { -32, -32, -16, -16, -8, -8, -4, -4 }; public static final short gsm_MAC[] = { 31, 31, 15, 15, 7, 7, 3, 3 }; /* Table 4.2 Tabulation of 1/A[1..8] */ public static final short gsm_INVA[] = { 13107, 13107, 13107, 13107, 19223, 17476, 31454, 29708 }; /* Table 4.3a Decision level of the LTP gain quantizer */ /* bc 0 1 2 3 */ public static final short gsm_DLB[] = { 6554, 16384, 26214, 32767 }; /* Table 4.3b Quantization levels of the LTP gain quantizer */ /* bc 0 1 2 3 */ public static final short gsm_QLB[] = { 3277, 11469, 21299, 32767 }; /* Table 4.4 Coefficients of the weighting filter */ /* i 0 1 2 3 4 5 6 7 8 9 10 */ public static final short gsm_H[] = { -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 */ public static final short gsm_NRFAC[] = { 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 */ public static final short gsm_FAC[] = { 18431, 20479, 22527, 24575, 26623, 28671, 30719, 32767 }; }