pipewire/spa/plugins/audioconvert
Arun Raghavan 70a7bae5d7 resampler: Precompute some common filter coefficients
While this is quite fast on x86 (order of a few microseconds), the
computation can take a few milliseconds on ARM (measured at 1.9ms (32000
-> 48000) and 3.3ms (32000 -> 44100) on a Cortex A53).

Let's precompute some common rates so that we can avoid this overhead on
each stream (or any other audioconvert) instantiation. The approach
taken here is to write a little program to create the resampler
instance, and run that on the host at compile-time to generate some
common rate conversions.
2024-08-08 00:30:24 -04:00
..
audioadapter.c audioconvert: set IO_Buffers only when buffers are negotiated 2024-07-29 18:15:06 +02:00
audioconvert.c audioconvert: only accept UMP on the control port 2024-07-30 09:38:40 +02:00
benchmark-fmt-ops.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
benchmark-resample.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
biquad.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
biquad.h Fix typos 2021-04-30 16:27:34 +00:00
channelmix-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
channelmix-ops-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
channelmix-ops.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
channelmix-ops.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
crossover.c filter-chain: simplify biquads 2023-06-30 17:49:29 +02:00
crossover.h channelmix: improve corssover processing 2022-03-01 09:08:17 +01:00
delay.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
fmt-ops-avx2.c audioconvert: avoid even more precision loss in F32 to S32 conversion 2024-06-27 19:41:20 +03:00
fmt-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
fmt-ops-neon.c audioconvert: fix typo in neon function 2023-08-24 13:45:11 +02:00
fmt-ops-sse2.c audioconvert: avoid even more precision loss in F32 to S32 conversion 2024-06-27 19:41:20 +03:00
fmt-ops-sse41.c audioconvert: avoid unaligned read 2023-10-15 22:20:54 +02:00
fmt-ops-ssse3.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
fmt-ops.c doc: clarify the dither.noise 2024-06-13 11:38:26 +02:00
fmt-ops.h Add spa/utils/endian.h 2024-07-01 15:28:58 +00:00
hilbert.h fix compilation some more 2024-06-18 15:41:12 +02:00
law.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build resampler: Precompute some common filter coefficients 2024-08-08 00:30:24 -04:00
peaks-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
peaks-ops.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
resample-native-avx.c audioconvert: remove unnecessary casts 2024-01-16 15:33:13 +01:00
resample-native-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-impl.h Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
resample-native-neon.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native-ssse3.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
resample-native.c resampler: Precompute some common filter coefficients 2024-08-08 00:30:24 -04:00
resample-peaks.c audioconvert: implement resample_out_len() 2024-01-16 13:28:37 +01:00
resample.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
spa-resample-dump-coeffs.c resampler: Precompute some common filter coefficients 2024-08-08 00:30:24 -04:00
spa-resample.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-audioadapter.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-audioconvert.c audioconvert: fix test 2023-03-22 15:41:06 +01:00
test-channelmix.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-fmt-ops.c tests: don't iterate all possible values 2024-07-01 17:20:25 +02:00
test-peaks.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-resample.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-source.c spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
volume-ops-c.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops-sse.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
volume-ops.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
wavfile.c wav: fix build 2023-03-09 17:09:47 +01:00
wavfile.h wav: fix build 2023-03-09 17:09:47 +01:00