Implements the interface to provide the VLC pictures from vout mapped to GstBuffers, along with per video plane stride/offsets info, to the upstream gstreamer
video decoder. If the stride/offsets info of the vlc pictures (created by vout) matches the video decoder's expectations, the decoder will directly decode into the vout allocated pictures, enabling zero-copy. Else it will continue to use it's own bufferpool
aa1ec5c Enable zero-copy support for gstreamer video decoders
modules/codec/Makefile.am | 5 +-
modules/codec/gstreamer/gstdecode.c | 492 ++++++++++----------
.../codec/gstreamer/gstvlcpictureplaneallocator.c | 320 +++++++++++++
.../codec/gstreamer/gstvlcpictureplaneallocator.h | 91 ++++
modules/codec/gstreamer/gstvlcvideopool.c | 239 ++++++++++
modules/codec/gstreamer/gstvlcvideopool.h | 68 +++
modules/codec/gstreamer/gstvlcvideosink.c | 326 +++++++++++++
modules/codec/gstreamer/gstvlcvideosink.h | 84 ++++
8 files changed, 1375 insertions(+), 250 deletions(-)
Upstream: git.videolan.org