mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
Introduce GstH264Decoder based Nvidia H.264 decoder element. Similar the element factory name of to v4l2 stateless codec, this element can be configured with factory name "gstnvh264sldec". Note that "sl" in the name stands for "stateless" For now, existing nvh264dec covers more profile and formats (e.g., interlaced stream) than this implementation. However, this implementation allows us to control lower level parameters such as decoded picture buffer management and therefore we can get a chance to improve performance in terms of latency. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1198>
37 lines
891 B
Meson
37 lines
891 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',
|
|
]
|
|
|
|
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, gmodule_dep, gstcodecs_dep],
|
|
install : true,
|
|
install_dir : plugins_install_dir,
|
|
)
|
|
pkgconfig.generate(gstnvcodec, install_dir : plugins_pkgconfig_install_dir)
|
|
plugins += [gstnvcodec]
|
|
|