Rosen Penev
6d91b5c7b2
fix double promotions
...
Found with -Wdouble-promotion
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-16 12:43:24 -07:00
Max Kellermann
fd71514068
Merge remote-tracking branch 'neheb/h'
2020-03-16 17:29:05 +01:00
Rosen Penev
77c6c3fabf
remove unreachable code
...
Found with -Wunreachable-code-break
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-16 00:14:13 -07:00
Rosen Penev
3ec9fcfc44
treewide: use boost::lround when std::round is unavailable
...
This is the case with uClibc-ng currently.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-03-15 20:17:31 -07:00
Rosen Penev
a2f5a63bbc
replace stdint.h with cstdint
...
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-12 19:04:39 -07:00
Rosen Penev
2db8bcc353
replace stddef.h with cstddef
...
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-12 19:04:38 -07:00
Rosen Penev
ab9f5d2067
replace assert.h with cassert
...
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 15:25:38 -07:00
Rosen Penev
f00f8b002a
[clang-tidy] use nodiscard
...
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-03-12 12:59:16 -07:00
Max Kellermann
7b03f55cb4
util/bit_reverse: convert to C++
2020-02-05 19:49:18 +01:00
Rosen Penev
dfed9546aa
[clang-tidy] replace std::bind with lambdas
...
Found with modernize-avoid-bind
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2020-02-01 19:43:01 -08:00
Max Kellermann
bc6eca2115
*: add explicit
2020-02-01 14:02:43 +01:00
Max Kellermann
72ec641f0d
*: use auto
2020-02-01 14:02:43 +01:00
Max Kellermann
bcc4e97c60
pcm/PcmFormat: use using instead of typedef
2020-02-01 13:38:19 +01:00
Max Kellermann
4968dd4faa
pcm/Dither: use using instead of typedef
2020-02-01 13:38:00 +01:00
Max Kellermann
cd612c4eef
AudioFormat: move to pcm/
2020-01-18 20:24:59 +01:00
Max Kellermann
914ad261ed
pcm/meson.build: split libpcm into two
...
One basic library without dependencies, and one with heavy
dependencies like libsamplerate.
2020-01-18 20:08:23 +01:00
Max Kellermann
2817bf9e95
copyright year 2020
2020-01-18 19:23:49 +01:00
Max Kellermann
a37d22de8a
pcm/Convert: choose pcm2dsd float/integer according to dest_format
2020-01-17 19:15:44 +01:00
Max Kellermann
452e1c1a6f
pcm/Convert: throw if !ENABLE_DSD
2020-01-17 19:15:28 +01:00
Max Kellermann
8db86e2820
Revert "pcm/Convert: add option to enable the integer-only dsd2pcm implementation"
...
This reverts commit c84bae739a . A
configuration option is not necessary, because the PcmConvert
constructor knows already whether integer or floating point is needed.
2020-01-17 19:11:10 +01:00
Max Kellermann
c84bae739a
pcm/Convert: add option to enable the integer-only dsd2pcm implementation
2020-01-17 16:37:09 +01:00
Max Kellermann
925b5954c3
pcm/Dsd2Pcm: add integer-only implementation
2020-01-17 16:17:32 +01:00
Max Kellermann
235b6980b8
pcm/Dsd2Pcm: add optimized stereo version
...
This code path is 2% faster.
2020-01-14 23:38:46 +01:00
Max Kellermann
ee46150329
pcm/Dsd2Pcm: add class MultiDsd2Pcm
2020-01-14 23:29:03 +01:00
Max Kellermann
79c585bf03
pcm/PcmDsd: use size_t
2020-01-14 23:28:34 +01:00
Max Kellermann
becd81f771
pcm/PcmDsd: manage Dsd2Pcm instances, not pointers
2020-01-14 23:26:34 +01:00
Max Kellermann
2073a2c1b0
pcm/Dsd2Pcm: remove unused "lsbf" flag
2020-01-14 23:20:45 +01:00
Max Kellermann
3f3104348e
pcm/Dsd2Pcm: add "restrict" attribute
2020-01-14 23:20:36 +01:00
Max Kellermann
4038d8527f
pcm/Dsd2Pcm: eliminate "& 0xff"
2020-01-14 22:56:28 +01:00
Max Kellermann
3565f0c8ce
pcm/Dsd2Pcm: move code to TranslateSample()
...
10% speedup. Strange, huh?
2020-01-14 22:51:20 +01:00
Max Kellermann
9647b2cb01
pcm/Dsd2Pcm: move code to ApplySample()
...
For some reason, this speeds up the library by 2%.
2020-01-14 22:43:11 +01:00
Max Kellermann
2d5bf53240
pcm/Dsd2Pcm: use sizet_t instead of int
2020-01-14 22:40:54 +01:00
Max Kellermann
a65f7b1006
pcm/Dsd2Pcm: use std::fill_n()
2020-01-14 22:39:54 +01:00
Max Kellermann
bc5b647053
pcm/Dsd2Pcm: use sizet_t instead of unsigned
2020-01-14 22:37:30 +01:00
Max Kellermann
1708ae3e3c
pcm/Dsd2Pcm: use uint8_t instead of unsigned char
2020-01-14 22:36:50 +01:00
Max Kellermann
6bfbc5d320
pcm/Dsd2Pcm: move code to CalcOutputSample()
2020-01-14 22:25:54 +01:00
Max Kellermann
e7483bc5bc
pcm/Dsd2Pcm: make variables more local
2020-01-14 22:21:32 +01:00
Max Kellermann
b911ec1a29
pcm/Dsd2Pcm: convert to class
2020-01-14 22:16:02 +01:00
Max Kellermann
ca2633bf26
pcm/Dsd2Pcm: remove unused function dsd2pcm_clone()
2020-01-14 22:15:05 +01:00
Max Kellermann
566ac171f5
pcm/Dsd2Pcm: generate ctables at compile time
2020-01-14 22:11:12 +01:00
Max Kellermann
4d95402e4e
pcm/Dsd2Pcm: move formula to CalculateCtableValue()
2020-01-14 22:11:12 +01:00
Max Kellermann
4d102c4770
pcm/Dsd2Pcm: convert parameter to bool
2020-01-14 22:11:12 +01:00
Max Kellermann
91bc41ea20
pcm/Dsd2Pcm: add noexcept and remove extern
2020-01-14 22:11:12 +01:00
Max Kellermann
e565dcf18c
pcm/dsd2pcm: convert to C++
2020-01-14 22:05:58 +01:00
Max Kellermann
5a87fc7c26
pcm/dsd2pcm: remove unused sources
2020-01-14 22:05:27 +01:00
Max Kellermann
44d7a1d8d2
pcm/Traits: drop "_type" from type names
2020-01-03 16:01:44 +01:00
Max Kellermann
683d5848f4
Merge tag 'v0.21.17'
...
release v0.21.17
2019-12-16 23:44:20 +01:00
Max Kellermann
dc3c0c8866
pcm/Convert, ...: add missing include for std::runtime_error
2019-12-16 22:52:50 +01:00
Max Kellermann
f357f743a3
pcm/Volume: use transform_n()
2019-08-10 12:05:37 +02:00
Max Kellermann
91e565d92e
pcm/PcmFormat: use transform_n()
2019-08-10 12:05:35 +02:00