aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() callMax Kellermann2014-02-061-1/+1
|
* Config*: move to config/Max Kellermann2014-01-241-3/+3
|
* pcm/SoxrResampler: Add configurable quality levelsChase Geigle2014-01-213-3/+73
|
* pcm/Volume: make DSD a no-opMax Kellermann2014-01-171-2/+8
| | | | | Kludge to work around DSD playback failure because the ReplayGainFilterPlugin is always in the filter chain.
* copyright year 2014Max Kellermann2014-01-1342-42/+42
|
* pcm/Utils: remove unused function pcm_end_pointer()Max Kellermann2014-01-071-12/+0
|
* pcm/Volume: use number of samples instead of end pointerMax Kellermann2014-01-071-25/+19
|
* pcm/Format: change parameters/return values to ConstBufferMax Kellermann2014-01-063-259/+160
|
* pcm/Format: use number of samples instead of end pointerMax Kellermann2014-01-061-44/+34
|
* pcm/Volume: remove unused function pcm_volume_dither()Max Kellermann2013-12-281-16/+0
|
* pcm/PcmMix: improved ditheringMax Kellermann2013-12-282-18/+31
| | | | Use the existing PcmDither library.
* pcm/Volume: improved ditheringMax Kellermann2013-12-284-20/+54
| | | | | Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
* pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann2013-12-282-3/+4
|
* pcm/Volume: remove optimized i386 assemblyMax Kellermann2013-12-281-50/+0
| | | | | This code is unable to dither. Until we implement that, let's remove the code for now. i386 isn't relevant anymore anyway.