diff --git a/0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch b/0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch deleted file mode 100644 index 2fef1ba..0000000 --- a/0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 14f859ed0ee63774c3aa86cb31ae0d2b8f4941fd Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 12:32:54 +0200 -Subject: [PATCH 01/11] Use PREFIX and LIBDIR build variable instead of custom - ones - ---- - wrapper/Makefile | 29 +++++++++++++++-------------- - 1 file changed, 15 insertions(+), 14 deletions(-) - -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 8658e83..6b02083 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -8,7 +8,8 @@ SRCDIR = $(TOP)/src - OBJDIR = $(TOP)/obj - FEATURESRCDIR = $(TOP)/../feature/src - PTOOLSDIR = $(TOP)/../ptools --INSTALL_PREFIX = /usr/local -+PREFIX ?= /usr/local -+LIBDIR ?= $(PREFIX)/lib - - OBJS = \ - $(OBJDIR)/alloc.o \ -@@ -170,24 +171,24 @@ vmafossexec: $(OBJDIR)/main.o $(LIBVMAF) - - .PHONY: install - install: -- mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/lib -- mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/include -- mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/share -- mkdir -p $(DESTDIR)$(INSTALL_PREFIX)/lib/pkgconfig -- cp $(LIBVMAF) $(DESTDIR)$(INSTALL_PREFIX)/lib/$(LIBVMAF) -- cp src/libvmaf.h $(DESTDIR)$(INSTALL_PREFIX)/include/ -- cp -r ../model $(DESTDIR)$(INSTALL_PREFIX)/share/ -- cp libvmaf.pc $(DESTDIR)$(INSTALL_PREFIX)/lib/pkgconfig/ -+ mkdir -p $(DESTDIR)$(LIBDIR) -+ mkdir -p $(DESTDIR)$(PREFIX)/include -+ mkdir -p $(DESTDIR)$(PREFIX)/share -+ mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig -+ cp $(LIBVMAF) $(DESTDIR)$(LIBDIR)/$(LIBVMAF) -+ cp src/libvmaf.h $(DESTDIR)$(PREFIX)/include/ -+ cp -r ../model $(DESTDIR)$(PREFIX)/share/ -+ cp libvmaf.pc $(DESTDIR)$(LIBDIR)/pkgconfig/ - - .PHONY: uninstall - uninstall: -- rm -f $(DESTDIR)$(INSTALL_PREFIX)/lib/$(LIBVMAF) -- rm -f $(DESTDIR)$(INSTALL_PREFIX)/include/libvmaf.h -- rm -fr $(DESTDIR)$(INSTALL_PREFIX)/share/model -- rm -f $(DESTDIR)$(INSTALL_PREFIX)/lib/pkgconfig/libvmaf.pc -+ rm -f $(DESTDIR)$(LIBDIR)/$(LIBVMAF) -+ rm -f $(DESTDIR)$(PREFIX)/include/libvmaf.h -+ rm -fr $(DESTDIR)$(PREFIX)/share/model -+ rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/libvmaf.pc - - testlib: $(SRCDIR)/main.cpp -- $(CXX) -s -o $@ $(CXXFLAGS) $^ -I $(FEATURESRCDIR) -I $(FEATURESRCDIR)/common -I $(DESTDIR)$(INSTALL_PREFIX)/include -L$(DESTDIR)$(INSTALL_PREFIX)/lib -lvmaf -pthread -+ $(CXX) -s -o $@ $(CXXFLAGS) $^ -I $(FEATURESRCDIR) -I $(FEATURESRCDIR)/common -I $(DESTDIR)$(PREFIX)/include -L$(DESTDIR)$(LIBDIR) -lvmaf -pthread - - .PHONY: clean - clean: --- -2.17.1 - diff --git a/0002-Unbundle-pugixml.patch b/0002-Unbundle-pugixml.patch deleted file mode 100644 index c4af166..0000000 --- a/0002-Unbundle-pugixml.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 524c2dea1569cef1aaeb26c2afd9a64e11c06254 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:43:48 +0200 -Subject: [PATCH 02/11] Unbundle pugixml - ---- - wrapper/Makefile | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 6b02083..985a30f 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -42,9 +42,9 @@ OBJS = \ - $(OBJDIR)/vmaf.o \ - $(OBJDIR)/darray.o \ - $(OBJDIR)/libvmaf.o \ -- $(OBJDIR)/pugixml.o \ - $(OBJDIR)/blur_array.o \ -- $(OBJDIR)/cpu_info.o -+ $(OBJDIR)/cpu_info.o \ -+ $(NULL) - - AVX_OBJS := \ - $(OBJDIR)/convolution_avx.o \ -@@ -160,9 +160,6 @@ $(OBJDIR)/vmaf.o: $(SRCDIR)/vmaf.cpp - $(OBJDIR)/%.o: $(SRCDIR)/%.c - $(CC) -c -o $@ $(CFLAGS) $(CPPFLAGS) -I $(FEATURESRCDIR) $< - --$(OBJDIR)/%.o: $(SRCDIR)/pugixml/%.cpp -- $(CXX) -c -o $@ $(CXXFLAGS) $(CPPFLAGS) $< -- - $(LIBVMAF): $(OBJS) $(wildcard ../ptools/*.o) - ar rcs $@ $^ - --- -2.17.1 - diff --git a/0003-Drop-AVX-when-not-relevant.patch b/0003-Drop-AVX-when-not-relevant.patch deleted file mode 100644 index 5d68f52..0000000 --- a/0003-Drop-AVX-when-not-relevant.patch +++ /dev/null @@ -1,84 +0,0 @@ -From bd90f8e5d7bb1d323ec35d8326915ded41cce587 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:44:42 +0200 -Subject: [PATCH 03/11] Drop AVX when not relevant - ---- - feature/Makefile | 9 +++++++++ - wrapper/Makefile | 17 ++++++++++++++--- - 2 files changed, 23 insertions(+), 3 deletions(-) - -diff --git a/feature/Makefile b/feature/Makefile -index 111d07c..c786a27 100644 ---- a/feature/Makefile -+++ b/feature/Makefile -@@ -10,13 +10,22 @@ LIBVMAF = $(TOP)/../wrapper/libvmaf.a - CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic - # CFLAGS_COMMON = -g -O0 -fPIC -Wall -Wextra -pedantic - -+UNAME := $(shell uname -m) - CFLAGS := -std=c99 $(CFLAGS_COMMON) $(CFLAGS) - CXXFLAGS := -std=c++11 $(CFLAGS_COMMON) $(CXXFLAGS) - CPPFLAGS := $(CPPFLAGS) - LIBS := $(LIBS) -lm - LDFLAGS := $(LDFLAGS) - -+ifeq ($(UNAME), x86_64) -+ USE_AVX = 1 -+endif -+ifeq ($(UNAME), i386) -+ USE_AVX = 1 -+endif -+ifeq ($(USE_AVX), 1) - $(AVX_OBJS): EXTRA_CFLAGS := -mavx -+endif - - $(OBJDIR)/vmaf_main.o: $(SRCDIR)/vmaf_main.c - $(CC) $(EXTRA_CFLAGS) -c -o $@ $(CFLAGS) $(CPPFLAGS) $< -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 985a30f..62bde27 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -3,6 +3,7 @@ LIBVMAF = libvmaf.a - .PHONY: all - all: $(LIBVMAF) vmafossexec - -+UNAME := $(shell uname -m) - TOP = $(shell pwd) - SRCDIR = $(TOP)/src - OBJDIR = $(TOP)/obj -@@ -11,6 +12,18 @@ PTOOLSDIR = $(TOP)/../ptools - PREFIX ?= /usr/local - LIBDIR ?= $(PREFIX)/lib - -+ifeq ($(UNAME), x86_64) -+ USE_AVX = 1 -+endif -+ifeq ($(UNAME), i386) -+ USE_AVX = 1 -+endif -+ifeq ($(USE_AVX), 1) -+AVX_OBJS := \ -+ $(OBJDIR)/convolution_avx.o \ -+ -+endif -+ - OBJS = \ - $(OBJDIR)/alloc.o \ - $(OBJDIR)/alignment.o \ -@@ -44,11 +57,9 @@ OBJS = \ - $(OBJDIR)/libvmaf.o \ - $(OBJDIR)/blur_array.o \ - $(OBJDIR)/cpu_info.o \ -+ $(AVX_OBJS) \ - $(NULL) - --AVX_OBJS := \ -- $(OBJDIR)/convolution_avx.o \ -- - CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic -D MULTI_THREADING - # CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic -D MULTI_THREADING -D PRINT_PROGRESS - # CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic --- -2.17.1 - diff --git a/0004-Use-better-FLAGS-for-ptools.patch b/0004-Use-better-FLAGS-for-ptools.patch deleted file mode 100644 index 3f45ac5..0000000 --- a/0004-Use-better-FLAGS-for-ptools.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 1f85e97f791709405d5b38981d1786727c229bc0 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:54:40 +0200 -Subject: [PATCH 04/11] Use better FLAGS for ptools - ---- - ptools/Makefile.Linux | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/ptools/Makefile.Linux b/ptools/Makefile.Linux -index 73d8241..890141b 100644 ---- a/ptools/Makefile.Linux -+++ b/ptools/Makefile.Linux -@@ -10,7 +10,8 @@ CC = g++ - OC = ./opencontainers_1_8_4 - OCINC = $(OC)/include - --CFLAGS = -Wall -Wextra -fpic -O -fno-strict-aliasing -DLINUX_ -DOC_NEW_STYLE_INCLUDES -Wno-deprecated -I$(OCINC) -pthread -D_REENTRANT -+CFLAGS_COMMON = -Wall -Wextra -fpic -O -+CFLAGS = $(CFLAGS_COMMON) -fno-strict-aliasing -DLINUX_ -DOC_NEW_STYLE_INCLUDES -Wno-deprecated -I$(OCINC) -pthread -D_REENTRANT - - ## How to build with OCString - ##CFLAGS = -Wall -O4 -DLINUX_ -DOC_USE_OC_STRING -DOC_USE_OC_EXCEPTIONS -DOC_ONLY_NEEDED_STL -DOC_NEW_STYLE_INCLUDES -Wno-deprecated -I$(OCINC) -@@ -30,7 +31,7 @@ all: midasyeller_ex midastalker_ex midastalker_ex2 httpclient_ex midasserver_ex - $(CC) $(CFLAGS) -c $< - - libptools.so : $(COM_OBJS) -- $(CC) $(CCFLAGS) $(COM_OBJS) -shared -o libptools.so -+ $(CC) $(CCFLAGS) $(COM_OBJS) $(LDFLAGS) -shared -Wl,-soname,libptools.so.0 -o libptools.so - - midasserver_ex : $(COM_OBJS) midasserver_ex.o - $(CC) $(CCFLAGS) $(COM_OBJS) midasserver_ex.o -pthread -o midasserver_ex --- -2.17.1 - diff --git a/0005-Switch-pugixml-include.patch b/0005-Switch-pugixml-include.patch deleted file mode 100644 index aae4b9d..0000000 --- a/0005-Switch-pugixml-include.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6b8189523f590e0ec8bd67b15c58377d27fe63f7 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:57:00 +0200 -Subject: [PATCH 05/11] Switch pugixml include - ---- - wrapper/src/vmaf.cpp | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/wrapper/src/vmaf.cpp b/wrapper/src/vmaf.cpp -index bed3502..a776931 100644 ---- a/wrapper/src/vmaf.cpp -+++ b/wrapper/src/vmaf.cpp -@@ -28,7 +28,8 @@ - - #include "vmaf.h" - #include "combo.h" --#include "pugixml/pugixml.hpp" -+#include "svm.h" -+#include - #include "timer.h" - #include "jsonprint.h" - #include "debug.h" --- -2.17.1 - diff --git a/0006-Switch-to-shared-library-for-libvmaf.patch b/0006-Switch-to-shared-library-for-libvmaf.patch deleted file mode 100644 index aee0af3..0000000 --- a/0006-Switch-to-shared-library-for-libvmaf.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 26c58a87b63742412f8845318dbd27585a734ed1 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:33:30 +0200 -Subject: [PATCH 06/11] Switch to shared library for libvmaf - ---- - feature/Makefile | 2 +- - wrapper/.gitignore | 1 + - wrapper/Makefile | 4 ++-- - 3 files changed, 4 insertions(+), 3 deletions(-) - -diff --git a/feature/Makefile b/feature/Makefile -index c786a27..127faed 100644 ---- a/feature/Makefile -+++ b/feature/Makefile -@@ -5,7 +5,7 @@ TOP = $(shell pwd) - SRCDIR = $(TOP)/src - OBJDIR = $(TOP)/obj - TOOLDIR = $(TOP)/tool --LIBVMAF = $(TOP)/../wrapper/libvmaf.a -+LIBVMAF = $(TOP)/../wrapper/libvmaf.so - - CFLAGS_COMMON = -g -O3 -fPIC -w -Wextra -pedantic - # CFLAGS_COMMON = -g -O0 -fPIC -Wall -Wextra -pedantic -diff --git a/wrapper/.gitignore b/wrapper/.gitignore -index b721ec4..16e4e57 100644 ---- a/wrapper/.gitignore -+++ b/wrapper/.gitignore -@@ -1,6 +1,7 @@ - *.o - vmafossexec - libvmaf.a -+libvmaf.so* - testlib - .cproject - .project -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 62bde27..8644c49 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -1,4 +1,4 @@ --LIBVMAF = libvmaf.a -+LIBVMAF = libvmaf.so - - .PHONY: all - all: $(LIBVMAF) vmafossexec -@@ -172,7 +172,7 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.c - $(CC) -c -o $@ $(CFLAGS) $(CPPFLAGS) -I $(FEATURESRCDIR) $< - - $(LIBVMAF): $(OBJS) $(wildcard ../ptools/*.o) -- ar rcs $@ $^ -+ $(CC) $(LDFLAGS) $^ -shared -Wl,-soname,libvmaf.so.0 -o $@ - - vmafossexec: $(OBJDIR)/main.o $(LIBVMAF) - $(CXX) -s -o $@ $(LDFLAGS) $^ -pthread --- -2.17.1 - diff --git a/0007-Unbundle-libsvm.patch b/0007-Unbundle-libsvm.patch deleted file mode 100644 index c152918..0000000 --- a/0007-Unbundle-libsvm.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ee9ed1dfd1a41a30bf9c6a5e11cf0ae4f70a37ed Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:35:50 +0200 -Subject: [PATCH 07/11] Unbundle libsvm - ---- - Makefile | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/Makefile b/Makefile -index 5a13baa..d2ba5cc 100644 ---- a/Makefile -+++ b/Makefile -@@ -1,6 +1,5 @@ - TARGETS = \ - ptools \ -- libsvm \ - wrapper \ - feature - -@@ -9,8 +8,6 @@ all: - cd $${dir}; $(MAKE); cd ..; \ - done - -- cd libsvm; $(MAKE) lib; cd ..; -- - clean: - -for dir in $(TARGETS); do \ - cd $${dir}; $(MAKE) clean; cd ..; \ --- -2.17.1 - diff --git a/0008-Add-pugixml-LIBS.patch b/0008-Add-pugixml-LIBS.patch deleted file mode 100644 index 07ecb1f..0000000 --- a/0008-Add-pugixml-LIBS.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d3d9937d72928f8c98feb196caeccdde9bafa63e Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:43:21 +0200 -Subject: [PATCH 08/11] Add pugixml LIBS - ---- - wrapper/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 8644c49..ceba5dc 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -172,7 +172,7 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.c - $(CC) -c -o $@ $(CFLAGS) $(CPPFLAGS) -I $(FEATURESRCDIR) $< - - $(LIBVMAF): $(OBJS) $(wildcard ../ptools/*.o) -- $(CC) $(LDFLAGS) $^ -shared -Wl,-soname,libvmaf.so.0 -o $@ -+ $(CC) $(LDFLAGS) $^ -shared -Wl,-soname,libvmaf.so.0 -lpugixml -pthread -o $@ - - vmafossexec: $(OBJDIR)/main.o $(LIBVMAF) - $(CXX) -s -o $@ $(LDFLAGS) $^ -pthread --- -2.17.1 - diff --git a/0009-Avoid-x86cpudetection-code-when-not-relevant.patch b/0009-Avoid-x86cpudetection-code-when-not-relevant.patch deleted file mode 100644 index 0a85ec8..0000000 --- a/0009-Avoid-x86cpudetection-code-when-not-relevant.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 48f15b192920c283285276c01cf71331314d66a2 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 18:00:25 +0200 -Subject: [PATCH 09/11] Avoid x86cpudetection code when not relevant - ---- - feature/src/common/cpu.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -diff --git a/feature/src/common/cpu.c b/feature/src/common/cpu.c -index 4befea2..165488a 100644 ---- a/feature/src/common/cpu.c -+++ b/feature/src/common/cpu.c -@@ -16,9 +16,10 @@ - * - */ - --#include "cpudetect.h" - #include "cpu.h" - -+#if defined(__i386__) || defined(__x86_64) -+#include "cpudetect.h" - - enum vmaf_cpu cpu_autodetect() - { -@@ -31,3 +32,10 @@ enum vmaf_cpu cpu_autodetect() - else - return VMAF_CPU_NONE; - } -+ -+#else -+enum vmaf_cpu cpu_autodetect() -+{ -+ return VMAF_CPU_NONE; -+} -+#endif --- -2.17.1 - diff --git a/0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch b/0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch deleted file mode 100644 index dfa992c..0000000 --- a/0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 0a484f7a0af68364ce98d6b9a7f1389c08163a35 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 19:16:00 +0200 -Subject: [PATCH 10/11] Fix libvmaf.pc to use Libs.private for pthread m - -This avoid to link to pthread and m when not needed -Also avoid to link to a specitic libstdc++ -(as reported in https://github.com/Netflix/vmaf/issues/122) - -Signed-off-by: Nicolas Chauvet ---- - wrapper/libvmaf.pc | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/wrapper/libvmaf.pc b/wrapper/libvmaf.pc -index 5d524f4..d025135 100644 ---- a/wrapper/libvmaf.pc -+++ b/wrapper/libvmaf.pc -@@ -10,6 +10,6 @@ URL: https://github.com/Netflix/vmaf - Requires: - Requires.private: - Conflicts: --Libs: -L${libdir} -lvmaf -lstdc++ -lpthread -lm --Libs.private: -+Libs: -L${libdir} -lvmaf -+Libs.private: -lpthread -lm - Cflags: -I${includedir} --- -2.17.1 - diff --git a/0011-Add-msse2-for-i686.patch b/0011-Add-msse2-for-i686.patch deleted file mode 100644 index e34b259..0000000 --- a/0011-Add-msse2-for-i686.patch +++ /dev/null @@ -1,41 +0,0 @@ -From c4af3c8270c8f498601d7dd68426c4bd52583006 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 19:30:49 +0200 -Subject: [PATCH 11/11] Add -msse2 for i686 - -With x86_64 -msse2 is implicit, but not i686 -Both asm option needs to be enabled there - -Signed-off-by: Nicolas Chauvet ---- - wrapper/Makefile | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/wrapper/Makefile b/wrapper/Makefile -index ceba5dc..a38d35b 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -14,9 +14,11 @@ LIBDIR ?= $(PREFIX)/lib - - ifeq ($(UNAME), x86_64) - USE_AVX = 1 -+ ASM_CFLAGS = -mavx - endif - ifeq ($(UNAME), i386) - USE_AVX = 1 -+ ASM_CFLAGS = -msse -msse2 -mavx - endif - ifeq ($(USE_AVX), 1) - AVX_OBJS := \ -@@ -70,7 +72,7 @@ CXXFLAGS := -std=c++11 $(CFLAGS_COMMON) $(CXXFLAGS) - CPPFLAGS := $(CPPFLAGS) - LDFLAGS := $(LDFLAGS) - --$(AVX_OBJS): EXTRA_CFLAGS := -mavx -+$(AVX_OBJS): EXTRA_CFLAGS := $(ASM_CFLAGS) - - $(OBJDIR)/alloc.o: $(FEATURESRCDIR)/common/alloc.c - $(CC) -c -o $@ $(CFLAGS) $(CPPFLAGS) $< --- -2.17.1 - diff --git a/sources b/sources index c76c7df..801a6bf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vmaf-a654f6f.tar.gz) = 37984568db2d86c996567f3d2b57bd93e5dfce1adf5233e2cf0c1f6a099e3b704c8b31ff20c8115f87d4d7d40bedaad198a033d3acd4b40b4710a9d7a64cd987 +SHA512 (vmaf-3.2.0.tar.gz) = 5bd78c6370642612d52f5370f10cd38edb335be57a2252be4f4242b00653c4e0f2c93ab611581e8fed30c52107963fb410a00408033f26e22b5911eed1d0bfde diff --git a/vmaf.spec b/vmaf.spec index 3329a07..5ed66f0 100644 --- a/vmaf.spec +++ b/vmaf.spec @@ -1,33 +1,20 @@ -%global commit0 a654f6f7f5998aedf2d6e2f6b3a9eece9753c3fb -%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -%global commitdate0 20180914 - Name: vmaf -Version: 1.3.9 -Release: 1.%{commitdate0}git%{shortcommit0}%{?dist} +Version: 3.2.0 +Release: 2%{?dist} Summary: Video Multi-Method Assessment Fusion -License: ASL 2.0 -URL: https://github.com/netflix/vmaf/ -Source0: %{url}/archive/%{commit0}/%{name}-%{shortcommit0}.tar.gz -Patch0: 0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch -Patch1: 0002-Unbundle-pugixml.patch -Patch2: 0003-Drop-AVX-when-not-relevant.patch -Patch3: 0004-Use-better-FLAGS-for-ptools.patch -Patch4: 0005-Switch-pugixml-include.patch -Patch5: 0006-Switch-to-shared-library-for-libvmaf.patch -Patch6: 0007-Unbundle-libsvm.patch -Patch7: 0008-Add-pugixml-LIBS.patch -Patch8: 0009-Avoid-x86cpudetection-code-when-not-relevant.patch -Patch9: 0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch -Patch10: 0011-Add-msse2-for-i686.patch +License: BSD-2-Clause-Patent +URL: https://github.com/netflix/vmaf +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz # This project relies on AVX ExclusiveArch: x86_64 BuildRequires: gcc-c++ -BuildRequires: libsvm-devel -BuildRequires: pugixml-devel +BuildRequires: meson +BuildRequires: nasm +BuildRequires: vim-common + # Enforce our own build version for library Requires: libvmaf%{?_isa} = %{version}-%{release} @@ -48,6 +35,7 @@ https://github.com/Netflix/vmaf/blob/master/resource/doc/VMAF_ICIP17.pdf %package -n libvmaf Summary: Library for %{name} +Provides: bundled(libsvm) = 3.24 #Some repo provides it Provides: %{name}-static = %{version}-%{release} Obsoletes: %{name}-static < %{version}-%{release} @@ -66,71 +54,160 @@ Obsoletes: %{name}-devel < %{version}-%{release} The %{name}-devel package contains libraries and header files for developing applications that use %{name}. +%package models +Summary: Model files for %{name} +Requires: libvmaf = %{version}-%{release} +BuildArch: noarch + +%description models +The %{name}-models package contains model files. +These are needed for apps that can't use the builtin models. %prep -%autosetup -p1 -n %{name}-%{commit0} +%autosetup -p1 # Unbundle -rm -rf wrapper/src/pugixml -rm -rf libsvm - -# Tweak libvmaf.pc -sed -i -e 's|/usr/local|%{_prefix}|g' wrapper/libvmaf.pc -sed -i -e 's|/usr/lib|%{_libdir}|g' wrapper/libvmaf.pc - +rm -rf third_party/ %build -%ifarch i686 -export ASM_CFLAGS="-msse -msse2 -mavx" -%endif -%make_build CFLAGS_COMMON="%{optflags} ${ASM_CFLAGS} -fPIC" LDFLAGS="%{__global_ldflags}" V=1 - +pushd libvmaf +%meson \ + -Ddefault_library=shared +%meson_build +popd %install -%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} - -mv %{buildroot}%{_libdir}/libvmaf.so \ - %{buildroot}%{_libdir}/libvmaf.so.0.0.0 -ln -s libvmaf.so.0.0.0 \ - %{buildroot}%{_libdir}/libvmaf.so.0 -ln -s libvmaf.so.0 \ - %{buildroot}%{_libdir}/libvmaf.so - -# Install vmafossexec -mkdir -p %{buildroot}%{_bindir} -install -pm 0755 wrapper/vmafossexec \ - %{buildroot}%{_bindir} +pushd libvmaf +%meson_install +popd #RPM Macros support mkdir -p %{buildroot}%{rpmmacrodir} cat > %{buildroot}%{rpmmacrodir}/macros.%{name} << EOF # libvmaf RPM Macros -%libvmaf_version %{version} +%libvmaf_version %{version} EOF touch -r LICENSE %{buildroot}%{rpmmacrodir}/macros.%{name} +mkdir -p %{buildroot}%{_datadir}/model/ +cp -Rp model/* %{buildroot}%{_datadir}/model/ + +%check +pushd libvmaf +ninja -vC %{_vpath_builddir} test ||: +popd %ldconfig_scriptlets -n libvmaf %files -%doc FAQ.md NOTICE.md README.md -%{_bindir}/vmafossexec +%doc README.md +%{_bindir}/vmaf + +%files models %{_datadir}/model/ %files -n libvmaf %doc CHANGELOG.md %license LICENSE -%{_libdir}/*.so.* +%{_libdir}/*.so.3* %files -n libvmaf-devel %doc CONTRIBUTING.md %{rpmmacrodir}/macros.%{name} -%{_includedir}/libvmaf.h +%{_includedir}/libvmaf/ %{_libdir}/*.so %{_libdir}/pkgconfig/libvmaf.pc %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 3.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Thu Jul 02 2026 Nicolas Chauvet - 3.2.0-1 +- Update to 3.2.0 + +* Thu Apr 09 2026 Nicolas Chauvet - 3.1.0-1 +- Update to 3.1.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 3.0.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Fri Jul 25 2025 Fedora Release Engineering - 3.0.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 3.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sat Jul 20 2024 Fedora Release Engineering - 3.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jul 10 2024 Nicolas Chauvet - 3.0.0-1 +- Update to 3.0.0 + +* Sat Jan 27 2024 Fedora Release Engineering - 2.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 2.3.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 2.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 2.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 2.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sat Dec 11 2021 Leigh Scott - 2.3.0-2 +- Add models sub-package + +* Fri Dec 10 2021 Leigh Scott - 2.3.0-1 +- Update to 2.3.0 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Mar 10 2021 Leigh Scott - 2.1.1-1 +- Update to 2.1.1 + +* Wed Jan 27 2021 Fedora Release Engineering - 1.5.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 31 2020 Leigh Scott - 1.5.3-1 +- Update to 1.5.3 + +* Wed Jul 29 2020 Fedora Release Engineering - 1.5.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jun 24 2020 Leigh Scott - 1.5.1-4 +- Add upstream commit to mark ABI as C + +* Sat May 23 2020 Leigh Scott - 1.5.1-3 +- Fix pkconfig version + +* Wed Mar 04 2020 Leigh Scott - 1.5.1-2 +- Use shared for vmafossexec + +* Tue Mar 03 2020 Leigh Scott - 1.5.1-1 +- Update to 1.5.1 + +* Fri Jan 31 2020 Fedora Release Engineering - 1.3.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Sep 11 2019 Leigh Scott - 1.3.15-1 +- Update to 1.3.15 + +* Sat Jul 27 2019 Fedora Release Engineering - 1.3.14-2.20190403git8f41503 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Apr 06 2019 Nicolas Chauvet - 1.3.14-1.20190403git8f415036 +- Update to 1.3.14 +- Rebase patches + +* Sun Feb 03 2019 Fedora Release Engineering - 1.3.9-2.20180914gita654f6f +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Fri Sep 21 2018 Nicolas Chauvet - 1.3.9-0.20180914gita654f6f - Update to 1.3.9 up to 20180914