aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-11-21configure.ac: add macro MPD_ENABLE_AUTO_PKGMax Kellermann1-8/+8
Simplify the definition of many build options.
2014-11-10pcm/SoxrResampler: round output buffer size upMax Kellermann1-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.
2014-10-23pcm/ChannelsConverter: fix variable used to generate error messageMax Kellermann1-1/+1
Use the "_format" parameter instead of the (uninitialized) "format" attribute.
2014-10-23pcm/FormatConverter: move check to Open()Max Kellermann1-10/+24
Report unsupported format while opening the filter, not later when the first conversion takes place.
2014-10-23pcm/PcmConvert: assign {src,dest}_format at the endMax Kellermann1-12/+13
Fixes assertion failure in destructor by not assigning {src,dest}_format when an error occurs.
2014-10-23pcm/PcmConvert: make AudioFormat parameters "const"Max Kellermann1-1/+1
2014-09-26pcm: --disable-dsd also disables the dsd2pcm libraryMax Kellermann2-1/+11
2014-09-26PcmConvert: eliminate unused local variable "format"Max Kellermann1-12/+2
2014-08-31output/alsa, pcm: rename "DSD over USB" to "DoP"Max Kellermann4-30/+29
The standard has been renamed since the early draft that was implemented in MPD.
2014-08-30*: add missing Compiler.h includesMax Kellermann3-0/+3
Necessary for "final" on gcc 4.6.
2014-08-26PcmExport: remove obsolete API documentationMax Kellermann1-2/+1
2014-08-23pcm/PcmDsd: remove "lsbfirst" supportMax Kellermann3-6/+4
Unused. Bit reversing is done in the decoder.
2014-08-23pcm/dsd2pcm: add license headersMax Kellermann7-0/+210
Obtained from the Mercurial repository at https://code.google.com/p/dsd2pcm/
2014-08-16pcm/SoxrResampler: add missing string.h includeMax Kellermann1-0/+1
2014-08-13PcmExport: add missing <iterator> includeMax Kellermann1-0/+2
For the range-based loop on a ConstBuffer object.
2014-08-12PcmDsdUsb: use class ConstBufferMax Kellermann3-18/+16
2014-08-12PcmExport: use class ConstBufferMax Kellermann2-36/+23
2014-08-12PcmConvert: Convert() returns ConstBufferMax Kellermann2-12/+4
2014-07-30pcm: use nullptr instead of NULLMax Kellermann2-3/+3
2014-03-19pcm/Neon: explicit roundingMax Kellermann1-3/+5
Convert to 31 bit first, then right-shift with rounding to 16 bit.
2014-03-16pcm/Neon: make neon_x4_b() variadicMax Kellermann1-6/+5
2014-03-16pcm/Neon: apply bit shift during float->int conversionMax Kellermann1-7/+2
Avoid multiplication. This is a speedup of 20%.
2014-03-15pcm/PcmFormat: ARM NEON optimizations for float->s16Max Kellermann2-1/+135
This is nearly 4 times faster than the "portable" algorithm.
2014-03-14pcm/PcmFormat: don't use WritableBufferMax Kellermann1-28/+20
The previous commit eliminated the need for that.
2014-03-14pcm/PcmFormat: instantiate FloatToInteger<S32>Max Kellermann1-6/+1
.. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place.
2014-03-14pcm/PcmFormat: eliminate more duplicate code with templatesMax Kellermann3-122/+233
Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert().
2014-03-14pcm/PcmFormat: eliminate local variable "bits"Max Kellermann1-3/+1
2014-03-14pcm/PcmFormat: remove obsolete AllocateFromFloat() overloadMax Kellermann1-15/+0
2014-03-01util/{Const,Writable}Buffer: add operator[]Max Kellermann1-3/+3
2014-02-06pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() callMax Kellermann1-1/+1
2014-01-24Config*: move to config/Max Kellermann1-3/+3
2014-01-21pcm/SoxrResampler: Add configurable quality levelsChase Geigle3-3/+73
2014-01-17pcm/Volume: make DSD a no-opMax Kellermann1-2/+8
Kludge to work around DSD playback failure because the ReplayGainFilterPlugin is always in the filter chain.
2014-01-13copyright year 2014Max Kellermann42-42/+42
2014-01-07pcm/Utils: remove unused function pcm_end_pointer()Max Kellermann1-12/+0
2014-01-07pcm/Volume: use number of samples instead of end pointerMax Kellermann1-25/+19
2014-01-06pcm/Format: change parameters/return values to ConstBufferMax Kellermann3-259/+160
2014-01-06pcm/Format: use number of samples instead of end pointerMax Kellermann1-44/+34
2013-12-28pcm/Volume: remove unused function pcm_volume_dither()Max Kellermann1-16/+0
2013-12-28pcm/PcmMix: improved ditheringMax Kellermann2-18/+31
Use the existing PcmDither library.
2013-12-28pcm/Volume: improved ditheringMax Kellermann4-20/+54
Instead of just adding a rectangular random value before shifting back to the normal scale, use the existing PcmDither library.
2013-12-28pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann2-3/+4
2013-12-28pcm/Volume: remove optimized i386 assemblyMax Kellermann1-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.
2013-12-25pcm/Traits: use 32 bit integer for S8 long_typeMax Kellermann1-1/+1
16 bit is not enough for volume calculations.
2013-12-24pcm/Dither: add API documentationMax Kellermann1-0/+18
2013-12-24pcm/Dither: move shift from DitherConvert() to Dither()Max Kellermann1-2/+2
All callers need this shift, so let's move it to the basic method.
2013-12-24pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann2-11/+11
2013-12-23pcm/Volume: convert to classMax Kellermann2-40/+126
Prepare for adding state.
2013-12-23pcm/Volume: apply volume into destination bufferMax Kellermann1-21/+37
2013-12-23pcm/Volume: convert i386 code to template specializationMax Kellermann1-42/+42