[FFmpeg-devel] FW: Requirements for compiling with CUDA_SDK option enabled

Philip Langdale philipl at overt.org
Tue Feb 19 04:53:34 EET 2019

On Mon, 18 Feb 2019 21:44:33 +0000
Soft Works <softworkz at hotmail.com> wrote:

> Hi Phil,
> thanks for replying. I was just about to start migrating the filters
> to dynamic loading (nv-codec-headers)..
> From your explanations, the situation doesn't seem to be as bad as it
> could be. When the CPU code of the filters can be changed to dynamic
> linking, then there's just the CUDA kernel code left to deal with.
> The GPL may forbid to include and distribute it inside or as part of
> ffmpeg. But it cannot forbid ffmpeg to copy some external binary code
> at runtime from the filesystem to the GPU and execute it there
> (different process, different harware). That would be similar like a
> non-GPL application being allowed to bundle ffmpeg.exe (GPL-compiled).
> At least from my understanding it would be perfectly legal to exclude
> the CUDA kernel code from ffmpeg and add an option to the filters
> for specifying a file containing the compiled CUDA kernel to be loaded
> at runtime (via cuModuleLoadData).
> What do you think?

It's certainly something you could do, but the kernels would need to be
distributed separately, respecting the licence of the individual kernel
source files. In the case of the nvidia authored filters, the kernels
are under an MIT style licence, so you'd be able to distribute compiled
kernels, but for yadif_cuda, the kernel source is still covered by the
lgpl and you would have to evaluate what is required for compliance
(IANAL, etc, etc) in that case.


More information about the ffmpeg-devel mailing list