mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	* abstracted resampler API
* add integer-only resampler ("trivial")
* show used resampler wherever useful
* add mixing/volume adjusting for float32ne and u8
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@294 fefdeb5f-60dc-0310-8127-8f9354f1896f
		
	
			
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef foog711hfoo
 | 
						|
#define foog711hfoo
 | 
						|
 | 
						|
/* g711.h - include for G711 u-law and a-law conversion routines
 | 
						|
**
 | 
						|
** Copyright (C) 2001 Chris Bagwell
 | 
						|
**
 | 
						|
** Permission to use, copy, modify, and distribute this software and its
 | 
						|
** documentation for any purpose and without fee is hereby granted, provided
 | 
						|
** that the above copyright notice appear in all copies and that both that
 | 
						|
** copyright notice and this permission notice appear in supporting
 | 
						|
** documentation.  This software is provided "as is" without express or
 | 
						|
** implied warranty.
 | 
						|
*/
 | 
						|
 | 
						|
/** Copied from sox -- Lennart Poettring*/
 | 
						|
 | 
						|
#include <inttypes.h>
 | 
						|
 | 
						|
#ifdef FAST_ALAW_CONVERSION
 | 
						|
extern uint8_t _st_13linear2alaw[0x2000];
 | 
						|
extern int16_t _st_alaw2linear16[256];
 | 
						|
#define st_13linear2alaw(sw) (_st_13linear2alaw[(sw + 0x1000)])
 | 
						|
#define st_alaw2linear16(uc) (_st_alaw2linear16[uc])
 | 
						|
#else
 | 
						|
unsigned char st_13linear2alaw(int16_t pcm_val);
 | 
						|
int16_t st_alaw2linear16(unsigned char);
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef FAST_ULAW_CONVERSION
 | 
						|
extern uint8_t _st_14linear2ulaw[0x4000];
 | 
						|
extern int16_t _st_ulaw2linear16[256];
 | 
						|
#define st_14linear2ulaw(sw) (_st_14linear2ulaw[(sw + 0x2000)])
 | 
						|
#define st_ulaw2linear16(uc) (_st_ulaw2linear16[uc])
 | 
						|
#else
 | 
						|
unsigned char st_14linear2ulaw(int16_t pcm_val); 
 | 
						|
int16_t st_ulaw2linear16(unsigned char);
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |