Enable zero-copy support for gstreamer video decoders

Multimedia / VLC - Vikram Fugro [gmail.com] - 5 February 2016 09:17 UTC

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


  • Share