[pulseaudio-discuss] [PATCH] core: Fix a litte-endian bug in ARM svolume code

Arun Raghavan arun.raghavan at collabora.co.uk
Thu Oct 18 20:58:42 PDT 2012


On Thu, 2012-10-18 at 14:59 +0100, Colin Guthrie wrote:
> 'Twas brillig, and Arun Raghavan at 18/10/12 14:28 did gyre and gimble:
> > On Thu, 2012-10-18 at 13:33 +0200, Peter Meerwald wrote:
> >>
> >>> The old code seems to be written for big-endian code.
> >>  
> >>> NB: This one's really strange since this effectively means that our soft
> >>> volumes on ARMv6 have been mostly broken (since almost everybody uses
> >>> litte-endian). Review would be appreciated!
> >>
> >> benchmark results on Cortex-A8 were horrible 
> >> (http://lists.freedesktop.org/archives/pulseaudio-discuss/2012-February/012864.html):
> >>
> >> runtime on beagle-xm, 800 MHz:
> >>
> >> checking NEON volume_float32ne
> >> NEON: 10223 usec.
> >> ref: 46480 usec.
> >> checking NEON volume_s16ne
> >> NEON: 8484 usec.
> >> ARM: 339272 usec.
> >> ref: 20203 usec.
> > 
> > So it /was/ working fine on armel at the time, then?
> 
> Would the benchmark come from automated tests or actually listening to
> things? Is it possible the benchmarks ran, but didn't necessarily
> produce any kind of valid results?

The standard test code in all the svolume files does one run to check
values against the reference implementation, and another to compare
performance. I gather Peter might've added some code to run a 3rd
implementation in the test which doesn't verify the computed values.

-- Arun



More information about the pulseaudio-discuss mailing list