diff --git a/.SRCINFO b/.SRCINFO index df0b8e3..5018d3d 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,8 +1,8 @@ pkgbase = ffmpeg-full pkgdesc = Complete solution to record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac) - pkgver = 4.0.2 - pkgrel = 5 - url = http://www.ffmpeg.org/ + pkgver = 4.1 + pkgrel = 1 + url = https://www.ffmpeg.org/ arch = i686 arch = x86_64 license = custom: nonfree and unredistributable @@ -36,6 +36,7 @@ pkgbase = ffmpeg-full depends = libgme depends = gsm depends = libiec61883 + depends = lensfun depends = libmodplug depends = lame depends = opencore-amr @@ -51,6 +52,7 @@ pkgbase = ffmpeg-full depends = speex depends = srt depends = libssh + depends = tensorflow depends = tesseract depends = libtheora depends = twolame @@ -76,6 +78,7 @@ pkgbase = ffmpeg-full depends = libgl depends = sndio depends = sdl2 + depends = vapoursynth depends = libxv depends = libx11 depends = libxext @@ -86,40 +89,41 @@ pkgbase = ffmpeg-full depends = libvdpau depends = chromaprint-fftw depends = codec2 + depends = davs2-git depends = flite1-patched depends = libilbc + depends = libklvanc-git depends = kvazaar depends = openh264 depends = libopenmpt-svn depends = shine depends = vo-amrwbenc depends = xavs + depends = xavs2-git depends = ndi-sdk depends = libmysofa depends = rockchip-mpp - provides = ffmpeg - provides = libavutil.so provides = libavcodec.so - provides = libavformat.so provides = libavdevice.so provides = libavfilter.so + provides = libavformat.so + provides = libavutil.so + provides = libpostproc.so provides = libavresample.so provides = libswscale.so provides = libswresample.so - provides = libpostproc.so + provides = ffmpeg conflicts = ffmpeg - source = https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.xz - source = https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.xz.asc + source = https://ffmpeg.org/releases/ffmpeg-4.1.tar.xz + source = https://ffmpeg.org/releases/ffmpeg-4.1.tar.xz.asc source = LICENSE validpgpkeys = FCF986EA15E6E293A5644F10B4322F04D67658D8 - sha256sums = a95c0cc9eb990e94031d2183f2e6e444cc61c99f6f182d1575c433d62afb2f97 + sha256sums = a38ec4d026efb58506a99ad5cd23d5a9793b4bf415f2c4c2e9c1bb444acd1994 sha256sums = SKIP sha256sums = 04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36 - source_x86_64 = vmaf-1.3.9-fix.patch depends_x86_64 = cuda depends_x86_64 = intel-media-sdk makedepends_x86_64 = vmaf - sha256sums_x86_64 = 4eab61257adfdae2233cf8e5a12bd4d1e551b69711c8b4d14cffdd0f2c85812b pkgname = ffmpeg-full diff --git a/PKGBUILD b/PKGBUILD index 9d6bc88..f985c92 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -3,11 +3,11 @@ pkgname=ffmpeg-full _srcname=ffmpeg -pkgver=4.0.2 -pkgrel=5 +pkgver=4.1 +pkgrel=1 pkgdesc='Complete solution to record, convert and stream audio and video (all possible features including nvenc, qsv and libfdk-aac)' arch=('i686' 'x86_64') -url='http://www.ffmpeg.org/' +url='https://www.ffmpeg.org/' license=('custom: nonfree and unredistributable') depends=( # official repositories: @@ -15,17 +15,17 @@ depends=( 'bzip2' 'frei0r-plugins' 'libgcrypt' 'gmp' 'gnutls' 'ladspa' 'libass' 'aom' 'libbluray' 'libbs2b' 'libcaca' 'celt' 'libcdio-paranoia' 'libdc1394' 'libavc1394' 'libfdk-aac' 'fontconfig' 'freetype2' 'fribidi' 'libgme' 'gsm' - 'libiec61883' 'libmodplug' 'lame' 'opencore-amr' 'openjpeg2' 'opus' 'pulseaudio' - 'librsvg' 'rubberband' 'rtmpdump' 'smbclient' 'snappy' 'libsoxr' 'speex' 'srt' - 'libssh' 'tesseract' 'libtheora' 'twolame' 'v4l-utils' 'vid.stab' 'libvorbis' - 'libvpx' 'wavpack' 'libwebp' 'libx264.so' 'x265' 'libxcb' 'xvidcore' 'libxml2' - 'zimg' 'zeromq' 'zvbi' 'lv2' 'lilv' 'xz' 'openal' 'ocl-icd' 'libgl' 'sndio' - 'sdl2' 'libxv' 'libx11' 'libxext' 'zlib' 'libomxil-bellagio' 'libva' 'libdrm' - 'libvdpau' + 'libiec61883' 'lensfun' 'libmodplug' 'lame' 'opencore-amr' 'openjpeg2' 'opus' + 'pulseaudio' 'librsvg' 'rubberband' 'rtmpdump' 'smbclient' 'snappy' 'libsoxr' + 'speex' 'srt' 'libssh' 'tensorflow' 'tesseract' 'libtheora' 'twolame' + 'v4l-utils' 'vid.stab' 'libvorbis' 'libvpx' 'wavpack' 'libwebp' 'libx264.so' + 'x265' 'libxcb' 'xvidcore' 'libxml2' 'zimg' 'zeromq' 'zvbi' 'lv2' 'lilv' 'xz' + 'openal' 'ocl-icd' 'libgl' 'sndio' 'sdl2' 'vapoursynth' 'libxv' 'libx11' + 'libxext' 'zlib' 'libomxil-bellagio' 'libva' 'libdrm' 'libvdpau' # AUR: - 'chromaprint-fftw' 'codec2' 'flite1-patched' 'libilbc' 'kvazaar' 'openh264' - 'libopenmpt-svn' 'shine' 'vo-amrwbenc' 'xavs' 'ndi-sdk' 'libmysofa' - 'rockchip-mpp' + 'chromaprint-fftw' 'codec2' 'davs2-git' 'flite1-patched' 'libilbc' 'libklvanc-git' + 'kvazaar' 'openh264' 'libopenmpt-svn' 'shine' 'vo-amrwbenc' 'xavs' 'xavs2-git' + 'ndi-sdk' 'libmysofa' 'rockchip-mpp' ) depends_x86_64=( # official repositories: @@ -43,30 +43,17 @@ makedepends_x86_64=( # AUR: 'vmaf' ) -provides=('ffmpeg' 'libavutil.so' 'libavcodec.so' 'libavformat.so' 'libavdevice.so' - 'libavfilter.so' 'libavresample.so' 'libswscale.so' 'libswresample.so' - 'libpostproc.so') +provides=('libavcodec.so' 'libavdevice.so' 'libavfilter.so' 'libavformat.so' + 'libavutil.so' 'libpostproc.so' 'libavresample.so' 'libswscale.so' + 'libswresample.so' 'ffmpeg') conflicts=('ffmpeg') source=("https://ffmpeg.org/releases/ffmpeg-${pkgver}.tar.xz"{,.asc} 'LICENSE') -source_x86_64=('vmaf-1.3.9-fix.patch') -sha256sums=('a95c0cc9eb990e94031d2183f2e6e444cc61c99f6f182d1575c433d62afb2f97' +sha256sums=('a38ec4d026efb58506a99ad5cd23d5a9793b4bf415f2c4c2e9c1bb444acd1994' 'SKIP' '04a7176400907fd7db0d69116b99de49e582a6e176b3bfb36a03e50a4cb26a36') -sha256sums_x86_64=('4eab61257adfdae2233cf8e5a12bd4d1e551b69711c8b4d14cffdd0f2c85812b') validpgpkeys=('FCF986EA15E6E293A5644F10B4322F04D67658D8') -prepare() { - cd "${_srcname}-${pkgver}" - - # fix build with vmaf 1.3.9 (x86_64 only) - [ "$CARCH" = 'x86_64' ] && patch -Np1 -i "${srcdir}/vmaf-1.3.9-fix.patch" - - # strictly specifying nvcc path is needed if package is installing - # cuda for the first time (nvcc path will be in $PATH only after relogin) - sed -i "s|^nvcc_default=.*|nvcc_default='/opt/cuda/bin/nvcc'|" configure -} - build() { cd "${_srcname}-${pkgver}" @@ -104,6 +91,7 @@ build() { --enable-nonfree \ --enable-shared \ --disable-static \ + --disable-stripping \ --enable-gray \ --enable-avresample \ \ @@ -125,6 +113,7 @@ build() { --enable-libcelt \ --enable-libcdio \ --enable-libcodec2 \ + --enable-libdavs2 \ --enable-libdc1394 \ --enable-libfdk-aac \ --enable-libflite \ @@ -136,7 +125,9 @@ build() { --enable-libiec61883 \ --enable-libilbc \ --enable-libjack \ + --enable-libklvanc \ --enable-libkvazaar \ + --enable-liblensfun \ --enable-libmodplug \ --enable-libmp3lame \ --enable-libopencore-amrnb \ @@ -157,6 +148,7 @@ build() { --enable-libspeex \ --enable-libsrt \ --enable-libssh \ + --enable-libtensorflow \ --enable-libtesseract \ --enable-libtheora \ --disable-libtls \ @@ -172,6 +164,7 @@ build() { --enable-libx264 \ --enable-libx265 \ --enable-libxavs \ + --enable-libxavs2 \ --enable-libxcb \ --enable-libxcb-shm \ --enable-libxcb-xfixes \ @@ -192,6 +185,7 @@ build() { --disable-openssl \ --enable-sndio \ --enable-sdl2 \ + --enable-vapoursynth \ --enable-xlib \ --enable-zlib \ \ diff --git a/vmaf-1.3.9-fix.patch b/vmaf-1.3.9-fix.patch deleted file mode 100644 index 4aebf00..0000000 --- a/vmaf-1.3.9-fix.patch +++ /dev/null @@ -1,73 +0,0 @@ -diff -Naurp a/configure b/configure ---- a/configure 2018-07-18 13:51:59.000000000 +0000 -+++ b/configure 2018-08-10 21:09:52.000000000 +0000 -@@ -6043,7 +6043,7 @@ enabled libtwolame && require lib - die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; } - enabled libv4l2 && require_pkg_config libv4l2 libv4l2 libv4l2.h v4l2_ioctl - enabled libvidstab && require_pkg_config libvidstab "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit --enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 0.6.2" libvmaf.h compute_vmaf -+enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 1.3.9" libvmaf.h compute_vmaf - enabled libvo_amrwbenc && require libvo_amrwbenc vo-amrwbenc/enc_if.h E_IF_init -lvo-amrwbenc - enabled libvorbis && require_pkg_config libvorbis vorbis vorbis/codec.h vorbis_info_init && - require_pkg_config libvorbisenc vorbisenc vorbis/vorbisenc.h vorbis_encode_init -diff -Naurp a/doc/filters.texi b/doc/filters.texi ---- a/doc/filters.texi 2018-07-18 13:51:59.000000000 +0000 -+++ b/doc/filters.texi 2018-08-10 21:09:52.000000000 +0000 -@@ -10425,7 +10425,7 @@ The obtained VMAF score is printed throu - - It requires Netflix's vmaf library (libvmaf) as a pre-requisite. - After installing the library it can be enabled using: --@code{./configure --enable-libvmaf}. -+@code{./configure --enable-libvmaf --enable-version3}. - If no model path is specified it uses the default model: @code{vmaf_v0.6.1.pkl}. - - The filter has following options: -@@ -10459,6 +10459,15 @@ Enables computing ms_ssim along with vma - - @item pool - Set the pool method (mean, min or harmonic mean) to be used for computing vmaf. -+ -+@item n_threads -+Set number of threads to be used when computing vmaf. -+ -+@item n_subsample -+Set interval for frame subsampling used when computing vmaf. -+ -+@item enable_conf_interval -+Enables confidence interval. - @end table - - This filter also supports the @ref{framesync} options. -diff -Naurp a/libavfilter/vf_libvmaf.c b/libavfilter/vf_libvmaf.c ---- a/libavfilter/vf_libvmaf.c 2018-07-18 13:52:01.000000000 +0000 -+++ b/libavfilter/vf_libvmaf.c 2018-08-10 21:09:52.000000000 +0000 -@@ -61,6 +61,9 @@ typedef struct LIBVMAFContext { - int ssim; - int ms_ssim; - char *pool; -+ int n_threads; -+ int n_subsample; -+ int enable_conf_interval; - int error; - } LIBVMAFContext; - -@@ -77,6 +80,9 @@ static const AVOption libvmaf_options[] - {"ssim", "Enables computing ssim along with vmaf.", OFFSET(ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS}, - {"ms_ssim", "Enables computing ms-ssim along with vmaf.", OFFSET(ms_ssim), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS}, - {"pool", "Set the pool method to be used for computing vmaf.", OFFSET(pool), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 1, FLAGS}, -+ {"n_threads", "Set number of threads to be used when computing vmaf.", OFFSET(n_threads), AV_OPT_TYPE_INT, {.i64=0}, 0, UINT_MAX, FLAGS}, -+ {"n_subsample", "Set interval for frame subsampling used when computing vmaf.", OFFSET(n_subsample), AV_OPT_TYPE_INT, {.i64=1}, 1, UINT_MAX, FLAGS}, -+ {"enable_conf_interval", "Enables confidence interval.", OFFSET(enable_conf_interval), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS}, - { NULL } - }; - -@@ -165,7 +171,8 @@ static void compute_vmaf_score(LIBVMAFCo - read_frame, s, s->model_path, s->log_path, - s->log_fmt, 0, 0, s->enable_transform, - s->phone_model, s->psnr, s->ssim, -- s->ms_ssim, s->pool); -+ s->ms_ssim, s->pool, -+ s->n_threads, s->n_subsample, s->enable_conf_interval); - } - - static void *call_vmaf(void *ctx)