aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmFormat.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-01-01Copyright year 2015Max Kellermann1-1/+1
2014-03-15pcm/PcmFormat: ARM NEON optimizations for float->s16Max Kellermann1-1/+38
This is nearly 4 times faster than the "portable" algorithm.
2014-03-14pcm/PcmFormat: don't use WritableBufferMax Kellermann1-28/+20
The previous commit eliminated the need for that.
2014-03-14pcm/PcmFormat: instantiate FloatToInteger<S32>Max Kellermann1-6/+1
.. instead of reusing FloatToInteger<S24> and converting from S24 to S32 in-place.
2014-03-14pcm/PcmFormat: eliminate more duplicate code with templatesMax Kellermann1-122/+100
Refactor the conversion functions to classes and pass an instance to the new function AllocateConvert().
2014-03-14pcm/PcmFormat: eliminate local variable "bits"Max Kellermann1-3/+1
2014-03-14pcm/PcmFormat: remove obsolete AllocateFromFloat() overloadMax Kellermann1-15/+0
2014-01-13copyright year 2014Max Kellermann1-1/+1
2014-01-06pcm/Format: change parameters/return values to ConstBufferMax Kellermann1-207/+128
2014-01-06pcm/Format: use number of samples instead of end pointerMax Kellermann1-44/+34
2013-12-28pcm/PcmDither: inline Dither24To16() and Dither32To16()Max Kellermann1-1/+2
2013-12-02pcm/PcmUtils: use the SampleTraits libraryMax Kellermann1-3/+1
2013-12-02pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()Max Kellermann1-2/+4
2013-12-01pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann1-45/+1
2013-11-30pcm/PcmResampler: convert to abstract interfaceMax Kellermann1-1/+0
The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
2013-10-30*: update copyright year to 2013Max Kellermann1-1/+1
2013-10-28*: use nullptr instead of NULLMax Kellermann1-4/+4
2013-10-28PcmFormat: move definitions to struct SampleTraitsMax Kellermann1-36/+81
2013-10-16pcm_pack: convert to C++Max Kellermann1-1/+0
2013-10-15gcc.h: major updateMax Kellermann1-6/+6
Copy the according file from another project (i.e. XCSoar). This will allow copying more code more easily.
2013-08-03audio_format: convert to C++Max Kellermann1-32/+32
2013-07-30pcm_buffer: convert to C++Max Kellermann1-40/+40
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-0/+0
2013-02-01PcmFormat: merge duplicate code with a templateMax Kellermann1-74/+71
2013-01-31PcmDither: convert struct to a classMax Kellermann1-7/+7
2013-01-31pcm_*: convert to C++Max Kellermann1-38/+54
2012-03-27audio_format: remove SAMPLE_FORMAT_DSD_OVER_USBMax Kellermann1-4/+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-72/+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 reverse_endian attributeMax Kellermann1-1/+1
Eliminate support for reverse endian samples from the MPD core. This moves a lot of complexity to the plugins that really need it (only ALSA and CDIO currently).
2012-03-21audio_format: remove the format SAMPLE_FORMAT_DSD_LSBFIRSTMax Kellermann1-4/+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/+4
2012-03-01audio_format: add DSD sample formatMax Kellermann1-0/+8
Basic support for Direct Stream Digital. No conversion yet, and no decoder/output plugin support.
2011-10-20pcm_format: implement conversion to floatMax Kellermann1-0/+135
2011-10-20audio_format: basic support for floating point samplesMax Kellermann1-0/+75
Support for conversion from float to 16, 24 and 32 bit integer samples.
2011-10-20pcm_format: move "case" code to separate functionsMax Kellermann1-95/+166
Reduce the mess with local variables inside switch{}.
2011-10-20pcm_*: add "restrict" keywordsMax Kellermann1-2/+6
Allow more compiler optimizations.
2011-10-19pcm_format: pass an "end" pointer instead of a sample countMax Kellermann1-58/+28
2011-10-19pcm_{channels,format}: add alignment assertionsMax Kellermann1-0/+6
2011-10-19pcm_utils: add function pcm_end_pointer()Max Kellermann1-1/+2
2011-10-10pcm_dither: pass an "end" pointer instead of a sample countMax Kellermann1-9/+8
This is easier and more efficient to loop on, because only two variables get modified (src and dest).
2011-10-10pcm_pack: pass an "end" pointer instead of a sample countMax Kellermann1-1/+1
2011-09-08pcm_format: fix 32-to-24 bit conversion (the "silence" bug)Max Kellermann1-2/+2
D'oh, we were reading 16 bit integers instead of 32 bit integers! That caused silence when trying to play a 32 bit input file on a 24 bit sound card (e.g. USB sound chips with 24 bit packed samples).
2011-01-29copyright year 2011Max Kellermann1-1/+1
2010-01-16audio_format: support packed 24 bit samplesMax Kellermann1-0/+41
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-12-02audio_format: changed "bits" to "enum sample_format"Max Kellermann1-18/+27
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-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-07-23pcm_convert: use GError for error handlingMax Kellermann1-5/+0
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
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-03-02pcm_format: added conversion from 32 bitMax Kellermann1-0/+37
Support converting 32 bit samples to any other supported sample format.