[pulseaudio-discuss] [PATCH 00/11] remap patches

Peter Meerwald pmeerw at pmeerw.net
Thu Apr 24 09:09:08 PDT 2014


From: Peter Meerwald <p.meerwald at bct-electronic.com>

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



More information about the pulseaudio-discuss mailing list