[pulseaudio-discuss] ARMv7 (MMX/SSE neon)

Arun Raghavan arun.raghavan at collabora.co.uk
Mon Jun 20 00:29:49 PDT 2011


On Mon, 2011-06-20 at 08:59 +0200, Anders Gnistrup wrote:
> Hi
> 
> I am searching for some information if the pulse audio dmix part make use of hardware optimization on a ARMv7. The cat /proc/cpuinfo says:
> Processor	: ARMv7 Processor rev 7 (v7l)
> BogoMIPS	: 597.64
> Features	: swp half thumb fastmult vfp edsp neon vfpv3 
> CPU implementer	: 0x41
> CPU architecture: 7
> CPU variant	: 0x1
> CPU part	: 0xc08
> CPU revision	: 7
> 
> What is of interest is the "neon" in Features. 
> This "neon" is similar to SSE/MMX and should handle most of the mixing and other stuff. 
> But, I have also found some patches/mails mentioning problems on ARM.
> So the question is:
> 
> Does pulse audio use optimized code for handling mixing on a ARM processor having the neon feature? My best gees is that it does.
> The version of pulseaudio, where this should work is most welcome.

There is optimised code for software volumes, sample format conversion,
and channel remapping. Only the first of these has ARM optimisations and
that does not use NEON, just plain ARM.

If you want to look at optimising mixing, take a look at the pa_mix()
function in src/pulsecore/sample-util.c

Cheers,
Arun



More information about the pulseaudio-discuss mailing list