[Bug 731442] bytereader: optimize _scan_for_start_code() using pointer access

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Jun 10 06:45:12 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=731442
  GStreamer | gstreamer (core) | git

Nicolas Dufresne <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #278185|accepted-commit_now         |committed
             status|                            |

--- Comment #3 from Nicolas Dufresne <nicolas.dufresne at collabora.co.uk> 2014-06-10 13:45:10 UTC ---
(From update of attachment 278185)
commit d3b2f6e4b85a45213ed2878f411f7c66ebb15e33
Author: Sungho Bae <baver.bae at lge.com>
Date:   Tue Jun 10 09:35:38 2014 -0400

    bytereader: Use pointer instead of index access

    Currently the scan uses Boyer-moore method and its performance is good.
    but, it can be optimized from an implementation of view.

    The original scan code is implemented by byte array and index-based access.
    In _scan_for_start_code(), the index is increasing from start to end and
the
    base address of the byte array is referred to as return value.

    In the case, index-based access can be replaced by pointer access, which
    improve the performance by removing index-related operations.

    Its performace is enhanced by approximately 8% on arm-based embedded
devices.
    Although it seems trivial, it can affect the overall performance because
the
    _scan_for_start_code() function is very often called when H.264/H.265 video
is
    played.

    In addition, the technique can apply for all architectures and it is good
in
    view of readability and maintainability.

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

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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