gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build
He Junyan 990fbb3b52 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>
2022-03-29 19:48:30 +00:00

61 lines
1.7 KiB
Meson

va_sources = [
'gstvaallocator.c',
'gstvadisplay.c',
'gstvadisplay_drm.c',
'gstvadisplay_wrapped.c',
'gstvapool.c',
'gstvasurfacecopy.c',
'gstvautils.c',
'gstvavideoformat.c',
'vasurfaceimage.c',
]
va_headers = [
'gstva.h',
'gstvaallocator.h',
'gstvadisplay.h',
'gstvadisplay_drm.h',
'gstvadisplay_wrapped.h',
'gstvapool.h',
'gstvautils.h',
'gstvavideoformat.h',
'va-prelude.h',
'va_fwd.h',
]
gstva_dep = dependency('', required : false)
if host_system != 'linux'
subdir_done()
endif
libva_req = ['>= 1.6']
libva_dep = dependency('libva', version: libva_req, required: false,
fallback: ['libva', 'libva_dep'])
libva_drm_dep = dependency('libva-drm', version: libva_req, required: false,
fallback: ['libva', 'libva_drm_dep'])
if not (libva_dep.found() and libva_drm_dep.found())
subdir_done()
endif
libdrm_dep = dependency('libdrm', required: false, fallback: ['libdrm', 'ext_libdrm'])
cdata.set10('HAVE_LIBDRM', libdrm_dep.found())
gstva = library('gstva-' + api_version,
va_sources,
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_VA', '-DG_LOG_DOMAIN="GStreamer-VA"'],
include_directories : [configinc, libsinc],
version : libversion,
soversion : soversion,
install : true,
dependencies : [gst_dep, gstbase_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep],
)
pkg_name = 'gstreamer-va-' + api_version
libraries += [[pkg_name, {'lib': gstva}]]
gstva_dep = declare_dependency(link_with : gstva,
include_directories : [libsinc],
dependencies : [gst_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep])
meson.override_dependency(pkg_name, gstva_dep)