gstreamer/sys/msdk/meson.build
Hyunjun Ko 2542b2d34d msdk: supports bufferpool
Implements 2 memory allocators:
1\ GstMsdkSystemAllocator: This will allocate system memory.
2\ GstMsdkVideoAllocator: This will allocate device memory depending
on the platform. (eg. VASurface)

Currently GstMsdkBufferPool uses video allocator currently by default
only on linux. On Windows, we should use system memory until d3d
allocator
is implemented.

https://bugzilla.gnome.org/show_bug.cgi?id=790752
2018-02-13 13:44:08 -09:00

56 lines
1.9 KiB
Meson

msdk_sources = [
'gstmsdk.c',
'gstmsdkcontext.c',
'gstmsdksystemmemory.c',
'gstmsdkvideomemory.c',
'gstmsdkbufferpool.c',
'gstmsdkdec.c',
'gstmsdkenc.c',
'gstmsdkh264dec.c',
'gstmsdkh264enc.c',
'gstmsdkh265dec.c',
'gstmsdkh265enc.c',
'gstmsdkmjpegdec.c',
'gstmsdkmjpegenc.c',
'gstmsdkmpeg2dec.c',
'gstmsdkmpeg2enc.c',
'gstmsdkvp8dec.c',
'gstmsdkvp8enc.c',
'msdk.c',
]
if host_machine.system() == 'windows'
msdk_sources += 'msdk_d3d.c'
else
msdk_sources += ['msdk_libva.c', 'gstmsdkallocator_libva.c']
endif
msdk_root = run_command(python3, '-c', 'import os; print(os.environ.get("INTELMEDIASDKROOT", os.environ.get("MFX_HOME", "")))').stdout().strip()
if msdk_root != ''
msdk_libdir = [msdk_root + '/lib/lin_x64', msdk_root + '/lib/x64']
msdk_incdir = include_directories(msdk_root + '/include')
msdk_lib = cxx.find_library('mfx', dirs: msdk_libdir, required: false)
if host_machine.system() == 'windows'
legacy_stdio_dep = cc.find_library('legacy_stdio_definitions', required: false)
d3d11_dep = cc.find_library('d3d11', required: false)
msdk_dep = declare_dependency(include_directories: msdk_incdir, dependencies: [msdk_lib, d3d11_dep, legacy_stdio_dep])
msdk_dep_found = msdk_lib.found() and d3d11_dep.found() and legacy_stdio_dep.found() and cc.get_id() == 'msvc'
else
libva_dep = dependency('libva-drm', required: false)
libdl_dep = cc.find_library('dl', required: false)
msdk_dep = declare_dependency(include_directories: msdk_incdir, dependencies: [msdk_lib, libva_dep, libdl_dep])
msdk_dep_found = msdk_lib.found() and libva_dep.found() and libdl_dep.found()
endif
if msdk_dep_found
gstmsdktag = library('gstmsdk',
msdk_sources,
c_args : gst_plugins_bad_args,
include_directories : [configinc],
dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, msdk_dep],
install : true,
install_dir : plugins_install_dir,
)
endif
endif