endif
nvcuvid_dep_found = false
+nvcuvid_incdirs = []
if host_machine.system() == 'windows'
- nvcuvid_lib = cc.find_library('nvcuvid', dirs: cuda_libdir, required: nvdec_option)
+ cuda_libdirs = [cuda_libdir]
+ # NOTE: Newer CUDA toolkit versions do not ship with the nvcuvid library, and
+ # you must get it from the Nvidia Video Codec SDK. The SDK ships as a zip
+ # file, so there's no installer and you have to set this env var yourself.
+ video_sdk_root = run_command(python3, '-c', 'import os; print(os.environ.get("NVIDIA_VIDEO_CODEC_SDK_PATH"))').stdout().strip()
+ if video_sdk_root != '' and video_sdk_root != 'None'
+ cuda_libdirs += [join_paths(video_sdk_root, 'Samples', 'NvCodec', 'Lib', arc)]
+ nvcuvid_incdirs = include_directories(join_paths(video_sdk_root, 'Samples', 'NvCodec', 'NvDecoder'))
+ endif
+ nvcuvid_lib = cc.find_library('nvcuvid', dirs: cuda_libdirs, required: nvdec_option)
else
nvcuvid_lib = cc.find_library('nvcuvid', required: nvdec_option)
endif
if nvcuvid_lib.found() and cc.has_function('cuvidCtxLock', dependencies: nvcuvid_lib)
- nvcuvid_dep = declare_dependency(dependencies: nvcuvid_lib)
+ nvcuvid_dep = declare_dependency(dependencies: nvcuvid_lib,
+ include_directories: nvcuvid_incdirs)
nvcuvid_dep_found = true
endif