Asterisk.org: Developer Documentation (28 Oct 2009)

Wed Oct 28 15:49:23 2009

## Asterisk developer's documentation

# ulaw.h File Reference

u-Law to Signed linear conversion More...

This graph shows which files directly or indirectly include this file:

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 | ( | a |  | ) | (__ast_lin2mu[((unsigned short)(a)) >> 2])

Definition at line 40 of file ulaw.h.

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

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

Definition at line 41 of file ulaw.h.

Referenced by ast_dsp_process(), fill_rxgain(), fill_txgain(), i4l_read(), load_module(), tdd_feed(), and ulawtolin_framein().

## Function Documentation

void ast_ulaw_init | ( | void |  | ) |

Set up mu-law conversion table.

Init the ulaw conversion stuff

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

Definition at line 84 of file ulaw.c.

References linear2ulaw().

Referenced by main().

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

## Variable Documentation

unsigned char __ast_lin2mu[16384]

converts signed linear to mulaw

Definition at line 35 of file ulaw.c.

short __ast_mulaw[256]

help

Definition at line 36 of file ulaw.c.