Nicolas Dufresne
d99e621533
bytereader: Use concistant derefence method
...
This is minor style fix to not mix *var and var[N].
2014-06-10 10:23:13 -04:00
Sungho Bae
d3b2f6e4b8
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
2014-06-10 09:35:38 -04:00
Sebastian Rasmussen
53ae1b2c9c
docs: Fix typos in function/object descriptions
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720029
2013-12-07 17:11:12 +00:00
Nicolas Dufresne
de75bca9b3
bytereader: Accelerate MPEG/H264 start code scanning
...
Accelerate MPEG/H264 start code scanning using Boyer-Moor bad character
heuristic.
https://bugzilla.gnome.org/show_bug.cgi?id=702357
2013-08-10 18:54:34 -04:00
Tim-Philipp Müller
666c8c11c6
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:44:48 +00:00
Edward Hervey
d3ffa82639
Remove 0.10-related documentation and "Since" markers
2012-07-10 12:03:27 +02:00
Wim Taymans
cf18fa9ce5
Merge branch 'master' into 0.11
2011-07-27 12:50:39 +02:00
Evan Nemerson
cf6b41aa78
base: add missing (out) annotation for byte reader/writer functions
...
https://bugzilla.gnome.org/show_bug.cgi?id=655381
2011-07-27 10:12:33 +01:00
Wim Taymans
d82c8bd2af
memory: port code to new buffer data API
2011-03-28 20:08:45 +02:00
Tim-Philipp Müller
686b16756d
docs: libgstbase: more gobject introspection annotations
...
Many of these are superfluous and were added for clarity.
2010-12-07 18:37:04 +00:00
Tim-Philipp Müller
07755fd5ee
bytereader: const-ify byte reader argument in peek/scan API
...
Because we can.
2010-10-22 12:04:09 +01:00
Sebastian Dröge
10c18151d2
bytewriter: Add guards to the inlined get_pos/get_remaining/get_size/etc functions
2010-10-03 15:32:41 +02:00
Thiago Santos
1b99e2e2dc
bytereader: Fix docs
...
Fix typo in docs for the unsigned peek functions
2010-08-04 13:47:23 -03:00
Tim-Philipp Müller
07d953b791
docs: fix Since: tags in docs for newly-added API
2009-10-07 23:34:44 +01:00
Sebastian Dröge
f4c12be109
bitreader/bytereader: API: Add gst_(bit|byte)_reader_get_size()
...
... and GST_(BYTE|BIT)_READER() casts.
2009-10-07 17:59:51 +02:00
Sebastian Dröge
c7438c738b
bytereader,bitreader: Remove FIXME 0.11 to remove non-inlined functions
...
The normal functions are always useful to have for bindings, especially
runtime-created bindings like Seed or new GObject-Introspection based
Python bindings.
2009-10-07 17:59:51 +02:00
Tim-Philipp Müller
d600ce0a29
bytereader: add inline version of gst_byte_reader_skip
2009-10-07 00:52:23 +01:00
Tim-Philipp Müller
96a565bdca
bitreader, bytereader: add some FIXME 0.11 comments and fix indenting
2009-09-06 19:44:20 +01:00
Tim-Philipp Müller
4c103b00b5
bytereader: add unchecked and inline versions of the float getters/peekers
...
API: gst_byte_reader_get_float*_unchecked()
2009-09-06 18:51:18 +01:00
Tim-Philipp Müller
31ab124487
bytereader: add inline versions of the most common getters and setters
2009-09-06 18:51:18 +01:00
Tim-Philipp Müller
080b2e4fd5
bytereader: add inlined _unchecked() variants for some functions
...
API: gst_byte_reader_skip_unchecked()
API: gst_byte_reader_peek_*_unchecked()
API: gst_byte_reader_get_*_unchecked()
API: gst_byte_reader_{peek,get,dup}_data_unchecked()
2009-09-06 18:51:13 +01:00
Tim-Philipp Müller
b9657d7477
docs: fix docs for gst_byte_reader_{get|peek}_float*()
2009-09-04 19:50:39 +01:00
Mark Nauwelaerts
eeb6d810bc
bytereader: avoid wrap-around in buffer size checks. Fixes #590622 .
2009-08-03 20:55:21 +02:00
Tim-Philipp Müller
79c8e24885
docs: fix API docs for gst_{adapter|byte_reader}_masked_scan_uint32
...
Clarify byte reader docs a bit: offset is relative to the current
position of the reader, not to the start of the data. Also, the
examples in both the adapter docs and the byte reader docs have
the mask and pattern arguments swapped (see #587561 ). Spotted
by Carl-Anton Ingmarsson.
2009-07-16 14:17:03 +01:00
Tim-Philipp Müller
6b64d41937
bytereader: add a bunch of utility functions for strings and a data dup function
...
API: gst_byte_reader_dup_data
API: gst_byte_reader_dup_string
API: gst_byte_reader_dup_string_utf8
API: gst_byte_reader_dup_string_utf16
API: gst_byte_reader_dup_string_utf32
API: gst_byte_reader_skip_string
API: gst_byte_reader_skip_string_utf8
API: gst_byte_reader_skip_string_utf16
API: gst_byte_reader_skip_string_utf32
API: gst_byte_reader_peek_string
API: gst_byte_reader_peek_string_utf8
API: gst_byte_reader_get_string
API: gst_byte_reader_get_string_utf8
And some basic unit tests. Fixes #586568 .
2009-06-23 02:17:48 +01:00
Tim-Philipp Müller
674447fafe
bytereader: add gst_byte_reader_masked_scan_uint32()
...
Add a pattern scan function similar to the one recently added to
GstAdapter, and a unit test (based on the adapter one).
Fixes #585592 .
API: add gst_byte_reader_masked_scan_uint32()
2009-06-13 10:53:49 +01:00
Sebastian Dröge
d3cb47b923
libs/gst/base/gstbytereader.c: Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own copies of them.
...
Original commit message from CVS:
* libs/gst/base/gstbytereader.c:
Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
copies of them.
2008-10-23 07:11:54 +00:00
Sebastian Dröge
61ee0f414a
API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data to get a pointer to the data at the current position ...
...
Original commit message from CVS:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
(gst_byte_reader_peek_data):
* libs/gst/base/gstbytereader.h:
* win32/common/libgstbase.def:
API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
to get a pointer to the data at the current position and have
a guaranteed size.
2008-10-22 14:47:04 +00:00
Jan Schmidt
446e8cb5e6
libs/gst/base/: Fix the names of 2 functions in the docs strings.
...
Original commit message from CVS:
* libs/gst/base/gstbitreader.c:
* libs/gst/base/gstbytereader.c:
Fix the names of 2 functions in the docs strings.
2008-10-22 13:47:20 +00:00
Sebastian Dröge
2ba1f3a6a2
libs/gst/base/gstbytereader.c: Use new GST_READ_UINT24_(LE|BE) macros.
...
Original commit message from CVS:
* libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
(gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
(gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
(gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
(gst_byte_reader_peek_int24_be):
Use new GST_READ_UINT24_(LE|BE) macros.
2008-10-07 12:26:40 +00:00
Sebastian Dröge
b377c58e43
Add bit reader and byte reader classes, including documentation and an extensive unit test suite. Fixes bug #553554 .
...
Original commit message from CVS:
* docs/libs/gstreamer-libs-docs.sgml:
* docs/libs/gstreamer-libs-sections.txt:
* libs/gst/base/Makefile.am:
* libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
(gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
(gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
(gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
(gst_bit_reader_get_remaining), (gst_bit_reader_skip),
(gst_bit_reader_skip_to_byte):
* libs/gst/base/gstbitreader.h:
* libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
(GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
(gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
(gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
(gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
(gst_byte_reader_get_remaining), (gst_byte_reader_skip),
(gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
(gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
(gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
(gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
(gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
(gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
* libs/gst/base/gstbytereader.h:
* tests/check/Makefile.am:
* tests/check/libs/bitreader.c: (GST_START_TEST),
(gst_bit_reader_suite):
* tests/check/libs/bytereader.c: (GST_START_TEST),
(gst_byte_reader_suite):
Add bit reader and byte reader classes, including documentation
and an extensive unit test suite. Fixes bug #553554 .
2008-10-06 12:41:53 +00:00