pipewire/spa/plugins/audioconvert
Wim Taymans 47de1e15a4 channelmix: handle more than 64 channels
When setting up the mix matrix, don't just iterate over the first 64
(CHANNEL_BITS) positions because then we will never be able to configure
more than 64 channels in the matrix.

Instead iterate until we have filled all src and dst entries in the
matrix. For the first 64 positions we might need to check the channel
mask to get the right positions in our source matrix.

Fixes the channel mixer for >64 channels where the positions above 64
where 0 in the matrix and muted.

Fixes #5118
2026-02-10 13:34:44 +01:00
..
audioadapter.c adapter: only recheck formats when convert EnumFormat changed 2025-10-30 17:41:24 +01:00
audioconvert.c audioconvert: refactor some code 2025-12-09 21:01:11 +01:00
benchmark-fmt-ops.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
benchmark-resample.c spa: use the right AVX2 flags 2026-01-13 12:03:09 +01:00
biquad.c audioconvert: align low-/highpass calculations 2024-12-20 11:03:43 +01:00
biquad.h audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
channelmix-ops-c.c math: improve denormal check 2025-01-13 16:10:34 +01:00
channelmix-ops-sse.c math: improve denormal check 2025-01-13 16:10:34 +01:00
channelmix-ops.c channelmix: handle more than 64 channels 2026-02-10 13:34:44 +01:00
channelmix-ops.h Don't use SPA_AUDIO_MAX_CHANNELS directly 2025-10-21 09:43:06 +02:00
crossover.c audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
crossover.h audioconvert: use the same biquad as filter-chain 2024-11-27 16:47:53 +01:00
dbesi0.c resample: make window configurable 2025-11-20 14:07:14 +01:00
fmt-ops-avx2.c audioconvert: optimise f32d to/from s16s conversions 2025-01-24 10:37:02 +01:00
fmt-ops-c.c audioconvert: add clear function 2025-07-02 10:27:26 +02:00
fmt-ops-neon.c audioconvert: fix typo in neon function 2023-08-24 13:45:11 +02:00
fmt-ops-rvv.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
fmt-ops-sse2.c Adds explanation to reduce chance of regressing the fix 2025-12-15 08:20:24 +00:00
fmt-ops-sse41.c audioconvert: avoid unaligned read 2023-10-15 22:20:54 +02:00
fmt-ops-ssse3.c Adds explanation to reduce chance of regressing the fix 2025-12-15 08:20:24 +00:00
fmt-ops.c fmt-ops: allocate shaper memory dynamically 2025-10-24 12:46:38 +02:00
fmt-ops.h fmt-ops: allocate shaper memory dynamically 2025-10-24 12:46:38 +02:00
hilbert.h *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
law.h treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
meson.build spa: use the right AVX2 flags 2026-01-13 12:03:09 +01: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 audioconvert: add log topic for resampler 2025-09-07 18:26:03 +00:00
plugin.c spa: export log topic enumerations 2024-01-04 10:02:55 +00:00
resample-native-avx2.c spa: use the right AVX2 flags 2026-01-13 12:03:09 +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 resample: add bool to force inter resampler 2026-01-16 11:03:43 +01: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 resample: add bool to force inter resampler 2026-01-16 11:03:43 +01:00
resample-peaks.c audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
resample.h resample: allow compilation with custom default quality 2025-12-01 09:52:54 +01:00
spa-resample-dump-coeffs.c resampler: Precompute some common filter coefficients 2024-08-08 00:30:24 -04:00
spa-resample.c spa-resample: enable clipping in sndfile 2025-12-09 13:55:37 +01:00
test-audioadapter.c treewide: use SPDX tags to specify copyright information 2023-02-16 10:54:48 +00:00
test-audioconvert.c Don't use SPA_AUDIO_MAX_CHANNELS directly 2025-10-21 09:43:06 +02:00
test-channelmix.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-fmt-ops.c fmt-ops: add RVV optimizations for s32_to_f32d 2024-09-29 11:17:42 +08:00
test-peaks.c Fix compilation with -Werror=float-conversion 2024-06-18 12:17:56 +02:00
test-resample-delay.c audioconvert: resampler: change resample_phase() unit to input samples 2025-01-19 17:11:13 +02:00
test-resample.c resample: use fixed point for resample phase and input rate 2025-07-30 07:59:52 +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