mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
aja: Update to AJA NTV2 17.0.1
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3289 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6808>
This commit is contained in:
parent
f982b94cd9
commit
d68ac0db57
5 changed files with 247 additions and 173 deletions
|
@ -208,8 +208,10 @@ option('uvcgadget', type : 'feature', value : 'auto', description : 'uvc video g
|
||||||
option('isac', type : 'feature', value : 'auto', description : 'iSAC plugin')
|
option('isac', type : 'feature', value : 'auto', description : 'iSAC plugin')
|
||||||
|
|
||||||
# AJA plugin options
|
# AJA plugin options
|
||||||
option('aja-sdk-dir', type : 'string', value : '',
|
option('aja-include-dir', type : 'string', value : '',
|
||||||
description : 'Directory with AJA SDK, e.g. ntv2sdklinux_16.0.0.4')
|
description : 'Directory where AJA NTV2 headers are located')
|
||||||
|
option('aja-lib-dir', type : 'string', value : '',
|
||||||
|
description : 'Directory where AJA NTV2 library is located')
|
||||||
|
|
||||||
# D3D11/D3D12 HLSL library options
|
# D3D11/D3D12 HLSL library options
|
||||||
option('d3d-hlsl-precompile', type : 'feature', value : 'auto', description : 'Enable buildtime HLSL compile for d3d11/d3d12 library/plugin')
|
option('d3d-hlsl-precompile', type : 'feature', value : 'auto', description : 'Enable buildtime HLSL compile for d3d11/d3d12 library/plugin')
|
||||||
|
|
|
@ -1079,9 +1079,9 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
// their framebuffers/muxers, and muxers from their framebuffers
|
// their framebuffers/muxers, and muxers from their framebuffers
|
||||||
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
||||||
if (iter->first == NTV2_XptFrameBuffer1Input ||
|
if (iter->first == NTV2_XptFrameBuffer1Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer1BInput ||
|
iter->first == NTV2_XptFrameBuffer1DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer2Input ||
|
iter->first == NTV2_XptFrameBuffer2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer2BInput ||
|
iter->first == NTV2_XptFrameBuffer2DS2Input ||
|
||||||
iter->second == NTV2_Xpt425Mux1AYUV ||
|
iter->second == NTV2_Xpt425Mux1AYUV ||
|
||||||
iter->second == NTV2_Xpt425Mux1BYUV ||
|
iter->second == NTV2_Xpt425Mux1BYUV ||
|
||||||
iter->second == NTV2_Xpt425Mux2AYUV ||
|
iter->second == NTV2_Xpt425Mux2AYUV ||
|
||||||
|
@ -1099,10 +1099,10 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
} else if (self->channel == NTV2_CHANNEL1) {
|
} else if (self->channel == NTV2_CHANNEL1) {
|
||||||
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
||||||
if (iter->first == NTV2_XptFrameBuffer1Input ||
|
if (iter->first == NTV2_XptFrameBuffer1Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer1BInput ||
|
iter->first == NTV2_XptFrameBuffer1DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer1DS2Input ||
|
iter->first == NTV2_XptFrameBuffer1DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer2Input ||
|
iter->first == NTV2_XptFrameBuffer2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer2BInput ||
|
iter->first == NTV2_XptFrameBuffer2DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer2DS2Input ||
|
iter->first == NTV2_XptFrameBuffer2DS2Input ||
|
||||||
iter->second == NTV2_Xpt425Mux1AYUV ||
|
iter->second == NTV2_Xpt425Mux1AYUV ||
|
||||||
iter->second == NTV2_Xpt425Mux1BYUV ||
|
iter->second == NTV2_Xpt425Mux1BYUV ||
|
||||||
|
@ -1125,10 +1125,10 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
} else if (self->channel == NTV2_CHANNEL5) {
|
} else if (self->channel == NTV2_CHANNEL5) {
|
||||||
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
for (auto iter = connections.begin(); iter != connections.end(); iter++) {
|
||||||
if (iter->first == NTV2_XptFrameBuffer5Input ||
|
if (iter->first == NTV2_XptFrameBuffer5Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer5BInput ||
|
iter->first == NTV2_XptFrameBuffer5DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer5DS2Input ||
|
iter->first == NTV2_XptFrameBuffer5DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer6Input ||
|
iter->first == NTV2_XptFrameBuffer6Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer6BInput ||
|
iter->first == NTV2_XptFrameBuffer6DS2Input ||
|
||||||
iter->first == NTV2_XptFrameBuffer6DS2Input ||
|
iter->first == NTV2_XptFrameBuffer6DS2Input ||
|
||||||
iter->second == NTV2_Xpt425Mux3AYUV ||
|
iter->second == NTV2_Xpt425Mux3AYUV ||
|
||||||
iter->second == NTV2_Xpt425Mux3BYUV ||
|
iter->second == NTV2_Xpt425Mux3BYUV ||
|
||||||
|
@ -1229,9 +1229,9 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
if (self->quad_mode) {
|
if (self->quad_mode) {
|
||||||
if (self->input_source >= GST_AJA_INPUT_SOURCE_HDMI1 &&
|
if (self->input_source >= GST_AJA_INPUT_SOURCE_HDMI1 &&
|
||||||
self->input_source <= GST_AJA_INPUT_SOURCE_HDMI4) {
|
self->input_source <= GST_AJA_INPUT_SOURCE_HDMI4) {
|
||||||
router.AddConnection(NTV2_XptFrameBuffer1BInput, NTV2_Xpt425Mux1BYUV);
|
router.AddConnection(NTV2_XptFrameBuffer1DS2Input, NTV2_Xpt425Mux1BYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer2Input, NTV2_Xpt425Mux2AYUV);
|
router.AddConnection(NTV2_XptFrameBuffer2Input, NTV2_Xpt425Mux2AYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer2BInput, NTV2_Xpt425Mux2BYUV);
|
router.AddConnection(NTV2_XptFrameBuffer2DS2Input, NTV2_Xpt425Mux2BYUV);
|
||||||
|
|
||||||
router.AddConnection(NTV2_Xpt425Mux1AInput, NTV2_XptHDMIIn1);
|
router.AddConnection(NTV2_Xpt425Mux1AInput, NTV2_XptHDMIIn1);
|
||||||
router.AddConnection(NTV2_Xpt425Mux1BInput, NTV2_XptHDMIIn1Q2);
|
router.AddConnection(NTV2_Xpt425Mux1BInput, NTV2_XptHDMIIn1Q2);
|
||||||
|
@ -1271,11 +1271,11 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
// TSI?
|
// TSI?
|
||||||
} else {
|
} else {
|
||||||
if (self->channel == NTV2_CHANNEL1) {
|
if (self->channel == NTV2_CHANNEL1) {
|
||||||
router.AddConnection(NTV2_XptFrameBuffer1BInput,
|
router.AddConnection(NTV2_XptFrameBuffer1DS2Input,
|
||||||
NTV2_Xpt425Mux1BYUV);
|
NTV2_Xpt425Mux1BYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer2Input,
|
router.AddConnection(NTV2_XptFrameBuffer2Input,
|
||||||
NTV2_Xpt425Mux2AYUV);
|
NTV2_Xpt425Mux2AYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer2BInput,
|
router.AddConnection(NTV2_XptFrameBuffer2DS2Input,
|
||||||
NTV2_Xpt425Mux2BYUV);
|
NTV2_Xpt425Mux2BYUV);
|
||||||
|
|
||||||
router.AddConnection(NTV2_Xpt425Mux1AInput, NTV2_XptSDIIn1);
|
router.AddConnection(NTV2_Xpt425Mux1AInput, NTV2_XptSDIIn1);
|
||||||
|
@ -1283,11 +1283,11 @@ static gboolean gst_aja_src_configure(GstAjaSrc *self) {
|
||||||
router.AddConnection(NTV2_Xpt425Mux2AInput, NTV2_XptSDIIn3);
|
router.AddConnection(NTV2_Xpt425Mux2AInput, NTV2_XptSDIIn3);
|
||||||
router.AddConnection(NTV2_Xpt425Mux2BInput, NTV2_XptSDIIn4);
|
router.AddConnection(NTV2_Xpt425Mux2BInput, NTV2_XptSDIIn4);
|
||||||
} else if (self->channel == NTV2_CHANNEL5) {
|
} else if (self->channel == NTV2_CHANNEL5) {
|
||||||
router.AddConnection(NTV2_XptFrameBuffer5BInput,
|
router.AddConnection(NTV2_XptFrameBuffer5DS2Input,
|
||||||
NTV2_Xpt425Mux3BYUV);
|
NTV2_Xpt425Mux3BYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer6Input,
|
router.AddConnection(NTV2_XptFrameBuffer6Input,
|
||||||
NTV2_Xpt425Mux4AYUV);
|
NTV2_Xpt425Mux4AYUV);
|
||||||
router.AddConnection(NTV2_XptFrameBuffer6BInput,
|
router.AddConnection(NTV2_XptFrameBuffer6DS2Input,
|
||||||
NTV2_Xpt425Mux4BYUV);
|
NTV2_Xpt425Mux4BYUV);
|
||||||
|
|
||||||
router.AddConnection(NTV2_Xpt425Mux3AInput, NTV2_XptSDIIn5);
|
router.AddConnection(NTV2_Xpt425Mux3AInput, NTV2_XptSDIIn5);
|
||||||
|
|
|
@ -5,48 +5,100 @@ if aja_option.disabled()
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
common_flags = [
|
common_flags = []
|
||||||
'-DAJALinux=1',
|
|
||||||
'-DAJA_LINUX=1',
|
|
||||||
]
|
|
||||||
|
|
||||||
thread_dep = dependency('threads')
|
thread_dep = dependency('threads')
|
||||||
rt_dep = cxx.find_library('rt', required : false)
|
rt_dep = cxx.find_library('rt', required : false)
|
||||||
|
dl_dep = cxx.find_library('dl', required : false)
|
||||||
|
|
||||||
aja_sdk_dir = get_option('aja-sdk-dir')
|
ajantv2_args = [
|
||||||
if aja_sdk_dir == ''
|
'-DAJALinux',
|
||||||
ajantv2_dep = dependency('libajantv2',
|
'-DAJASTATIC',
|
||||||
include_type: 'system',
|
'-DAJA_LINUX',
|
||||||
required: aja_option,
|
'-DAJA_USE_CPLUSPLUS11',
|
||||||
allow_fallback: true,
|
'-DNDEBUG',
|
||||||
default_options: ['warning_level=0'])
|
'-DNTV2_USE_CPLUSPLUS11',
|
||||||
if not ajantv2_dep.found()
|
]
|
||||||
subdir_done()
|
|
||||||
endif
|
aja_include_dir = get_option('aja-include-dir')
|
||||||
aja_includedirs = []
|
aja_lib_dir = get_option('aja-lib-dir')
|
||||||
|
|
||||||
|
# Try to automatically find the AJA NTV2 SDK and otherwise fall back to the subproject
|
||||||
|
found_ajantv2 = false
|
||||||
|
found_ajantv2_includes = false
|
||||||
|
|
||||||
|
if aja_include_dir != ''
|
||||||
|
aja_include_dirs = [aja_include_dir]
|
||||||
|
elif not meson.is_cross_build()
|
||||||
|
aja_include_dirs = ['/usr/include', '/usr/local/include']
|
||||||
else
|
else
|
||||||
aja_includedirs = include_directories(
|
message('Cross-compiling: cannot autodetect AJA, please set the options "aja-include-dir" and "aja-lib-dir"')
|
||||||
f'@aja_sdk_dir@/ajalibraries',
|
aja_include_dirs = []
|
||||||
f'@aja_sdk_dir@/ajalibraries/ajantv2/includes',
|
endif
|
||||||
f'@aja_sdk_dir@/ajalibraries/ajantv2/src/lin',
|
|
||||||
is_system: true,
|
|
||||||
)
|
|
||||||
|
|
||||||
message(f'Looking for AJA SDK in @aja_sdk_dir@')
|
foreach dir : aja_include_dirs
|
||||||
if not cxx.has_header('ajabase/common/videotypes.h',
|
message(f'Checking for AJA NTV2 headers in @dir@')
|
||||||
include_directories: aja_includedirs,
|
|
||||||
required: aja_option)
|
fs = import('fs')
|
||||||
subdir_done()
|
dir = f'@dir@/libajantv2'
|
||||||
|
if not fs.is_dir(dir)
|
||||||
|
continue
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ajantv2_lib = cxx.find_library('ajantv2',
|
include_dir = include_directories([
|
||||||
# If the header is found, this should also be
|
f'@dir@',
|
||||||
required : true,
|
f'@dir@/ajaanc/includes',
|
||||||
dirs : [f'@aja_sdk_dir@/lib'],
|
f'@dir@/ajantv2/includes',
|
||||||
)
|
f'@dir@/ajantv2/src/lin',
|
||||||
ajantv2_dep = declare_dependency(
|
],
|
||||||
dependencies: ajantv2_lib,
|
is_system : true)
|
||||||
include_directories: aja_includedirs)
|
|
||||||
|
if cxx.check_header('ajantv2/includes/ntv2card.h',
|
||||||
|
args : ajantv2_args,
|
||||||
|
include_directories : include_dir)
|
||||||
|
ajantv2_include_dir = include_dir
|
||||||
|
found_ajantv2_includes = true
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endforeach
|
||||||
|
|
||||||
|
# If provided explicitly then consider it an error to not find the headers
|
||||||
|
if aja_include_dir != '' and not found_ajantv2_includes
|
||||||
|
error(f'Did not found AJA NTV2 headers in @aja_include_dir@')
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If we found the includes, now check for the library
|
||||||
|
if found_ajantv2_includes
|
||||||
|
if aja_lib_dir == ''
|
||||||
|
ajantv2_lib = cxx.find_library('ajantv2',
|
||||||
|
# If the header is found, this should also be
|
||||||
|
required : false)
|
||||||
|
else
|
||||||
|
ajantv2_lib = cxx.find_library('ajantv2',
|
||||||
|
dirs : [aja_lib_dir],
|
||||||
|
required : true)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if ajantv2_lib.found()
|
||||||
|
found_ajantv2 = true
|
||||||
|
|
||||||
|
libajantv2_dep = declare_dependency(
|
||||||
|
compile_args : ajantv2_args,
|
||||||
|
dependencies: ajantv2_lib,
|
||||||
|
include_directories: ajantv2_include_dir)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If the includes or the library or not found, fall back to the subproject
|
||||||
|
if not found_ajantv2
|
||||||
|
libajantv2_dep = dependency('libajantv2',
|
||||||
|
include_type: 'system',
|
||||||
|
required: aja_option,
|
||||||
|
allow_fallback: true,
|
||||||
|
default_options: ['warning_level=0'])
|
||||||
|
if not libajantv2_dep.found()
|
||||||
|
subdir_done()
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
gstaja = library('gstaja',
|
gstaja = library('gstaja',
|
||||||
|
@ -62,7 +114,7 @@ gstaja = library('gstaja',
|
||||||
cpp_args : gst_plugins_bad_args + common_flags,
|
cpp_args : gst_plugins_bad_args + common_flags,
|
||||||
include_directories : [configinc],
|
include_directories : [configinc],
|
||||||
link_args : noseh_link_args,
|
link_args : noseh_link_args,
|
||||||
dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep, ajantv2_dep, thread_dep, rt_dep],
|
dependencies : [gstvideo_dep, gstaudio_dep, gstbase_dep, gst_dep, libajantv2_dep, thread_dep, rt_dep, dl_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : plugins_install_dir,
|
install_dir : plugins_install_dir,
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
[wrap-file]
|
[wrap-file]
|
||||||
directory = ntv2-16.2-bugfix5
|
directory = libajantv2-ntv2_17_0_1
|
||||||
source_url = https://github.com/aja-video/ntv2/archive/refs/tags/v16.2-bugfix5.tar.gz
|
source_url = https://github.com/aja-video/libajantv2/archive/refs/tags/ntv2_17_0_1.tar.gz
|
||||||
source_filename = ntv2-16.2-bugfix5.tar.gz
|
source_filename = libajantv2-ntv2_17_0_1.tar.gz
|
||||||
source_hash = 560c798c3a43aa0cef1cba6be5adb669ec72e648c28814158eb649275efc9f88
|
source_hash = a4be947e4e34dd8065b25082a681994067877966c2aaef8fbc9a25681f03ebe7
|
||||||
patch_directory = ntv2
|
patch_directory = ntv2
|
||||||
|
|
||||||
[provide]
|
[provide]
|
||||||
|
|
|
@ -1,21 +1,20 @@
|
||||||
project('ntv2', 'cpp',
|
project('ajantv2', ['c', 'cpp'],
|
||||||
version : '16.2-bugfix5',
|
version : '17.0.1',
|
||||||
meson_version : '>= 0.54.0',
|
meson_version : '>= 0.54.0',
|
||||||
default_options : [ 'warning_level=1',
|
default_options : [ 'warning_level=1',
|
||||||
'buildtype=debugoptimized',
|
'buildtype=debugoptimized',
|
||||||
|
'c_std=c11',
|
||||||
'cpp_std=c++11',
|
'cpp_std=c++11',
|
||||||
'cpp_eh=none',
|
'cpp_eh=none',
|
||||||
'cpp_rtti=false',
|
'cpp_rtti=false',
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
c = meson.get_compiler('c')
|
||||||
cxx = meson.get_compiler('cpp')
|
cxx = meson.get_compiler('cpp')
|
||||||
test_cppflags = ['-Wno-non-virtual-dtor']
|
test_cppflags = ['-Wno-non-virtual-dtor', '-Wno-overloaded-virtual']
|
||||||
|
|
||||||
common_flags = [
|
common_flags = []
|
||||||
'-DAJALinux=1',
|
|
||||||
'-DAJA_LINUX=1',
|
|
||||||
]
|
|
||||||
foreach cxxflag: test_cppflags
|
foreach cxxflag: test_cppflags
|
||||||
if cxx.has_argument(cxxflag)
|
if cxx.has_argument(cxxflag)
|
||||||
common_flags += [ cxxflag ]
|
common_flags += [ cxxflag ]
|
||||||
|
@ -29,136 +28,156 @@ if get_option('warning_level') == '0'
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
conf_data = configuration_data()
|
||||||
|
conf_data.set('AJA_NTV2_SDK_VERSION_MAJOR', '17')
|
||||||
|
conf_data.set('AJA_NTV2_SDK_VERSION_MINOR', '0')
|
||||||
|
conf_data.set('AJA_NTV2_SDK_VERSION_POINT', '1')
|
||||||
|
conf_data.set('AJA_NTV2_SDK_BUILD_NUMBER', '0')
|
||||||
|
conf_data.set('AJA_NTV2_SDK_BUILD_DATETIME', '2024-02-15T17:41:48-08:00')
|
||||||
|
conf_data.set('AJA_NTV2_SDK_BUILD_TYPE', '')
|
||||||
|
configure_file(input : 'ajantv2/includes/ntv2version.h.in',
|
||||||
|
output : 'ntv2version.h',
|
||||||
|
configuration : conf_data)
|
||||||
|
|
||||||
thread_dep = dependency('threads')
|
thread_dep = dependency('threads')
|
||||||
rt_dep = cxx.find_library('rt', required : false)
|
rt_dep = cxx.find_library('rt', required : false)
|
||||||
|
dl_dep = cxx.find_library('dl', required : false)
|
||||||
|
|
||||||
ajantv2_sources = [
|
ajantv2_sources = [
|
||||||
'ajalibraries/ajaanc/src/ancillarydata.cpp',
|
'ajaanc/src/ancillarydata.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydatafactory.cpp',
|
'ajaanc/src/ancillarydatafactory.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_cea608.cpp',
|
'ajaanc/src/ancillarydata_cea608.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_cea608_line21.cpp',
|
'ajaanc/src/ancillarydata_cea608_line21.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_cea608_vanc.cpp',
|
'ajaanc/src/ancillarydata_cea608_vanc.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_cea708.cpp',
|
'ajaanc/src/ancillarydata_cea708.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_framestatusinfo524D.cpp',
|
'ajaanc/src/ancillarydata_framestatusinfo524D.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_framestatusinfo5251.cpp',
|
'ajaanc/src/ancillarydata_framestatusinfo5251.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_hdr_hdr10.cpp',
|
'ajaanc/src/ancillarydata_hdr_hdr10.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_hdr_hlg.cpp',
|
'ajaanc/src/ancillarydata_hdr_hlg.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_hdr_sdr.cpp',
|
'ajaanc/src/ancillarydata_hdr_sdr.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_timecode.cpp',
|
'ajaanc/src/ancillarydata_timecode.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_timecode_atc.cpp',
|
'ajaanc/src/ancillarydata_timecode_atc.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarydata_timecode_vitc.cpp',
|
'ajaanc/src/ancillarydata_timecode_vitc.cpp',
|
||||||
'ajalibraries/ajaanc/src/ancillarylist.cpp',
|
'ajaanc/src/ancillarylist.cpp',
|
||||||
'ajalibraries/ajabase/system/atomic.cpp',
|
'ajabase/common/audioutilities.cpp',
|
||||||
'ajalibraries/ajabase/common/audioutilities.cpp',
|
'ajabase/common/buffer.cpp',
|
||||||
'ajalibraries/ajabase/common/buffer.cpp',
|
'ajabase/common/commandline.cpp',
|
||||||
'ajalibraries/ajabase/common/common.cpp',
|
'ajabase/common/common.cpp',
|
||||||
'ajalibraries/ajabase/system/debug.cpp',
|
'ajabase/common/dpxfileio.cpp',
|
||||||
'ajalibraries/ajabase/common/dpx_hdr.cpp',
|
'ajabase/common/dpx_hdr.cpp',
|
||||||
'ajalibraries/ajabase/common/dpxfileio.cpp',
|
'ajabase/common/guid.cpp',
|
||||||
'ajalibraries/ajabase/system/event.cpp',
|
'ajabase/common/options_popt.cpp',
|
||||||
'ajalibraries/ajabase/system/linux/eventimpl.cpp',
|
'ajabase/common/performance.cpp',
|
||||||
'ajalibraries/ajabase/system/file_io.cpp',
|
'ajabase/common/pixelformat.cpp',
|
||||||
'ajalibraries/ajabase/common/guid.cpp',
|
'ajabase/common/timebase.cpp',
|
||||||
'ajalibraries/ajabase/system/info.cpp',
|
'ajabase/common/timecode.cpp',
|
||||||
'ajalibraries/ajabase/system/linux/infoimpl.cpp',
|
'ajabase/common/timecodeburn.cpp',
|
||||||
'ajalibraries/ajabase/network/ip_socket.cpp',
|
'ajabase/common/timer.cpp',
|
||||||
'ajalibraries/ajabase/system/lock.cpp',
|
'ajabase/common/variant.cpp',
|
||||||
'ajalibraries/ajabase/system/linux/lockimpl.cpp',
|
'ajabase/common/videoutilities.cpp',
|
||||||
'ajalibraries/ajabase/system/memory.cpp',
|
'ajabase/common/wavewriter.cpp',
|
||||||
'ajalibraries/ajabase/common/options_popt.cpp',
|
'ajabase/network/ip_socket.cpp',
|
||||||
'ajalibraries/ajabase/common/performance.cpp',
|
'ajabase/network/network.cpp',
|
||||||
'ajalibraries/ajabase/common/pixelformat.cpp',
|
'ajabase/network/tcp_socket.cpp',
|
||||||
'ajalibraries/ajabase/pnp/pnp.cpp',
|
'ajabase/network/udp_socket.cpp',
|
||||||
'ajalibraries/ajabase/pnp/linux/pnpimpl.cpp',
|
'ajabase/persistence/persistence.cpp',
|
||||||
'ajalibraries/ajabase/system/process.cpp',
|
'ajabase/persistence/sqlite3.c',
|
||||||
'ajalibraries/ajabase/system/linux/processimpl.cpp',
|
'ajabase/pnp/pnp.cpp',
|
||||||
'ajalibraries/ajabase/system/system.cpp',
|
'ajabase/system/atomic.cpp',
|
||||||
'ajalibraries/ajabase/system/systemtime.cpp',
|
'ajabase/system/debug.cpp',
|
||||||
'ajalibraries/ajabase/common/testpatterngen.cpp',
|
'ajabase/system/diskstatus.cpp',
|
||||||
'ajalibraries/ajabase/system/thread.cpp',
|
'ajabase/system/event.cpp',
|
||||||
'ajalibraries/ajabase/system/linux/threadimpl.cpp',
|
'ajabase/system/file_io.cpp',
|
||||||
'ajalibraries/ajabase/common/timebase.cpp',
|
'ajabase/system/info.cpp',
|
||||||
'ajalibraries/ajabase/common/timecode.cpp',
|
'ajabase/system/lock.cpp',
|
||||||
'ajalibraries/ajabase/common/timecodeburn.cpp',
|
'ajabase/system/log.cpp',
|
||||||
'ajalibraries/ajabase/common/timer.cpp',
|
'ajabase/system/memory.cpp',
|
||||||
'ajalibraries/ajabase/network/udp_socket.cpp',
|
'ajabase/system/process.cpp',
|
||||||
'ajalibraries/ajabase/common/videoutilities.cpp',
|
'ajabase/system/system.cpp',
|
||||||
'ajalibraries/ajabase/common/wavewriter.cpp',
|
'ajabase/system/systemtime.cpp',
|
||||||
'ajalibraries/ajabase/persistence/persistence.cpp',
|
'ajabase/system/thread.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2audio.cpp',
|
'ajabase/pnp/linux/pnpimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2anc.cpp',
|
'ajabase/system/linux/eventimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2autocirculate.cpp',
|
'ajabase/system/linux/infoimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2bitfile.cpp',
|
'ajabase/system/linux/lockimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2bitfilemanager.cpp',
|
'ajabase/system/linux/processimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2card.cpp',
|
'ajabase/system/linux/threadimpl.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2config2022.cpp',
|
'ajantv2/src/ntv2anc.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2config2110.cpp',
|
'ajantv2/src/ntv2audio.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2configts2022.cpp',
|
'ajantv2/src/ntv2autocirculate.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2csclut.cpp',
|
'ajantv2/src/ntv2bitfile.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2cscmatrix.cpp',
|
'ajantv2/src/ntv2bitfilemanager.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2debug.cpp',
|
'ajantv2/src/ntv2card.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2devicefeatures.cpp',
|
'ajantv2/src/ntv2config2022.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2devicescanner.cpp',
|
'ajantv2/src/ntv2config2110.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2discover.cpp',
|
'ajantv2/src/ntv2configts2022.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2dma.cpp',
|
'ajantv2/src/ntv2csclut.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2dynamicdevice.cpp',
|
'ajantv2/src/ntv2cscmatrix.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2hdmi.cpp',
|
'ajantv2/src/ntv2debug.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2hevc.cpp',
|
'ajantv2/src/ntv2devicefeatures.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2driverinterface.cpp',
|
'ajantv2/src/ntv2devicefeatures.hpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2enhancedcsc.cpp',
|
'ajantv2/src/ntv2devicescanner.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2formatdescriptor.cpp',
|
'ajantv2/src/ntv2dma.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2interrupts.cpp',
|
'ajantv2/src/ntv2driverinterface.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2konaflashprogram.cpp',
|
'ajantv2/src/ntv2dynamicdevice.cpp',
|
||||||
'ajalibraries/ajantv2/src/lin/ntv2linuxdriverinterface.cpp',
|
'ajantv2/src/ntv2enhancedcsc.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2mailbox.cpp',
|
'ajantv2/src/ntv2formatdescriptor.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2mbcontroller.cpp',
|
'ajantv2/src/ntv2hdmi.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2mcsfile.cpp',
|
'ajantv2/src/ntv2hevc.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2nubaccess.cpp',
|
'ajantv2/src/ntv2interrupts.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2nubpktcom.cpp',
|
'ajantv2/src/ntv2konaflashprogram.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2publicinterface.cpp',
|
'ajantv2/src/ntv2mailbox.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2register.cpp',
|
'ajantv2/src/ntv2mbcontroller.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2registerexpert.cpp',
|
'ajantv2/src/ntv2mcsfile.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2resample.cpp',
|
'ajantv2/src/ntv2nubaccess.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2routingexpert.cpp',
|
'ajantv2/src/ntv2publicinterface.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2rp188.cpp',
|
'ajantv2/src/ntv2regconv.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2serialcontrol.cpp',
|
'ajantv2/src/ntv2register.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2signalrouter.cpp',
|
'ajantv2/src/ntv2registerexpert.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2spiinterface.cpp',
|
'ajantv2/src/ntv2regroute.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2subscriptions.cpp',
|
'ajantv2/src/ntv2regvpid.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2supportlogger.cpp',
|
'ajantv2/src/ntv2resample.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2transcode.cpp',
|
'ajantv2/src/ntv2routingexpert.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2utf8.cpp',
|
'ajantv2/src/ntv2rp188.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2utils.cpp',
|
'ajantv2/src/ntv2serialcontrol.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2verticalfilter.cpp',
|
'ajantv2/src/ntv2signalrouter.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2vpid.cpp',
|
'ajantv2/src/ntv2spiinterface.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2vpidfromspec.cpp',
|
'ajantv2/src/ntv2stream.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2task.cpp',
|
'ajantv2/src/ntv2subscriptions.cpp',
|
||||||
'ajalibraries/ajantv2/src/ntv2testpatterngen.cpp',
|
'ajantv2/src/ntv2supportlogger.cpp',
|
||||||
|
'ajantv2/src/ntv2task.cpp',
|
||||||
|
'ajantv2/src/ntv2testpatterngen.cpp',
|
||||||
|
'ajantv2/src/ntv2transcode.cpp',
|
||||||
|
'ajantv2/src/ntv2utf8.cpp',
|
||||||
|
'ajantv2/src/ntv2utils.cpp',
|
||||||
|
'ajantv2/src/ntv2version.cpp',
|
||||||
|
'ajantv2/src/ntv2verticalfilter.cpp',
|
||||||
|
'ajantv2/src/ntv2vpid.cpp',
|
||||||
|
'ajantv2/src/ntv2vpidfromspec.cpp',
|
||||||
|
'ajantv2/src/lin/ntv2linuxdriverinterface.cpp',
|
||||||
]
|
]
|
||||||
|
|
||||||
ajantv2_args = [
|
ajantv2_args = [
|
||||||
'-D_REENTRANT',
|
|
||||||
'-DAJASTATIC',
|
|
||||||
'-DAJALinux',
|
'-DAJALinux',
|
||||||
|
'-DAJASTATIC',
|
||||||
'-DAJA_LINUX',
|
'-DAJA_LINUX',
|
||||||
'-D_LARGEFILE_SOURCE',
|
'-DAJA_USE_CPLUSPLUS11',
|
||||||
'-D_LARGEFILE64_SOURCE',
|
'-DNDEBUG',
|
||||||
'-D_FILE_OFFSET_BITS=64',
|
'-DNTV2_USE_CPLUSPLUS11',
|
||||||
]
|
]
|
||||||
|
|
||||||
ajantv2_inc = include_directories(
|
ajantv2_inc = include_directories(
|
||||||
'ajalibraries/ajaanc/includes',
|
'.',
|
||||||
'ajalibraries/ajantv2/includes',
|
'ajaanc/includes',
|
||||||
'ajalibraries/ajantv2/src',
|
'ajantv2/includes',
|
||||||
'ajalibraries/ajantv2/src/lin',
|
'ajantv2/src/lin',
|
||||||
'ajalibraries',
|
|
||||||
'ajalibraries/ajabase',
|
|
||||||
)
|
)
|
||||||
|
|
||||||
libajantv2 = static_library(
|
libajantv2 = static_library(
|
||||||
'libajantv2',
|
'libajantv2',
|
||||||
sources: ajantv2_sources,
|
sources: ajantv2_sources,
|
||||||
cpp_args: ajantv2_args,
|
dependencies : [thread_dep, rt_dep, dl_dep],
|
||||||
|
cpp_args: [ajantv2_args, common_flags],
|
||||||
include_directories: ajantv2_inc,
|
include_directories: ajantv2_inc,
|
||||||
pic: true,
|
pic: true,
|
||||||
override_options: ['cpp_eh=default', 'werror=false'],
|
override_options: ['cpp_eh=default', 'werror=false'],
|
||||||
|
@ -166,6 +185,7 @@ libajantv2 = static_library(
|
||||||
)
|
)
|
||||||
|
|
||||||
libajantv2_dep = declare_dependency(
|
libajantv2_dep = declare_dependency(
|
||||||
|
compile_args : ajantv2_args,
|
||||||
link_with: libajantv2,
|
link_with: libajantv2,
|
||||||
include_directories: ajantv2_inc,
|
include_directories: ajantv2_inc,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue