[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