2020-06-27 04:37:39 +00:00
|
|
|
video_sources = files([
|
2016-08-12 15:26:31 +00:00
|
|
|
'colorbalance.c',
|
|
|
|
'colorbalancechannel.c',
|
|
|
|
'convertframe.c',
|
|
|
|
'gstvideoaffinetransformationmeta.c',
|
2021-03-03 01:09:26 +00:00
|
|
|
'gstvideocodecalphameta.c',
|
2018-12-26 17:02:42 +00:00
|
|
|
'gstvideoaggregator.c',
|
2016-08-12 15:26:31 +00:00
|
|
|
'gstvideodecoder.c',
|
|
|
|
'gstvideoencoder.c',
|
|
|
|
'gstvideofilter.c',
|
|
|
|
'gstvideometa.c',
|
|
|
|
'gstvideopool.c',
|
|
|
|
'gstvideosink.c',
|
|
|
|
'gstvideotimecode.c',
|
|
|
|
'gstvideoutils.c',
|
|
|
|
'gstvideoutilsprivate.c',
|
|
|
|
'navigation.c',
|
|
|
|
'video.c',
|
2018-02-15 12:59:56 +00:00
|
|
|
'video-anc.c',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-blend.c',
|
|
|
|
'video-chroma.c',
|
|
|
|
'video-color.c',
|
|
|
|
'video-converter.c',
|
|
|
|
'video-dither.c',
|
|
|
|
'video-event.c',
|
|
|
|
'video-format.c',
|
|
|
|
'video-frame.c',
|
2019-02-18 04:20:33 +00:00
|
|
|
'video-hdr.c',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-info.c',
|
|
|
|
'video-multiview.c',
|
|
|
|
'video-resampler.c',
|
|
|
|
'video-scaler.c',
|
|
|
|
'video-tile.c',
|
|
|
|
'video-overlay-composition.c',
|
2016-08-25 11:19:52 +00:00
|
|
|
'videodirection.c',
|
2016-08-12 15:26:31 +00:00
|
|
|
'videoorientation.c',
|
|
|
|
'videooverlay.c',
|
2020-06-27 04:37:39 +00:00
|
|
|
])
|
2016-08-12 15:26:31 +00:00
|
|
|
|
2020-06-27 04:37:39 +00:00
|
|
|
video_headers = files([
|
2016-08-12 15:26:31 +00:00
|
|
|
'colorbalance.h',
|
|
|
|
'colorbalancechannel.h',
|
|
|
|
'gstvideoaffinetransformationmeta.h',
|
2021-03-03 01:09:26 +00:00
|
|
|
'gstvideocodecalphameta.h',
|
2018-12-26 17:02:42 +00:00
|
|
|
'gstvideoaggregator.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'gstvideodecoder.h',
|
|
|
|
'gstvideoencoder.h',
|
|
|
|
'gstvideofilter.h',
|
|
|
|
'gstvideometa.h',
|
|
|
|
'gstvideopool.h',
|
|
|
|
'gstvideosink.h',
|
|
|
|
'gstvideotimecode.h',
|
|
|
|
'gstvideoutils.h',
|
|
|
|
'navigation.h',
|
|
|
|
'video.h',
|
2018-02-15 12:59:56 +00:00
|
|
|
'video-anc.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-event.h',
|
|
|
|
'video-format.h',
|
|
|
|
'video-chroma.h',
|
|
|
|
'video-color.h',
|
|
|
|
'video-converter.h',
|
|
|
|
'video-dither.h',
|
2019-02-18 04:20:33 +00:00
|
|
|
'video-hdr.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-info.h',
|
|
|
|
'video-frame.h',
|
2018-03-13 11:48:31 +00:00
|
|
|
'video-prelude.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-scaler.h',
|
|
|
|
'video-tile.h',
|
2016-08-25 11:19:52 +00:00
|
|
|
'videodirection.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'videoorientation.h',
|
|
|
|
'videooverlay.h',
|
|
|
|
'video-resampler.h',
|
|
|
|
'video-blend.h',
|
|
|
|
'video-overlay-composition.h',
|
|
|
|
'video-multiview.h',
|
2020-06-27 04:37:39 +00:00
|
|
|
])
|
2016-08-12 15:26:31 +00:00
|
|
|
install_headers(video_headers, subdir : 'gstreamer-1.0/gst/video/')
|
|
|
|
|
|
|
|
video_mkenum_headers = [
|
2022-02-03 18:18:03 +00:00
|
|
|
'video.h',
|
2018-02-15 12:59:56 +00:00
|
|
|
'video-anc.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-format.h',
|
|
|
|
'video-frame.h',
|
|
|
|
'video-chroma.h',
|
|
|
|
'video-color.h',
|
|
|
|
'video-converter.h',
|
|
|
|
'video-dither.h',
|
|
|
|
'video-info.h',
|
2018-10-04 08:36:09 +00:00
|
|
|
'video-overlay-composition.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'video-resampler.h',
|
|
|
|
'video-scaler.h',
|
|
|
|
'video-tile.h',
|
2021-09-10 12:10:46 +00:00
|
|
|
'gstvideometa.h',
|
2019-05-01 21:22:46 +00:00
|
|
|
'gstvideotimecode.h',
|
2021-09-10 12:10:46 +00:00
|
|
|
'gstvideoutils.h',
|
|
|
|
'gstvideoencoder.h',
|
|
|
|
'gstvideodecoder.h',
|
2016-08-12 15:26:31 +00:00
|
|
|
'colorbalance.h',
|
|
|
|
'navigation.h',
|
|
|
|
]
|
|
|
|
|
2017-07-20 04:15:30 +00:00
|
|
|
video_enums = gnome.mkenums_simple('video-enumtypes',
|
|
|
|
sources : video_mkenum_headers,
|
2018-04-28 13:50:11 +00:00
|
|
|
body_prefix : '#ifdef HAVE_CONFIG_H\n#include "config.h"\n#endif',
|
2017-07-20 04:15:30 +00:00
|
|
|
header_prefix : '#include <gst/video/video-prelude.h>',
|
|
|
|
decorator : 'GST_VIDEO_API',
|
|
|
|
install_header: true,
|
2018-08-10 11:43:38 +00:00
|
|
|
install_dir : join_paths(get_option('includedir'), 'gstreamer-1.0/gst/video'))
|
2017-07-20 04:15:30 +00:00
|
|
|
gstvideo_c = video_enums[0]
|
|
|
|
gstvideo_h = video_enums[1]
|
2016-10-20 20:17:27 +00:00
|
|
|
video_gen_sources = [gstvideo_h]
|
2016-08-12 15:26:31 +00:00
|
|
|
|
|
|
|
orcsrc = 'video-orc'
|
2016-11-14 19:28:42 +00:00
|
|
|
gstvideo_deps = [gst_base_dep, libm]
|
2016-08-12 15:26:31 +00:00
|
|
|
if have_orcc
|
2016-11-14 19:28:42 +00:00
|
|
|
gstvideo_deps += [orc_dep]
|
2016-08-12 15:26:31 +00:00
|
|
|
orc_h = custom_target(orcsrc + '.h',
|
|
|
|
input : orcsrc + '.orc',
|
|
|
|
output : orcsrc + '.h',
|
|
|
|
command : orcc_args + ['--header', '-o', '@OUTPUT@', '@INPUT@'])
|
|
|
|
orc_c = custom_target(orcsrc + '.c',
|
|
|
|
input : orcsrc + '.orc',
|
|
|
|
output : orcsrc + '.c',
|
|
|
|
command : orcc_args + ['--implementation', '-o', '@OUTPUT@', '@INPUT@'])
|
2020-07-03 23:31:49 +00:00
|
|
|
orc_targets += {'name': orcsrc, 'orc-source': files(orcsrc + '.orc'), 'header': orc_h, 'source': orc_c}
|
2016-08-12 15:26:31 +00:00
|
|
|
else
|
|
|
|
orc_h = configure_file(input : orcsrc + '-dist.h',
|
|
|
|
output : orcsrc + '.h',
|
2018-09-27 12:21:14 +00:00
|
|
|
copy : true)
|
2016-08-12 15:26:31 +00:00
|
|
|
orc_c = configure_file(input : orcsrc + '-dist.c',
|
|
|
|
output : orcsrc + '.c',
|
2018-09-27 12:21:14 +00:00
|
|
|
copy : true)
|
2016-08-12 15:26:31 +00:00
|
|
|
endif
|
|
|
|
|
|
|
|
gstvideo = library('gstvideo-@0@'.format(api_version),
|
|
|
|
video_sources, gstvideo_h, gstvideo_c, orc_c, orc_h,
|
2021-10-01 14:30:27 +00:00
|
|
|
c_args : gst_plugins_base_args + ['-DBUILDING_GST_VIDEO', '-DG_LOG_DOMAIN="GStreamer-Video"'],
|
2016-08-12 15:26:31 +00:00
|
|
|
include_directories: [configinc, libsinc],
|
|
|
|
version : libversion,
|
|
|
|
soversion : soversion,
|
2018-08-31 09:06:30 +00:00
|
|
|
darwin_versions : osxversion,
|
2016-08-12 15:26:31 +00:00
|
|
|
install : true,
|
2016-10-20 20:17:27 +00:00
|
|
|
dependencies : gstvideo_deps,
|
2016-08-12 15:26:31 +00:00
|
|
|
)
|
2016-10-20 20:17:27 +00:00
|
|
|
|
2020-06-27 04:39:00 +00:00
|
|
|
library_def = {'lib': gstvideo}
|
|
|
|
pkg_name = 'gstreamer-video-1.0'
|
2018-04-08 00:52:12 +00:00
|
|
|
pkgconfig.generate(gstvideo,
|
|
|
|
libraries : [gst_dep, gst_base_dep],
|
|
|
|
variables : pkgconfig_variables,
|
|
|
|
subdirs : pkgconfig_subdirs,
|
2020-06-27 04:39:00 +00:00
|
|
|
name : pkg_name,
|
2018-04-08 00:52:12 +00:00
|
|
|
description : 'Video base classes and helper functions',
|
|
|
|
)
|
|
|
|
|
2016-10-20 20:17:27 +00:00
|
|
|
if build_gir
|
2017-04-12 14:06:45 +00:00
|
|
|
gst_gir_extra_args = gir_init_section + [ '--c-include=gst/video/video.h' ]
|
2020-06-27 04:39:00 +00:00
|
|
|
gir = {
|
|
|
|
'sources' : video_sources + video_headers + [gstvideo_c] + [gstvideo_h],
|
|
|
|
'namespace' : 'GstVideo',
|
|
|
|
'nsversion' : api_version,
|
|
|
|
'identifier_prefix' : 'Gst',
|
|
|
|
'symbol_prefix' : 'gst',
|
|
|
|
'export_packages' : pkg_name,
|
|
|
|
'includes' : ['Gst-1.0','GstBase-1.0'],
|
|
|
|
'install' : true,
|
|
|
|
'extra_args' : gst_gir_extra_args,
|
|
|
|
'dependencies' : gstvideo_deps
|
|
|
|
}
|
|
|
|
library_def += {'gir': [gir]}
|
|
|
|
if not static_build
|
|
|
|
video_gir = gnome.generate_gir(gstvideo, kwargs: gir)
|
|
|
|
video_gen_sources += [video_gir]
|
|
|
|
endif
|
2016-10-20 20:17:27 +00:00
|
|
|
endif
|
2020-06-27 04:39:00 +00:00
|
|
|
libraries += [[pkg_name, library_def]]
|
2016-08-12 15:26:31 +00:00
|
|
|
|
|
|
|
video_dep = declare_dependency(link_with : gstvideo,
|
|
|
|
include_directories : [libsinc],
|
2016-10-20 20:17:27 +00:00
|
|
|
dependencies : gstvideo_deps,
|
|
|
|
sources : video_gen_sources)
|
2018-04-08 00:52:12 +00:00
|
|
|
|
2020-06-27 04:39:00 +00:00
|
|
|
meson.override_dependency(pkg_name, video_dep)
|