From 75b4de6d2328c71ea07e9a474ed2e5fe7b40bf16 Mon Sep 17 00:00:00 2001 From: Martin Pulec Date: Wed, 13 Jan 2021 13:40:35 +0100 Subject: [PATCH] GitHub CI [Linux, FFmpeg]: docu NV SDK version req --- .github/scripts/Linux/download_build_ffmpeg.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/scripts/Linux/download_build_ffmpeg.sh b/.github/scripts/Linux/download_build_ffmpeg.sh index d17f42df2..018dfa6cf 100755 --- a/.github/scripts/Linux/download_build_ffmpeg.sh +++ b/.github/scripts/Linux/download_build_ffmpeg.sh @@ -7,13 +7,19 @@ install_svt() { git apply SVT-AV1/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch } +# The NVENC API implies respective driver version (see libavcodec/nvenc.c), thus we use SDK 8.1 to work with a reasonably old driver version (390) +install_nv_codec_headers() { + git clone -b sdk/8.1 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git + ( cd nv-codec-headers && make && sudo make install || exit 1 ) +} + git clone -b n4.3 --depth 1 https://git.ffmpeg.org/ffmpeg.git /var/tmp/ffmpeg # n4.3 is needed for SVT HEVC patch cd /var/tmp/ffmpeg sed -i '1,/sliceModeData = 1;/s/sliceModeData = 1;/sliceModeData = 8;/' libavcodec/nvenc.c # only first occurence - for H.264, not HEVC ( git clone --depth 1 -b nasm-2.13.xx https://github.com/sezero/nasm.git && cd nasm && ./autogen.sh && ./configure && make nasm.1 && make ndisasm.1 && make && sudo make install || exit 1 ) ( git clone --depth 1 http://git.videolan.org/git/x264.git && cd x264 && ./configure --disable-static --enable-shared && make && sudo make install || exit 1 ) -( git clone -b sdk/8.1 https://git.videolan.org/git/ffmpeg/nv-codec-headers.git && cd nv-codec-headers && make && sudo make install || exit 1 ) ( git clone --depth 1 https://aomedia.googlesource.com/aom && mkdir -p aom/build && cd aom/build && cmake -DBUILD_SHARED_LIBS=1 .. && make && sudo make install || exit 1 ) +install_nv_codec_headers install_svt ./configure --disable-static --enable-shared --enable-gpl --enable-libx264 --enable-libx265 --enable-libopus --enable-nonfree --enable-nvenc --enable-libaom --enable-libvpx --enable-libspeex --enable-libmp3lame --enable-libsvthevc --enable-libsvtav1 make