src/org/sipdroid/media/G711.java
changeset 834 e8d6255306f8
child 835 4e40f3481f23
equal deleted inserted replaced
833:f5a5d9237d69 834:e8d6255306f8
       
     1 package src.org.sipdroid.media;
       
     2 
       
     3 /**
       
     4  * G.711 codec. This class provides methods for u-law, A-law and linear PCM
       
     5  * conversions.
       
     6  */
       
     7 public class G711 {
       
     8 	/*
       
     9 	 * Copyright 1992 by Jutta Degener and Carsten Bormann, Technische
       
    10 	 * Universitaet Berlin.  See the accompanying file "COPYRIGHT" for
       
    11 	 * details.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE.
       
    12 	 */
       
    13 
       
    14 	static final short[] a2s = new short[256];
       
    15 	static final int[] _a2s = {
       
    16 
       
    17 	 60032, 60288, 59520, 59776, 61056, 61312, 60544, 60800,
       
    18 	 57984, 58240, 57472, 57728, 59008, 59264, 58496, 58752,
       
    19 	 62784, 62912, 62528, 62656, 63296, 63424, 63040, 63168,
       
    20 	 61760, 61888, 61504, 61632, 62272, 62400, 62016, 62144,
       
    21 	 43520, 44544, 41472, 42496, 47616, 48640, 45568, 46592,
       
    22 	 35328, 36352, 33280, 34304, 39424, 40448, 37376, 38400,
       
    23 	 54528, 55040, 53504, 54016, 56576, 57088, 55552, 56064,
       
    24 	 50432, 50944, 49408, 49920, 52480, 52992, 51456, 51968,
       
    25 	 65192, 65208, 65160, 65176, 65256, 65272, 65224, 65240,
       
    26 	 65064, 65080, 65032, 65048, 65128, 65144, 65096, 65112,
       
    27 	 65448, 65464, 65416, 65432, 65512, 65528, 65480, 65496,
       
    28 	 65320, 65336, 65288, 65304, 65384, 65400, 65352, 65368,
       
    29 	 64160, 64224, 64032, 64096, 64416, 64480, 64288, 64352,
       
    30 	 63648, 63712, 63520, 63584, 63904, 63968, 63776, 63840,
       
    31 	 64848, 64880, 64784, 64816, 64976, 65008, 64912, 64944,
       
    32 	 64592, 64624, 64528, 64560, 64720, 64752, 64656, 64688,
       
    33 	  5504,  5248,  6016,  5760,  4480,  4224,  4992,  4736,
       
    34 	  7552,  7296,  8064,  7808,  6528,  6272,  7040,  6784,
       
    35 	  2752,  2624,  3008,  2880,  2240,  2112,  2496,  2368,
       
    36 	  3776,  3648,  4032,  3904,  3264,  3136,  3520,  3392,
       
    37 	 22016, 20992, 24064, 23040, 17920, 16896, 19968, 18944,
       
    38 	 30208, 29184, 32256, 31232, 26112, 25088, 28160, 27136,
       
    39 	 11008, 10496, 12032, 11520,  8960,  8448,  9984,  9472,
       
    40 	 15104, 14592, 16128, 15616, 13056, 12544, 14080, 13568,
       
    41 	   344,   328,   376,   360,   280,   264,   312,   296,
       
    42 	   472,   456,   504,   488,   408,   392,   440,   424,
       
    43 	    88,    72,   120,   104,    24,     8,    56,    40,
       
    44 	   216,   200,   248,   232,   152,   136,   184,   168,
       
    45 	  1376,  1312,  1504,  1440,  1120,  1056,  1248,  1184,
       
    46 	  1888,  1824,  2016,  1952,  1632,  1568,  1760,  1696,
       
    47 	   688,   656,   752,   720,   560,   528,   624,   592,
       
    48 	   944,   912,  1008,   976,   816,   784,   880,   848
       
    49 
       
    50 	};
       
    51 
       
    52 	static final byte[] s2a = new byte[65536];
       
    53 	static final int[] _s2a = {
       
    54 
       
    55 		213,212,215,214,209,208,211,210,221,220,223,222,217,216,219,218,
       
    56 		197,196,199,198,193,192,195,194,205,204,207,206,201,200,203,202,
       
    57 		245,245,244,244,247,247,246,246,241,241,240,240,243,243,242,242,
       
    58 		253,253,252,252,255,255,254,254,249,249,248,248,251,251,250,250,
       
    59 		229,229,229,229,228,228,228,228,231,231,231,231,230,230,230,230,
       
    60 		225,225,225,225,224,224,224,224,227,227,227,227,226,226,226,226,
       
    61 		237,237,237,237,236,236,236,236,239,239,239,239,238,238,238,238,
       
    62 		233,233,233,233,232,232,232,232,235,235,235,235,234,234,234,234,
       
    63 		149,149,149,149,149,149,149,149,148,148,148,148,148,148,148,148,
       
    64 		151,151,151,151,151,151,151,151,150,150,150,150,150,150,150,150,
       
    65 		145,145,145,145,145,145,145,145,144,144,144,144,144,144,144,144,
       
    66 		147,147,147,147,147,147,147,147,146,146,146,146,146,146,146,146,
       
    67 		157,157,157,157,157,157,157,157,156,156,156,156,156,156,156,156,
       
    68 		159,159,159,159,159,159,159,159,158,158,158,158,158,158,158,158,
       
    69 		153,153,153,153,153,153,153,153,152,152,152,152,152,152,152,152,
       
    70 		155,155,155,155,155,155,155,155,154,154,154,154,154,154,154,154,
       
    71 		133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,133,
       
    72 		132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,
       
    73 		135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,
       
    74 		134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,134,
       
    75 		129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,129,
       
    76 		128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
       
    77 		131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,131,
       
    78 		130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,
       
    79 		141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,141,
       
    80 		140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,140,
       
    81 		143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,143,
       
    82 		142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,142,
       
    83 		137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,137,
       
    84 		136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,
       
    85 		139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,139,
       
    86 		138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,138,
       
    87 		181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
       
    88 		181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,181,
       
    89 		180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
       
    90 		180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,180,
       
    91 		183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,
       
    92 		183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,183,
       
    93 		182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
       
    94 		182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,182,
       
    95 		177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,
       
    96 		177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,177,
       
    97 		176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
       
    98 		176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,
       
    99 		179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,
       
   100 		179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,179,
       
   101 		178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,
       
   102 		178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,178,
       
   103 		189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,
       
   104 		189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,
       
   105 		188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,
       
   106 		188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,
       
   107 		191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,
       
   108 		191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,191,
       
   109 		190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,
       
   110 		190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,190,
       
   111 		185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,
       
   112 		185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,185,
       
   113 		184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,
       
   114 		184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,184,
       
   115 		187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,
       
   116 		187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,187,
       
   117 		186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,
       
   118 		186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,186,
       
   119 		165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
       
   120 		165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
       
   121 		165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
       
   122 		165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,165,
       
   123 		164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
       
   124 		164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
       
   125 		164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
       
   126 		164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,164,
       
   127 		167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,
       
   128 		167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,
       
   129 		167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,
       
   130 		167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,
       
   131 		166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,
       
   132 		166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,
       
   133 		166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,
       
   134 		166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,166,
       
   135 		161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,
       
   136 		161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,
       
   137 		161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,
       
   138 		161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,161,
       
   139 		160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,
       
   140 		160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,
       
   141 		160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,
       
   142 		160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,
       
   143 		163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,
       
   144 		163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,
       
   145 		163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,
       
   146 		163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,
       
   147 		162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,
       
   148 		162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,
       
   149 		162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,
       
   150 		162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,162,
       
   151 		173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
       
   152 		173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
       
   153 		173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
       
   154 		173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,173,
       
   155 		172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,
       
   156 		172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,
       
   157 		172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,
       
   158 		172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,172,
       
   159 		175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,
       
   160 		175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,
       
   161 		175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,
       
   162 		175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,175,
       
   163 		174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,
       
   164 		174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,
       
   165 		174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,
       
   166 		174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,
       
   167 		169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,
       
   168 		169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,
       
   169 		169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,
       
   170 		169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,
       
   171 		168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,
       
   172 		168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,
       
   173 		168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,
       
   174 		168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,168,
       
   175 		171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,
       
   176 		171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,
       
   177 		171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,
       
   178 		171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,
       
   179 		170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,
       
   180 		170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,
       
   181 		170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,
       
   182 		170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,
       
   183 		 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
       
   184 		 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
       
   185 		 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
       
   186 		 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
       
   187 		 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
       
   188 		 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
       
   189 		 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
       
   190 		 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
       
   191 		 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
       
   192 		 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
       
   193 		 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
       
   194 		 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,
       
   195 		 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
       
   196 		 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
       
   197 		 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
       
   198 		 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
       
   199 		 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
       
   200 		 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
       
   201 		 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
       
   202 		 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46,
       
   203 		 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
       
   204 		 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
       
   205 		 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
       
   206 		 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,
       
   207 		 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
       
   208 		 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
       
   209 		 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
       
   210 		 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
       
   211 		 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
       
   212 		 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
       
   213 		 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
       
   214 		 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
       
   215 		 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
       
   216 		 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
       
   217 		 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
       
   218 		 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
       
   219 		 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
       
   220 		 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
       
   221 		 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
       
   222 		 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,
       
   223 		 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
       
   224 		 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
       
   225 		 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
       
   226 		 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
       
   227 		 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
       
   228 		 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
       
   229 		 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
       
   230 		 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
       
   231 		 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
       
   232 		 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
       
   233 		 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
       
   234 		 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
       
   235 		 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
       
   236 		 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
       
   237 		 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
       
   238 		 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
       
   239 		 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       
   240 		 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       
   241 		 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       
   242 		 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36,
       
   243 		 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
       
   244 		 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
       
   245 		 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
       
   246 		 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
       
   247 		 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
       
   248 		 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58, 58,
       
   249 		 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
       
   250 		 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
       
   251 		 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
       
   252 		 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
       
   253 		 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
       
   254 		 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, 57,
       
   255 		 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
       
   256 		 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62,
       
   257 		 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
       
   258 		 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
       
   259 		 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
       
   260 		 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60,
       
   261 		 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
       
   262 		 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
       
   263 		 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
       
   264 		 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
       
   265 		 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
       
   266 		 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,
       
   267 		 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
       
   268 		 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
       
   269 		 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
       
   270 		 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
       
   271 		 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
       
   272 		 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
       
   273 		 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
       
   274 		 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
       
   275 		 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
       
   276 		 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52, 52,
       
   277 		 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
       
   278 		 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
       
   279 		 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,
       
   280 		 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
       
   281 		  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,  8,
       
   282 		  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,  9,
       
   283 		 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
       
   284 		 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
       
   285 		 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
       
   286 		 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
       
   287 		  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,  2,
       
   288 		  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,
       
   289 		  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
       
   290 		  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
       
   291 		  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,  6,
       
   292 		  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,  7,
       
   293 		  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,  4,
       
   294 		  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,  5,
       
   295 		 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
       
   296 		 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25,
       
   297 		 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 31, 31, 31,
       
   298 		 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29,
       
   299 		 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19,
       
   300 		 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17,
       
   301 		 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
       
   302 		 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21,
       
   303 		106,106,106,106,107,107,107,107,104,104,104,104,105,105,105,105,
       
   304 		110,110,110,110,111,111,111,111,108,108,108,108,109,109,109,109,
       
   305 		 98, 98, 98, 98, 99, 99, 99, 99, 96, 96, 96, 96, 97, 97, 97, 97,
       
   306 		102,102,102,102,103,103,103,103,100,100,100,100,101,101,101,101,
       
   307 		122,122,123,123,120,120,121,121,126,126,127,127,124,124,125,125,
       
   308 		114,114,115,115,112,112,113,113,118,118,119,119,116,116,117,117,
       
   309 		 74, 75, 72, 73, 78, 79, 76, 77, 66, 67, 64, 65, 70, 71, 68, 69,
       
   310 		 90, 91, 88, 89, 94, 95, 92, 93, 82, 83, 80, 81, 86, 87, 84, 85
       
   311 	};
       
   312 
       
   313 	//change G711 ulaw start
       
   314 	static final int _u2a[] = { 					/* u- to A-law conversions */
       
   315 		1,		1,		2,		2,		3,		3,		4,		4,
       
   316 		5,		5,		6,		6,		7,		7,		8,		8,
       
   317 		9,		10, 	11, 	12, 	13, 	14, 	15, 	16,
       
   318 		17, 	18, 	19, 	20, 	21, 	22, 	23, 	24,
       
   319 		25, 	27, 	29, 	31, 	33, 	34, 	35, 	36,
       
   320 		37, 	38, 	39, 	40, 	41, 	42, 	43, 	44,
       
   321 		46, 	48, 	49, 	50, 	51, 	52, 	53, 	54,
       
   322 		55, 	56, 	57, 	58, 	59, 	60, 	61, 	62,
       
   323 		64, 	65, 	66, 	67, 	68, 	69, 	70, 	71,
       
   324 		72, 	73, 	74, 	75, 	76, 	77, 	78, 	79,
       
   325 		81, 	82, 	83, 	84, 	85, 	86, 	87, 	88,
       
   326 		89, 	90, 	91, 	92, 	93, 	94, 	95, 	96,
       
   327 		97, 	98, 	99, 	100,	101,	102,	103,	104,
       
   328 		105,	106,	107,	108,	109,	110,	111,	112,
       
   329 		113,	114,	115,	116,	117,	118,	119,	120,
       
   330 		121,	122,	123,	124,	125,	126,	127,	128};
       
   331 
       
   332 	static final int _a2u[] = { 					/* A- to u-law conversions */
       
   333 		1,		3,		5,		7,		9,		11, 	13, 	15,
       
   334 		16, 	17, 	18, 	19, 	20, 	21, 	22, 	23,
       
   335 		24, 	25, 	26, 	27, 	28, 	29, 	30, 	31,
       
   336 		32, 	32, 	33, 	33, 	34, 	34, 	35, 	35,
       
   337 		36, 	37, 	38, 	39, 	40, 	41, 	42, 	43,
       
   338 		44, 	45, 	46, 	47, 	48, 	48, 	49, 	49,
       
   339 		50, 	51, 	52, 	53, 	54, 	55, 	56, 	57,
       
   340 		58, 	59, 	60, 	61, 	62, 	63, 	64, 	64,
       
   341 		65, 	66, 	67, 	68, 	69, 	70, 	71, 	72,
       
   342 		73, 	74, 	75, 	76, 	77, 	78, 	79, 	80,
       
   343 		80, 	81, 	82, 	83, 	84, 	85, 	86, 	87,
       
   344 		88, 	89, 	90, 	91, 	92, 	93, 	94, 	95,
       
   345 		96, 	97, 	98, 	99, 	100,	101,	102,	103,
       
   346 		104,	105,	106,	107,	108,	109,	110,	111,
       
   347 		112,	113,	114,	115,	116,	117,	118,	119,
       
   348 		120,	121,	122,	123,	124,	125,	126,	127};
       
   349 
       
   350 	//change end
       
   351 	
       
   352 	public static void init() {
       
   353 	}
       
   354 	
       
   355 	static {
       
   356 	 		int i;
       
   357 			for (i = 0; i < 256; i++)
       
   358 				a2s[i] = (short)_a2s[i];
       
   359 			for (i = 0; i < 65536; i++)
       
   360 				s2a[i] = (byte)_s2a[i >> 4];
       
   361 	}
       
   362 
       
   363 	public static void alaw2linear(byte alaw[],short lin[],int frames) {
       
   364 		int i;
       
   365 		for (i = 0; i < frames; i++)
       
   366 			lin[i] = a2s[alaw[i+12] & 0xff];
       
   367 	}
       
   368 	
       
   369 	public static void linear2alaw(short lin[],int offset,byte alaw[],int frames) {
       
   370 		int i;
       
   371 		for (i = 0; i < frames; i++)
       
   372 			alaw[i+12] = s2a[lin[i+offset] & 0xffff];
       
   373 	}
       
   374 	
       
   375 	//change g711 ulaw start
       
   376    protected static int alaw2ulaw(int aval)
       
   377    {  aval&=0xff;
       
   378   	   return ((aval & 0x80)!=0)? (0xFF^_a2u[aval^0xD5]) : (0x7F^_a2u[aval^0x55]);
       
   379    }
       
   380 
       
   381    protected static int ulaw2alaw(int uval)
       
   382    {  uval&=0xff;
       
   383   	   return ((uval&0x80)!=0)? (0xD5^(_u2a[0xFF^uval]-1)) : (0x55^(_u2a[0x7F^uval]-1));
       
   384    }
       
   385 
       
   386 	public static void ulaw2linear(byte ulaw[],short lin[],int frames) {
       
   387 		int i;
       
   388 		for (i = 0; i < frames; i++)
       
   389 			lin[i] = a2s[ulaw2alaw(ulaw[i+12] & 0xff)];
       
   390 	}
       
   391 	public static void linear2ulaw(short lin[],int offset,byte ulaw[],int frames) {
       
   392 		int i;
       
   393 		for (i = 0; i < frames; i++)
       
   394 			ulaw[i+12] = (byte)alaw2ulaw(s2a[lin[i+offset] & 0xffff]);
       
   395 	}	
       
   396 	//change end
       
   397 }