aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* 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.
* pcm/Dither: convert remaining methods to templatesMax Kellermann2013-12-222-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 templateMax Kellermann2013-12-222-13/+25
|
* pcm/Traits: include stddef.h for size_tMax Kellermann2013-12-221-0/+1
|
* pcm/Traits: add MIN and MAXMax Kellermann2013-12-222-9/+28
| | | | Move from PcmClamp().
* pcm/Volume: add constant PCM_VOLUME_BITSMax Kellermann2013-12-222-1/+6
|
* pcm/Volume: make PCM_VOLUME_1 a "constexpr"Max Kellermann2013-12-223-13/+13
|
* pcm/Prng: make pcm_prng() inlineMax Kellermann2013-12-221-1/+1
|
* util/Clamp: generic Clamp() functionMax Kellermann2013-12-221-1/+2
|
* pcm/Traits: add typedef "sum_type"Max Kellermann2013-12-023-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 typesMax Kellermann2013-12-021-4/+4
|
* pcm/PcmChannels: implement fake N-to-M mappingMax Kellermann2013-12-021-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 libraryMax Kellermann2013-12-021-182/+60
|
* pcm/Traits: add template specialization for FLOATMax Kellermann2013-12-021-0/+11
|
* pcm/PcmChannels: use struct ConstBufferMax Kellermann2013-12-023-112/+74
|
* pcm/PcmBuffer: add typed method GetT()Max Kellermann2013-12-021-0/+6
|
* pcm/PcmUtils: use the SampleTraits libraryMax Kellermann2013-12-024-17/+14
|
* pcm/PcmUtils: remove unused function PcmClampN()Max Kellermann2013-12-021-12/+0
|
* pcm/PcmVolume: use the SampleTraits libraryMax Kellermann2013-12-021-30/+22
|
* pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()Max Kellermann2013-12-021-2/+4
|
* pcm/PcmPrng: add "constexpr"Max Kellermann2013-12-021-1/+1
|
* pcm/PcmMix: use the SampleTraits library for MixRampMax Kellermann2013-12-011-15/+22
|
* pcm/PcmMix: use the SampleTraits libraryMax Kellermann2013-12-011-21/+29
|
* pcm/SampleTraits: use 64 bit for S24 long_typeMax Kellermann2013-12-011-1/+1
|
* pcm/Traits: add typedef long_typeMax Kellermann2013-12-011-0/+13
|
* pcm/Traits: add API documentationMax Kellermann2013-12-011-0/+24
|
* pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann2013-12-012-45/+72
|
* pcm/SoxrResampler: new resampler option using libsoxrMax Kellermann2013-12-013-0/+162
|
* pcm/ConfiguredResampler: convert boolean flag to enumMax Kellermann2013-12-011-13/+31
| | | | Prepare for adding more resamplers.
* pcm/PcmResampler: convert to abstract interfaceMax Kellermann2013-11-3017-886/+694
| | | | | | The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
* pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann2013-11-304-139/+152
|
* pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann2013-11-304-66/+222
|
* pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann2013-11-304-68/+243
|
* pcm/PcmConvert: add AudioFormat parametersMax Kellermann2013-11-302-53/+53
| | | | | | | Don't use src_format. In the middle of Convert(), the current AudioFormat has already been modified, it's now something in between src_format and dest_format. This simplifies keeping track of what remains to be done.
* pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2013-11-292-61/+36
|
* pcm/PcmDsd: use struct ConstBufferMax Kellermann2013-11-293-25/+26
|
* pcm/PcmDsd: make attributes privateMax Kellermann2013-11-291-1/+2
|
* PcmConvert: add pcm_convert_global_init()Max Kellermann2013-11-292-0/+9
| | | | | Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
* pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann2013-11-281-20/+0
| | | | Remove compatibility code.