aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2013-12-23pcm/PcmConvert: move the Domain instance to Domain.cxxMax Kellermann6-9/+56
Rename pcm_convert_domain to pcm_domain. Move it out so we can use it without depending on the whole PcmConvert library.
2013-12-22pcm/Dither: convert remaining methods to templatesMax Kellermann2-26/+39
Use the SampleTraits template and let the compiler generate a special case for S32 instead of reusing S24_P32.
2013-12-22pcm/Dither: generic sample dithering using templateMax Kellermann2-13/+25
2013-12-22pcm/Traits: include stddef.h for size_tMax Kellermann1-0/+1
2013-12-22pcm/Traits: add MIN and MAXMax Kellermann2-9/+28
Move from PcmClamp().
2013-12-22pcm/Volume: add constant PCM_VOLUME_BITSMax Kellermann2-1/+6
2013-12-22pcm/Volume: make PCM_VOLUME_1 a "constexpr"Max Kellermann3-13/+13
2013-12-22pcm/Prng: make pcm_prng() inlineMax Kellermann1-1/+1
2013-12-22util/Clamp: generic Clamp() functionMax Kellermann1-1/+2
2013-12-02pcm/Traits: add typedef "sum_type"Max Kellermann3-5/+16
Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24 bit samples.
2013-12-02pcm/Traits: use int_leastX_t typesMax Kellermann1-4/+4
2013-12-02pcm/PcmChannels: implement fake N-to-M mappingMax Kellermann1-1/+27
This is really just a mono mapper, but the important part is that this library cannot fail anymore.
2013-12-02pcm/PcmChannels: use the SampleTraits libraryMax Kellermann1-182/+60
2013-12-02pcm/Traits: add template specialization for FLOATMax Kellermann1-0/+11
2013-12-02pcm/PcmChannels: use struct ConstBufferMax Kellermann3-112/+74
2013-12-02pcm/PcmBuffer: add typed method GetT()Max Kellermann1-0/+6
2013-12-02pcm/PcmUtils: use the SampleTraits libraryMax Kellermann4-17/+14
2013-12-02pcm/PcmUtils: remove unused function PcmClampN()Max Kellermann1-12/+0
2013-12-02pcm/PcmVolume: use the SampleTraits libraryMax Kellermann1-30/+22
2013-12-02pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()Max Kellermann1-2/+4
2013-12-02pcm/PcmPrng: add "constexpr"Max Kellermann1-1/+1
2013-12-01pcm/PcmMix: use the SampleTraits library for MixRampMax Kellermann1-15/+22
2013-12-01pcm/PcmMix: use the SampleTraits libraryMax Kellermann1-21/+29
2013-12-01pcm/SampleTraits: use 64 bit for S24 long_typeMax Kellermann1-1/+1
2013-12-01pcm/Traits: add typedef long_typeMax Kellermann1-0/+13
2013-12-01pcm/Traits: add API documentationMax Kellermann1-0/+24
2013-12-01pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann2-45/+72
2013-12-01pcm/SoxrResampler: new resampler option using libsoxrMax Kellermann3-0/+162
2013-12-01pcm/ConfiguredResampler: convert boolean flag to enumMax Kellermann1-13/+31
Prepare for adding more resamplers.
2013-11-30pcm/PcmResampler: convert to abstract interfaceMax Kellermann17-886/+694
The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
2013-11-30pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann4-139/+152
2013-11-30pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann4-66/+222
2013-11-30pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann4-68/+243
2013-11-30pcm/PcmConvert: add AudioFormat parametersMax Kellermann2-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.
2013-11-29pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2-61/+36
2013-11-29pcm/PcmDsd: use struct ConstBufferMax Kellermann3-25/+26
2013-11-29pcm/PcmDsd: make attributes privateMax Kellermann1-1/+2
2013-11-29PcmConvert: add pcm_convert_global_init()Max Kellermann2-0/+9
Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
2013-11-28pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann1-20/+0
Remove compatibility code.
2013-11-28PcmConvert: fix src_format corruption when converting from DSDMax Kellermann2-6/+12
Method PcmConvert::Convert() modifies the src_format variable. This used to be a parameter, however commit d2679f59c made it an attribute instead. The modification to src_format persisted, and the next call would return garbage.
2013-11-28include cleanup using iwyuMax Kellermann5-3/+5
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann3-2/+47
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24 bit overflows. This commit makes 24 bit a special case with explicit clipping.
2013-11-22PcmResample: un-inline Resample24()Max Kellermann2-7/+13