Added VTM reference encoder for VVC

This commit is contained in:
DataHoarder 2023-08-20 04:09:38 +02:00
parent b96565bbaa
commit 1deec5cb2e
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
2 changed files with 36 additions and 0 deletions

View file

@ -13,6 +13,9 @@ ARG UVG266_REPO=https://github.com/ultravideo/uvg266.git
ARG VVENC_TAG=v1.9.0
ARG VVENC_REPO=https://github.com/fraunhoferhhi/vvenc.git
ARG VTM_TAG=VTM-21.2
ARG VTM_REPO=https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM.git
# AV1 codecs/tools
ARG AOM_TAG=v3.7.0-rc1
ARG AOM_REPO=https://aomedia.googlesource.com/aom.git
@ -164,6 +167,15 @@ COPY docker/build/vvenc/build.sh /build.sh
RUN /build.sh
FROM build-base AS build-vtm
ARG VTM_TAG
ARG VTM_REPO
COPY docker/build/vtm/build.sh /build.sh
RUN /build.sh
FROM build-base AS build-aom
ARG AOM_TAG
@ -369,6 +381,7 @@ COPY --from=build-rav1e /usr/bin/rav1e /usr/bin/rav1e
COPY --from=build-uvg266 /usr/bin/uvg266 /usr/bin/uvg266
COPY --from=build-uvg266-10bit /usr/bin/uvg266 /usr/bin/uvg266-10bit
COPY --from=build-vvenc /usr/bin/vvenc* /usr/bin/
COPY --from=build-vtm /usr/bin/VTM* /usr/bin/
COPY --from=build-xeve /usr/bin/xeveb_app /usr/bin/xeveb
COPY --from=build-xeve-main /usr/bin/xeve_app /usr/bin/xeve

23
docker/build/vtm/build.sh Executable file
View file

@ -0,0 +1,23 @@
#!/bin/bash
set -e
set -o pipefail
git-shallow-clone "${VTM_TAG}" "${VTM_REPO}" /src/vtm
pushd /src/vtm
# Patch -Werror out and remove other build outputs
sed -i 's/warnings-as-errors//g' CMakeLists.txt
sed -i -r 's@add_subdirectory\( "source/App/.*$@@g' CMakeLists.txt
echo 'add_subdirectory( "source/App/EncoderApp" )' >> CMakeLists.txt
echo 'add_subdirectory( "source/App/DecoderApp" )' >> CMakeLists.txt
mkdir b
pushd b
cmake .. \
-DENABLE_HIGH_BITDEPTH=ON \
-DBUILD_SHARED_LIBS=OFF \
-DENABLE_STATIC=ON \
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
-DCMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX:PATH=/usr
make -j$(nproc)
cp -v /src/vtm/bin/EncoderAppStatic /usr/bin/VTMEncoder
cp -v /src/vtm/bin/DecoderAppStatic /usr/bin/VTMDecoder