1#ifndef foog711hfoo 2#define foog711hfoo 3 4/* g711.h - include for G711 u-law and a-law conversion routines 5** 6** Copyright (C) 2001 Chris Bagwell 7** 8** Permission to use, copy, modify, and distribute this software and its 9** documentation for any purpose and without fee is hereby granted, provided 10** that the above copyright notice appear in all copies and that both that 11** copyright notice and this permission notice appear in supporting 12** documentation. This software is provided "as is" without express or 13** implied warranty. 14*/ 15 16/** Copied from sox -- Lennart Poettering */ 17 18#include <inttypes.h> 19 20#ifdef FAST_ALAW_CONVERSION 21extern uint8_t _st_13linear2alaw[0x2000]; 22extern int16_t _st_alaw2linear16[256]; 23#define st_13linear2alaw(sw) (_st_13linear2alaw[(sw + 0x1000)]) 24#define st_alaw2linear16(uc) (_st_alaw2linear16[uc]) 25#else 26unsigned char st_13linear2alaw(int16_t pcm_val); 27int16_t st_alaw2linear16(unsigned char); 28#endif 29 30#ifdef FAST_ULAW_CONVERSION 31extern uint8_t _st_14linear2ulaw[0x4000]; 32extern int16_t _st_ulaw2linear16[256]; 33#define st_14linear2ulaw(sw) (_st_14linear2ulaw[(sw + 0x2000)]) 34#define st_ulaw2linear16(uc) (_st_ulaw2linear16[uc]) 35#else 36unsigned char st_14linear2ulaw(int16_t pcm_val); 37int16_t st_ulaw2linear16(unsigned char); 38#endif 39 40#endif 41