From bcc72e4d4f05b7c16923e84ce712f2ac1904fa24 Mon Sep 17 00:00:00 2001 From: lmadsen Date: Tue, 20 Jan 2009 21:00:59 +0000 Subject: Creating tag for the asterisk-1.4.23 release git-svn-id: http://svn.digium.com/svn/asterisk/tags/1.4.23@169569 f38db490-d61c-443f-a65b-d21fe96a405b --- main/ulaw.c | 106 ------------------------------------------------------------ 1 file changed, 106 deletions(-) delete mode 100644 main/ulaw.c (limited to 'main/ulaw.c') diff --git a/main/ulaw.c b/main/ulaw.c deleted file mode 100644 index 2735f6cce..000000000 --- a/main/ulaw.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Asterisk -- An open source telephony toolkit. - * - * Copyright (C) 1999 - 2005, Digium, Inc. - * - * Mark Spencer - * - * See http://www.asterisk.org for more information about - * the Asterisk project. Please do not directly contact - * any of the maintainers of this project for assistance; - * the project provides a web site, mailing lists and IRC - * channels for your use. - * - * This program is free software, distributed under the terms of - * the GNU General Public License Version 2. See the LICENSE file - * at the top of the source tree. - */ - -/*! \file - * - * \brief u-Law to Signed linear conversion - * - * \author Mark Spencer - */ - -#include "asterisk.h" - -ASTERISK_FILE_VERSION(__FILE__, "$Revision$") - -#include "asterisk/ulaw.h" - -#define ZEROTRAP /*!< turn on the trap as per the MIL-STD */ -#define BIAS 0x84 /*!< define the add-in bias for 16 bit samples */ -#define CLIP 32635 - -unsigned char __ast_lin2mu[16384]; -short __ast_mulaw[256]; - - -static unsigned char linear2ulaw(short sample) -{ - static int exp_lut[256] = { - 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3, - 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 }; - int sign, exponent, mantissa; - unsigned char ulawbyte; - - /* Get the sample into sign-magnitude. */ - sign = (sample >> 8) & 0x80; /* set aside the sign */ - if (sign != 0) - sample = -sample; /* get magnitude */ - if (sample > CLIP) - sample = CLIP; /* clip the magnitude */ - - /* Convert from 16 bit linear to ulaw. */ - sample = sample + BIAS; - exponent = exp_lut[(sample >> 7) & 0xFF]; - mantissa = (sample >> (exponent + 3)) & 0x0F; - ulawbyte = ~(sign | (exponent << 4) | mantissa); -#ifdef ZEROTRAP - if (ulawbyte == 0) - ulawbyte = 0x02; /* optional CCITT trap */ -#endif - - return ulawbyte; -} - -/*! - * \brief Set up mu-law conversion table - */ -void ast_ulaw_init(void) -{ - int i; - for (i = 0; i < 256; i++) { - short mu, e, f, y; - static short etab[] = {0,132,396,924,1980,4092,8316,16764}; - - mu = 255 - i; - e = (mu & 0x70) / 16; - f = mu & 0x0f; - y = f * (1 << (e + 3)); - y += etab[e]; - if (mu & 0x80) - y = -y; - __ast_mulaw[i] = y; - } - /* set up the reverse (mu-law) conversion table */ - for (i = -32768; i < 32768; i++) { - __ast_lin2mu[((unsigned short)i) >> 2] = linear2ulaw(i); - } -} - -- cgit v1.2.3