From b84f9590a0b2bb1b30ae6848cba7580ab56bb95d Mon Sep 17 00:00:00 2001 From: Steve Murphy Date: Tue, 21 Aug 2007 16:39:09 +0000 Subject: [PATCH] ugh. removing the diffs from ulaw.h and alaw.h for now; accidentally added them in 80166 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@80167 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/alaw.h | 50 +---------------------------------------- include/asterisk/ulaw.h | 50 ----------------------------------------- 2 files changed, 1 insertion(+), 99 deletions(-) diff --git a/include/asterisk/alaw.h b/include/asterisk/alaw.h index 5f6c9a3731..44b3bad86e 100644 --- a/include/asterisk/alaw.h +++ b/include/asterisk/alaw.h @@ -23,69 +23,21 @@ #ifndef _ASTERISK_ALAW_H #define _ASTERISK_ALAW_H -#define G711_FAST_AND_DIRTY 1 -/* #define G711_REDUCED_BRANCHING */ - /*! Init the ulaw conversion stuff */ /*! * To init the ulaw to slinear conversion stuff, this needs to be run. */ void ast_alaw_init(void); -#define AST_ALAW_BIT_LOSS 4 -#define AST_ALAW_STEP (1 << AST_ALAW_BIT_LOSS) -#define AST_ALAW_TAB_SIZE (32768 / AST_ALAW_STEP + 1) -#define AST_ALAW_SIGN_BIT 0x80 -#define AST_ALAW_AMI_MASK 0x55 - - /*! converts signed linear to mulaw */ /*! - */ -#ifdef G711_FAST_AND_DIRTY + */ extern unsigned char __ast_lin2a[8192]; -#else -extern unsigned char __ast_lin2a[AST_ALAW_TAB_SIZE]; -#endif /*! help */ extern short __ast_alaw[256]; -#ifdef G711_FAST_AND_DIRTY #define AST_LIN2A(a) (__ast_lin2a[((unsigned short)(a)) >> 3]) -#else -#define AST_LIN2A_LOOKUP(mag) \ - __ast_lin2a[(mag) >> AST_ALAW_BIT_LOSS] - -/*! convert signed linear sample to sign-magnitude pair for a-Law */ -static inline void ast_alaw_get_sign_mag(short sample, unsigned *sign, unsigned *mag) -{ - /* It may look illogical to retrive the sign this way in both cases, - * but this helps gcc eliminate the branch below and produces - * faster code */ - *sign = ((unsigned short)sample >> 8) & AST_ALAW_SIGN_BIT; -#if defined(G711_REDUCED_BRANCHING) - { - unsigned dual_mag = (-sample << 16) | (unsigned short)sample; - *mag = (dual_mag >> (*sign >> 3)) & 0xffffU; - } -#else - if (sample < 0) - *mag = -sample; - else - *mag = sample; -#endif /* G711_REDUCED_BRANCHING */ - *sign ^= AST_ALAW_SIGN_BIT; -} - -static inline unsigned char AST_LIN2A(short sample) -{ - unsigned mag, sign; - ast_alaw_get_sign_mag(sample, &sign, &mag); - return (sign | AST_LIN2A_LOOKUP(mag)) ^ AST_ALAW_AMI_MASK; -} -#endif - #define AST_ALAW(a) (__ast_alaw[(int)(a)]) #endif /* _ASTERISK_ALAW_H */ diff --git a/include/asterisk/ulaw.h b/include/asterisk/ulaw.h index 2c7940f260..d9ab0d1787 100644 --- a/include/asterisk/ulaw.h +++ b/include/asterisk/ulaw.h @@ -23,71 +23,21 @@ #ifndef _ASTERISK_ULAW_H #define _ASTERISK_ULAW_H -#define G711_FAST_AND_DIRTY 1 - -/* #define G711_REDUCED_BRANCHING */ - /*! Init the ulaw conversion stuff */ /*! * To init the ulaw to slinear conversion stuff, this needs to be run. */ void ast_ulaw_init(void); -#define AST_ULAW_BIT_LOSS 3 -#define AST_ULAW_STEP (1 << AST_ULAW_BIT_LOSS) -#define AST_ULAW_TAB_SIZE (32768 / AST_ULAW_STEP + 1) -#define AST_ULAW_SIGN_BIT 0x80 - /*! converts signed linear to mulaw */ /*! */ -#ifdef G711_FAST_AND_DIRTY extern unsigned char __ast_lin2mu[16384]; -#else -extern unsigned char __ast_lin2mu[AST_ULAW_TAB_SIZE]; -#endif /*! help */ extern short __ast_mulaw[256]; -#ifdef G711_FAST_AND_DIRTY - #define AST_LIN2MU(a) (__ast_lin2mu[((unsigned short)(a)) >> 2]) - -#else - -#define AST_LIN2MU_LOOKUP(mag) \ - __ast_lin2mu[((mag) + AST_ULAW_STEP / 2) >> AST_ULAW_BIT_LOSS] - - -/*! convert signed linear sample to sign-magnitude pair for u-Law */ -static inline void ast_ulaw_get_sign_mag(short sample, unsigned *sign, unsigned *mag) -{ - /* It may look illogical to retrive the sign this way in both cases, - * but this helps gcc eliminate the branch below and produces - * faster code */ - *sign = ((unsigned short)sample >> 8) & AST_ULAW_SIGN_BIT; -#if defined(G711_REDUCED_BRANCHING) - { - unsigned dual_mag = (-sample << 16) | (unsigned short)sample; - *mag = (dual_mag >> (*sign >> 3)) & 0xffffU; - } -#else - if (sample < 0) - *mag = -sample; - else - *mag = sample; -#endif /* G711_REDUCED_BRANCHING */ -} - -static inline unsigned char AST_LIN2MU(short sample) -{ - unsigned mag, sign; - ast_ulaw_get_sign_mag(sample, &sign, &mag); - return ~(sign | AST_LIN2MU_LOOKUP(mag)); -} -#endif - #define AST_MULAW(a) (__ast_mulaw[(a)]) #endif /* _ASTERISK_ULAW_H */