GStreamer multimedia framework
Find a file
George Kiagiadakis 783e58fc48 omxbufferpool: refactor to allow memory sharing
One big restriction of the OMX buffer pool has always been
that the GstMemory objects were flagged with NO_SHARE.
This was because the buffer pool needed to be sure that when
a buffer returned to the pool, it would be safe to release the
OMX buffer back to OpenMAX.

With this change, this is no longer a restriction. What this
commit introduces is a new allocator that allows us to track
the GstMemory objects independently. Now, when a buffer returns
to the pool, it is not necessary for the memory to be released
as well. We simply track the memory's ref count in the allocator
and we return the OMX buffer back when the memory's ref count
drops to 0.

The reason for doing this is to allow implementing zero-copy
transfers in situations where we may need to copy or map a
certain region of the buffer. For instance, omxh264enc ! h264parse
should be possible to be zero-copy by using an OMX buffer pool
between them.
2019-04-25 09:09:40 +05:30
common@59cb678164 Automatic update of common submodule 2018-12-05 17:24:48 -03:00
config zynqultrascaleplus: enable 'ensure-buffer-count-actual' hack 2018-06-08 09:44:49 +02:00
examples testegl: properly detect and use rpi specific libs 2019-04-12 14:29:19 +05:30
hooks build: add meson build definition 2017-01-18 15:23:42 +11:00
m4 Add m4 directory so aclocal doesn't complain in autogen.sh 2015-04-08 16:03:34 +01:00
omx omxbufferpool: refactor to allow memory sharing 2019-04-25 09:09:40 +05:30
tests add test support 2017-10-19 16:44:06 +02:00
tools meson: simplify OMX extensions detection 2018-01-30 11:54:37 +00:00
.gitignore add test support 2017-10-19 16:44:06 +02:00
.gitlab-ci.yml Add Gitlab CI configuration 2019-04-06 16:23:51 +00:00
.gitmodules Update git locations to gitlab 2018-11-05 05:43:43 +00:00
AUTHORS Release 1.0.0 2013-03-22 17:16:33 +01:00
autogen.sh Automatic update of common submodule 2017-04-10 23:51:00 +01:00
ChangeLog Release 1.16.0 2019-04-19 00:38:44 +01:00
configure.ac Back to development 2019-04-19 11:00:07 +01:00
COPYING Initial commit with build system 2011-06-21 10:52:13 +02:00
gst-omx.doap Release 1.16.0 2019-04-19 00:38:44 +01:00
Makefile.am Release 1.13.1 2018-02-15 17:50:14 +00:00
meson.build Back to development 2019-04-19 11:00:07 +01:00
meson_options.txt meson: add options to disable examples, tests and tools and bump meson requirement 2019-02-14 23:57:09 +00:00
NEWS Release 1.16.0 2019-04-19 00:38:44 +01:00
README omx: Add minimal README file 2011-10-25 14:24:59 +02:00
RELEASE Back to development 2019-04-19 11:00:07 +01:00

GStreamer OpenMAX IL wrapper plugin
--------------------------

 This plugin wraps available OpenMAX IL components and makes
 them available as standard GStreamer elements.

License:
--------

  This package and its contents are licensend under the GNU Lesser General
Public License (LGPL).

Dependencies:
-------------

 * GStreamer core
 * gst-plugins-base