diff --git a/aur/ffmpeg-shinobi/PKGBUILD b/aur/ffmpeg-shinobi/PKGBUILD new file mode 100644 index 000000000..b524da3fc --- /dev/null +++ b/aur/ffmpeg-shinobi/PKGBUILD @@ -0,0 +1,200 @@ +# Maintainer: graysky +# Contributor: Kevin Mihelich +# Contributor: Maxime Gauduin +# Contributor: Bartłomiej Piotrowski +# Contributor: Ionut Biru +# Contributor: Tom Newsom +# Contributor: Paul Mattal + +buildarch=28 + +pkgname=ffmpeg-shinobi +_pkgname=ffmpeg +pkgver=4.3.2 +pkgrel=2 +pkgdesc='FFmpeg from the 4.3 release branch for use with Shinobi' +arch=(x86_64 aarch64 armv6h armv7h) +url=https://ffmpeg.org/ +license=(GPL3) +depends=( + alsa-lib + bzip2 + fontconfig + fribidi + gmp + gnutls + gsm + jack + lame + libass.so + libavc1394 + libbluray.so + libdav1d.so + libdrm + libfreetype.so + libiec61883 + libmodplug + libpulse + libraw1394 + libsoxr + libssh + libtheora + libva.so + libva-drm.so + libva-x11.so + libvdpau + libvidstab.so + libvorbisenc.so + libvorbis.so + libvpx.so + libwebp + libx11 + libx264.so + libx265.so + libxcb + libxext + libxml2 + libxv + libxvidcore.so + libzimg.so + opencore-amr + openjpeg2 + opus + sdl2 + speex + srt + v4l-utils + xz + zlib +) + +makedepends=( + amf-headers + avisynthplus + clang + ffnvcodec-headers + git + ladspa + nasm +) + +optdepends=( + 'avisynthplus: AviSynthPlus support' + 'ladspa: LADSPA filters' +) + +if [[ $CARCH = "x86_64" ]]; then + # building for Arch x86_64 + depends+=(aom libmfx librav1e.so vmaf) + optdepends+=('intel-media-sdk: Intel QuickSync support' + 'nvidia-utils: Nvidia NVDEC/NVENC support') +else + # building for Arch ARM + depends+=(librsvg-2.so) + makedepends+=(ffnvcodec-headers) +fi +provides=( + ffmpeg + libavcodec.so + libavdevice.so + libavfilter.so + libavformat.so + libavutil.so + libpostproc.so + libswresample.so + libswscale.so +) +conflicts=( + ffmpeg +) +_tag=f719f869907764e6412a6af6e178c46e5f915d25 +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 + + patch -Np1 -i "${srcdir}"/vmaf-model-path.patch +} + +build() { + cd ffmpeg + + _args=( + --prefix=/usr + --disable-debug + --disable-static + --disable-stripping + --enable-amf + --enable-avisynth + --enable-cuda-llvm + --enable-fontconfig + --enable-gmp + --enable-gnutls + --enable-gpl + --enable-ladspa + --enable-libass + --enable-libbluray + --enable-libdav1d + --enable-libdrm + --enable-libfreetype + --enable-libfribidi + --enable-libgsm + --enable-libiec61883 + --enable-libjack + --enable-libmodplug + --enable-libmp3lame + --enable-libopencore_amrnb + --enable-libopencore_amrwb + --enable-libopenjpeg + --enable-libopus + --enable-libpulse + --enable-libsoxr + --enable-libspeex + --enable-libsrt + --enable-libssh + --enable-libtheora + --enable-libv4l2 + --enable-libvidstab + --enable-libvorbis + --enable-libvpx + --enable-libwebp + --enable-libx264 + --enable-libx265 + --enable-libxcb + --enable-libxml2 + --enable-libxvid + --enable-libzimg + --enable-shared + --enable-version3 + ) + + [[ $CARCH == "x86_64" ]] && _args+=(--enable-libaom --enable-libmfx --enable-librav1e --enable-libvmaf --enable-nvdec --enable-nvenc) + + [[ $CARCH == "armv7h" || $CARCH == "aarch64" ]] && _args+=('--host-cflags="-fPIC"' --enable-librsvg) + [[ $CARCH == "armv6h" || $CARCH == 'arm' ]] && _args+=('--extra-libs="-latomic"' --enable-librsvg) + + ./configure "${_args[@]}" + make + make tools/qt-faststart + make doc/ff{mpeg,play}.1 +} + +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/aur/ffmpeg-shinobi/vmaf-model-path.patch b/aur/ffmpeg-shinobi/vmaf-model-path.patch new file mode 100644 index 000000000..abd65cdf7 --- /dev/null +++ b/aur/ffmpeg-shinobi/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},