aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2013-12-23pcm/Volume: move code to template pcm_volume_sample()Max Kellermann1-7/+16
2013-12-23pcm/PcmVolume: rename to Volume.cxxMax Kellermann3-2/+2