diff alaw.c @ 1:3b5f5d1c5041

Initial revision
author arpi_esp
date Sat, 24 Feb 2001 20:28:24 +0000
parents
children b562c8bcf704
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/alaw.c	Sat Feb 24 20:28:24 2001 +0000
@@ -0,0 +1,29 @@
+// 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);
+  }
+}
+