aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beich <jbeich@FreeBSD.org>2021-11-08 16:34:49 +0000
committerJan Beich <jbeich@FreeBSD.org>2021-11-08 17:37:50 +0000
commit93c3542baf308046ae79ee8abd3abd32875aab8c (patch)
treea9d0858a51cf2e933c62f2a68fa970ecfc9a19a0
parent0048c2b36bdd39b7e7f52bb2385818464ce2b369 (diff)
downloadports-93c3542baf308046ae79ee8abd3abd32875aab8c.tar.gz
ports-93c3542baf308046ae79ee8abd3abd32875aab8c.zip
multimedia/vmaf: unbreak legacy API consumers after 1868dedecc9a
$ aomenc --tune=vmaf --output=foo.mp4 foo.y4m Pass 1/2 frame 1/0 0B 0 us 0.00 fpm [ETA unknown] libvmaf ERROR could not read model from path: "/usr/local/share/model/vmaf_v0.6.1.json" Fatal error: Failed to load VMAF model. $ ffmpeg -i foo.y4m -i bar.y4m -lavfi libvmaf -f null - [...] libvmaf INFO `compute_vmaf()` is deprecated and will be removed in a future libvmaf version libvmaf ERROR could not read model from path: "/usr/local/share/model/vmaf_v0.6.1.pkl" libvmaf ERROR support for pkl model files has been removed, use json libvmaf ERROR problem loading model file: /usr/local/share/model/vmaf_v0.6.1.pkl [Parsed_libvmaf_0 @ 0x8061b3b40] libvmaf encountered an error, check log for details (cherry picked from commit 7f163c23e1a732c8b65cb7b8ecfbcd9e8dfd1cd8)
-rw-r--r--multimedia/ffmpeg/Makefile1
-rw-r--r--multimedia/ffmpeg/files/patch-vmaf32
-rw-r--r--multimedia/vmaf/Makefile6
-rw-r--r--multimedia/vmaf/pkg-plist16
-rw-r--r--multimedia/x265/Makefile2
-rw-r--r--multimedia/x265/files/patch-source_x265.h13
6 files changed, 69 insertions, 1 deletions
diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile
index 5a5c3ed0b9a4..80fdb8fcbbcf 100644
--- a/multimedia/ffmpeg/Makefile
+++ b/multimedia/ffmpeg/Makefile
@@ -2,6 +2,7 @@
PORTNAME= ffmpeg
PORTVERSION= 4.4.1
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= multimedia audio net
MASTER_SITES= https://ffmpeg.org/releases/
diff --git a/multimedia/ffmpeg/files/patch-vmaf b/multimedia/ffmpeg/files/patch-vmaf
new file mode 100644
index 000000000000..b7b205fd9eb3
--- /dev/null
+++ b/multimedia/ffmpeg/files/patch-vmaf
@@ -0,0 +1,32 @@
+https://github.com/Netflix/vmaf/commit/122089fa3d23
+
+--- doc/filters.texi.orig 2021-10-24 20:47:07 UTC
++++ doc/filters.texi
+@@ -13875,14 +13875,14 @@ The obtained VMAF score is printed through the logging
+ It requires Netflix's vmaf library (libvmaf) as a pre-requisite.
+ After installing the library it can be enabled using:
+ @code{./configure --enable-libvmaf}.
+-If no model path is specified it uses the default model: @code{vmaf_v0.6.1.pkl}.
++If no model path is specified it uses the default model: @code{vmaf_v0.6.1.json}.
+
+ The filter has following options:
+
+ @table @option
+ @item model_path
+ Set the model path which is to be used for SVM.
+-Default value: @code{"/usr/local/share/model/vmaf_v0.6.1.pkl"}
++Default value: @code{"/usr/local/share/model/vmaf_v0.6.1.json"}
+
+ @item log_path
+ Set the file path to be used to store logs.
+--- libavfilter/vf_libvmaf.c.orig 2021-10-24 20:47:07 UTC
++++ 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/local/share/model/vmaf_v0.6.1.json"}, 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 (csv, json or xml).", 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},
diff --git a/multimedia/vmaf/Makefile b/multimedia/vmaf/Makefile
index 1930b845599e..b31de2adff0b 100644
--- a/multimedia/vmaf/Makefile
+++ b/multimedia/vmaf/Makefile
@@ -1,6 +1,7 @@
PORTNAME= vmaf
DISTVERSIONPREFIX= v
DISTVERSION= 2.2.1
+PORTREVISION= 1
CATEGORIES= multimedia
MAINTAINER= jbeich@FreeBSD.org
@@ -22,4 +23,9 @@ USE_LDCONFIG= yes
GH_ACCOUNT= Netflix
WRKSRC_SUBDIR= lib${PORTNAME}
+post-install:
+# For legacy API consumers e.g., aom, x265
+ (cd ${WRKSRC:H} && ${COPYTREE_SHARE} "model" \
+ ${STAGEDIR}${DATADIR:H} "-name *.json")
+
.include <bsd.port.mk>
diff --git a/multimedia/vmaf/pkg-plist b/multimedia/vmaf/pkg-plist
index 64757f1ec926..2055ea823c47 100644
--- a/multimedia/vmaf/pkg-plist
+++ b/multimedia/vmaf/pkg-plist
@@ -10,3 +10,19 @@ lib/libvmaf.so
lib/libvmaf.so.1
lib/libvmaf.so.1.1.2
libdata/pkgconfig/libvmaf.pc
+share/model/other_models/nflx_v1.json
+share/model/other_models/nflxtrain_norm_type_none.json
+share/model/other_models/vmaf_v0.6.0.json
+share/model/other_models/vmaf_v0.6.1mfz.json
+share/model/vmaf_4k_rb_v0.6.2/vmaf_4k_rb_v0.6.2.json
+share/model/vmaf_4k_v0.6.1.json
+share/model/vmaf_b_v0.6.3.json
+share/model/vmaf_float_4k_v0.6.1.json
+share/model/vmaf_float_b_v0.6.3.json
+share/model/vmaf_float_b_v0.6.3/vmaf_float_b_v0.6.3.json
+share/model/vmaf_float_v0.6.1.json
+share/model/vmaf_float_v0.6.1neg.json
+share/model/vmaf_rb_v0.6.2/vmaf_rb_v0.6.2.json
+share/model/vmaf_rb_v0.6.3/vmaf_rb_v0.6.3.json
+share/model/vmaf_v0.6.1.json
+share/model/vmaf_v0.6.1neg.json
diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile
index 985d516efacd..2fec20076168 100644
--- a/multimedia/x265/Makefile
+++ b/multimedia/x265/Makefile
@@ -2,7 +2,7 @@
PORTNAME= x265
PORTVERSION= 3.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= multimedia
MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/get/${BB_TAG}.tar.gz?meow=/
diff --git a/multimedia/x265/files/patch-source_x265.h b/multimedia/x265/files/patch-source_x265.h
new file mode 100644
index 000000000000..1fee612613ad
--- /dev/null
+++ b/multimedia/x265/files/patch-source_x265.h
@@ -0,0 +1,13 @@
+https://github.com/Netflix/vmaf/commit/122089fa3d23
+
+--- source/x265.h.orig 2020-09-16 15:52:49 UTC
++++ source/x265.h
+@@ -733,7 +733,7 @@ typedef struct x265_vmaf_commondata
+ int enable_conf_interval;
+ }x265_vmaf_commondata;
+
+-static const x265_vmaf_commondata vcd[] = { { NULL, (char *)"/usr/local/share/model/vmaf_v0.6.1.pkl", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 1, 0 } };
++static const x265_vmaf_commondata vcd[] = { { NULL, (char *)"/usr/local/share/model/vmaf_v0.6.1.json", NULL, NULL, 0, 0, 0, 0, 0, 0, 0, NULL, 0, 1, 0 } };
+
+ /* x265 input parameters
+ *