aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* pcm/Traits: use 32 bit integer for S8 long_typeMax Kellermann2013-12-251-1/+1
| | | | 16 bit is not enough for volume calculations.
* pcm/Dither: add API documentationMax Kellermann2013-12-241-0/+18
|
* pcm/Dither: move shift from DitherConvert() to Dither()Max Kellermann2013-12-241-2/+2
| | | | All callers need this shift, so let's move it to the basic method.
* pcm/Dither: rename DitherShift() to DitherConvert()Max Kellermann2013-12-242-11/+11
|
* pcm/Volume: convert to classMax Kellermann2013-12-232-40/+126
| | | | Prepare for adding state.
* pcm/Volume: apply volume into destination bufferMax Kellermann2013-12-231-21/+37
|
* pcm/Volume: convert i386 code to template specializationMax Kellermann2013-12-231-42/+42
|
* pcm/Volume: move code to template pcm_volume_sample()Max Kellermann2013-12-231-7/+16
|
* pcm/PcmVolume: rename to Volume.cxxMax Kellermann2013-12-233-2/+2
|
* pcm/PcmConvert: move the Domain instance to Domain.cxxMax Kellermann2013-12-236-9/+56
| | | | | Rename pcm_convert_domain to pcm_domain. Move it out so we can use it without depending on the whole PcmConvert library.