2021-05-06 10:23:23 +00:00
|
|
|
va_sources = [
|
2022-02-23 07:40:19 +00:00
|
|
|
'gstvaallocator.c',
|
2021-05-06 10:23:23 +00:00
|
|
|
'gstvadisplay.c',
|
|
|
|
'gstvadisplay_drm.c',
|
|
|
|
'gstvadisplay_wrapped.c',
|
2022-02-23 07:40:19 +00:00
|
|
|
'gstvapool.c',
|
|
|
|
'gstvasurfacecopy.c',
|
2021-10-07 06:31:28 +00:00
|
|
|
'gstvautils.c',
|
2022-02-23 07:25:08 +00:00
|
|
|
'gstvavideoformat.c',
|
2022-02-23 07:40:19 +00:00
|
|
|
'vasurfaceimage.c',
|
2021-05-06 10:23:23 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
va_headers = [
|
2021-10-27 03:08:39 +00:00
|
|
|
'gstva.h',
|
2022-02-23 07:40:19 +00:00
|
|
|
'gstvaallocator.h',
|
2021-05-06 10:23:23 +00:00
|
|
|
'gstvadisplay.h',
|
|
|
|
'gstvadisplay_drm.h',
|
|
|
|
'gstvadisplay_wrapped.h',
|
2022-02-23 07:40:19 +00:00
|
|
|
'gstvapool.h',
|
2021-10-07 06:31:28 +00:00
|
|
|
'gstvautils.h',
|
2022-02-23 07:25:08 +00:00
|
|
|
'gstvavideoformat.h',
|
2021-05-06 10:23:23 +00:00
|
|
|
'va-prelude.h',
|
2022-02-23 07:40:19 +00:00
|
|
|
'va_fwd.h',
|
2021-05-06 10:23:23 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
gstva_dep = dependency('', required : false)
|
|
|
|
|
2022-02-13 02:39:37 +00:00
|
|
|
if host_system != 'linux'
|
2021-05-06 10:23:23 +00:00
|
|
|
subdir_done()
|
|
|
|
endif
|
|
|
|
|
|
|
|
libva_req = ['>= 1.6']
|
2022-02-13 02:39:37 +00:00
|
|
|
libva_dep = dependency('libva', version: libva_req, required: false,
|
2021-09-30 15:42:19 +00:00
|
|
|
fallback: ['libva', 'libva_dep'])
|
2022-02-13 02:39:37 +00:00
|
|
|
libva_drm_dep = dependency('libva-drm', version: libva_req, required: false,
|
2021-09-30 15:42:19 +00:00
|
|
|
fallback: ['libva', 'libva_drm_dep'])
|
2021-05-06 10:23:23 +00:00
|
|
|
|
2021-10-03 13:45:58 +00:00
|
|
|
if not (libva_dep.found() and libva_drm_dep.found())
|
2021-05-06 10:23:23 +00:00
|
|
|
subdir_done()
|
|
|
|
endif
|
|
|
|
|
2022-02-07 11:34:53 +00:00
|
|
|
libdrm_dep = dependency('libdrm', required: false, fallback: ['libdrm', 'ext_libdrm'])
|
2021-10-03 13:45:58 +00:00
|
|
|
cdata.set10('HAVE_LIBDRM', libdrm_dep.found())
|
2021-05-06 10:23:23 +00:00
|
|
|
|
2022-03-29 12:52:33 +00:00
|
|
|
va_enums = gnome.mkenums_simple('va-enumtypes',
|
|
|
|
sources: ['gstva.h'],
|
|
|
|
decorator: 'GST_VA_API',
|
|
|
|
header_prefix: '#include <gst/va/va-prelude.h>',
|
|
|
|
body_prefix: '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
|
|
|
|
install_header: false)
|
|
|
|
|
2022-04-01 20:09:10 +00:00
|
|
|
va_enumtypes_h = va_enums[1]
|
|
|
|
|
2021-05-06 10:23:23 +00:00
|
|
|
gstva = library('gstva-' + api_version,
|
2022-03-29 12:52:33 +00:00
|
|
|
va_sources, va_enums,
|
2021-10-01 14:31:18 +00:00
|
|
|
c_args : gst_plugins_bad_args + ['-DGST_USE_UNSTABLE_API', '-DBUILDING_GST_VA', '-DG_LOG_DOMAIN="GStreamer-VA"'],
|
2021-05-06 10:23:23 +00:00
|
|
|
include_directories : [configinc, libsinc],
|
|
|
|
version : libversion,
|
|
|
|
soversion : soversion,
|
|
|
|
install : true,
|
2022-02-23 07:25:08 +00:00
|
|
|
dependencies : [gst_dep, gstbase_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep],
|
2021-05-06 10:23:23 +00:00
|
|
|
)
|
|
|
|
|
2022-02-07 11:34:53 +00:00
|
|
|
pkg_name = 'gstreamer-va-' + api_version
|
2020-06-27 04:39:00 +00:00
|
|
|
libraries += [[pkg_name, {'lib': gstva}]]
|
2021-05-06 10:23:23 +00:00
|
|
|
|
|
|
|
gstva_dep = declare_dependency(link_with : gstva,
|
|
|
|
include_directories : [libsinc],
|
2022-04-01 20:09:10 +00:00
|
|
|
dependencies : [gst_dep, gstvideo_dep, gstallocators_dep, libva_dep, libva_drm_dep, libdrm_dep],
|
|
|
|
sources : [va_enumtypes_h])
|
|
|
|
|
2020-06-27 04:39:00 +00:00
|
|
|
meson.override_dependency(pkg_name, gstva_dep)
|