pulseaudio/src
Peter Meerwald 3a3c4eb462 resampler: Improve s16<-->s32 conversion, use s16 work format if input or output is s16
Problem: s16 to s32 conversion is performed as s16->float->s32 (via work
format float) for resamplers TRIVIAL, COPY, PEAKS.
Precision and efficiency suffers: e.g. 0x9fff results in 0x9ffe4001 (instead
of 0x9fff0000) and there are two sample format conversions instead of one
conversion.

Solution: If input or output format is s16, then choose the work format
to be s16 as well.

If remapping is to be performed, we could stick to work format float32ne for
precision reseans. This is debateable.

Signed-off-by: Peter Meerwald <p.meerwald@bct-electronic.com>
2013-02-01 10:10:30 +02:00
..
daemon cpulimit: Explicitly ignore pa_read() return value. 2012-12-19 12:31:50 +02:00
modules reserve: Fix leaking NameLost signals after release+acquire 2013-01-31 14:04:45 +02:00
pulse pulse: Initialize pa_operation objects to all-zero. 2013-01-13 03:15:23 +02:00
pulsecore resampler: Improve s16<-->s32 conversion, use s16 work format if input or output is s16 2013-02-01 10:10:30 +02:00
tests tests: Fix sconv sample correctness in cpu-test 2013-02-01 10:06:03 +02:00
utils pactl: Add a command for setting the default sink/source. 2013-02-01 07:16:20 +02:00
.gitignore .gitignore: Add cpu-test. 2012-09-07 17:22:10 +03:00
depmod.py remove remaining $ 2008-06-18 22:38:32 +02:00
Makefile.am role-ducking: Apply a ducking effect based on streams roles 2012-12-19 12:31:48 +02:00
map-file pulse: Add pa_operation_set_state_callback() API 2013-01-12 17:55:07 +02:00