summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wagie2021-09-27 11:24:06 -0600
committerMark Wagie2021-09-27 11:24:06 -0600
commit57440ac8591a40374b84fcf01c7318be8d270ed7 (patch)
treea298d4b6dd4019e95f849256c4a1f1c9e56c3492
parent4b48466aca476fb8696558676df6517d36f2b35f (diff)
downloadaur-57440ac8591a40374b84fcf01c7318be8d270ed7.tar.gz
4.4
-rw-r--r--.SRCINFO22
-rw-r--r--.gitignore12
-rw-r--r--PKGBUILD73
-rw-r--r--vmaf-model-path.patch13
4 files changed, 94 insertions, 26 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 034431f823e6..2b08f68f53b1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,11 +1,14 @@
pkgbase = ffmpeg-cuda
pkgdesc = Complete solution to record, convert and stream audio and video. Includes cuda support.
- pkgver = 4.2
- pkgrel = 4
+ pkgver = 4.4
+ pkgrel = 1
epoch = 1
url = https://ffmpeg.org/
arch = x86_64
license = GPL3
+ makedepends = amf-headers
+ makedepends = avisynthplus
+ makedepends = clang
makedepends = ffnvcodec-headers
makedepends = git
makedepends = ladspa
@@ -24,13 +27,16 @@ pkgbase = ffmpeg-cuda
depends = libass.so
depends = libavc1394
depends = libbluray.so
+ depends = libdav1d.so
depends = libdrm
depends = libfreetype.so
depends = libiec61883
+ depends = libmfx
depends = libmodplug
- depends = libomxil-bellagio
depends = libpulse
+ depends = librav1e.so
depends = libraw1394
+ depends = librsvg-2.so
depends = libsoxr
depends = libssh
depends = libtheora
@@ -51,14 +57,19 @@ pkgbase = ffmpeg-cuda
depends = libxml2
depends = libxv
depends = libxvidcore.so
+ depends = libzimg.so
depends = opencore-amr
depends = openjpeg2
depends = opus
depends = sdl2
depends = speex
+ depends = srt
+ depends = svt-av1
depends = v4l-utils
+ depends = vmaf
depends = xz
depends = zlib
+ optdepends = avisynthplus: AviSynthPlus support
optdepends = ladspa: LADSPA filters
provides = libavcodec.so
provides = libavdevice.so
@@ -70,8 +81,9 @@ pkgbase = ffmpeg-cuda
provides = libswscale.so
provides = ffmpeg
conflicts = ffmpeg
- source = git+https://git.ffmpeg.org/ffmpeg.git#tag=n4.2
+ source = git+https://git.ffmpeg.org/ffmpeg.git#tag=dc91b913b6260e85e1304c74ff7bb3c22a8c9fb1
+ source = vmaf-model-path.patch
sha256sums = SKIP
+ sha256sums = 8dff51f84a5f7460f8893f0514812f5d2bd668c3276ef7ab7713c99b71d7bd8d
pkgname = ffmpeg-cuda
-
diff --git a/.gitignore b/.gitignore
index ea8a9a660613..a9483747f996 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,8 @@
-*.pkg.tar.xz
-pkg/
-src/
-ffmpeg/
+# Ignore everything
+*
+
+# But not these files...
+!.gitignore
+!PKGBUILD
+!.SRCINFO
+!vmaf-model-path.patch
diff --git a/PKGBUILD b/PKGBUILD
index b9d901bd8144..6fd0f74b2309 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,5 @@
-# Maintainer: Gleb Sinyavskiy <zhulik.gleb@gmail.com>
+# Maintainer: Mark Wagie <mark dot wagie at tutanota dot com>
+# Contributor: Gleb Sinyavskiy <zhulik.gleb@gmail.com>
# Contributor: Maxime Gauduin <alucryd@archlinux.org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Ionut Biru <ibiru@archlinux.org>
@@ -6,8 +7,8 @@
# Contributor: Paul Mattal <paul@archlinux.org>
pkgname=ffmpeg-cuda
-pkgver=4.2
-pkgrel=4
+pkgver=4.4
+pkgrel=1
epoch=1
pkgdesc='Complete solution to record, convert and stream audio and video. Includes cuda support.'
arch=(x86_64)
@@ -28,13 +29,16 @@ depends=(
libass.so
libavc1394
libbluray.so
+ libdav1d.so
libdrm
libfreetype.so
libiec61883
+ libmfx
libmodplug
- libomxil-bellagio
libpulse
+ librav1e.so
libraw1394
+ librsvg-2.so
libsoxr
libssh
libtheora
@@ -55,22 +59,32 @@ depends=(
libxml2
libxv
libxvidcore.so
+ libzimg.so
opencore-amr
openjpeg2
opus
sdl2
speex
+ srt
+ svt-av1
v4l-utils
+ vmaf
xz
zlib
)
makedepends=(
+ amf-headers
+ avisynthplus
+ clang
ffnvcodec-headers
git
ladspa
nasm
)
-optdepends=('ladspa: LADSPA filters')
+optdepends=(
+ 'avisynthplus: AviSynthPlus support'
+ 'ladspa: LADSPA filters'
+)
provides=(
libavcodec.so
libavdevice.so
@@ -82,8 +96,30 @@ provides=(
libswscale.so
ffmpeg
)
-source=(git+https://git.ffmpeg.org/ffmpeg.git#tag=n${pkgver})
-sha256sums=('SKIP')
+conflicts=('ffmpeg')
+_tag=dc91b913b6260e85e1304c74ff7bb3c22a8c9fb1
+source=(
+ git+https://git.ffmpeg.org/ffmpeg.git#tag=${_tag}
+ vmaf-model-path.patch
+)
+sha256sums=(
+ SKIP
+ 8dff51f84a5f7460f8893f0514812f5d2bd668c3276ef7ab7713c99b71d7bd8d
+)
+
+pkgver() {
+ cd ffmpeg
+
+ git describe --tags | sed 's/^n//'
+}
+
+prepare() {
+ cd ffmpeg
+ git cherry-pick -n 988f2e9eb063db7c1a678729f58aab6eba59a55b # fix nvenc on older gpus
+ patch -Np1 -i "${srcdir}"/vmaf-model-path.patch
+
+ sed -i 's/arch=compute_30,code=sm_30/arch=compute_50,code=sm_50/g' configure
+}
build() {
local _cflags='-I/opt/cuda/include'
@@ -92,19 +128,19 @@ build() {
cd ffmpeg
./configure \
- --prefix='/usr' \
+ --prefix=/usr \
--extra-cflags="$_cflags" \
--extra-ldflags="$_ldflags" \
--disable-debug \
--disable-static \
--disable-stripping \
- --enable-fontconfig \
+ --enable-amf \
+ --enable-avisynth \
--enable-nonfree \
--enable-cuda-nvcc \
- --enable-cuvid \
--enable-libnpp \
- --enable-ffnvcodec \
- --enable-libdrm \
+ --enable-lto \
+ --enable-fontconfig \
--enable-gmp \
--enable-gnutls \
--enable-gpl \
@@ -112,12 +148,14 @@ build() {
--enable-libaom \
--enable-libass \
--enable-libbluray \
+ --enable-libdav1d \
--enable-libdrm \
--enable-libfreetype \
--enable-libfribidi \
--enable-libgsm \
--enable-libiec61883 \
--enable-libjack \
+ --enable-libmfx \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopencore_amrnb \
@@ -125,12 +163,17 @@ build() {
--enable-libopenjpeg \
--enable-libopus \
--enable-libpulse \
+ --enable-librav1e \
+ --enable-librsvg \
--enable-libsoxr \
--enable-libspeex \
+ --enable-libsrt \
--enable-libssh \
+ --enable-libsvtav1 \
--enable-libtheora \
--enable-libv4l2 \
--enable-libvidstab \
+ --enable-libvmaf \
--enable-libvorbis \
--enable-libvpx \
--enable-libwebp \
@@ -139,9 +182,9 @@ build() {
--enable-libxcb \
--enable-libxml2 \
--enable-libxvid \
+ --enable-libzimg \
--enable-nvdec \
--enable-nvenc \
- --enable-omx \
--enable-shared \
--enable-version3
@@ -150,11 +193,7 @@ build() {
make doc/ff{mpeg,play}.1
}
-conflicts=("ffmpeg")
-
package() {
make DESTDIR="${pkgdir}" -C ffmpeg install install-man
install -Dm 755 ffmpeg/tools/qt-faststart "${pkgdir}"/usr/bin/
}
-
-# vim: ts=2 sw=2 et:
diff --git a/vmaf-model-path.patch b/vmaf-model-path.patch
new file mode 100644
index 000000000000..abd65cdf730a
--- /dev/null
+++ b/vmaf-model-path.patch
@@ -0,0 +1,13 @@
+diff --git a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c
+index 249e50c720..9b791e19b1 100644
+--- a/libavfilter/vf_libvmaf.c
++++ b/libavfilter/vf_libvmaf.c
+@@ -72,7 +72,7 @@ typedef struct LIBVMAFContext {
+ #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
+
+ static const AVOption libvmaf_options[] = {
+- {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/local/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
++ {"model_path", "Set the model to be used for computing vmaf.", OFFSET(model_path), AV_OPT_TYPE_STRING, {.str="/usr/share/model/vmaf_v0.6.1.pkl"}, 0, 1, FLAGS},
+ {"log_path", "Set the file path to be used to store logs.", OFFSET(log_path), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+ {"log_fmt", "Set the format of the log (xml or json).", OFFSET(log_fmt), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS},
+ {"enable_transform", "Enables transform for computing vmaf.", OFFSET(enable_transform), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},