Updated to version 4.1

This commit is contained in:
Daniel Bermond
2018-11-10 01:37:54 +00:00
parent 9f2547246e
commit 7db4922cc1
3 changed files with 40 additions and 115 deletions
+16 -12
View File
@@ -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
+24 -30
View File
@@ -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 \
\
-73
View File
@@ -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)