⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ilbc_constants.java

📁 FMJ(freedom media for java)是java视频开发的新选择
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */package net.java.sip.communicator.impl.media.codec.audio.ilbc;/** * @author Jean Lorchat */class ilbc_constants {    /* general codec settings */    static float FS = (float)8000.0f;    static int BLOCKL_20MS = 160;    static int BLOCKL_30MS = 240;    static int BLOCKL_MAX = 240;    static int NSUB_20MS = 4;    static int NSUB_30MS = 6;    static int NSUB_MAX = 6;    static int NASUB_20MS = 2;    static int NASUB_30MS = 4;    static int NASUB_MAX = 4;    static int SUBL = 40;    static int STATE_LEN = 80;    static int STATE_SHORT_LEN_30MS = 58;    static int STATE_SHORT_LEN_20MS = 57;    /* LPC settings */    static int  LPC_FILTERORDER = 10;    static float LPC_CHIRP_SYNTDENUM = (float)0.9025;    static float LPC_CHIRP_WEIGHTDENUM = (float)0.4222;    static int LPC_LOOKBACK = 60;    static int LPC_N_20MS = 1;    static int LPC_N_30MS = 2;    static int LPC_N_MAX = 2;    static int LPC_ASYMDIFF = 20;    static float LPC_BW = (float)60.0f;    static float LPC_WN = (float)1.0001f;    static int LSF_NSPLIT = 3;    static int LSF_NUMBER_OF_STEPS = 4;    static int LPC_HALFORDER = (LPC_FILTERORDER/2);    /* cb settings */    static int CB_NSTAGES = 3;    static int CB_EXPAND = 2;    static int CB_MEML = 147;    static int CB_HALFFILTERLEN = 4;    static int CB_FILTERLEN = 2*CB_HALFFILTERLEN;    static int CB_RESRANGE = 34;    static float CB_MAXGAIN = (float)1.3;    /* enhancer */    static int ENH_BLOCKL = 80;  /* block length */    static int ENH_BLOCKL_HALF = (ENH_BLOCKL/2);    static int ENH_HL = 3;   /* 2*ENH_HL+1 is number blocks				in said second sequence */    static int ENH_SLOP = 2;   /* max difference estimated and				  correct pitch period */    static int ENH_PLOCSL = 20;  /* pitch-estimates and pitch-				    locations buffer length */    static int ENH_OVERHANG = 2;    static int ENH_UPS0 = 4;   /* upsampling rate */    static int ENH_FL0 = 3;   /* 2*FLO+1 is the length of				 each filter */    static int ENH_VECTL = (ENH_BLOCKL+2*ENH_FL0);    static int ENH_CORRDIM = (2*ENH_SLOP+1);    static int ENH_NBLOCKS = (BLOCKL_MAX/ENH_BLOCKL);    static int ENH_NBLOCKS_EXTRA = 5;    static int ENH_NBLOCKS_TOT = 8;   /* ENH_NBLOCKS +					 ENH_NBLOCKS_EXTRA */    static int ENH_BUFL = (ENH_NBLOCKS_TOT)*ENH_BLOCKL;    static float ENH_ALPHA0 = (float)0.05f;    /* Down sampling */    static int FILTERORDER_DS = 7;    static int DELAY_DS = 3;    static int FACTOR_DS = 2;    /* bit stream defs */    static int NO_OF_BYTES_20MS = 38;    static int NO_OF_BYTES_30MS = 50;    static int NO_OF_WORDS_20MS = 19;    static int NO_OF_WORDS_30MS = 25;    static int STATE_BITS = 3;    static int BYTE_LEN = 8;    static int ULP_CLASSES = 3;    /* help parameters */    static float DOUBLE_MAX = (float)1.0e37;    static float EPS = (float)2.220446049250313e-016;    static float PI = (float)3.14159265358979323846;    static int MIN_SAMPLE = -32768;    static int MAX_SAMPLE = 32767;    static float TWO_PI = (float)6.283185307;    static float PI2 = (float)0.159154943;    /* */    static int lsf_bits_20ms[][] = {   {6,0,0,0,0}, {7,0,0,0,0}, {7,0,0,0,0},				       {0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}};    static int start_bits_20ms[] = {2,0,0,0,0};    static int startfirst_bits_20ms[] = {1,0,0,0,0};    static int scale_bits_20ms[] = {6,0,0,0,0};    static int state_bits_20ms[] = {0,1,2,0,0};    static int extra_cb_index_20ms[][] = {{6,0,1,0,0}, {0,0,7,0,0}, {0,0,7,0,0}};    static int extra_cb_gain_20ms[][] = {{2,0,3,0,0}, {1,1,2,0,0}, {0,0,3,0,0}};    static int cb_index_20ms[][][] = {   {{7,0,1,0,0}, {0,0,7,0,0}, {0,0,7,0,0}},					 {{0,0,8,0,0}, {0,0,8,0,0}, {0,0,8,0,0}},					 {{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}},					 {{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}}};    static int cb_gain_20ms[][][] = {   {{1,2,2,0,0}, {1,1,2,0,0}, {0,0,3,0,0}},					{{1,1,3,0,0}, {0,2,2,0,0}, {0,0,3,0,0}},					{{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}},					{{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}}};    static int lsf_bits_30ms[][] = {   {6,0,0,0,0}, {7,0,0,0,0}, {7,0,0,0,0},				       {6,0,0,0,0}, {7,0,0,0,0}, {7,0,0,0,0}};    static int start_bits_30ms[] = {3,0,0,0,0};    static int startfirst_bits_30ms[] = {1,0,0,0,0};    static int scale_bits_30ms[] = {6,0,0,0,0};    static int state_bits_30ms[] = {0,1,2,0,0};    static int extra_cb_index_30ms[][] = {{4,2,1,0,0}, {0,0,7,0,0}, {0,0,7,0,0}};    static int extra_cb_gain_30ms[][] = {{1,1,3,0,0}, {1,1,2,0,0}, {0,0,3,0,0}};    static int cb_index_30ms[][][] = {   {{6,1,1,0,0}, {0,0,7,0,0}, {0,0,7,0,0}},					 {{0,7,1,0,0}, {0,0,8,0,0}, {0,0,8,0,0}},					 {{0,7,1,0,0}, {0,0,8,0,0}, {0,0,8,0,0}},					 {{0,7,1,0,0}, {0,0,8,0,0}, {0,0,8,0,0}},					 {{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}},					 {{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}}};    static int cb_gain_30ms[][][] = {   {{1,2,2,0,0}, {1,2,1,0,0}, {0,0,3,0,0}},					{{0,2,3,0,0}, {0,2,2,0,0}, {0,0,3,0,0}},					{{0,1,4,0,0}, {0,1,3,0,0}, {0,0,3,0,0}},					{{0,1,4,0,0}, {0,1,3,0,0}, {0,0,3,0,0}},					{{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}},					{{0,0,0,0,0}, {0,0,0,0,0}, {0,0,0,0,0}}};    /* HP filters */    static float hpi_zero_coefsTbl[] = {(float)0.92727436f, (float)-1.8544941f, (float)0.92727436f};    static float hpi_pole_coefsTbl[] = {(float)1.0f, (float)-1.9059465f, (float)0.9114024f};    static float hpo_zero_coefsTbl[] = {(float)0.93980581f, (float)-1.8795834f, (float)0.93980581f};    static float hpo_pole_coefsTbl[] = {(float)1.0f, (float)-1.9330735f, (float)0.93589199f};    /* LP Filter */    static float lpFilt_coefsTbl[] = {(float)-0.066650, (float)0.125000,				       (float)0.316650, (float)0.414063,				       (float)0.316650, (float)0.125000,				       (float)-0.066650};    /* State quantization tables */    static float state_sq3Tbl[] = {	(float)-3.719849, (float)-2.177490, (float)-1.130005,	(float)-0.309692, (float)0.444214, (float)1.329712,	(float)2.436279, (float)3.983887    };    static float state_frgqTbl[] = {	(float)1.000085, (float)1.071695, (float)1.140395,	(float)1.206868, (float)1.277188, (float)1.351503,	(float)1.429380, (float)1.500727, (float)1.569049,	(float)1.639599, (float)1.707071, (float)1.781531,	(float)1.840799, (float)1.901550, (float)1.956695,	(float)2.006750, (float)2.055474, (float)2.102787,	(float)2.142819, (float)2.183592, (float)2.217962,	(float)2.257177, (float)2.295739, (float)2.332967,	(float)2.369248, (float)2.402792, (float)2.435080,	(float)2.468598, (float)2.503394, (float)2.539284,	(float)2.572944, (float)2.605036, (float)2.636331,	(float)2.668939, (float)2.698780, (float)2.729101,	(float)2.759786, (float)2.789834, (float)2.818679,	(float)2.848074, (float)2.877470, (float)2.906899,	(float)2.936655, (float)2.967804, (float)3.000115,	(float)3.033367, (float)3.066355, (float)3.104231,	(float)3.141499, (float)3.183012, (float)3.222952,	(float)3.265433, (float)3.308441, (float)3.350823,	(float)3.395275, (float)3.442793, (float)3.490801,	(float)3.542514, (float)3.604064, (float)3.666050,	(float)3.740994, (float)3.830749, (float)3.938770,	(float)4.101764    };    /* CB tables */    static int search_rangeTbl[][]={{58,58,58}, {108,44,44},				    {108,108,108}, {108,108,108}, {108,108,108}};    static int stMemLTbl=85;    static int memLfTbl[]={147,147,147,147};    /* expansion filter(s) */    static float cbfiltersTbl[]={	(float)-0.034180, (float)0.108887, (float)-0.184326,	(float)0.806152,  (float)0.713379, (float)-0.144043,	(float)0.083740,  (float)-0.033691    };    /* Gain Quantization */    static float gain_sq3Tbl[]={	(float)-1.000000,  (float)-0.659973,  (float)-0.330017,	(float)0.000000, (float)0.250000, (float)0.500000,	(float)0.750000, (float)1.00000};    static float gain_sq4Tbl[]={	(float)-1.049988, (float)-0.900024, (float)-0.750000,	(float)-0.599976, (float)-0.450012, (float)-0.299988,	(float)-0.150024, (float)0.000000, (float)0.150024,	(float)0.299988, (float)0.450012, (float)0.599976,	(float)0.750000, (float)0.900024, (float)1.049988,	(float)1.200012};    static float gain_sq5Tbl[]={	(float)0.037476, (float)0.075012, (float)0.112488,	(float)0.150024, (float)0.187500, (float)0.224976,	(float)0.262512, (float)0.299988, (float)0.337524,	(float)0.375000, (float)0.412476, (float)0.450012,	(float)0.487488, (float)0.525024, (float)0.562500,	(float)0.599976, (float)0.637512, (float)0.674988,	(float)0.712524, (float)0.750000, (float)0.787476,	(float)0.825012, (float)0.862488, (float)0.900024,	(float)0.937500, (float)0.974976, (float)1.012512,	(float)1.049988, (float)1.087524, (float)1.125000,	(float)1.162476, (float)1.200012};    /* Enhancer - Upsamling a factor 4 (ENH_UPS0 = 4) */    static float polyphaserTbl[]={	(float)0.000000, (float)0.000000, (float)0.000000,	(float)1.000000,	(float)0.000000, (float)0.000000, (float)0.000000,	(float)0.015625, (float)-0.076904, (float)0.288330,	(float)0.862061,	(float)-0.106445, (float)0.018799, (float)-0.015625,	(float)0.023682, (float)-0.124268, (float)0.601563,	(float)0.601563,	(float)-0.124268, (float)0.023682, (float)-0.023682,	(float)0.018799, (float)-0.106445, (float)0.862061,	(float)0.288330,	(float)-0.076904, (float)0.015625, (float)-0.018799};    static float enh_plocsTbl[] = {(float)40.0f, (float)120.0f,				    (float)200.0f, (float)280.0f, (float)360.0f,				    (float)440.0f, (float)520.0f, (float)600.0};    /* LPC analysis and quantization */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -