/*
* alaw_encode table
* Linear Input Code Compressed Code
* -------------------- -----------------
*
* seg(3 bits) linear_data(4 bits)
* 0000000wxyza 000 wxyz $mark1
* 0000001wxyza 001 wxyz
* 000001wxyzab 010 wxyz
* 00001wxyzabc 011 wxyz
* 0001wxyzabcd 100 wxyz
* 001wxyzabcde 101 wxyz
* 01wxyzabcdef 110 wxyz
* 1wxyzabcdefg 111 wxyz
*
* 1. first, if input code is neg, invert input code all bits
* 2. by input code, get seg and linear_data
* 3. shift and mix seg and linear_data
* 4. if original input code not neg, set result |= 0x80, else nodone
* 5. result xor 0x55
*/
unsigned char alaw_encode (short pcm_data)
{
unsigned char alaw_8bits;
unsigned char seg_3bits;
unsigned short seg_limit &#
a-law to 16bits PCM
最新推荐文章于 2023-06-16 21:57:55 发布