Enable aomenc flags

This commit is contained in:
DataHoarder 2022-05-06 11:28:04 +02:00
parent 3450e60956
commit bf9b804b5d
Signed by: DataHoarder
SSH key fingerprint: SHA256:OLTRf6Fl87G52SiR7sWLGNzlJt4WOX+tfI2yxo0z7xk
4 changed files with 79 additions and 1 deletions

View file

@ -91,8 +91,23 @@ FROM build-base AS build-aom
ARG AOM_TAG=v3.3.0
ARG AOM_REPO=https://aomedia.googlesource.com/aom.git
ARG VMAF_TAG=v2.3.1
ARG VMAF_REPO=https://github.com/Netflix/vmaf.git
ARG BROTLI_TAG=v1.0.9
ARG BROTLI_REPO=https://github.com/google/brotli.git
ARG JXL_TAG=v0.6.1
ARG JXL_REPO=https://github.com/libjxl/libjxl.git
COPY docker/build/vmaf/build.sh /build-vmaf.sh
#COPY docker/build/jxl/build.sh /build-jxl.sh
#COPY docker/build/brotli/build.sh /build-brotli.sh
COPY docker/build/aom/build.sh /build.sh
RUN /build-vmaf.sh
#RUN /build-brotli.sh
#RUN /build-jxl.sh
RUN /build.sh
FROM build-base AS build-svt-av1
@ -230,6 +245,8 @@ COPY --from=build-x264 /usr/bin/x264 /usr/bin/x264
COPY --from=build-x264-dev /usr/bin/x264 /usr/bin/x264-dev
COPY --from=build-aom /usr/bin/aom* /usr/bin/
COPY --from=build-aom /usr/bin/noise_model /usr/bin/
COPY --from=build-aom /usr/bin/photon_noise_table /usr/bin/
COPY --from=build-svt-av1 /usr/bin/SvtAv1* /usr/bin/
COPY --from=build-rav1e /usr/bin/rav1e /usr/bin/rav1e
COPY --from=build-av1an /usr/bin/av1an /usr/bin/av1an

View file

@ -5,8 +5,28 @@ set -o pipefail
git clone --branch "${AOM_TAG}" --depth 1 "${AOM_REPO}" /src/aom
pushd /src/aom
sed -i 's/MAX_NUM_THREADS 64/MAX_NUM_THREADS 128/' aom_util/aom_thread.h
#patch out libskcms as it's bundled in JXL
sed -i 's/find_library\(LIBSKCMS_LIBRARIES libskcms\.a\)//' CMakeLists.txt
sed -i 's/find_library\(LIBSKCMS_LIBRARIES libskcms\.a\)//' CMakeLists.txt
sed -i 's/AND LIBSKCMS_LIBRARIES//' CMakeLists.txt
mkdir b
pushd b
cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DENABLE_CCACHE=ON -DCMAKE_BUILD_TYPE=Release -DCONFIG_AV1_ENCODER=1 -DENABLE_DOCS=OFF -DENABLE_EXAMPLES=ON -DBUILD_SHARED_LIBS=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr && \
#todo: check DCONFIG_NN_V2 (neural network?)
#-DCONFIG_TUNE_BUTTERAUGLI=1 \
#-DSTATIC_LINK_JXL=1 \
cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr \
-DENABLE_DOCS=OFF -DENABLE_EXAMPLES=ON -DENABLE_TOOLS=OFF -DENABLE_TESTS=OFF -DENABLE_CCACHE=ON \
-DCONFIG_FRAME_PARALLEL_ENCODE=1 \
-DCONFIG_AV1_TEMPORAL_DENOISING=1 \
-DCONFIG_BITRATE_ACCURACY=1 \
-DCONFIG_TUNE_VMAF=1 \
-DCONFIG_NN_V2=1 \
-DCONFIG_RT_ML_PARTITIONING=1 \
-DCONFIG_THREE_PASS=1 \
-DCONFIG_AV1_ENCODER=1 \
-DCONFIG_AV1_DECODER=1 \
&& \
make -j$(nproc)
make install

14
docker/build/brotli/build.sh Executable file
View file

@ -0,0 +1,14 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "${BROTLI_TAG}" --depth 1 "${BROTLI_REPO}" /src/brotli
pushd /src/brotli
mkdir b
pushd b
cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr \
-DBROTLI_DISABLE_TESTS=ON \
&& \
make -j$(nproc)
make install

27
docker/build/jxl/build.sh Executable file
View file

@ -0,0 +1,27 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "${JXL_TAG}" --depth 1 "${JXL_REPO}" /src/libjxl
pushd /src/libjxl
git submodule update --jobs $(nproc) --depth 1 --init
mkdir b
pushd b
cmake .. -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr \
-DJPEGXL_ENABLE_FUZZERS=0 \
-DJPEGXL_ENABLE_TOOLS=0 \
-DJPEGXL_ENABLE_DOXYGEN=0 \
-DJPEGXL_ENABLE_MANPAGES=0 \
-DJPEGXL_ENABLE_BENCHMARK=0 \
-DJPEGXL_ENABLE_EXAMPLES=0 \
-DJPEGXL_BUNDLE_LIBPNG=1 \
-DJPEGXL_ENABLE_JNI=0 \
-DJPEGXL_ENABLE_SKCMS=1 \
-DJPEGXL_BUNDLE_SKCMS=1 \
-DJPEGXL_STATIC=1 \
-DBUILD_TESTING=0 \
&& \
make -j$(nproc)
make install