va: Implement the vah265enc plugin for va HEVC encoding.
[platform/upstream/gstreamer.git] / subprojects / gst-plugins-bad / sys / va / meson.build
1 va_sources = [
2   'plugin.c',
3   'gstjpegdecoder.c',
4   'gstvabasedec.c',
5   'gstvabasetransform.c',
6   'gstvabaseenc.c',
7   'gstvacaps.c',
8   'gstvacompositor.c',
9   'gstvadecoder.c',
10   'gstvadeinterlace.c',
11   'gstvadevice.c',
12   'gstvadisplay_priv.c',
13   'gstvaencoder.c',
14   'gstvafilter.c',
15   'gstvah264dec.c',
16   'gstvah264enc.c',
17   'gstvah265dec.c',
18   'gstvah265enc.c',
19   'gstvajpegdec.c',
20   'gstvampeg2dec.c',
21   'gstvaprofile.c',
22   'gstvavp8dec.c',
23   'gstvavp9dec.c',
24   'gstvavpp.c',
25 ]
26
27 if host_system != 'linux'
28   subdir_done()
29 endif
30
31 va_option = get_option('va').require(gstva_dep.found(), error_message: 'va plugin requires libgstva.')
32 if va_option.disabled()
33   subdir_done()
34 endif
35
36 libgudev_dep = dependency('gudev-1.0', required: false)
37 cdata.set10('HAVE_GUDEV', libgudev_dep.found())
38
39 if libva_dep.version().version_compare('>= 1.8')
40   va_sources += 'gstvaav1dec.c'
41 endif
42
43 driverdir = libva_dep.get_variable('driverdir', default_value: '')
44 if driverdir == ''
45   driverdir = join_paths(get_option('prefix'), get_option('libdir'), 'dri')
46 endif
47 gstva_cargs = [
48   '-DLIBVA_DRIVERS_PATH="' + driverdir + '"',
49   '-std=c99',
50   '-DGST_USE_UNSTABLE_API',
51 ]
52
53 gstva = library('gstva',
54   va_sources,
55   c_args : gst_plugins_bad_args + gstva_cargs,
56   include_directories : [configinc],
57   dependencies : [gstcodecs_dep, gstva_dep, libgudev_dep] + extra_dep,
58   install : true,
59   install_dir : plugins_install_dir,
60 )
61 plugins += [gstva]