mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 19:31:12 +00:00
cf5ef5635f
Introducing CUDA buffer pool with generic CUDA memory support. Likewise GL memory, any elements which are able to access CUDA device memory directly can map this CUDA memory without upload/download overhead via the "GST_MAP_CUDA" map flag. Also usual GstMemory map/unmap is also possible with internal staging memory. For staging, CUDA Host allocated memory is used (see CuMemAllocHost API). The memory is allowing system access but has lower overhead during GPU upload/download than normal system memory. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
40 lines
973 B
Meson
40 lines
973 B
Meson
nvcodec_sources = [
|
|
'plugin.c',
|
|
'gstnvenc.c',
|
|
'gstnvbaseenc.c',
|
|
'gstnvh264enc.c',
|
|
'gstnvh265enc.c',
|
|
'gstcudaloader.c',
|
|
'gstnvdec.c',
|
|
'gstcuvidloader.c',
|
|
'gstcudacontext.c',
|
|
'gstcudautils.c',
|
|
'gstnvdecoder.c',
|
|
'gstnvh264dec.c',
|
|
'gstnvh265dec.c',
|
|
'gstcudamemory.c',
|
|
'gstcudabufferpool.c',
|
|
]
|
|
|
|
if get_option('nvcodec').disabled()
|
|
subdir_done()
|
|
endif
|
|
|
|
plugin_incdirs = [configinc, include_directories('./stub')]
|
|
extra_c_args = ['-DGST_USE_UNSTABLE_API']
|
|
|
|
if gstgl_dep.found()
|
|
extra_c_args += ['-DHAVE_NVCODEC_GST_GL=1']
|
|
endif
|
|
|
|
gstnvcodec = library('gstnvcodec',
|
|
nvcodec_sources,
|
|
c_args : gst_plugins_bad_args + extra_c_args,
|
|
include_directories : plugin_incdirs,
|
|
dependencies : [gstbase_dep, gstvideo_dep, gstpbutils_dep, gstgl_dep, gstglproto_dep, gmodule_dep, gstcodecs_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
pkgconfig.generate(gstnvcodec, install_dir : plugins_pkgconfig_install_dir)
|
|
plugins += [gstnvcodec]
|
|
|