Sat Aug 6 00:40:06 2011

Asterisk developer's documentation


ulaw.h File Reference

u-Law to Signed linear conversion More...

Go to the source code of this file.

Defines

#define AST_LIN2MU(a)   (__ast_lin2mu[((unsigned short)(a)) >> 2])
#define AST_MULAW(a)   (__ast_mulaw[(a)])

Functions

void ast_ulaw_init (void)
 Set up mu-law conversion table.

Variables

unsigned char __ast_lin2mu [16384]
short __ast_mulaw [256]


Detailed Description

u-Law to Signed linear conversion

Definition in file ulaw.h.


Define Documentation

#define AST_LIN2MU (  )     (__ast_lin2mu[((unsigned short)(a)) >> 2])

Definition at line 40 of file ulaw.h.

Referenced by dahdi_read(), fill_rxgain(), fill_txgain(), lintoulaw(), lintoulaw_framein(), load_module(), and make_tone_burst().

#define AST_MULAW (  )     (__ast_mulaw[(a)])

Definition at line 41 of file ulaw.h.

Referenced by ast_dsp_process(), calc_energy(), dahdi_read(), fill_rxgain(), fill_txgain(), load_module(), tdd_feed(), ulawtolin(), and ulawtolin_framein().


Function Documentation

void ast_ulaw_init ( void   ) 

Set up mu-law conversion table.

To init the ulaw to slinear conversion stuff, this needs to be run.

Definition at line 85 of file ulaw.c.

References f, and linear2ulaw().

Referenced by load_module(), and main().

00086 {
00087    int i;
00088    for (i = 0; i < 256; i++) {
00089       short mu, e, f, y;
00090       static short etab[] = {0,132,396,924,1980,4092,8316,16764};
00091 
00092       mu = 255 - i;
00093       e = (mu & 0x70) / 16;
00094       f = mu & 0x0f;
00095       y = f * (1 << (e + 3));
00096       y += etab[e];
00097       if (mu & 0x80)
00098          y = -y;
00099       __ast_mulaw[i] = y;
00100    }
00101    /* set up the reverse (mu-law) conversion table */
00102    for (i = -32768; i < 32768; i++) {
00103       __ast_lin2mu[((unsigned short)i) >> 2] = linear2ulaw(i);
00104    }
00105 }


Variable Documentation

unsigned char __ast_lin2mu[16384]

Definition at line 36 of file ulaw.c.

short __ast_mulaw[256]

help

Definition at line 37 of file ulaw.c.


Generated on Sat Aug 6 00:40:06 2011 for Asterisk - the Open Source PBX by  doxygen 1.4.7