Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | pcm/Neon: explicit rounding | Max Kellermann | 2014-03-19 | 1 | -3/+5 |
| | | | | Convert to 31 bit first, then right-shift with rounding to 16 bit. | ||||
* | pcm/Neon: make neon_x4_b() variadic | Max Kellermann | 2014-03-16 | 1 | -6/+5 |
| | |||||
* | pcm/Neon: apply bit shift during float->int conversion | Max Kellermann | 2014-03-16 | 1 | -7/+2 |
| | | | | Avoid multiplication. This is a speedup of 20%. | ||||
* | pcm/PcmFormat: ARM NEON optimizations for float->s16 | Max Kellermann | 2014-03-15 | 2 | -1/+135 |
| | | | | This is nearly 4 times faster than the "portable" algorithm. | ||||
* | pcm/PcmFormat: don't use WritableBuffer | Max Kellermann | 2014-03-14 | 1 | -28/+20 |
| | | | | The previous commit eliminated the need for that. | ||||
* | pcm/PcmFormat: instantiate FloatToInteger<S32> | Max Kellermann | 2014-03-14 | 1 | -6/+1 |
| | | | | | .. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place. | ||||
* | pcm/PcmFormat: eliminate more duplicate code with templates | Max Kellermann | 2014-03-14 | 3 | -122/+233 |
| | | | | | Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert(). | ||||
* | pcm/PcmFormat: eliminate local variable "bits" | Max Kellermann | 2014-03-14 | 1 | -3/+1 |
| | |||||
* | pcm/PcmFormat: remove obsolete AllocateFromFloat() overload | Max Kellermann | 2014-03-14 | 1 | -15/+0 |
| | |||||
* | util/{Const,Writable}Buffer: add operator[] | Max Kellermann | 2014-03-01 | 1 | -3/+3 |
| | |||||
* | pcm/FallbackResampler: add missing ConstBuffer<T>::ToVoid() call | Max Kellermann | 2014-02-06 | 1 | -1/+1 |
| | |||||
* | Config*: move to config/ | Max Kellermann | 2014-01-24 | 1 | -3/+3 |
| | |||||
* | pcm/SoxrResampler: Add configurable quality levels | Chase Geigle | 2014-01-21 | 3 | -3/+73 |
| | |||||
* | pcm/Volume: make DSD a no-op | Max Kellermann | 2014-01-17 | 1 | -2/+8 |
| | | | | | Kludge to work around DSD playback failure because the ReplayGainFilterPlugin is always in the filter chain. | ||||
* | copyright year 2014 | Max Kellermann | 2014-01-13 | 42 | -42/+42 |
| | |||||
* | pcm/Utils: remove unused function pcm_end_pointer() | Max Kellermann | 2014-01-07 | 1 | -12/+0 |
| | |||||
* | pcm/Volume: use number of samples instead of end pointer | Max Kellermann | 2014-01-07 | 1 | -25/+19 |
| | |||||
* | pcm/Format: change parameters/return values to ConstBuffer | Max Kellermann | 2014-01-06 | 3 | -259/+160 |
| | |||||
* | pcm/Format: use number of samples instead of end pointer | Max Kellermann | 2014-01-06 | 1 | -44/+34 |
| | |||||
* | pcm/Volume: remove unused function pcm_volume_dither() | Max Kellermann | 2013-12-28 | 1 | -16/+0 |
| | |||||
* | pcm/PcmMix: improved dithering | Max Kellermann | 2013-12-28 | 2 | -18/+31 |
| | | | | Use the existing PcmDither library. | ||||
* | pcm/Volume: improved dithering | Max Kellermann | 2013-12-28 | 4 | -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 Kellermann | 2013-12-28 | 2 | -3/+4 |
| | |||||
* | pcm/Volume: remove optimized i386 assembly | Max Kellermann | 2013-12-28 | 1 | -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_type | Max Kellermann | 2013-12-25 | 1 | -1/+1 |
| | | | | 16 bit is not enough for volume calculations. | ||||
* | pcm/Dither: add API documentation | Max Kellermann | 2013-12-24 | 1 | -0/+18 |
| | |||||
* | pcm/Dither: move shift from DitherConvert() to Dither() | Max Kellermann | 2013-12-24 | 1 | -2/+2 |
| | | | | All callers need this shift, so let's move it to the basic method. | ||||
* | pcm/Dither: rename DitherShift() to DitherConvert() | Max Kellermann | 2013-12-24 | 2 | -11/+11 |
| | |||||
* | pcm/Volume: convert to class | Max Kellermann | 2013-12-23 | 2 | -40/+126 |
| | | | | Prepare for adding state. | ||||
* | pcm/Volume: apply volume into destination buffer | Max Kellermann | 2013-12-23 | 1 | -21/+37 |
| | |||||
* | pcm/Volume: convert i386 code to template specialization | Max Kellermann | 2013-12-23 | 1 | -42/+42 |
| | |||||
* | pcm/Volume: move code to template pcm_volume_sample() | Max Kellermann | 2013-12-23 | 1 | -7/+16 |
| | |||||
* | pcm/PcmVolume: rename to Volume.cxx | Max Kellermann | 2013-12-23 | 3 | -2/+2 |
| | |||||
* | pcm/PcmConvert: move the Domain instance to Domain.cxx | Max Kellermann | 2013-12-23 | 6 | -9/+56 |
| | | | | | Rename pcm_convert_domain to pcm_domain. Move it out so we can use it without depending on the whole PcmConvert library. | ||||
* | pcm/Dither: convert remaining methods to templates | Max Kellermann | 2013-12-22 | 2 | -26/+39 |
| | | | | | Use the SampleTraits template and let the compiler generate a special case for S32 instead of reusing S24_P32. | ||||
* | pcm/Dither: generic sample dithering using template | Max Kellermann | 2013-12-22 | 2 | -13/+25 |
| | |||||
* | pcm/Traits: include stddef.h for size_t | Max Kellermann | 2013-12-22 | 1 | -0/+1 |
| | |||||
* | pcm/Traits: add MIN and MAX | Max Kellermann | 2013-12-22 | 2 | -9/+28 |
| | | | | Move from PcmClamp(). | ||||
* | pcm/Volume: add constant PCM_VOLUME_BITS | Max Kellermann | 2013-12-22 | 2 | -1/+6 |
| | |||||
* | pcm/Volume: make PCM_VOLUME_1 a "constexpr" | Max Kellermann | 2013-12-22 | 3 | -13/+13 |
| | |||||
* | pcm/Prng: make pcm_prng() inline | Max Kellermann | 2013-12-22 | 1 | -1/+1 |
| | |||||
* | util/Clamp: generic Clamp() function | Max Kellermann | 2013-12-22 | 1 | -1/+2 |
| | |||||
* | pcm/Traits: add typedef "sum_type" | Max Kellermann | 2013-12-02 | 3 | -5/+16 |
| | | | | | Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24 bit samples. | ||||
* | pcm/Traits: use int_leastX_t types | Max Kellermann | 2013-12-02 | 1 | -4/+4 |
| | |||||
* | pcm/PcmChannels: implement fake N-to-M mapping | Max Kellermann | 2013-12-02 | 1 | -1/+27 |
| | | | | | This is really just a mono mapper, but the important part is that this library cannot fail anymore. | ||||
* | pcm/PcmChannels: use the SampleTraits library | Max Kellermann | 2013-12-02 | 1 | -182/+60 |
| | |||||
* | pcm/Traits: add template specialization for FLOAT | Max Kellermann | 2013-12-02 | 1 | -0/+11 |
| | |||||
* | pcm/PcmChannels: use struct ConstBuffer | Max Kellermann | 2013-12-02 | 3 | -112/+74 |
| | |||||
* | pcm/PcmBuffer: add typed method GetT() | Max Kellermann | 2013-12-02 | 1 | -0/+6 |
| | |||||
* | pcm/PcmUtils: use the SampleTraits library | Max Kellermann | 2013-12-02 | 4 | -17/+14 |
| |