diff --git a/Dockerfile b/Dockerfile index d0c14fe..f7606be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,7 @@ ENV \ # versions ENV \ - AOM=v3.9.1 \ + AOM=v3.10.0 \ FDKAAC=2.0.3 \ FFMPEG_HARD=7.0.2 \ FONTCONFIG=2.15.0 \ @@ -28,7 +28,7 @@ ENV \ LIBASS=0.17.3 \ LIBDAV1D=1.4.3 \ LIBDOVI=2.1.2 \ - LIBDRM=2.4.122 \ + LIBDRM=2.4.123 \ LIBGL=1.7.0 \ LIBMFX=22.5.4 \ LIBPLACEBO=7.349.0 \ @@ -37,8 +37,8 @@ ENV \ LIBVDPAU=1.5 \ LIBVIDSTAB=1.1.1 \ LIBVMAF=3.0.0 \ - LIBVPL=2.12.0 \ - MESA=24.2.0 \ + LIBVPL=2.13.0 \ + MESA=24.2.1 \ NVCODEC=n12.2.72.0 \ OGG=1.3.5 \ OPENCOREAMR=0.1.6 \ @@ -48,7 +48,7 @@ ENV \ RIST=0.2.10 \ SHADERC=v2024.1 \ SRT=1.5.3 \ - SVTAV1=2.1.2 \ + SVTAV1=2.2.1 \ THEORA=1.1.1 \ VORBIS=1.3.7 \ VPLGPURT=24.2.5 \ @@ -862,6 +862,7 @@ RUN \ --disable-doc \ --disable-ffplay \ --enable-alsa \ + --enable-cuda-llvm \ --enable-cuvid \ --enable-ffprobe \ --enable-gpl \ @@ -901,7 +902,6 @@ RUN \ --enable-nonfree \ --enable-nvdec \ --enable-nvenc \ - --enable-cuda-llvm \ --enable-opencl \ --enable-openssl \ --enable-stripping \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 38dae88..e790d7b 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -14,7 +14,7 @@ ENV \ # versions ENV \ - AOM=v3.9.1 \ + AOM=v3.10.0 \ FDKAAC=2.0.3 \ FFMPEG_HARD=7.0.2 \ FONTCONFIG=2.15.0 \ @@ -25,7 +25,6 @@ ENV \ LAME=3.100 \ LIBASS=0.17.3 \ LIBDAV1D=1.4.3 \ - LIBDRM=2.4.122 \ LIBPNG=1.6.43 \ LIBVA=2.22.0 \ LIBVDPAU=1.5 \ @@ -39,7 +38,7 @@ ENV \ RAV1E=0.7.1 \ RIST=0.2.10 \ SRT=1.5.3 \ - SVTAV1=2.1.2 \ + SVTAV1=2.2.1 \ THEORA=1.1.1 \ VORBIS=1.3.7 \ VPX=1.14.1 \ @@ -56,6 +55,7 @@ RUN \ automake \ bzip2 \ cmake \ + clang \ diffutils \ g++ \ gcc \ @@ -75,6 +75,7 @@ RUN \ libx11-dev \ libxext-dev \ libxml2-dev \ + llvm-18-dev \ make \ nasm \ perl \ @@ -135,6 +136,17 @@ RUN \ make && \ make install && \ strip -d /usr/local/lib/libfdk-aac.so +RUN \ + echo "**** grabbing ffnvcodec ****" && \ + mkdir -p /tmp/ffnvcodec && \ + git clone \ + --branch ${NVCODEC} \ + --depth 1 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git \ + /tmp/ffnvcodec +RUN \ + echo "**** compiling ffnvcodec ****" && \ + cd /tmp/ffnvcodec && \ + make install RUN \ echo "**** grabbing freetype ****" && \ mkdir -p /tmp/freetype && \ @@ -567,6 +579,8 @@ RUN \ --disable-ffplay \ --disable-libdrm \ --enable-alsa \ + --enable-cuda-llvm \ + --enable-cuvid \ --enable-ffprobe \ --enable-gpl \ --enable-libaom \ @@ -600,6 +614,8 @@ RUN \ --enable-libxvid \ --enable-libzimg \ --enable-nonfree \ + --enable-nvdec \ + --enable-nvenc \ --enable-openssl \ --enable-stripping \ --enable-version3 && \ @@ -644,6 +660,10 @@ LABEL maintainer="thelamer" ARG DEBIAN_FRONTEND="noninteractive" +ENV \ + NVIDIA_DRIVER_CAPABILITIES="compute,video,utility" \ + NVIDIA_VISIBLE_DEVICES="all" + RUN \ echo "**** install runtime ****" && \ apt-get update && \ @@ -652,12 +672,14 @@ RUN \ libexpat1 \ libglib2.0-0 \ libgomp1 \ + libllvm18 \ libv4l-0 \ libx11-6 \ libxcb1 \ libxcb-shm0 \ libxext6 \ - libxml2 && \ + libxml2 \ + ocl-icd-libopencl1 && \ echo "**** clean up ****" && \ rm -rf \ /var/lib/apt/lists/* \ diff --git a/README.md b/README.md index 22cbc62..6988dea 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **31.08.24:** - Bump libaom, libdrm, libvpl, mesa and svtav1. Enable nvdec/nvenc on arm64 (untested). * **17.08.24:** - Bump ffmpeg, freetype, libdovi and mesa. * **14.08.24:** - Add SRT and libRIST. * **01.08.24:** - Add libdav1d. Bump libharfbuzz, various Intel drivers and libs, libass, libdrm, libplacebo, libva, mesa, svtav1, and vulkan sdk. diff --git a/readme-vars.yml b/readme-vars.yml index 8b51e33..467b02c 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -178,6 +178,7 @@ full_custom_readme: | ## Versions + * **31.08.24:** - Bump libaom, libdrm, libvpl, mesa and svtav1. Enable nvdec/nvenc on arm64 (untested). * **17.08.24:** - Bump ffmpeg, freetype, libdovi and mesa. * **14.08.24:** - Add SRT and libRIST. * **01.08.24:** - Add libdav1d. Bump libharfbuzz, various Intel drivers and libs, libass, libdrm, libplacebo, libva, mesa, svtav1, and vulkan sdk.