Add patch for cuda 11.0. Bring back svt-vp9 support.

cuda 11.0 minimum supported architecture is 5.2 (compute_52/sm_52).

svt-vp9 support is better now with the current upstream stable
version.
This commit is contained in:
Daniel Bermond
2020-07-23 01:39:09 +00:00
parent 7b5541a529
commit 3616570eef
3 changed files with 32 additions and 4 deletions
+6 -1
View File
@@ -1,7 +1,7 @@
pkgbase = ffmpeg-full pkgbase = ffmpeg-full
pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac) pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)
pkgver = 4.3.1 pkgver = 4.3.1
pkgrel = 2 pkgrel = 3
url = https://www.ffmpeg.org/ url = https://www.ffmpeg.org/
arch = x86_64 arch = x86_64
license = custom: nonfree and unredistributable license = custom: nonfree and unredistributable
@@ -62,6 +62,7 @@ pkgbase = ffmpeg-full
depends = libssh depends = libssh
depends = svt-hevc depends = svt-hevc
depends = svt-av1 depends = svt-av1
depends = svt-vp9
depends = tensorflow depends = tensorflow
depends = tesseract depends = tesseract
depends = libtheora depends = libtheora
@@ -128,17 +129,21 @@ pkgbase = ffmpeg-full
source = https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz source = https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz
source = https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz.asc source = https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz.asc
source = 010-ffmpeg-fix-vmaf-model-path.patch source = 010-ffmpeg-fix-vmaf-model-path.patch
source = 015-ffmpeg-cuda11.0-fix.patch
source = 020-ffmpeg-add-svt-hevc-1.4.3.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v1.4.3/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch source = 020-ffmpeg-add-svt-hevc-1.4.3.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v1.4.3/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch
source = 030-ffmpeg-add-svt-hevc-docs-1.4.3.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v1.4.3/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch source = 030-ffmpeg-add-svt-hevc-docs-1.4.3.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v1.4.3/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch
source = 040-ffmpeg-add-svt-av1-0.8.4.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-AV1/v0.8.4/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch source = 040-ffmpeg-add-svt-av1-0.8.4.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-AV1/v0.8.4/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch
source = 050-ffmpeg-add-svt-vp9-0.2.2.patch::https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/v0.2.2/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch
source = LICENSE source = LICENSE
validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8 validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8
sha256sums = ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb sha256sums = ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb
sha256sums = SKIP sha256sums = SKIP
sha256sums = b6fcef2f4cbb1daa47d17245702fbd67ab3289b6b16f090ab99b9c2669453a02 sha256sums = b6fcef2f4cbb1daa47d17245702fbd67ab3289b6b16f090ab99b9c2669453a02
sha256sums = 1392206202287f64f95023ec8630095c0419454f913af4d5fd703ea8117fe133
sha256sums = 878757eb6d7072521caaeb71f1453ec3fc0f91a12936ef302e1625184787c6a6 sha256sums = 878757eb6d7072521caaeb71f1453ec3fc0f91a12936ef302e1625184787c6a6
sha256sums = 1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0 sha256sums = 1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0
sha256sums = 5e960b4dab495437082d0838a40a8cae9b67d1cef1ffd57da960afaa2bfd3719 sha256sums = 5e960b4dab495437082d0838a40a8cae9b67d1cef1ffd57da960afaa2bfd3719
sha256sums = b74be6d805672210e226e7c0b403f88b0ee8a53c732c9bdc873c4b44aeb75c96
sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36
pkgname = ffmpeg-full pkgname = ffmpeg-full
+15
View File
@@ -0,0 +1,15 @@
--- a/configure
+++ b/configure
@@ -4312,10 +4312,10 @@ fi
if enabled cuda_nvcc; then
nvcc_default="nvcc"
- nvccflags_default="-gencode arch=compute_30,code=sm_30 -O2"
+ nvccflags_default="-gencode arch=compute_52,code=sm_52 -O2"
else
nvcc_default="clang"
- nvccflags_default="--cuda-gpu-arch=sm_30 -O2"
+ nvccflags_default="--cuda-gpu-arch=sm_52 -O2"
NVCC_C=""
fi
+11 -3
View File
@@ -3,10 +3,11 @@
_svt_hevc_ver='1.4.3' _svt_hevc_ver='1.4.3'
_svt_av1_ver='0.8.4' _svt_av1_ver='0.8.4'
_svt_vp9_ver='0.2.2'
pkgname=ffmpeg-full pkgname=ffmpeg-full
pkgver=4.3.1 pkgver=4.3.1
pkgrel=2 pkgrel=3
pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)' pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including libfdk-aac)'
arch=('x86_64') arch=('x86_64')
url='https://www.ffmpeg.org/' url='https://www.ffmpeg.org/'
@@ -20,7 +21,7 @@ depends=(
'libilbc' 'jack' 'kvazaar' 'lensfun' 'libmodplug' 'lame' 'opencore-amr' 'libilbc' 'jack' 'kvazaar' 'lensfun' 'libmodplug' 'lame' 'opencore-amr'
'openjpeg2' 'opus' 'pulseaudio' 'librabbitmq-c' 'rav1e' 'librsvg' 'rubberband' 'openjpeg2' 'opus' 'pulseaudio' 'librabbitmq-c' 'rav1e' 'librsvg' 'rubberband'
'rtmpdump' 'snappy' 'libsoxr' 'speex' 'srt' 'libssh' 'svt-hevc' 'svt-av1' 'rtmpdump' 'snappy' 'libsoxr' 'speex' 'srt' 'libssh' 'svt-hevc' 'svt-av1'
'tensorflow' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' 'svt-vp9' 'tensorflow' 'tesseract' 'libtheora' 'twolame' 'v4l-utils'
'vid.stab' 'vmaf' 'libvorbis' 'libvpx' 'wavpack' 'libwebp' 'x264' 'x265' 'vid.stab' 'vmaf' 'libvorbis' 'libvpx' 'wavpack' 'libwebp' 'x264' 'x265'
'libxcb' 'xvidcore' 'libxml2' 'zimg' 'zeromq' 'zvbi' 'lv2' 'lilv' 'xz' 'libxcb' 'xvidcore' 'libxml2' 'zimg' 'zeromq' 'zvbi' 'lv2' 'lilv' 'xz'
'libmysofa' 'openal' 'ocl-icd' 'libgl' 'sndio' 'sdl2' 'vapoursynth' 'libmysofa' 'openal' 'ocl-icd' 'libgl' 'sndio' 'sdl2' 'vapoursynth'
@@ -43,25 +44,31 @@ provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so'
conflicts=('ffmpeg') conflicts=('ffmpeg')
source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc} source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc}
'010-ffmpeg-fix-vmaf-model-path.patch' '010-ffmpeg-fix-vmaf-model-path.patch'
'015-ffmpeg-cuda11.0-fix.patch'
"020-ffmpeg-add-svt-hevc-${_svt_hevc_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v${_svt_hevc_ver}/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch" "020-ffmpeg-add-svt-hevc-${_svt_hevc_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v${_svt_hevc_ver}/ffmpeg_plugin/0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch"
"030-ffmpeg-add-svt-hevc-docs-${_svt_hevc_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v${_svt_hevc_ver}/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch" "030-ffmpeg-add-svt-hevc-docs-${_svt_hevc_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-HEVC/v${_svt_hevc_ver}/ffmpeg_plugin/0002-doc-Add-libsvt_hevc-encoder-docs.patch"
"040-ffmpeg-add-svt-av1-${_svt_av1_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-AV1/v${_svt_av1_ver}/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch" "040-ffmpeg-add-svt-av1-${_svt_av1_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-AV1/v${_svt_av1_ver}/ffmpeg_plugin/0001-Add-ability-for-ffmpeg-to-run-svt-av1.patch"
"050-ffmpeg-add-svt-vp9-${_svt_vp9_ver}.patch"::"https://raw.githubusercontent.com/OpenVisualCloud/SVT-VP9/v${_svt_vp9_ver}/ffmpeg_plugin/master-0001-Add-ability-for-ffmpeg-to-run-svt-vp9.patch"
'LICENSE') 'LICENSE')
sha256sums=('ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb' sha256sums=('ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb'
'SKIP' 'SKIP'
'b6fcef2f4cbb1daa47d17245702fbd67ab3289b6b16f090ab99b9c2669453a02' 'b6fcef2f4cbb1daa47d17245702fbd67ab3289b6b16f090ab99b9c2669453a02'
'1392206202287f64f95023ec8630095c0419454f913af4d5fd703ea8117fe133'
'878757eb6d7072521caaeb71f1453ec3fc0f91a12936ef302e1625184787c6a6' '878757eb6d7072521caaeb71f1453ec3fc0f91a12936ef302e1625184787c6a6'
'1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0' '1499e419dda72b1604dc5e3959668f3843292ff56bfba78734e31510ba576de0'
'5e960b4dab495437082d0838a40a8cae9b67d1cef1ffd57da960afaa2bfd3719' '5e960b4dab495437082d0838a40a8cae9b67d1cef1ffd57da960afaa2bfd3719'
'b74be6d805672210e226e7c0b403f88b0ee8a53c732c9bdc873c4b44aeb75c96'
'04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36')
validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8')
prepare() { prepare() {
rm -f "ffmpeg-${pkgver}/libavcodec/"libsvt_{hevc,av1}.c rm -f "ffmpeg-${pkgver}/libavcodec/"libsvt_{hevc,av1,vp9}.c
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/010-ffmpeg-fix-vmaf-model-path.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/010-ffmpeg-fix-vmaf-model-path.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/015-ffmpeg-cuda11.0-fix.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-${_svt_hevc_ver}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/020-ffmpeg-add-svt-hevc-${_svt_hevc_ver}.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/030-ffmpeg-add-svt-hevc-docs-${_svt_hevc_ver}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/030-ffmpeg-add-svt-hevc-docs-${_svt_hevc_ver}.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/040-ffmpeg-add-svt-av1-${_svt_av1_ver}.patch" patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/040-ffmpeg-add-svt-av1-${_svt_av1_ver}.patch"
patch -d "ffmpeg-${pkgver}" -Np1 -i "${srcdir}/050-ffmpeg-add-svt-vp9-${_svt_vp9_ver}.patch"
} }
build() { build() {
@@ -164,6 +171,7 @@ build() {
--enable-libvo-amrwbenc \ --enable-libvo-amrwbenc \
--enable-libvorbis \ --enable-libvorbis \
--enable-libvpx \ --enable-libvpx \
--enable-libsvtvp9 \
--enable-libwavpack \ --enable-libwavpack \
--enable-libwebp \ --enable-libwebp \
--enable-libx264 \ --enable-libx264 \