26 package com.sun.media.sound; 27 28 import java.io.IOException; 29 30 import java.util.Vector; 31 32 import javax.sound.sampled.AudioFormat; 33 import javax.sound.sampled.AudioSystem; 34 import javax.sound.sampled.AudioInputStream; 35 36 37 /** 38 * U-law encodes linear data, and decodes u-law data to linear data. 39 * 40 * @author Kara Kytle 41 */ 42 public final class UlawCodec extends SunCodec { 43 44 /* Tables used for U-law decoding */ 45 46 private final static byte[] ULAW_TABH = new byte[256]; 47 private final static byte[] ULAW_TABL = new byte[256]; 48 49 private static final AudioFormat.Encoding[] ulawEncodings = {AudioFormat.Encoding.ULAW, 50 AudioFormat.Encoding.PCM_SIGNED}; 51 52 private static final short seg_end [] = {0xFF, 0x1FF, 0x3FF, 53 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF}; 54 55 /** 56 * Initializes the decode tables 57 */ 58 static { 59 for (int i=0;i<256;i++) { 60 int ulaw = ~i; 61 int t; 62 63 ulaw &= 0xFF; 64 t = ((ulaw & 0xf)<<3) + 132; 65 t <<= ((ulaw & 0x70) >> 4); 66 t = ( (ulaw&0x80) != 0 ) ? (132-t) : (t-132); 67 | 26 package com.sun.media.sound; 27 28 import java.io.IOException; 29 30 import java.util.Vector; 31 32 import javax.sound.sampled.AudioFormat; 33 import javax.sound.sampled.AudioSystem; 34 import javax.sound.sampled.AudioInputStream; 35 36 37 /** 38 * U-law encodes linear data, and decodes u-law data to linear data. 39 * 40 * @author Kara Kytle 41 */ 42 public final class UlawCodec extends SunCodec { 43 44 /* Tables used for U-law decoding */ 45 46 private static final byte[] ULAW_TABH = new byte[256]; 47 private static final byte[] ULAW_TABL = new byte[256]; 48 49 private static final AudioFormat.Encoding[] ulawEncodings = {AudioFormat.Encoding.ULAW, 50 AudioFormat.Encoding.PCM_SIGNED}; 51 52 private static final short seg_end [] = {0xFF, 0x1FF, 0x3FF, 53 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF}; 54 55 /** 56 * Initializes the decode tables 57 */ 58 static { 59 for (int i=0;i<256;i++) { 60 int ulaw = ~i; 61 int t; 62 63 ulaw &= 0xFF; 64 t = ((ulaw & 0xf)<<3) + 132; 65 t <<= ((ulaw & 0x70) >> 4); 66 t = ( (ulaw&0x80) != 0 ) ? (132-t) : (t-132); 67 |