[gst-devel] [PATCH] audioconvert: add NEON acceleration for some conversions

David Schleef ds at entropywave.com
Tue Aug 11 19:56:57 CEST 2009


On Mon, Aug 10, 2009 at 11:38:25AM -0500, Rob Clark wrote:
> > [0] http://cgit.freedesktop.org/~ds/gst-plugins-base/log/?h=orc
> 
> ahh, looks like so far just the integer unpack functions.  So not the  
> two functions I needed (unpack_float_le and quantize_signed_tpdf_none)

By the way, the reason these functions are slow is because of
gcc's rather unenlighted use of NEON/VFP instructions for
floating point code, often related to usage of floor() or
casting from float to int.  Gcc outputs code that moves data
from a NEON/VFP register to a GP register, which causes a 20+
cycle pipeline stall on Cortex-A8.  I imagine it would be quite
a bit of effort to teach gcc to not do this, even in the simple
case where that integer is just written out to memory.

> Any rough estimate on timeframe for orc-ified audioconvert?

There are still a few blocker features missing from Orc, such as
floating point support in the main library, some new multiplication
and special purpose opcodes, and an ABI bump.  The main goal is
to be a complete replacement for liboil.  And then we need to
figure out a migration strategy.

> Also.. I saw something on David's blog about a NEON backend for orc,  
> but not opensrc.  Anyone know if this is something that will  
> eventually be opensrc?

Yes.



dave...





More information about the gstreamer-devel mailing list