Max Kellermann
36e3fda554
pcm/Traits: add template specialization for FLOAT
2013-12-02 11:26:38 +01:00
Max Kellermann
2b44a2c9bd
pcm/PcmChannels: use struct ConstBuffer
2013-12-02 11:21:32 +01:00
Max Kellermann
af3b454805
pcm/PcmBuffer: add typed method GetT()
2013-12-02 11:21:32 +01:00
Max Kellermann
3a0f3eaa50
pcm/PcmUtils: use the SampleTraits library
2013-12-02 11:21:32 +01:00
Max Kellermann
80eb8d9e26
pcm/PcmUtils: remove unused function PcmClampN()
2013-12-02 11:21:32 +01:00
Max Kellermann
30c4136c4d
pcm/PcmVolume: use the SampleTraits library
2013-12-02 11:21:32 +01:00
Max Kellermann
83e4475021
pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()
2013-12-02 11:21:32 +01:00
Max Kellermann
c071d6d9f6
pcm/PcmPrng: add "constexpr"
2013-12-02 11:21:32 +01:00
Max Kellermann
023482406f
pcm/PcmMix: use the SampleTraits library for MixRamp
2013-12-01 22:49:50 +01:00
Max Kellermann
04ba40981f
pcm/PcmMix: use the SampleTraits library
2013-12-01 22:44:16 +01:00
Max Kellermann
fc10bdf24d
pcm/SampleTraits: use 64 bit for S24 long_type
2013-12-01 22:44:16 +01:00
Max Kellermann
28ad79c97a
pcm/Traits: add typedef long_type
2013-12-01 19:32:48 +01:00
Max Kellermann
7661ad6653
pcm/Traits: add API documentation
2013-12-01 19:32:00 +01:00
Max Kellermann
e1436063ff
pcm/PcmFormat: move generic definitions to Traits.hxx
2013-12-01 19:24:37 +01:00
Max Kellermann
3e11a28cd9
pcm/SoxrResampler: new resampler option using libsoxr
2013-12-01 19:13:39 +01:00
Max Kellermann
3ed80f3139
pcm/ConfiguredResampler: convert boolean flag to enum
...
Prepare for adding more resamplers.
2013-12-01 19:13:39 +01:00
Max Kellermann
5ba90cd8ea
pcm/PcmResampler: convert to abstract interface
...
The PcmResampler interface is implemented by the two classes
FallbackPcmResampler and LibsampleratePcmResampler. This prepares for
adding more resampler libraries.
2013-11-30 16:22:57 +01:00
Max Kellermann
e9127523db
pcm/PcmConvert: move code to new class GluePcmResampler
2013-11-30 14:10:31 +01:00
Max Kellermann
92004f2e7e
pcm/PcmConvert: move code to new class PcmChannelsConverter
2013-11-30 13:22:25 +01:00
Max Kellermann
0eefc7a43c
pcm/PcmConvert: move code to new class PcmFormatConverter
2013-11-30 13:08:55 +01:00
Max Kellermann
3a666702af
pcm/PcmConvert: add AudioFormat parameters
...
Don't use src_format. In the middle of Convert(), the current
AudioFormat has already been modified, it's now something in between
src_format and dest_format. This simplifies keeping track of what
remains to be done.
2013-11-30 13:00:41 +01:00
Max Kellermann
3c0c939689
pcm/PcmConvert: use struct ConstBuffer internally
2013-11-29 22:48:23 +01:00
Max Kellermann
413f7c64e5
pcm/PcmDsd: use struct ConstBuffer
2013-11-29 22:06:14 +01:00
Max Kellermann
abeebfe070
pcm/PcmDsd: make attributes private
2013-11-29 22:05:29 +01:00
Max Kellermann
1a002eb23d
PcmConvert: add pcm_convert_global_init()
...
Wrapper for pcm_resample_global_init(), just in case other PCM
libraries need initialization, too.
2013-11-29 11:00:57 +01:00
Max Kellermann
e504913b0f
pcm: drop compatibility with libsamplerate older than 0.1.3
...
Remove compatibility code.
2013-11-28 20:48:02 +01:00
Max Kellermann
a788b7e747
PcmConvert: fix src_format corruption when converting from DSD
...
Method PcmConvert::Convert() modifies the src_format variable. This
used to be a parameter, however commit d2679f59c made it an attribute
instead. The modification to src_format persisted, and the next call
would return garbage.
2013-11-28 18:43:33 +01:00
Max Kellermann
f90abe9530
include cleanup using iwyu
2013-11-28 11:50:54 +01:00
Max Kellermann
99527051b5
Merge branch 'v0.18.x'
2013-11-23 18:45:02 +01:00
Max Kellermann
fc7d5b055d
PcmResampleLibsamplerate: clip 24 bit data
...
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24
bit overflows. This commit makes 24 bit a special case with explicit
clipping.
2013-11-22 23:27:56 +01:00
Max Kellermann
87c8953e8e
PcmResample: un-inline Resample24()
2013-11-22 23:24:40 +01:00
Max Kellermann
45d27a52f1
PcmUtils: add function PcmClampN()
2013-11-22 23:24:40 +01:00
Max Kellermann
d2679f59c5
PcmConvert: add methods Open(), Close()
...
Replaces Reset() and eliminates the AudioFormat parameters from the
Convert() method.
2013-11-13 21:06:33 +01:00
Max Kellermann
44ac84767e
PcmResampleFallback: use PcmBuffer instead of PcmResampler
...
Lighter API.
2013-11-13 18:39:15 +01:00
Max Kellermann
8555b65c50
*: update copyright year to 2013
2013-10-30 23:37:06 +01:00
Max Kellermann
50dc98367c
PcmMix: use negative value instead of NaN for addition
...
Avoid NaN to allow -ffast-math.
2013-10-30 17:23:49 +01:00
Max Kellermann
20597b3632
*: use nullptr instead of NULL
2013-10-28 23:58:17 +01:00
Max Kellermann
12e9b7eafa
PcmFormat: move definitions to struct SampleTraits
2013-10-28 21:29:36 +01:00
Max Kellermann
222dc8a239
Util/ASCII: add StringEqualsCaseASCII() overload with length
...
Replaces GLib's g_ascii_strncasecmp().
2013-10-21 08:42:55 +02:00
Max Kellermann
5e26e2ab1d
system/ByteOrder: new library for byte ordering / endianess
...
Replacing GLib macros.
2013-10-16 22:09:44 +02:00
Max Kellermann
6b2b5af344
util/byte_reverse: convert to C++
2013-10-16 22:07:52 +02:00
Max Kellermann
f32fbd9ed1
pcm_pack: convert to C++
2013-10-16 22:07:43 +02:00
Max Kellermann
dbd88e6aef
Client, ...: remove unnecessary glib.h include
2013-10-15 22:51:09 +02:00
Max Kellermann
509f8dab89
Util/Macros: replacement for GLib's G_N_ELEMENTS()
2013-10-15 22:47:39 +02:00
Max Kellermann
be2951b45f
gcc.h: rename to Compiler.h
2013-10-15 09:21:59 +02:00
Max Kellermann
1dd1a705b5
gcc.h: major update
...
Copy the according file from another project (i.e. XCSoar). This will
allow copying more code more easily.
2013-10-15 09:13:22 +02:00
Max Kellermann
060814daa8
Log: new logging library API
...
Prepare to migrate away from GLib. Currently, we're still using GLib
as a backend.
2013-10-02 08:57:55 +02:00
Max Kellermann
26d92c80ed
conf.h: remove obsolete header
...
Use only ConfigData.hxx in plugin sources to reduce header
dependencies.
2013-09-05 08:47:10 +02:00
Max Kellermann
29030b54c9
util/Error: new error passing library
...
Replaces GLib's GError.
2013-09-04 18:14:22 +02:00
Max Kellermann
44a0e21795
PcmBuffer: move code to new class ReusableBuffer
...
ReusableBuffer is more generic.
2013-08-07 18:51:21 +02:00