From: Peter Meerwald <[email protected]>
patches 1 to 6 are cleanup; the remap struct (used by the resampler)
now stores copies instead of references of the input/output sample specs
in the resampler struct; initialization of the remap struct is done in
one place when the resampler has determined the work sample format; this
makes it possible to split the implementation of the remapping functions
into s16 and float32 code
patch 7 adds a pointer the remap struct which can be used to save state
(such as pre-computed strategy data or even generated code) of the
remapping function
patches 8 and 9 are cleanup and add helper functions
patch 10 adds special-case remapping code which can just re-arrange channels
(i.e. each output channels is either zero or copies exactly one input channel)
patch 11 adds special-case remapping code for mono-to-stereo, stereo-to-mono,
mono-to-4-channel, 4-channel-to-mono
benchmark results are provided for ARM Cortex-A8 and x86-64
Peter Meerwald (11):
remap: Don't use PA_VOLUME_NORM
remap: Rename pa_init_remap() to pa_init_remap_func()
remap: Refactor channel remap table computation calc_map_table()
remap: Make resampler's remap structure more self-contained
remap: Split remapping functions into s16 and float implementation
remap: Use float constant instead of double
remap: Add (optional) state to remap struct
remap: Add helper function to setup channel arrangement information
remap: Cleanup remap function selection, add pa_set_remap_func()
helper
remap: Add special remapping case which just re-arranges channels
remap: Add stereo to mono and 4-channel special case remapping
src/pulsecore/remap.c | 425 ++++++++++++++++++++++++++++++++++-----------
src/pulsecore/remap.h | 20 ++-
src/pulsecore/remap_mmx.c | 52 +++---
src/pulsecore/remap_sse.c | 52 +++---
src/pulsecore/resampler.c | 38 ++--
src/tests/cpu-test.c | 22 +--
6 files changed, 415 insertions(+), 194 deletions(-)
--
1.7.9.5
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss