vpxdec: Use GstMemory to avoid copies
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 1 Dec 2015 00:20:13 +0000 (19:20 -0500)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Fri, 4 Dec 2015 22:29:15 +0000 (17:29 -0500)
commit189c291805ecc8faebeb09e6fe4a6dd2282f0439
treefd1dd6fa85606cd64fdc405440709d96e5c33e1a
parent6888871d2acf3d4b6f219685602464b56f87cea6
vpxdec: Use GstMemory to avoid copies

With the VPX decoders it's not simple to use downstream buffer pool,
because we don't know the image size and alignment when buffers get
allocated. We can though use GstAllocator (for downstream, or the system
allocator) to avoid a copy before pushing if downstream supports
GstVideoMeta. This would still cause a copy for sink that requires
specialized memory and does not have a GstAllocator for that, though
it will greatly improve performance for sink like glimagesink and
cluttersink. To avoid allocating for every buffer, we also use a
internal buffer pool.

https://bugzilla.gnome.org/show_bug.cgi?id=745372
configure.ac
ext/vpx/gstvp8dec.c
ext/vpx/gstvp8dec.h
ext/vpx/gstvp9dec.c
ext/vpx/gstvp9dec.h