00001
00002
00003
00004
00005 #if !defined(ALAW_H__)
00006 #define ALAW_H__
00007
00019 class Alaw
00020 {
00021 public:
00022 static void conv_u8bit_alaw(unsigned char *src_ptr, unsigned char *dst_ptr, size_t size);
00023 static void conv_s8bit_alaw(unsigned char *src_ptr, unsigned char *dst_ptr, size_t size);
00024 static void conv_s16bit_alaw(unsigned short *src_ptr, unsigned char *dst_ptr, size_t size);
00025 static void conv_u16bit_alaw(unsigned short *src_ptr, unsigned char *dst_ptr, size_t size);
00026 private:
00027 static inline unsigned char linear2alaw(int pcm_val);
00028 static inline int search(int val, const short *table, int size);
00029 };
00030
00031 #endif // ALAW_H__
00032
00033