summaryrefslogtreecommitdiff
path: root/src/pcm
AgeCommit message (Collapse)Author
2021-01-01copyright year 2021Max Kellermann
2020-09-21Merge branch 'v0.21.x' into masterMax Kellermann
2020-09-21fix double promotionsRosen Penev
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-04Support soxr custom recipes.bitkeeper
MPD uses soxr with prefined resample recipes. Soxr also support defining a recipe your self. This commit will support a custom recipe by changing the existing quality setting to "custom". The same structs as the predefined recipes uses can now set by hand. This will make the following settings available: - precision 16|20|24|28|32 bits, example "28" - phase_response - 0-100, example "45" - passband_end - used bandwidth of source 80-99.7%, example "99.7.0" - stopband_begin - anti aliasing 100.0+%, example "100". - attenuation - signal reduciton in dB's, 0-30. example "3.0". - flags "0" - additional bitmask with extra settings The data is set in the structs soxr_quality_spec and soxr_io_spec (found in soxr.h).
2020-07-01system/ByteOrder: move to util/Max Kellermann
2020-06-10Merge tag 'v0.21.24'Max Kellermann
release v0.21.24
2020-05-07dsd/Dsd2Pcm: convert struct GenerateCtableValue to lambdaMax Kellermann
Since we have dropped support for GCC 6 a while ago, we can use constexpr lambdas now.
2020-05-04remove std::bind usage as much as possibleRosen Penev
Reduces unstripped size. stripped size is the same. Also took the time to remove using std::placeholders. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-23Merge tag 'v0.21.23'Max Kellermann
release v0.21.23
2020-04-15Added missing channel order setups for ALSAFlorian Heese
2020-03-25treewide: use boost::lround when std::round is unavailableRosen Penev
This is the case with uClibc-ng currently. Signed-off-by: Rosen Penev <rosenp@gmail.com> (cherry picked from commit 769cd0ee9f0cf8ceb026aa751b5d4a390bb5dbdc) (changed define to match master)
2020-03-16fix double promotionsRosen Penev
Found with -Wdouble-promotion Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-16Merge remote-tracking branch 'neheb/h'Max Kellermann
2020-03-16remove unreachable codeRosen Penev
Found with -Wunreachable-code-break Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-15treewide: use boost::lround when std::round is unavailableRosen Penev
This is the case with uClibc-ng currently. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace stdint.h with cstdintRosen Penev
The former is deprecated by C++14. The standard says they are the same: The header defines all types and macros the same as the C standard library header<stdint.h>. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace stddef.h with cstddefRosen Penev
The former is deprecated with C++14. The standard says both are the same: The contents and meaning of the header<cstddef>are the same as the C standard library header<stddef.h>,except that it does not declare the type wchar_t, that it also declares the type byte and its associated operations (21.2.5), and as noted in 21.2.3 and 21.2.4. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12replace assert.h with cassertRosen Penev
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-12[clang-tidy] use nodiscardRosen Penev
Introduced in C++17. It replaces gcc's warn_unused_result. Found with modernize-use-nodiscard. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-05util/bit_reverse: convert to C++Max Kellermann
2020-02-01[clang-tidy] replace std::bind with lambdasRosen Penev
Found with modernize-avoid-bind Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-01*: add `explicit`Max Kellermann
2020-02-01*: use `auto`Max Kellermann
2020-02-01pcm/PcmFormat: use `using` instead of `typedef`Max Kellermann
2020-02-01pcm/Dither: use `using` instead of `typedef`Max Kellermann
2020-01-18AudioFormat: move to pcm/Max Kellermann
2020-01-18pcm/meson.build: split libpcm into twoMax Kellermann
One basic library without dependencies, and one with heavy dependencies like libsamplerate.
2020-01-18copyright year 2020Max Kellermann
2020-01-17pcm/Convert: choose pcm2dsd float/integer according to dest_formatMax Kellermann
2020-01-17pcm/Convert: throw if !ENABLE_DSDMax Kellermann
2020-01-17Revert "pcm/Convert: add option to enable the integer-only dsd2pcm ↵Max Kellermann
implementation" This reverts commit c84bae739a29ec27790c5534b7fc777d6f40a02f. A configuration option is not necessary, because the PcmConvert constructor knows already whether integer or floating point is needed.
2020-01-17pcm/Convert: add option to enable the integer-only dsd2pcm implementationMax Kellermann
2020-01-17pcm/Dsd2Pcm: add integer-only implementationMax Kellermann
2020-01-14pcm/Dsd2Pcm: add optimized stereo versionMax Kellermann
This code path is 2% faster.
2020-01-14pcm/Dsd2Pcm: add class MultiDsd2PcmMax Kellermann
2020-01-14pcm/PcmDsd: use size_tMax Kellermann
2020-01-14pcm/PcmDsd: manage Dsd2Pcm instances, not pointersMax Kellermann
2020-01-14pcm/Dsd2Pcm: remove unused "lsbf" flagMax Kellermann
2020-01-14pcm/Dsd2Pcm: add "restrict" attributeMax Kellermann
2020-01-14pcm/Dsd2Pcm: eliminate "& 0xff"Max Kellermann
2020-01-14pcm/Dsd2Pcm: move code to TranslateSample()Max Kellermann
10% speedup. Strange, huh?
2020-01-14pcm/Dsd2Pcm: move code to ApplySample()Max Kellermann
For some reason, this speeds up the library by 2%.
2020-01-14pcm/Dsd2Pcm: use `sizet_t` instead of `int`Max Kellermann
2020-01-14pcm/Dsd2Pcm: use std::fill_n()Max Kellermann
2020-01-14pcm/Dsd2Pcm: use `sizet_t` instead of `unsigned`Max Kellermann
2020-01-14pcm/Dsd2Pcm: use `uint8_t` instead of `unsigned char`Max Kellermann
2020-01-14pcm/Dsd2Pcm: move code to CalcOutputSample()Max Kellermann
2020-01-14pcm/Dsd2Pcm: make variables more localMax Kellermann
2020-01-14pcm/Dsd2Pcm: convert to classMax Kellermann
2020-01-14pcm/Dsd2Pcm: remove unused function dsd2pcm_clone()Max Kellermann