From 6f75579f1fb58c6deaae73322a641e9041ac7b7c Mon Sep 17 00:00:00 2001 From: "Dennis E. Mungai" <2356871+Brainiarc7@users.noreply.github.com> Date: Wed, 7 Feb 2024 00:16:46 +0300 Subject: [PATCH] Enable the full stack of CUDA-related filters via `----enable-cuda-llvm` As at the moment, this FFmpeg build's filtering capabilities are extremely limited in NVENC-based workloads, lacking multiple CUDA-based filters needed for a fully functional GPU-bound transcode. This patch adds the ``--enable-cuda-llvm` `./configure` parameter to FFmpeg's builds, with the addition of `clang` (and its' dependencies) as build requirements for these extra filters. The following filters are now additionally available, and without invoking the installation of the proprietary NVIDIA CUDA SDK: ```sh ffmpeg -filters | grep cuda ... bilateral_cuda V->V (null) T.. bwdif_cuda V->V (null) ... chromakey_cuda V->V (null) ... colorspace_cuda V->V (null) ... hwupload_cuda V->V (null) ... overlay_cuda VV->V (null) ... scale_cuda V->V (null) ... thumbnail_cuda V->V (null) T.. yadif_cuda V->V (null) ``` Licensing, therefore, remains unaffected. --- Dockerfile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Dockerfile b/Dockerfile index 6b42350..a94b2bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -59,6 +59,11 @@ RUN \ automake \ bzip2 \ cmake \ + clang \ + clang-tools \ + libclang1 \ + clang-format \ + clangd \ diffutils \ doxygen \ g++ \ @@ -76,6 +81,13 @@ RUN \ libtool \ libv4l-dev \ libwayland-dev \ + libllvm-ocaml-dev \ + libllvm12 \ + llvm \ + llvm-dev \ + llvm-runtime \ + lldb \ + lld \ libx11-dev \ libx11-xcb-dev \ libxcb-dri3-dev \ @@ -763,6 +775,7 @@ RUN \ --enable-nonfree \ --enable-nvdec \ --enable-nvenc \ + --enable-cuda-llvm \ --enable-opencl \ --enable-openssl \ --enable-stripping \