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

Anders Gnistrup agn at datarespons.dk
Mon Jun 20 00:42:08 PDT 2011


________________________________________
From: pulseaudio-discuss-bounces+agn=datarespons.dk at lists.freedesktop.org [pulseaudio-discuss-bounces+agn=datarespons.dk at lists.freedesktop.org] On Behalf Of Arun Raghavan [arun.raghavan at collabora.co.uk]
Sent: Monday, June 20, 2011 9:29 AM
To: pulseaudio-discuss at lists.freedesktop.org
Subject: Re: [pulseaudio-discuss] ARMv7 (MMX/SSE neon)

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


Thanks for the answer.
Not what I have hoped for, but it does shows the path.

Anders




More information about the pulseaudio-discuss mailing list