This repository has been archived on 2021-01-24. You can view files and clone it, but cannot push or open issues or pull requests.
vapoursynth/Dockerfile

136 lines
4.9 KiB
Docker
Raw Normal View History

FROM alpine as fonts
RUN wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Iosevka.zip \
&& mkdir iosevka \
&& unzip -d iosevka Iosevka.zip \
&& rm Iosevka.zip iosevka/Iosevka\ Term\ * \
&& chown -R 1000:1000 iosevka
2020-01-06 20:20:52 +01:00
FROM debian:testing
RUN echo 'deb http://ftp-stud.hs-esslingen.de/pub/Mirrors/debian-multimedia/ testing main' > /etc/apt/sources.list.d/deb-multimedia.list \
&& apt-get update -oAcquire::AllowInsecureRepositories=true \
&& apt-get -y --allow-unauthenticated install deb-multimedia-keyring \
2020-05-09 18:42:30 +02:00
&& apt-get update
2020-05-09 18:42:30 +02:00
# Base build dependencies
RUN apt-get -y install \
build-essential \
wget
2020-01-11 16:15:00 +01:00
2020-05-09 18:42:30 +02:00
# Vapoursynth plugin build dependencies
RUN apt-get -y install \
autoconf \
cargo \
git \
2020-10-23 15:10:42 +02:00
libfftw3-dev \
2020-05-09 18:42:30 +02:00
libplacebo-dev \
libtool \
meson \
vapoursynth-dev
2020-03-15 18:04:38 +01:00
# required by hvf.Deblock_QED (required by fvf.AutoDeblock)
2020-01-11 16:15:00 +01:00
RUN cd /tmp \
&& git clone --depth=1 https://github.com/HomeOfVapourSynthEvolution/VapourSynth-DCTFilter \
&& cd VapourSynth-DCTFilter \
&& ./autogen.sh \
&& ./configure --libdir=/usr/lib/x86_64-linux-gnu/vapoursynth \
&& make install \
&& cd .. \
&& rm -rf VapourSynth-DCTFilter
2020-02-13 22:37:46 +01:00
RUN cd /tmp \
&& git clone --depth=1 https://github.com/MonoS/VS-ContinuityFixer \
&& cd VS-ContinuityFixer \
&& sed -i \
-e 's/VapourSynth\.h/vapoursynth\/VapourSynth.h/' \
-e 's/VSHelper\.h/vapoursynth\/VSHelper.h/' \
continuity.cpp \
&& g++ -shared -fPIC -O2 -msse2 -mfpmath=sse continuity.cpp -o continuity.so \
&& cp continuity.so /usr/lib/x86_64-linux-gnu/vapoursynth/ \
&& cd .. \
&& rm -rf VS-ContinuityFixer
# TODO: Remove when newer version is in deb-multimedia
2020-05-09 18:42:30 +02:00
RUN cd /tmp \
&& git clone --depth=1 https://github.com/Irrational-Encoding-Wizardry/vapoursynth-descale \
2020-02-13 22:00:39 +01:00
&& cd vapoursynth-descale \
&& meson build \
&& ninja -C build \
&& cp build/libdescale.so /usr/lib/x86_64-linux-gnu/vapoursynth/ \
2020-02-13 22:00:39 +01:00
&& cd .. \
&& rm -rf vapoursynth-descale
2020-05-06 22:51:04 +02:00
RUN cd /tmp \
&& git clone --depth=1 --recursive https://github.com/Lypheo/vs-placebo \
&& cd vs-placebo \
&& meson build \
&& cd build \
&& ninja \
&& cp libvs_placebo.so /usr/lib/x86_64-linux-gnu/vapoursynth/ \
&& cd /tmp/ \
&& rm -rf vs-placebo
2020-05-09 18:42:50 +02:00
RUN cd /tmp \
&& git clone --depth=1 --recursive https://git.kageru.moe/kageru/adaptivegrain \
&& cd adaptivegrain \
&& cargo build --release \
&& cp target/release/libadaptivegrain_rs.so /usr/lib/x86_64-linux-gnu/vapoursynth/ \
&& cd .. \
&& rm -rf adaptivegrain \
&& rm -rf ~/.cargo
2020-05-09 18:42:30 +02:00
# Runtime dependencies
RUN apt-get -y install \
beignet-opencl-icd \
clinfo \
ffmpeg \
mkvtoolnix \
pocl-opencl-icd \
python3-opencv \
python3-pip \
2020-09-12 16:27:01 +02:00
qtwayland5 \
2020-05-09 18:42:30 +02:00
vapoursynth-* \
x264 \
x265
# models are at wrong location (whyever the package installs it there)
RUN cp -r /usr/share/vapoursynth-waifu2x-models/ /usr/lib/x86_64-linux-gnu/vapoursynth/models/
2020-01-07 21:15:46 +01:00
RUN pip3 --no-cache-dir install \
2020-01-18 15:18:12 +01:00
tqdm \
2020-10-23 15:11:05 +02:00
yuuno 'pygments>=2.4.1' \
2020-01-06 20:20:52 +01:00
&& yuuno jupyter install
ENV PYTHONPATH=/data/functions/:/usr/local/lib/vapoursynth-scripts/
2020-01-14 17:43:04 +01:00
ARG CACHEBUST_SCRIPTS=1
RUN mkdir /usr/local/lib/vapoursynth-scripts/ \
&& wget -nv -P /usr/local/lib/vapoursynth-scripts/ \
2020-05-09 03:10:59 +02:00
https://gist.github.com/4re/342624c9e1a144a696c6/raw/08df48752c70c66df4127f2791bbedbc1958da77/nnedi3_rpow2.py \
https://gist.github.com/YamashitaRen/020c497524e794779d9c/raw/2a20385e50804f8b24f2a2479e2c0f3c335d4853/edi_rpow2.py \
https://github.com/HomeOfVapourSynthEvolution/havsfunc/raw/master/havsfunc.py \
https://github.com/HomeOfVapourSynthEvolution/mvsfunc/raw/master/mvsfunc.py \
https://github.com/HomeOfVapourSynthEvolution/vsTAAmbk/raw/master/vsTAAmbk.py \
https://github.com/IFeelBloated/Oyster/raw/master/Oyster.py \
https://github.com/IFeelBloated/vapoursynth-mvtools-sf/raw/5dfa8756092daa7dcc635eef799c6964bd40c259/src/mvmulti.py \
https://github.com/Irrational-Encoding-Wizardry/fvsfunc/raw/master/fvsfunc.py \
https://github.com/Irrational-Encoding-Wizardry/kagefunc/raw/master/kagefunc.py \
https://github.com/WolframRhodium/muvsfunc/raw/master/Collections/muvsfunc_numpy.py \
https://github.com/WolframRhodium/muvsfunc/raw/master/muvsfunc.py \
https://github.com/dubhater/vapoursynth-adjust/raw/master/adjust.py \
https://github.com/theChaosCoder/lostfunc/raw/master/lostfunc.py \
&& chmod 755 /usr/local/lib/vapoursynth-scripts/*
2020-01-06 20:20:52 +01:00
# kinda dumb (vapoursynth gets built), but I do not know how to do this better
RUN pip3 install -t /usr/local/lib/vapoursynth-scripts/ --no-cache-dir \
getnative \
vsutil \
&& pip3 uninstall -y vapoursynth
2020-05-09 05:00:45 +02:00
2020-01-06 20:20:52 +01:00
RUN adduser --disabled-password --gecos '' vapoursynth
USER vapoursynth
2020-01-17 19:19:59 +01:00
COPY --from=fonts /iosevka /home/vapoursynth/.fonts