mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
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 |
||
---|---|---|
.. | ||
.gitignore | ||
base.h | ||
gstadapter.c | ||
gstadapter.h | ||
gstbaseparse.c | ||
gstbaseparse.h | ||
gstbasesink.c | ||
gstbasesink.h | ||
gstbasesrc.c | ||
gstbasesrc.h | ||
gstbasetransform.c | ||
gstbasetransform.h | ||
gstbitreader-docs.h | ||
gstbitreader.c | ||
gstbitreader.h | ||
gstbytereader-docs.h | ||
gstbytereader.c | ||
gstbytereader.h | ||
gstbytewriter-docs.h | ||
gstbytewriter.c | ||
gstbytewriter.h | ||
gstcollectpads.c | ||
gstcollectpads.h | ||
gstdataqueue.c | ||
gstdataqueue.h | ||
gstflowcombiner.c | ||
gstflowcombiner.h | ||
gstindex.c | ||
gstindex.h | ||
gstmemindex.c | ||
gstpushsrc.c | ||
gstpushsrc.h | ||
gstqueuearray.c | ||
gstqueuearray.h | ||
gsttypefindhelper.c | ||
gsttypefindhelper.h | ||
Makefile.am | ||
README |
Base classes ------------ GstBaseSink FIXME: not much point making it operate in pull mode as a generic base class I guess...