aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* pcm/Order: new library to convert from FLAC to ALSA channel orderMax Kellermann2015-10-274-0/+199
| | | | | | | | | | | This new library is integrated in the PcmExport class and (if enabled) converts MPD's channel order (= FLAC channel order) to ALSA channel order. This fixes: http://bugs.musicpd.org/view.php?id=3147 and http://bugs.musicpd.org/view.php?id=3255
* pcm/Interleave: add stereo optimizationMax Kellermann2015-06-221-0/+19
|
* pcm/Interleave: instantiate a 16 bit optimizationMax Kellermann2015-06-221-0/+15
|
* pcm/Interleave: convert PcmInterleave32() to templateMax Kellermann2015-06-221-4/+13
|
* pcm/Interleave: add optimization for 32 bit samplesMax Kellermann2015-06-222-5/+48
| | | | Move code from the "vorbis" decoder.
* pcm/Interleave: add "restrict" keywordsMax Kellermann2015-06-222-3/+6
|
* decoder/ffmpeg: move code to pcm/Interleave.cxxMax Kellermann2015-06-222-0/+80
|
* pcm/soxr: fix recipe parserMax Kellermann2015-06-201-1/+1
|
* *: doxygen fixupsMax Kellermann2015-03-176-25/+11
|
* pcm/SoxrResampler: move quality recipe names to tableMax Kellermann2015-01-251-25/+23
|
* pcm/SoxrResampler: allow multi-threaded resamplingMax Kellermann2015-01-221-1/+1
|
* pcm/SoxrResampler: add a global soxr_runtime_spec_t variableMax Kellermann2015-01-221-1/+5
|
* Config: add section "resampler"Max Kellermann2015-01-225-33/+123
|
* config/Option: convert to strictly-typed enumMax Kellermann2015-01-211-1/+1
|
* pcm/SoxrResampler: use a global soxr_quality_spec_t variableMax Kellermann2015-01-211-6/+7
|
* pcm/SoxrResampler: soxr_parse_converter() returns unsigned longMax Kellermann2015-01-211-13/+18
|
* pcm/SoxrResampler: add constant SOXR_DEFAULT_QUALITYMax Kellermann2015-01-211-1/+3
|
* pcm/SoxrResampler: fix indentMax Kellermann2015-01-211-1/+1
|
* Copyright year 2015Max Kellermann2015-01-0145-45/+45
|
* Merge branch 'v0.19.x'Max Kellermann2014-12-261-1/+1
|\
| * db/simple: fix implicit nullptr/bool conversionMax Kellermann2014-12-261-1/+1
| | | | | | | | | | Return false on error, not nullptr.
* | configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann2014-11-211-8/+8
|/ | | | Simplify the definition of many build options.
* pcm/SoxrResampler: round output buffer size upMax Kellermann2014-11-101-1/+2
| | | | | | | | The old formula calculates the output buffer size with "regular" rounding (to the nearest integer), however sometimes, that is insufficient and the last sample cannot be resampled. This causes audible distortions. By changing the formula to consider the worst case (always round up), this problem is eliminated.
* pcm/ChannelsConverter: fix variable used to generate error messageMax Kellermann2014-10-231-1/+1
| | | | | Use the "_format" parameter instead of the (uninitialized) "format" attribute.
* pcm/FormatConverter: move check to Open()Max Kellermann2014-10-231-10/+24
| | | | | Report unsupported format while opening the filter, not later when the first conversion takes place.
* pcm/PcmConvert: assign {src,dest}_format at the endMax Kellermann2014-10-231-12/+13
| | | | | Fixes assertion failure in destructor by not assigning {src,dest}_format when an error occurs.
* pcm/PcmConvert: make AudioFormat parameters "const"Max Kellermann2014-10-231-1/+1
|
* pcm: --disable-dsd also disables the dsd2pcm libraryMax Kellermann2014-09-262-1/+11
|
* PcmConvert: eliminate unused local variable "format"Max Kellermann2014-09-261-12/+2
|
* output/alsa, pcm: rename "DSD over USB" to "DoP"Max Kellermann2014-08-314-30/+29
| | | | | The standard has been renamed since the early draft that was implemented in MPD.
* *: add missing Compiler.h includesMax Kellermann2014-08-303-0/+3
| | | | Necessary for "final" on gcc 4.6.
* PcmExport: remove obsolete API documentationMax Kellermann2014-08-261-2/+1
|
* pcm/PcmDsd: remove "lsbfirst" supportMax Kellermann2014-08-233-6/+4
| | | | Unused. Bit reversing is done in the decoder.
* pcm/dsd2pcm: add license headersMax Kellermann2014-08-237-0/+210
| | | | | Obtained from the Mercurial repository at https://code.google.com/p/dsd2pcm/
* pcm/SoxrResampler: add missing string.h includeMax Kellermann2014-08-161-0/+1
|
* PcmExport: add missing <iterator> includeMax Kellermann2014-08-131-0/+2
| | | | For the range-based loop on a ConstBuffer object.
* PcmDsdUsb: use class ConstBufferMax Kellermann2014-08-123-18/+16
|
* PcmExport: use class ConstBufferMax Kellermann2014-08-122-36/+23
|
* PcmConvert: Convert() returns ConstBufferMax Kellermann2014-08-122-12/+4
|
* pcm: use nullptr instead of NULLMax Kellermann2014-07-302-3/+3
|
* pcm/Neon: explicit roundingMax Kellermann2014-03-191-3/+5
| | | | Convert to 31 bit first, then right-shift with rounding to 16 bit.
* pcm/Neon: make neon_x4_b() variadicMax Kellermann2014-03-161-6/+5
|
* pcm/Neon: apply bit shift during float->int conversionMax Kellermann2014-03-161-7/+2
| | | | Avoid multiplication. This is a speedup of 20%.
* pcm/PcmFormat: ARM NEON optimizations for float->s16Max Kellermann2014-03-152-1/+135
| | | | This is nearly 4 times faster than the "portable" algorithm.
* pcm/PcmFormat: don't use WritableBufferMax Kellermann2014-03-141-28/+20
| | | | The previous commit eliminated the need for that.
* pcm/PcmFormat: instantiate FloatToInteger<S32>Max Kellermann2014-03-141-6/+1
| | | | | .. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place.
* pcm/PcmFormat: eliminate more duplicate code with templatesMax Kellermann2014-03-143-122/+233
| | | | | Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert().
* pcm/PcmFormat: eliminate local variable "bits"Max Kellermann2014-03-141-3/+1
|
* pcm/PcmFormat: remove obsolete AllocateFromFloat() overloadMax Kellermann2014-03-141-15/+0
|
* util/{Const,Writable}Buffer: add operator[]Max Kellermann2014-03-011-3/+3
|