va: Add GstVaSurfaceCopy class.
authorVíctor Manuel Jáquez Leal <vjaquez@igalia.com>
Tue, 5 Oct 2021 11:36:56 +0000 (13:36 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sun, 10 Oct 2021 17:03:29 +0000 (17:03 +0000)
commitffa2522fc02f63ac215deaee01e8041844256e81
tree67ce7338c17a0dc089e0a5475ad6bb6897522336
parentf1e2eb4f1eefd9c102e51881c4dd67a0c3f1f93a
va: Add GstVaSurfaceCopy class.

This new class is a helper for fast/tricky copy of surfaces. First it
tries to copy using the function vaCopy in libva 1.12. If it fails, or
it's not available, a GstVaFilter is tried to be instantiated with the
allocator's parameters, and if succeed, it's used for copying the
source surface.

This is required for dmabuf surfaces with drm modifier.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1023>
subprojects/gst-plugins-bad/sys/va/gstvaallocator.c
subprojects/gst-plugins-bad/sys/va/gstvasurfacecopy.c [new file with mode: 0644]
subprojects/gst-plugins-bad/sys/va/gstvasurfacecopy.h [new file with mode: 0644]
subprojects/gst-plugins-bad/sys/va/meson.build
subprojects/gst-plugins-bad/sys/va/vasurfaceimage.c
subprojects/gst-plugins-bad/sys/va/vasurfaceimage.h