[Bug 730783] New: basesrc: Improve the performance to find start code for H.264 and H.265

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon May 26 21:44:28 PDT 2014


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

           Summary: basesrc: Improve the performance to find start code
                    for H.264 and H.265
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Keywords: perf
          Severity: enhancement
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: baver.bae at lge.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=277253)
 View: https://bugzilla.gnome.org/attachment.cgi?id=277253
 Review: https://bugzilla.gnome.org/review?bug=730783&attachment=277253

001_gstbytereader_neon_improvement_patch

In the parse phase for video streams, bytescanning is performed to find the
start and end of each NAL unit. This implementation is to improve the
performance of bytescanning for start code using both ARM NEON instructions and
pointer access instead of indexed access.
The advantages are to reduce CPU usage and to enhance the scanning performance.

This patch assumes that '0x0000' is unlikely to appear and the zeros are part
of the start code, that is, '0x010000'.
Our proposed idea is based on the assumption.
If we quickly know whether or not there exists '0x0000' in the scanning area to
find the start code, we can skip the scanning process for the start code.
We thus implemented the preprocessing to know whether or not there exists
'0x0000'.
Because the probability of zeros to appear is low, its performance dramatically
improved.

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