Compare commits

...

3 commits

10 changed files with 232 additions and 42 deletions

View file

@ -4,9 +4,8 @@ ENV PYTHON_VERSION=3.9
RUN DEBIAN_FRONTEND=noninteractive apt update && \
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
libpython${PYTHON_VERSION} python3-pip python3-numpy python3-opencv git nscd curl xz-utils ca-certificates gpg gnupg \
pkg-config \
libnuma1 libavcodec58 libavformat58 libswscale5 libavresample4 libavutil56 libass9 libfftw3-3 && \
libpython${PYTHON_VERSION} python3-pip python3-numpy python3-opencv python3-tk git nscd curl xz-utils ca-certificates gpg gnupg \
libnuma1 libavcodec58 libavformat58 libswscale5 libavresample4 libavutil56 libavfilter7 libavdevice58 libass9 libfftw3-3 && \
rm -rf /var/lib/apt/lists/* && \
pip3 install Cython
@ -18,11 +17,14 @@ RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
DEBIAN_FRONTEND=noninteractive apt update && \
DEBIAN_FRONTEND=noninteractive apt install -y --no-install-recommends \
python${PYTHON_VERSION}-dev \
autoconf automake libtool pkg-config meson make cmake yasm nasm gcc g++ clang llvm lld ccache \
libnuma-dev libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libavutil-dev libass-dev libfftw3-3 libfftw3-dev && \
update-alternatives --install /usr/bin/cc cc /usr/bin/clang 100 && \
update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 100 && \
update-alternatives --install /usr/bin/link link /usr/bin/ld.lld 100
python3-setuptools python3-wheel \
autoconf automake libtool pkg-config meson ninja-build make rake cmake yasm nasm gcc g++ clang llvm lld ccache jq \
libflac-dev libogg-dev libvorbis-dev libboost-all-dev zlib1g-dev libdvdread-dev libgmp-dev xsltproc docbook-xsl doxygen \
libxcb-xinerama0-dev \
libnuma-dev libavcodec-dev libavformat-dev libswscale-dev libavresample-dev libavutil-dev libavfilter-dev libavdevice-dev libass-dev libfftw3-3 libfftw3-dev && \
update-alternatives --install /usr/bin/cc cc $(readlink -f /usr/bin/clang) 100 && \
update-alternatives --install /usr/bin/c++ c++ $(readlink -f /usr/bin/clang++) 100 && \
update-alternatives --install /usr/bin/link link $(readlink -f /usr/bin/ld.lld) 100
ENV CC=clang
ENV CXX=clang++
@ -103,7 +105,7 @@ RUN /build.sh
FROM rust:1.60-bullseye AS build-rav1e
ARG RAV1E_TAG=p20220426
ARG RAV1E_TAG=master
ARG RAV1E_REPO=https://github.com/xiph/rav1e.git
RUN DEBIAN_FRONTEND=noninteractive apt update && \
@ -132,7 +134,6 @@ ARG VS_TAG=R54
COPY docker/build/magick/build.sh /build-magick.sh
COPY docker/build/zimg/build.sh /build-zimg.sh
COPY docker/build/vapoursynth/build.sh /build-vapoursynth.sh
COPY docker/build/vapoursynth-plugins/build.sh /build-vapoursynth-plugins.sh
RUN /build-zimg.sh && \
@ -141,8 +142,71 @@ RUN /build-zimg.sh && \
ENV PYTHONPATH "/usr/lib/python${PYTHON_VERSION}/site-packages:/usr/lib/vapoursynth:$PYTHONPATH"
COPY docker/build/vapoursynth-plugins/build.sh /build-vapoursynth-plugins.sh
RUN /build-vapoursynth-plugins.sh
FROM build-base AS build-mkvtoolnix
RUN echo "deb-src http://deb.debian.org/debian bullseye main" > /etc/apt/sources.list.d/src.list && \
echo "deb-src http://security.debian.org/debian-security bullseye-security main" >> /etc/apt/sources.list.d/src.list && \
echo "deb-src http://deb.debian.org/debian bullseye-updates main" >> /etc/apt/sources.list.d/src.list && \
DEBIAN_FRONTEND=noninteractive apt update && \
DEBIAN_FRONTEND=noninteractive apt build-dep -y qtbase-opensource-src
ARG MKVTOOLNIX_TAG=release-67.0.0
ARG MKVTOOLNIX_REPO=https://gitlab.com/mbunkus/mkvtoolnix.git
COPY docker/build/qt5/build.sh /build-qt5.sh
COPY docker/build/mkvtoolnix/build.sh /build.sh
RUN /build-qt5.sh
RUN /build.sh
FROM build-vapoursynth AS build-av1an
ARG AV1AN_TAG=0.3.1
ARG AV1AN_REPO=https://github.com/master-of-zen/Av1an.git
ARG VMAF_TAG=v2.3.1
ARG VMAF_REPO=https://github.com/Netflix/vmaf.git
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
COPY docker/build/vmaf/build.sh /build-vmaf.sh
COPY docker/build/av1an/build.sh /build-av1an.sh
RUN /build-vmaf.sh
RUN /build-av1an.sh
FROM build-base AS build-xeve
ARG XEVE_TAG=v0.3.4
ARG XEVE_REPO=https://github.com/mpeg5/xeve.git
COPY docker/build/xeve/build.sh /build.sh
RUN /build.sh BASE
FROM build-base AS build-xeve-main
ARG XEVE_TAG=v0.3.4
ARG XEVE_REPO=https://github.com/mpeg5/xeve.git
COPY docker/build/xeve/build.sh /build.sh
RUN /build.sh MAIN
FROM build-base AS build-mediainfo
ARG MEDIAINFO_TAG=v22.03
ARG MEDIAINFOLIB_TAG=v22.03
COPY docker/build/mediainfo/build.sh /build.sh
RUN /build.sh
FROM dep-base
@ -167,17 +231,27 @@ COPY --from=build-x264-dev /usr/bin/x264 /usr/bin/x264-dev
COPY --from=build-aom /usr/bin/aom* /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
COPY --from=build-av1an /usr/bin/vmaf /usr/bin/vmaf
COPY --from=build-uvg266 /usr/bin/uvg266 /usr/bin/uvg266
COPY --from=build-vvenc /usr/bin/vvenc* /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
COPY --from=build-fdk-aac /usr/bin/aac-enc /usr/bin/aac-enc
COPY --from=build-vapoursynth /usr/bin/vspipe /usr/bin/vspipe
COPY --from=build-vapoursynth /usr/lib/python${PYTHON_VERSION}/site-packages/vapoursynth.* /usr/lib/python${PYTHON_VERSION}/site-packages/
COPY --from=build-vapoursynth /usr/lib/libvapoursynth* /usr/lib/
COPY --from=build-vapoursynth /usr/lib/libzimg* /usr/lib/
COPY --from=build-vapoursynth /usr/lib/vapoursynth /usr/lib/vapoursynth
COPY --from=build-vapoursynth /usr/lib/libvs* /usr/lib/
COPY --from=build-vapoursynth /usr/lib/libffms* /usr/lib/
COPY --from=build-vapoursynth /usr/bin/magick /usr/bin/magick
COPY --from=build-vapoursynth /usr/etc/ImageMagick-7 /usr/etc/ImageMagick-7
COPY --from=build-vapoursynth /usr/etc/ImageMagick-7 /usr/etc/ImageMagick-7
COPY --from=build-mkvtoolnix /usr/bin/mkv* /usr/bin/
COPY --from=build-mediainfo /usr/bin/mediainfo /usr/bin/mediainfo

View file

@ -8,33 +8,39 @@ docker run -it --rm -v /path/to/mount/on/container:/mnt encoder
## Included tools
| Tool | Kind | Notes |
|:------------------------------------------------------------------------------------------------------------------------------------:|:----------------------:|:------------------------------------------------------------------------------------------------:|
| [ffmpeg](https://johnvansickle.com/ffmpeg/) | General | static build from git snapshot. Can be accessed via `$ ffmpeg` |
| [Sushi](https://github.com/FichteFoll/Sushi) | Subtitle Syncing | Automatic shifter for SRT and ASS subtitle based on audio streams. Can be accessed via `$ sushi` |
| [x264 stable](https://code.videolan.org/videolan/x264/-/tree/stable) | H.264 Encoder | x264, the best and fastest H.264 encoder. Can be accessed via `$ x264` |
| [x264 master](https://code.videolan.org/videolan/x264/-/tree/master) | H.264 Encoder | Can be accessed via `$ x264-dev` |
| [x265 3.5](https://bitbucket.org/multicoreware/x265_git/src/3.5/) | H.265/HEVC Encoder | |
| [aom v3.3.0](https://aomedia.googlesource.com/aom/+/refs/tags/v3.3.0/) | AV1 Encoder/Decoder | Can be accessed via `$ aomenc` or `$ aomdec` |
| [SVT-AV1 v1.0.0](https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases/v1.0.0) | AV1 Encoder/Decoder | Can be accessed via `$ SvtAv1EncApp` or `$ SvtAv1DecApp` |
| [rav1e p20220426](https://github.com/xiph/rav1e/tree/p20220426) | AV1 Encoder | Can be accessed via `$ rav1e` |
| [uvg266 v0.2.3](https://github.com/ultravideo/uvg266/tree/v0.2.3) | H.266/VVC Encoder | Can be accessed via `$ uvg266` |
| [vvenc v1.4.0](https://github.com/fraunhoferhhi/vvenc/tree/v1.4.0) | H.266/VVC Encoder | Fraunhofer Versatile Video Encoder (VVenC). Can be accessed via `$ vvencapp` or `$ vvencFFapp` |
| [FDK-AAC master](https://github.com/mstorsjo/fdk-aac) | AAC-LC/HE/HEv2 Encoder | Fraunhofer FDK AAC code from Android. Can be accessed via `$ aac-enc` |
| [VapourSynth R54](https://github.com/vapoursynth/vapoursynth/tree/R54) | Processing | Can be accessed via `$ vspipe` |
| [L-SMASH-Works](https://github.com/VFR-maniac/L-SMASH-Works) | VapourSynth Plugin | |
| [d2vsource v1.2](https://github.com/dwbuiten/d2vsource/tree/v1.2) | VapourSynth Plugin | D2V parser and decoder for VapourSynth |
| [VapourSynth-TDeintMod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod/tree/r10.1) | VapourSynth Plugin | TDeint filter for VapourSynth |
| [fmtconv r28](https://github.com/EleonoreMizo/fmtconv/tree/r28) | VapourSynth Plugin | Format conversion tools for Vapoursynth and Avisynth+ |
| [vapoursynth-mvtools](https://github.com/dubhater/vapoursynth-mvtools/tree/v23) | VapourSynth Plugin | Motion compensation and stuff |
| [VapourSynth-FFT3DFilter 64323f0](https://github.com/myrsloik/VapourSynth-FFT3DFilter/tree/64323f0fdee4dd4fe429ee6287906dbae8e7571c) | VapourSynth Plugin | VapourSynth port of FFT3DFilter |
| [znedi3 r2.1](https://github.com/sekrit-twc/znedi3/tree/r2.1) | VapourSynth Plugin | nnedi3 filter |
| [descale r7](https://github.com/Irrational-Encoding-Wizardry/descale/tree/r7) | VapourSynth Plugin | VapourSynth plugin to undo upscaling |
| [flash3kyuu_deband](https://github.com/SAPikachu/flash3kyuu_deband) | VapourSynth Plugin | A deband library and filter for avisynth/vapoursynth |
| [VapourSynth-BM3D r9](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D/tree/r9) | VapourSynth Plugin | BM3D denoising filter for VapourSynth |
| [VapourSynth-DFTTest r7](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest/tree/r7) | VapourSynth Plugin | DFTTest filter for VapourSynth |
| [VapourSynth-Yadifmod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod/tree/r10.1) | VapourSynth Plugin | Yadifmod filter for VapourSynth |
| [havsfunc 3b6a80](https://github.com/HomeOfVapourSynthEvolution/havsfunc) | VapourSynth Functions | Holy's ported AviSynth functions for VapourSynth |
| [mvsfunc 90e185](https://github.com/HomeOfVapourSynthEvolution/mvsfunc) | VapourSynth Functions | mawen1250's VapourSynth functions |
| [fvsfunc 29ced9](https://github.com/Irrational-Encoding-Wizardry/fvsfunc) | VapourSynth Functions | Small collection of VapourSynth functions |
| [muvsfunc 6158bf](https://github.com/WolframRhodium/muvsfunc) | VapourSynth Functions | Muonium's VapourSynth functions |
| Tool | Kind | Notes |
|:------------------------------------------------------------------------------------------------------------------------------------:|:----------------------:|:-------------------------------------------------------------------------------------------------------------------------------------:|
| [ffmpeg](https://johnvansickle.com/ffmpeg/) | General Tools | static build from git snapshot. Can be accessed via `$ ffmpeg` |
| [Sushi](https://github.com/FichteFoll/Sushi) | Subtitle Syncing | Automatic shifter for SRT and ASS subtitle based on audio streams. Can be accessed via `$ sushi` |
| [MKVToolNix 67.0.0](https://gitlab.com/mbunkus/mkvtoolnix/-/tree/release-67.0.0) | Matroska Tools | Creating and working with Matroska files. |
| [MediaInfo v22.03](https://github.com/MediaArea/MediaInfo/tree/v22.03) | General Tools | Convenient unified display of the most relevant technical and tag data for video and audio files. |
| [x264 stable](https://code.videolan.org/videolan/x264/-/tree/stable) | H.264 Encoder | x264, the best and fastest H.264 encoder. Can be accessed via `$ x264` |
| [x264 master](https://code.videolan.org/videolan/x264/-/tree/master) | H.264 Encoder | Can be accessed via `$ x264-dev` |
| [x265 3.5](https://bitbucket.org/multicoreware/x265_git/src/3.5/) | H.265/HEVC Encoder | |
| [aom v3.3.0](https://aomedia.googlesource.com/aom/+/refs/tags/v3.3.0/) | AV1 Encoder/Decoder | Can be accessed via `$ aomenc` or `$ aomdec` |
| [SVT-AV1 v1.0.0](https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases/v1.0.0) | AV1 Encoder/Decoder | Can be accessed via `$ SvtAv1EncApp` or `$ SvtAv1DecApp` |
| [rav1e master](https://github.com/xiph/rav1e/tree/master) | AV1 Encoder | Can be accessed via `$ rav1e` |
| [uvg266 v0.2.3](https://github.com/ultravideo/uvg266/tree/v0.2.3) | H.266/VVC Encoder | Can be accessed via `$ uvg266` |
| [vvenc v1.4.0](https://github.com/fraunhoferhhi/vvenc/tree/v1.4.0) | H.266/VVC Encoder | Fraunhofer Versatile Video Encoder (VVenC). Can be accessed via `$ vvencapp` or `$ vvencFFapp` |
| [xeve v0.3.4](https://github.com/mpeg5/xeve/tree/v0.3.4) | MPEG-5 EVC Encoder | eXtra-fast Essential Video Encoder, MPEG-5 EVC (Essential Video Coding). Can be accessed via `$ xeveb` or `$ xeve` |
| [FDK-AAC master](https://github.com/mstorsjo/fdk-aac) | AAC-LC/HE/HEv2 Encoder | Fraunhofer FDK AAC code from Android. Can be accessed via `$ aac-enc` |
| [Av1an 0.3.1](https://github.com/master-of-zen/Av1an/tree/0.3.1) | Encoding Tools | Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding. Can be accessed via `$ av1an` |
| [vmaf v2.3.1](https://github.com/Netflix/vmaf/tree/v2.3.1) | Processing Tools | Perceptual video quality assessment based on multi-method fusion. Can be accessed via `$ vmaf` |
| [VapourSynth R54](https://github.com/vapoursynth/vapoursynth/tree/R54) | Processing Tools | Can be accessed via `$ vspipe` |
| [L-SMASH-Works](https://github.com/VFR-maniac/L-SMASH-Works) | VapourSynth Plugin | |
| [d2vsource v1.2](https://github.com/dwbuiten/d2vsource/tree/v1.2) | VapourSynth Plugin | D2V parser and decoder for VapourSynth |
| [VapourSynth-TDeintMod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-TDeintMod/tree/r10.1) | VapourSynth Plugin | TDeint filter for VapourSynth |
| [fmtconv r28](https://github.com/EleonoreMizo/fmtconv/tree/r28) | VapourSynth Plugin | Format conversion tools for Vapoursynth and Avisynth+ |
| [vapoursynth-mvtools](https://github.com/dubhater/vapoursynth-mvtools/tree/v23) | VapourSynth Plugin | Motion compensation and stuff |
| [VapourSynth-FFT3DFilter 64323f0](https://github.com/myrsloik/VapourSynth-FFT3DFilter/tree/64323f0fdee4dd4fe429ee6287906dbae8e7571c) | VapourSynth Plugin | VapourSynth port of FFT3DFilter |
| [znedi3 r2.1](https://github.com/sekrit-twc/znedi3/tree/r2.1) | VapourSynth Plugin | nnedi3 filter |
| [descale r7](https://github.com/Irrational-Encoding-Wizardry/descale/tree/r7) | VapourSynth Plugin | VapourSynth plugin to undo upscaling |
| [flash3kyuu_deband](https://github.com/SAPikachu/flash3kyuu_deband) | VapourSynth Plugin | A deband library and filter for avisynth/vapoursynth |
| [VapourSynth-BM3D r9](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-BM3D/tree/r9) | VapourSynth Plugin | BM3D denoising filter for VapourSynth |
| [VapourSynth-DFTTest r7](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DFTTest/tree/r7) | VapourSynth Plugin | DFTTest filter for VapourSynth |
| [VapourSynth-Yadifmod r10.1](https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Yadifmod/tree/r10.1) | VapourSynth Plugin | Yadifmod filter for VapourSynth |
| [ffms2 2.40](https://github.com/FFMS/ffms2/tree/2.40) | VapourSynth Plugin | An FFmpeg based source library and Avisynth/VapourSynth plugin for easy frame accurate access |
| [havsfunc 3b6a80](https://github.com/HomeOfVapourSynthEvolution/havsfunc) | VapourSynth Functions | Holy's ported AviSynth functions for VapourSynth |
| [mvsfunc 90e185](https://github.com/HomeOfVapourSynthEvolution/mvsfunc) | VapourSynth Functions | mawen1250's VapourSynth functions |
| [fvsfunc 29ced9](https://github.com/Irrational-Encoding-Wizardry/fvsfunc) | VapourSynth Functions | Small collection of VapourSynth functions |
| [muvsfunc 6158bf](https://github.com/WolframRhodium/muvsfunc) | VapourSynth Functions | Muonium's VapourSynth functions |

11
docker/build/av1an/build.sh Executable file
View file

@ -0,0 +1,11 @@
#!/bin/bash
set -e
set -o pipefail
source $HOME/.cargo/env
git clone --branch "${AV1AN_TAG}" --depth 1 "${AV1AN_REPO}" /src/av1an
pushd /src/av1an
CFLAGS="" CXXFLAGS="" CPPFLAGS="" LDFLAGS="" LD=ld RUSTFLAGS="-C target-cpu=native" cargo build --release --features ""
cp "$(cargo metadata --format-version 1 | jq -r '.target_directory')/release/av1an" /usr/bin/av1an

25
docker/build/mediainfo/build.sh Executable file
View file

@ -0,0 +1,25 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "v0.4.39" --depth 1 https://github.com/MediaArea/ZenLib.git /src/ZenLib
pushd /src/ZenLib/Project/GNU/Library
./autogen.sh
./configure --enable-static --prefix=/usr
make -j$(nproc)
make install
git clone --branch "${MEDIAINFOLIB_TAG}" --depth 1 https://github.com/MediaArea/MediaInfoLib.git /src/MediaInfoLib
pushd /src/MediaInfoLib/Project/GNU/Library
./autogen.sh
./configure --enable-staticlibs --enable-static --prefix=/usr
make -j$(nproc)
make install
git clone --branch "${MEDIAINFO_TAG}" --depth 1 https://github.com/MediaArea/MediaInfo.git /src/MediaInfo
pushd /src/MediaInfo/Project/GNU/CLI
./autogen.sh
./configure --enable-staticlibs --prefix=/usr
make -j$(nproc)
make install

View file

@ -0,0 +1,10 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "${MKVTOOLNIX_TAG}" --recursive --depth 1 "${MKVTOOLNIX_REPO}" /src/mkvtoolnix
pushd /src/mkvtoolnix
./autogen.sh
./configure --enable-static --disable-gui --disable-qt6 --enable-qt5 --with-qt-pkg-config --enable-static-qt --enable-precompiled-headers --disable-update-check --prefix=/usr
rake -j$(nproc)
rake install

34
docker/build/qt5/build.sh Executable file
View file

@ -0,0 +1,34 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "5.15.2" --depth 1 https://code.qt.io/qt/qt5.git /src/qt5
pushd /src/qt5
git submodule update --jobs $(nproc) --depth 1 --init
mkdir b
pushd b
../configure -verbose -prefix /usr -confirm-license -release -no-shared -static -mp -ltcg \
-linker lld -pch -platform linux-clang \
-ccache -pkg-config -opensource -no-warnings-are-errors \
-no-iconv -no-icu -qt-freetype -no-zlib -no-harfbuzz \
-no-gif -no-ico -no-libpng -no-libjpeg \
-no-libudev -no-evdev -no-bundled-xcb-xinput -no-libinput -no-mtdev -no-tslib \
-no-xcb -no-linuxfb -no-kms -no-gbm -no-eglfs -no-directfb -no-xcb-xlib \
-no-egl -no-opengl -no-vulkan -no-qpa -no-gtk -no-cups -no-ssl -no-openssl -no-inotify -no-eventfd -no-glib -qt-sqlite \
-no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci \
-no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds \
-no-widgets -no-xkbcommon \
-no-feature-accessibility -no-feature-testlib \
-qt-doubleconversion -qt-pcre \
-nomake examples -nomake tests \
-skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdoc \
-skip qtgamepad -skip qtgraphicaleffects -skip qtlocation -skip qtnetworkauth -skip qtpurchasing \
-skip qtquickcontrols -skip qtquickcontrols2 -skip qtremoteobjects -skip qtscxml -skip qtsensors \
-skip qtserialbus -skip qtserialport -skip qtspeech -skip qtvirtualkeyboard -skip qtwebview \
-skip qtscript -skip qtwebengine -skip qtdoc \
-skip qtactiveqt -skip qtmacextras \
-skip qtwebsockets -skip qtwinextras -skip qtwebchannel -skip qtdeclarative \
-skip qtimageformats -skip qtx11extras -skip qttranslations
make -j$(nproc)
make install

View file

@ -4,6 +4,6 @@ set -o pipefail
git clone --branch "${RAV1E_TAG}" --depth 1 "${RAV1E_REPO}" /src/rav1e
pushd /src/rav1e
RUSTFLAGS="-C target-cpu=native" cargo build --release --features asm,threading
RUSTFLAGS="-C target-cpu=native" cargo build --release --features unstable,asm,threading
cp "$(cargo metadata --format-version 1 | jq -r '.target_directory')/release/rav1e" /usr/bin/rav1e

View file

@ -98,6 +98,13 @@ pushd /src/VapourSynth-Yadifmod
make -j$(nproc)
cp .libs/libyadifmod.so /usr/lib/vapoursynth/
git clone --branch "2.40" --depth 1 https://github.com/FFMS/ffms2.git /src/ffms2
pushd /src/ffms2
./autogen.sh
./configure --prefix=/usr
make -j$(nproc)
make install
curl https://raw.githubusercontent.com/HomeOfVapourSynthEvolution/havsfunc/3b6a80ce502e6775c70df6bb2d19124de149073f/havsfunc.py > /usr/lib/vapoursynth/havsfunc.py
curl https://raw.githubusercontent.com/HomeOfVapourSynthEvolution/mvsfunc/90e185220901402b974d7364345e0f25e71ab8fe/mvsfunc.py > /usr/lib/vapoursynth/mvsfunc.py
curl https://raw.githubusercontent.com/Irrational-Encoding-Wizardry/fvsfunc/29ced90a3f620844dea0efa8666542298f68f421/fvsfunc.py > /usr/lib/vapoursynth/fvsfunc.py

9
docker/build/vmaf/build.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/bash
set -e
set -o pipefail
git clone --branch "${VMAF_TAG}" --depth 1 "${VMAF_REPO}" /src/vmaf
pushd /src/vmaf/libvmaf
meson setup build . --prefix /usr --buildtype release -Denable_float=true
ninja -vC build
ninja -vC build install

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

@ -0,0 +1,14 @@
#!/bin/bash
set -e
set -o pipefail
export CFLAGS="$CFLAGS -Wno-unknown-warning-option -Wno-error=parentheses-equality -Wno-error=empty-body -Wno-error=shift-negative-value -Wno-error=sometimes-uninitialized -Wno-error=typedef-redefinition -Wno-error=for-loop-analysis"
export CPPFLAGS="$CFLAGS"
git clone --branch "${XEVE_TAG}" --depth 1 "${XEVE_REPO}" /src/xeve
pushd /src/xeve
mkdir b
pushd b
cmake .. -DSET_PROF="${1}" -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DXEVE_APP_STATIC_BUILD=ON -D CMAKE_INSTALL_PREFIX:PATH=/usr && \
make -j$(nproc)
make install