From 46102733773f9a96b1895ea23b92aeb11878b820 Mon Sep 17 00:00:00 2001 From: Mattias Wadman Date: Mon, 30 Sep 2024 16:43:50 +0200 Subject: [PATCH] Add vvenc --- Dockerfile | 24 ++++++++++++++++++++++++ README.md | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 58e2b4f..c4e3e9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1090,6 +1090,26 @@ RUN \ cmake --build build -j$(nproc) && \ cmake --install build +# bump: vvenc /VVENC_VERSION=([\d.]+)/ https://github.com/fraunhoferhhi/vvenc.git|* +# bump: vvenc after ./hashupdate Dockerfile VVENC $LATEST +# bump: vvenc link "CHANGELOG" https://github.com/fraunhoferhhi/vvenc/releases/tag/v$LATEST +ARG VVENC_VERSION=1.12.0 +ARG VVENC_URL="https://github.com/fraunhoferhhi/vvenc/archive/refs/tags/v$VVENC_VERSION.tar.gz" +ARG VVENC_SHA256=e7311ffcc87d8fcc4b839807061cca1b89be017ae7c449a69436dc2dd07615c2 +RUN \ + wget $WGET_OPTS -O vvenc.tar.gz "$VVENC_URL" && \ + echo "$VVENC_SHA256 vvenc.tar.gz" | sha256sum --status -c - && \ + tar $TAR_OPTS vvenc.tar.gz && cd vvenc-* && \ + # TODO: https://github.com/fraunhoferhhi/vvenc/pull/422 + sed -i 's/-Werror;//' source/Lib/vvenc/CMakeLists.txt && \ + cmake \ + -S . \ + -B build/release-static \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr/local && \ + cmake --build build/release-static -j && \ + cmake --build build/release-static --target install + # bump: ffmpeg /FFMPEG_VERSION=([\d.]+)/ https://github.com/FFmpeg/FFmpeg.git|* # bump: ffmpeg after ./hashupdate Dockerfile FFMPEG $LATEST # bump: ffmpeg link "Changelog" https://github.com/FFmpeg/FFmpeg/blob/n$LATEST/Changelog @@ -1169,6 +1189,7 @@ RUN \ --enable-libvorbis \ --enable-libvpl \ --enable-libvpx \ + --enable-libvvenc \ --enable-libwebp \ --enable-libx264 \ --enable-libx265 \ @@ -1246,6 +1267,7 @@ RUN \ libvorbis: env.VORBIS_VERSION, \ libvpl: env.LIBVPL_VERSION, \ libvpx: env.VPX_VERSION, \ + libvvenc: env.VVENC_VERSION, \ libwebp: env.LIBWEBP_VERSION, \ libx264: env.X264_VERSION, \ libx265: env.X265_VERSION, \ @@ -1295,6 +1317,8 @@ RUN ["/ffprobe", "-i", "https://github.com/favicon.ico"] RUN ["/ffprobe", "-tls_verify", "1", "-ca_file", "/etc/ssl/cert.pem", "-i", "https://github.com/favicon.ico"] # svg RUN ["/ffprobe", "-i", "https://github.githubassets.com/favicons/favicon.svg"] +# vvenc +RUN ["/ffmpeg", "-f", "lavfi", "-i", "testsrc", "-c:v", "libvvenc", "-t", "100ms", "-f", "null", "-"] # clamp all files into one layer FROM scratch AS final2 diff --git a/README.md b/README.md index 3ab1f98..61fbc08 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ alias ffprobe='docker run -i --rm -u $UID:$GROUPS -v "$PWD:$PWD" -w "$PWD" --ent - [libvorbis](https://github.com/xiph/vorbis) - [libvpl](https://github.com/intel/libvpl) - [libvpx](https://github.com/webmproject/libvpx) +- [libvvenc](https://github.com/fraunhoferhhi/vvenc) - [libwebp](https://chromium.googlesource.com/webm/libwebp) - [libx264](https://www.videolan.org/developers/x264.html) - [libx265](https://www.videolan.org/developers/x265.html) (multilib with support for 10 and 12 bits) @@ -286,6 +287,5 @@ usage and potential distribution of such. ### TODOs and possible things to add - Add libplacebo, chromaprint, etc. ... -- Add vvenc/vvdec support once in stable - Add acceleration support (GPU, CUDA, ...) - Add *.a *.so libraries, headers and pkg-config somehow