Netflix / vmaf

Perceptual video quality assessment based on multi-method fusion.
Other
4.34k stars 735 forks source link

Feature request: Allow the VMAF CUDA back-end to be built via clang and LLVM as an alternative to the full CUDA SDK. #1329

Open Brainiarc7 opened 5 months ago

Brainiarc7 commented 5 months ago

Subject matter refers. A build derived with standard clang and llvm tooling would also ease up licensing integrations in projects such as FFmpeg, where the accompanying filter libvmaf_cuda is built under a non-free licensing model, requiring the proprietary CUDA SDK. As it stands, there are multiple build and runtime issues encountered with this dependency on the CUDA SDK. Also see #1220

Please review and revert on the same.

gedoensmax commented 4 months ago

The SDK is just required from compilation and not for distribution. For distribution only the driver library is required. I am not a licensing expert by any means, but does that stand as a problem ? Otherwise your contribution and guidance is very welcome ! I would also love to load the driver lib via dlopen so that a default compile can be with cuda enabled.

kylophone commented 4 months ago

I would also love to load the driver lib via dlopen so that a default compile can be with cuda enabled.

Would ffnvcodec help here?: https://github.com/FFmpeg/nv-codec-headers/blob/master/include/ffnvcodec/dynlink_cuda.h

gedoensmax commented 4 months ago

It would, it's more of a prioritisation issue i would say.