[Bug 773073] audioconvert: endian conversion optimization
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Oct 20 13:39:04 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=773073
--- Comment #5 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
(In reply to Petr Kulhavy from comment #4)
> Created attachment 338099 [details] [review]
> Patch for endian conversion fast-path - version 1
>
> Here is the first attempt, any feedback is appreciated.
>
> There are still two issues I'm trying to resolve:
> 1) 24-bit does not compile in very efficient code. With -O3 it is 25% slower
> than 32-bit and 45% slower than 16-bit. With -O2 it is 60% slower than both
> 16-bit and 32-bit. So I'm trying to find an algorithm that gcc can optimize
> better.
You might be able to get something more optimal if you unroll the loop. 4 * 24
bits are 3 * 32 bits, so the pattern of operations repeats every 4 samples if
you handle them as if they were 32 bit integers. Worth experimenting with that.
> 2) The base transform class still allocates buffers for audioconvert, which
> is no longer needed. How can I tell it the conversion can be done in place
> and no output buffer is needed?
You need to enable in place transformation for that:
gst_base_transform_set_in_place().
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list