Commit Graph

17886 Commits

Author SHA1 Message Date
Max Kellermann
f323fc48d7 pcm/Normalizer: eliminate the local variable slot 2023-03-13 13:45:28 +01:00
Max Kellermann
2ea634c302 pcm/Normalizer: replace the gain array with a simple prev_gain variable 2023-03-13 13:44:45 +01:00
Max Kellermann
c0d38d941a pcm/Normalizer: split the normalization loop
Performance improvement because the ramp code is now moved out of the
hot code path, allowing the compiler to vectorize.
2023-03-13 13:38:19 +01:00
Max Kellermann
d7f2d90fd3 pcm/Normalizer: no in-place editing, separate src/dest parameters
This eliminates the memcpy() call from NormalizeFilter::FilterPCM().
2023-03-13 13:37:49 +01:00
Max Kellermann
8ea9b89321 pcm/Normalizer: use std::span 2023-03-13 13:16:44 +01:00
Max Kellermann
738254b2fc pcm/Normalizer: use SampleTraits 2023-03-13 12:42:37 +01:00
Max Kellermann
fcc9a98cad pcm/Normalizer: use PcmClamp() 2023-03-13 12:42:36 +01:00
Max Kellermann
dcf0a3e475 pcm/Normalizer: remove clipped (only written to, never read) 2023-03-13 12:42:34 +01:00
Max Kellermann
e990d6eecc pcm/Normalizer: make variables more local 2023-03-13 12:42:31 +01:00
Max Kellermann
941636b87b pcm/Normalizer: eliminate local variable ap 2023-03-13 12:31:16 +01:00
Max Kellermann
1298a82f4f pcm/Normalizer: use std::size_t 2023-03-13 12:31:16 +01:00
Max Kellermann
e6fedcbd10 pcm/Normalizer: expose the class, convert functions to methods 2023-03-13 12:25:09 +01:00
Max Kellermann
48c8c7daf5 pcm/Normalizer: move code to ctor/dtor 2023-03-13 12:25:09 +01:00
Max Kellermann
6e5d9d4490 pcm/Normalizer: hard-code the preferences 2023-03-13 12:25:09 +01:00
Max Kellermann
d2f2dde2e1 pcm/Normalizer: eliminate struct CompressorConfig 2023-03-13 12:25:09 +01:00
Max Kellermann
d0dd035075 pcm/Normalizer: use new/delete instead of malloc()/free() 2023-03-13 12:25:09 +01:00
Max Kellermann
7702643e1b pcm/Normalizer: remove Compressor_setHistory(), no resize possible
This feature was never used.
2023-03-13 12:25:09 +01:00
Max Kellermann
984c9c317a pcm/Normalizer: add noexcept 2023-03-13 12:25:09 +01:00
Max Kellermann
2d7068a09d pcm/AudioCompress: convert to C++ 2023-03-13 12:25:01 +01:00
Max Kellermann
d712c3b408 pcm/AudioCompress: fold config.h into compress.c 2023-03-13 11:55:44 +01:00
Max Kellermann
0a623122dc pcm/AudioCompress: add SPDX header 2023-03-13 11:40:46 +01:00
Max Kellermann
68c36c0d3f decoder/dsf: use PackedLE64 instead of DsdUint64 2023-03-12 20:27:05 +01:00
Max Kellermann
f3ebaf8bdd util/ByteOrder: add class PackedLE64 2023-03-12 20:25:49 +01:00
Max Kellermann
c472046cbb decoder/dsdiff: use PackedBE64 instead of DffDsdUint64 2023-03-12 20:22:50 +01:00
Max Kellermann
02296adbba io/FileDescriptor: include cleanup 2023-03-12 20:18:13 +01:00
Max Kellermann
a375f0f160 io/BufferedReader: add method ReadFullT() 2023-03-12 20:15:41 +01:00
Max Kellermann
fb961e89da util/StringCompare: add constexpr 2023-03-12 20:14:23 +01:00
Max Kellermann
3e2bff296f event/SocketEvent: add method GetReadyFlags() 2023-03-12 20:12:15 +01:00
Max Kellermann
cf01db4d08 event/Chrono, ...: relicense to BSD-2 2023-03-12 20:02:54 +01:00
Max Kellermann
08dbb4a69a event/BackendEvents: relicense to BSD-2
These headers contain only trivial integer constants and these are
probably not even copyrightable.
2023-03-12 19:53:03 +01:00
Max Kellermann
b5eff3cecd decoder/plugin: kludge for Android NDK r25c 2023-03-12 19:53:03 +01:00
Max Kellermann
89d66b6100 decoder/ffmpeg: check for DST codec
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1756
2023-03-12 19:39:49 +01:00
Max Kellermann
c53ee41855 decoder/ffmpeg: check for DSD codec
DSD uses a generic demuxer, therefore it does not appear in the
demuxer list.
2023-03-12 19:37:09 +01:00
Max Kellermann
3c798b4907 decoder/ffmpeg: query supported demuxers at runtime 2023-03-12 19:37:09 +01:00
Max Kellermann
78a9c17bc6 decoder/plugin: add "suffixes" function
For decoder plugins like FFmpeg where the supported codecs cannot be
determined at compile time.
2023-03-12 09:17:38 +01:00
Max Kellermann
8b77da545d *: use transparent comparison for std::{map,set} with std::string keys
This avoids many std::string temporaries for lookups.
2023-03-12 09:12:02 +01:00
Max Kellermann
27d3dcf14c CommandLine: use libfmt 2023-03-12 09:02:21 +01:00
Max Kellermann
5388759bd5 db/proxy: require libmpdclient 2.15 or later 2023-03-10 13:45:37 +01:00
Max Kellermann
e927655774 db/proxy: require MPD 0.21 or later 2023-03-10 13:43:49 +01:00
Max Kellermann
3be8375e4f subprojects/sqlite3.wrap: update to 3.41.0-1 2023-03-10 13:35:01 +01:00
Max Kellermann
27ba8c181f pcm/SoxrResampler: require libsoxr 0.1.2 or later 2023-03-10 12:49:57 +01:00
Max Kellermann
1410bcbce9 lib/alsa: require alsa-lib 1.1 or later 2023-03-10 12:49:40 +01:00
Max Kellermann
43b26ee612 {de,en}coder/flac: remove obsolete FLAC_API_VERSION_CURRENT checks
We check the libFLAC version via pkg-config at configure time, no need
to do it again.
2023-03-10 12:43:19 +01:00
Max Kellermann
2c47357991 python/build/libs.py: update WildMidi to 0.4.5 2023-03-09 18:33:21 +01:00
Max Kellermann
7e2538e07a decoder/sidplay: require libsidplayfp (drop support for the original sidplay)
The original sidplay project has been mostly unmaintained for nearly
12 years, and the most recent release was in 2016, while the
libsidplayfp project has been actively maintained all the time.
2023-03-09 18:27:05 +01:00
Max Kellermann
851fcf4823 decoder/gme: require GME 0.6 or later
This allows dropping a few compile-time version checks and we can use
pkg-config to detect the library.
2023-03-09 18:27:05 +01:00
Max Kellermann
63b9fb3d2b event/meson.build: add missing dependency on libio.a 2023-03-09 18:27:05 +01:00
Max Kellermann
a79454f6a6 io/FileDescriptor: fold CreateSignalFD() into the SignalFD constructor 2023-03-09 18:04:58 +01:00
Max Kellermann
b5fbfe9aa6 io/FileDescriptor: fold CreateEventFD() into the EventFD constructor 2023-03-09 17:59:56 +01:00
Max Kellermann
598894211f decoder/ffmpeg: require FFmpeg 4.0 or later 2023-03-08 20:32:35 +01:00