
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] |
Definition in file ulaw.h.
| #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().
| 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 }
| unsigned char __ast_lin2mu[16384] |
| short __ast_mulaw[256] |
1.5.6