aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmMix.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-01-13copyright year 2014Max Kellermann1-1/+1
2013-12-28pcm/PcmMix: improved ditheringMax Kellermann1-17/+28
Use the existing PcmDither library.
2013-12-23pcm/PcmVolume: rename to Volume.cxxMax Kellermann1-1/+1
2013-12-22pcm/Volume: make PCM_VOLUME_1 a "constexpr"Max Kellermann1-6/+5
2013-12-22util/Clamp: generic Clamp() functionMax Kellermann1-1/+2
2013-12-02pcm/Traits: add typedef "sum_type"Max Kellermann1-1/+1
Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24 bit samples.
2013-12-02pcm/PcmUtils: use the SampleTraits libraryMax Kellermann1-6/+2
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-11-28include cleanup using iwyuMax Kellermann1-0/+1
2013-10-30*: update copyright year to 2013Max Kellermann1-1/+1
2013-10-30PcmMix: use negative value instead of NaN for additionMax Kellermann1-2/+2
Avoid NaN to allow -ffast-math.
2013-08-03audio_format: convert to C++Max Kellermann1-18/+18
2013-08-03gcc.h: add macro gcc_unreachable()Max Kellermann1-4/+2
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-0/+0
2013-02-01PcmMix: merge duplicate code with templatesMax Kellermann1-110/+44
2013-02-01PcmUtils: remove pcm_range(), use PcmClamp() insteadMax Kellermann1-8/+8
2013-01-31pcm_*: convert to C++Max Kellermann1-10/+7
2012-03-27audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann1-2/+0
DSD-over-USB should not be a MPD core format, because it is not a "natural" format; it is just a temnporary over-the-wire format. This format has been implemented in pcm_export, and does not need to be supported by pcm_convert.
2012-03-22audio_format: remove the packed S24 formatMax Kellermann1-2/+0
For simplicity, the MPD core should not have to deal with packing. It is rarely used, and those plugins that need it should use the pcm_export library instead.
2012-03-21audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann1-2/+0
This format is unused since the DSDIFF decoder plugin now reverses the bit order.
2012-03-19audio_format: basic support for DSD-over-USBMax Kellermann1-0/+2
2012-03-01audio_format: add DSD sample formatMax Kellermann1-0/+4
Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
2011-10-20pcm_mix: implement float samplesMax Kellermann1-4/+31
2011-10-20audio_format: basic support for floating point samplesMax Kellermann1-0/+8
Support for conversion from float to 16, 24 and 32 bit integer samples.
2011-10-20pcm_mix: return bool, make unimplemented format non-fatalMax Kellermann1-25/+32
Let the caller deal with a failure.
2011-10-10pcm_{mix,volume}: pass only sample_format to pcm_mix()Max Kellermann1-7/+7
The other audio_format attributes are not used.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-09-25eliminate g_error() usageThomas Jansen1-4/+5
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header file 'mpd_error.h'. This macro uses g_critical() to print the error message and then exits gracefully in contrast to g_error() which would internally call abort() to produce a core dump. The macro name is distinctive and allows to find all places with dubious error handling. The long-term goal is to get rid of MPD_ERROR() altogether. To facilitate the eventual removal of this macro it was added in a new header file rather than to an existing header file. This fixes #2995 and #3007.
2010-05-08mixramp: Remove maths from pcm_mix when using MixRamp overlaps.Tim Phipps1-21/+102
2010-03-21Add support for MixRamp tagsTim Phipps1-1/+10
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-03pcm_mix: change old code to use format instead of bitsViliam Mateicka1-1/+1
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-5/+6
This patch prepares support for floating point samples (and probably other formats). It changes the meaning of the "bits" attribute from a bit count to a symbolic value.
2009-11-19pcm_mix: implemented 32 bit supportMax Kellermann1-0/+23
2009-11-12include config.h in all sourcesMax Kellermann1-0/+1
After we've been hit by Large File Support problems several times in the past week (which only occur on 32 bit platforms, which I don't have), this is yet another attempt to fix the issue.
2009-03-13all: Update copyright header.Avuton Olrich1-3/+4
This updates the copyright header to all be the same, which is pretty much an update of where to mail request for a copy of the GPL and the years of the MPD project. This also puts all committers under 'The Music Player Project' umbrella. These entries should go individually in the AUTHORS file, for consistancy.
2009-01-07pcm: pass void pointers to PCM functionsMax Kellermann1-2/+2
In generic PCM functions allowing all sample formats, pass a void pointer instead of a char pointer.
2009-01-07pcm_volume: rename pcm_dither() to pcm_volume_dither()Max Kellermann1-3/+6
2009-01-07pcm_utils: moved code to pcm_mix.cMax Kellermann1-0/+118
Moved the software mixing code (used by crossfading) to a separate library.