aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pcm/Traits: add typedef "sum_type"Max Kellermann2013-12-023-5/+16
| | | | | Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24 bit samples.
* pcm/Traits: use int_leastX_t typesMax Kellermann2013-12-021-4/+4
|
* pcm/PcmChannels: implement fake N-to-M mappingMax Kellermann2013-12-021-1/+27
| | | | | This is really just a mono mapper, but the important part is that this library cannot fail anymore.
* pcm/PcmChannels: use the SampleTraits libraryMax Kellermann2013-12-021-182/+60
|
* pcm/Traits: add template specialization for FLOATMax Kellermann2013-12-021-0/+11
|
* pcm/PcmChannels: use struct ConstBufferMax Kellermann2013-12-023-112/+74
|
* pcm/PcmBuffer: add typed method GetT()Max Kellermann2013-12-021-0/+6
|
* pcm/PcmUtils: use the SampleTraits libraryMax Kellermann2013-12-024-17/+14
|
* pcm/PcmUtils: remove unused function PcmClampN()Max Kellermann2013-12-021-12/+0
|
* pcm/PcmVolume: use the SampleTraits libraryMax Kellermann2013-12-021-30/+22
|
* pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()Max Kellermann2013-12-021-2/+4
|
* pcm/PcmPrng: add "constexpr"Max Kellermann2013-12-021-1/+1
|
* pcm/PcmMix: use the SampleTraits library for MixRampMax Kellermann2013-12-011-15/+22
|
* pcm/PcmMix: use the SampleTraits libraryMax Kellermann2013-12-011-21/+29
|
* pcm/SampleTraits: use 64 bit for S24 long_typeMax Kellermann2013-12-011-1/+1
|
* pcm/Traits: add typedef long_typeMax Kellermann2013-12-011-0/+13
|
* pcm/Traits: add API documentationMax Kellermann2013-12-011-0/+24
|
* pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann2013-12-012-45/+72
|
* pcm/SoxrResampler: new resampler option using libsoxrMax Kellermann2013-12-013-0/+162
|
* pcm/ConfiguredResampler: convert boolean flag to enumMax Kellermann2013-12-011-13/+31
| | | | Prepare for adding more resamplers.
* pcm/PcmResampler: convert to abstract interfaceMax Kellermann2013-11-3017-886/+694
| | | | | | The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
* pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann2013-11-304-139/+152
|
* pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann2013-11-304-66/+222
|
* pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann2013-11-304-68/+243
|
* pcm/PcmConvert: add AudioFormat parametersMax Kellermann2013-11-302-53/+53
| | | | | | | 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.
* pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2013-11-292-61/+36
|
* pcm/PcmDsd: use struct ConstBufferMax Kellermann2013-11-293-25/+26
|
* pcm/PcmDsd: make attributes privateMax Kellermann2013-11-291-1/+2
|
* PcmConvert: add pcm_convert_global_init()Max Kellermann2013-11-292-0/+9
| | | | | Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
* pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann2013-11-281-20/+0
| | | | Remove compatibility code.
* PcmConvert: fix src_format corruption when converting from DSDMax Kellermann2013-11-282-6/+12
| | | | | | | 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.
* include cleanup using iwyuMax Kellermann2013-11-285-3/+5
|
* Merge branch 'v0.18.x'Max Kellermann2013-11-235-7/+70
|\
| * PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann2013-11-223-2/+47
| | | | | | | | | | | | 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.
| * PcmResample: un-inline Resample24()Max Kellermann2013-11-222-7/+13
| |
| * PcmUtils: add function PcmClampN()Max Kellermann2013-11-221-0/+12
| |
* | PcmConvert: add methods Open(), Close()Max Kellermann2013-11-132-44/+60
| | | | | | | | | | Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method.
* | PcmResampleFallback: use PcmBuffer instead of PcmResamplerMax Kellermann2013-11-133-9/+9
|/ | | | Lighter API.
* *: update copyright year to 2013Max Kellermann2013-10-305-5/+5
|
* PcmMix: use negative value instead of NaN for additionMax Kellermann2013-10-302-4/+5
| | | | Avoid NaN to allow -ffast-math.
* *: use nullptr instead of NULLMax Kellermann2013-10-286-41/+42
|
* PcmFormat: move definitions to struct SampleTraitsMax Kellermann2013-10-281-36/+81
|
* Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann2013-10-211-3/+2
| | | | Replaces GLib's g_ascii_strncasecmp().
* system/ByteOrder: new library for byte ordering / endianessMax Kellermann2013-10-161-5/+4
| | | | Replacing GLib macros.
* util/byte_reverse: convert to C++Max Kellermann2013-10-161-4/+1
|
* pcm_pack: convert to C++Max Kellermann2013-10-165-9/+6
|
* Client, ...: remove unnecessary glib.h includeMax Kellermann2013-10-152-4/+0
|
* Util/Macros: replacement for GLib's G_N_ELEMENTS()Max Kellermann2013-10-151-6/+5
|
* gcc.h: rename to Compiler.hMax Kellermann2013-10-153-3/+3
|
* gcc.h: major updateMax Kellermann2013-10-152-24/+24
| | | | | Copy the according file from another project (i.e. XCSoar). This will allow copying more code more easily.