[Bug 773073] audioconvert: endian conversion optimization

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Nov 28 15:26:05 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=773073

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #59 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
commit 010b9547d3832a5c3d71f73726f149b3b023882d
Author: Petr Kulhavy <brain at jikos.cz>
Date:   Wed Oct 19 12:21:37 2016 +0200

    audio-converter: optimize endian conversion

    Optimize LE<->BE conversion by adding a dedicated fast path instead of
    using the generic converter. Implement transform_ip function in order to do
the
    endian swap in place.

    This saves buffer allocation for the intermediate format, can be done in
place
    and also performs the conversion in one step instead of
unpack-convert-pack.

    For all bit widths the naive algorithm is implemented, which provides the
best
    performance when compiled with -O3. ORC was considered but eventually
removed
    as it requires a dedicated function for in-place conversion (due to the
    "restrict" parameters).

    A more complex algorithm for the 24-bit conversion with unrolled loop and
    32-bit processing is implemented in the #if 0 section. It performs better
if
    compiled with -O2. With -O3 however the naive algorithm performs better.

    https://bugzilla.gnome.org/show_bug.cgi?id=773073

commit 640c54d8f8cf1a035044fa4f034b866883925a4d
Author: Petr Kulhavy <brain at jikos.cz>
Date:   Fri Oct 21 14:30:31 2016 +0200

    audio-convert: simplify the chain free process

    It is not needed to store a pointer to every single chain element to free
it.
    Instead walk the channel list backwards and free the chain elements one by
one.

    Rename GstAudioConverter->chain_pack to chain_end.

    https://bugzilla.gnome.org/show_bug.cgi?id=773073

-- 
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