1
mirror of https://github.com/mpv-player/mpv synced 2024-12-24 07:33:46 +01:00
mpv/alaw.c
arpi_esp d34041569e Initial revision
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2 b3059339-0415-0410-9bf9-f77b7e298cf2
2001-02-24 20:28:24 +00:00

30 lines
595 B
C

// code from xanim sources...
// (I hope that not hurt copyright :o)
#define xaLONG long
#define xaULONG unsigned long
#define xaBYTE char
#define xaUBYTE unsigned char
xaULONG long xa_alaw_2_sign[256];
void Gen_aLaw_2_Signed()
{ xaULONG i;
for(i=0;i<256;i++)
{ xaUBYTE data = (xaUBYTE)(i);
xaLONG d, t, seg;
data ^= 0x55;
t = (data & 0xf) << 4;
seg = (data & 0x70) >> 4;
if (seg == 0) t += 8;
else if (seg == 1) t += 0x108;
else { t += 108; t <<= seg - 1; }
d = (data & 0x80)?(t):(-t);
xa_alaw_2_sign[i] = (xaULONG)((xaULONG)(d) & 0xffff);
}
}