xref: /haiku/src/add-ons/media/media-add-ons/mixer/Interpolate.h (revision e0ef64750f3169cd634bb2f7a001e22488b05231)
1 /*
2  * Copyright 2010, Adrien Destugues <pulkomandy@pulkomandy.ath.cx>
3  * Distributed under the terms of the MIT Licence.
4  */
5 #ifndef _INTERPOLATE_H
6 #define _INTERPOLATE_H
7 
8 
9 #include "Resampler.h"
10 
11 
12 class Interpolate: public Resampler {
13 public:
14 							Interpolate(uint32 sourceFormat,
15 								uint32 destFormat);
16 	virtual					~Interpolate();
17 private:
18 	virtual	void				float_to_float(const void* src,
19 									int32 srcSampleOffset, int32 srcSampleCount,
20 									void* dest, int32 destSampleOffset,
21 									int32 destSampleCount, float gain);
22 	virtual void				int32_to_float(const void* src,
23 									int32 srcSampleOffset, int32 srcSampleCount,
24 									void* dest, int32 destSampleOffset,
25 									int32 destSampleCount, float gain);
26 	virtual void				int16_to_float(const void* src,
27 									int32 srcSampleOffset, int32 srcSampleCount,
28 									void* dest, int32 destSampleOffset,
29 									int32 destSampleCount, float gain);
30 	virtual void				int8_to_float(const void* src,
31 									int32 srcSampleOffset, int32 srcSampleCount,
32 									void* dest, int32 destSampleOffset,
33 									int32 destSampleCount, float gain);
34 	virtual void				uint8_to_float(const void* src,
35 									int32 srcSampleOffset, int32 srcSampleCount,
36 									void* dest, int32 destSampleOffset,
37 									int32 destSampleCount, float gain);
38 	virtual void				float_to_int32(const void* src,
39 									int32 srcSampleOffset, int32 srcSampleCount,
40 									void* dest, int32 destSampleOffset,
41 									int32 destSampleCount, float gain);
42 	virtual void				float_to_int16(const void* src,
43 									int32 srcSampleOffset, int32 srcSampleCount,
44 									void* dest, int32 destSampleOffset,
45 									int32 destSampleCount, float gain);
46 	virtual void				float_to_int8(const void* src,
47 									int32 srcSampleOffset, int32 srcSampleCount,
48 									void* dest, int32 destSampleOffset,
49 									int32 destSampleCount, float gain);
50 	virtual void				float_to_uint8(const void* src,
51 									int32 srcSampleOffset, int32 srcSampleCount,
52 									void* dest, int32 destSampleOffset,
53 									int32 destSampleCount, float gain);
54 
55 };
56 
57 
58 #endif
59