va: Move allocators and pool objects into gstva library.
authorHe Junyan <junyan.he@intel.com>
Wed, 23 Feb 2022 07:40:19 +0000 (15:40 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 29 Mar 2022 19:48:30 +0000 (19:48 +0000)
commit990fbb3b526c8b4ce7bf48722a7124fd07b428e7
treef3198622207e4b16b7788d9049f758ac4acc0660
parent53783eab6cbe85305eb56db9aa76c82bf0b97de5
va: Move allocators and pool objects into gstva library.

In order to other plugins use gstva objects, such as allocators and buffer
pools, this merge request move them from the va plugin to the gstva library.

This objects are not exposed in <gst/va/gstva.h> since they are not expected
to be used by users, only by plugin implementators.

Because of the surface copy design, which is used to implement allocator's
mem_copy() virtual function, depends on the vafilter, which is kept inside
the plugin, memory copy through VAPosproc is disabled and removed temporarly.

Also added some missing parameter validation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2048>
19 files changed:
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvaallocator.c [moved from subprojects/gst-plugins-bad/sys/va/gstvaallocator.c with 97% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvaallocator.h [moved from subprojects/gst-plugins-bad/sys/va/gstvaallocator.h with 70% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvapool.c [moved from subprojects/gst-plugins-bad/sys/va/gstvapool.c with 98% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvapool.h [moved from subprojects/gst-plugins-bad/sys/va/gstvapool.h with 51% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvasurfacecopy.c [moved from subprojects/gst-plugins-bad/sys/va/gstvasurfacecopy.c with 75% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/gstvasurfacecopy.h [moved from subprojects/gst-plugins-bad/sys/va/gstvasurfacecopy.h with 100% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build
subprojects/gst-plugins-bad/gst-libs/gst/va/vasurfaceimage.c [moved from subprojects/gst-plugins-bad/sys/va/vasurfaceimage.c with 99% similarity]
subprojects/gst-plugins-bad/gst-libs/gst/va/vasurfaceimage.h [moved from subprojects/gst-plugins-bad/sys/va/vasurfaceimage.h with 100% similarity]
subprojects/gst-plugins-bad/sys/va/gstvaav1dec.c
subprojects/gst-plugins-bad/sys/va/gstvabasedec.c
subprojects/gst-plugins-bad/sys/va/gstvabasetransform.c
subprojects/gst-plugins-bad/sys/va/gstvadecoder.c
subprojects/gst-plugins-bad/sys/va/gstvadeinterlace.c
subprojects/gst-plugins-bad/sys/va/gstvaencoder.c
subprojects/gst-plugins-bad/sys/va/gstvafilter.c
subprojects/gst-plugins-bad/sys/va/gstvah264enc.c
subprojects/gst-plugins-bad/sys/va/gstvavpp.c
subprojects/gst-plugins-bad/sys/va/meson.build