home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware 1 2 the Maxx
/
sw_1.zip
/
sw_1
/
PROGRAM
/
LPC05B.ZIP
/
ULAW2LIN.H
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-22
|
890b
|
25 lines
/* @(#)ulaw2linear.h 1.1 89/12/22 SMI */
/* Copyright (c) 1989 by Sun Microsystems, Inc. */
#ifndef _multimedia_ulaw2linear_h
#define _multimedia_ulaw2linear_h
/* PCM linear <-> u-law conversion tables */
extern short _ulaw2linear[]; /* 8-bit u-law to 16-bit PCM */
extern unsigned char *_linear2ulaw; /* 13-bit PCM to 8-bit u-law */
/* PCM linear <-> u-law conversion macros */
/* u-law to 8,16,32-bit linear */
#define audio_u2c(X) ((char)(_ulaw2linear[(unsigned char) (X)] >> 8))
#define audio_u2s(X) (_ulaw2linear[(unsigned char) (X)])
#define audio_u2l(X) (((long)_ulaw2linear[(unsigned char) (X)]) << 16)
/* 8,16,32-bit linear to u-law */
#define audio_c2u(X) (_linear2ulaw[(((short)(X)) << 5) + 0xf])
#define audio_s2u(X) (_linear2ulaw[((short)(X)) >> 3])
#define audio_l2u(X) (_linear2ulaw[((long)(X)) >> 19])
#endif /*!_multimedia_ulaw2linear_h*/