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 f55eba3..0000000 --- a/0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 870de42512805dcdd469ef0301476b3fc0e4bc95 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 12:32:54 +0200 -Subject: [PATCH] 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 9317515..868b13f 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 - INCLUDES += -I$(TOP)/../feature/src - INCLUDES += -I$(TOP)/../feature/src/common - -@@ -168,24 +169,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.2 - diff --git a/0001-Use-better-FLAGS-for-ptools.patch b/0001-Use-better-FLAGS-for-ptools.patch new file mode 100644 index 0000000..cd6bd9b --- /dev/null +++ b/0001-Use-better-FLAGS-for-ptools.patch @@ -0,0 +1,35 @@ +From 4adfd8064dbaad0e7d48e6668de322213ed621c8 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Wed, 4 Mar 2020 21:43:41 +0000 +Subject: [PATCH 1/4] Use better FLAGS for ptools + +--- + libvmaf/src/third_party/ptools/Makefile.Linux | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/libvmaf/src/third_party/ptools/Makefile.Linux b/libvmaf/src/third_party/ptools/Makefile.Linux +index 73d8241..99d4e83 100644 +--- a/libvmaf/src/third_party/ptools/Makefile.Linux ++++ b/libvmaf/src/third_party/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) -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.24.1 + diff --git a/0002-Unbundle-pugixml.patch b/0002-Unbundle-pugixml.patch index fd43ec2..ee469f3 100644 --- a/0002-Unbundle-pugixml.patch +++ b/0002-Unbundle-pugixml.patch @@ -1,38 +1,58 @@ -From a6765396684ddd62fe660cb914e495e61a4dcab9 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:43:48 +0200 -Subject: [PATCH] Unbundle pugixml +From 79d6313628216f9c5d6e758d8d113c97df152ad9 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Wed, 4 Mar 2020 21:49:48 +0000 +Subject: [PATCH 2/4] Unbundle pugixml --- - wrapper/Makefile | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) + libvmaf/src/meson.build | 7 +++++-- + libvmaf/src/vmaf.cpp | 2 +- + 2 files changed, 6 insertions(+), 3 deletions(-) -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 868b13f..4a891e1 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -43,9 +43,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) +diff --git a/libvmaf/src/meson.build b/libvmaf/src/meson.build +index 74047d2..9f723d8 100644 +--- a/libvmaf/src/meson.build ++++ b/libvmaf/src/meson.build +@@ -31,6 +31,7 @@ ptools_sources = [ + ] - AVX_OBJS := \ - $(OBJDIR)/convolution_avx.o \ -@@ -158,9 +158,6 @@ $(OBJDIR)/vmaf.o: $(SRCDIR)/vmaf.cpp - $(OBJDIR)/%.o: $(SRCDIR)/%.c - $(CC) -c -o $@ $(CFLAGS) $(CPPFLAGS) -I $(FEATURESRCDIR) $< + thread_lib = dependency('threads') ++pugixml_lib = dependency('pugixml') + math_lib = cc.find_library('m', required : false) --$(OBJDIR)/%.o: $(SRCDIR)/pugixml/%.cpp -- $(CXX) -c -o $@ $(CXXFLAGS) $(CPPFLAGS) $< -- - $(LIBVMAF): $(OBJS) $(wildcard ../ptools/*.o) - ar rcs $@ $^ + libptools = shared_library( +@@ -115,7 +116,6 @@ libvmaf_feature_static_lib = static_library( + ) + vmaf_sources = [ +- third_party_dir + 'pugixml/pugixml.cpp', + src_dir + 'mem.c', + src_dir + 'combo.c', + src_dir + 'cpu_info.c', +@@ -131,7 +131,10 @@ libvmaf = both_libraries( + include_directories : vmaf_include, + c_args : vmaf_cflags_common, + cpp_args : vmaf_cflags_common, +- dependencies : thread_lib, ++ dependencies : [ ++ thread_lib, ++ pugixml_lib, ++ ], + objects : [ + convolution_and_psnr_avx_static_lib.extract_all_objects(), + libptools.extract_all_objects(), +diff --git a/libvmaf/src/vmaf.cpp b/libvmaf/src/vmaf.cpp +index 64bcf5f..c9cab57 100644 +--- a/libvmaf/src/vmaf.cpp ++++ b/libvmaf/src/vmaf.cpp +@@ -28,7 +28,7 @@ + + #include "vmaf.h" + #include "combo.h" +-#include "third_party/pugixml/pugixml.hpp" ++#include + #include "timer.h" + #include "jsonprint.h" + #include "debug.h" -- -2.17.2 +2.24.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/0003-Fix-soname.patch b/0003-Fix-soname.patch new file mode 100644 index 0000000..2196456 --- /dev/null +++ b/0003-Fix-soname.patch @@ -0,0 +1,24 @@ +From 564d4c50e35bbb7428cab8ae58d31313fdfe065b Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Wed, 4 Mar 2020 21:52:08 +0000 +Subject: [PATCH 3/4] Fix soname + +--- + libvmaf/src/meson.build | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libvmaf/src/meson.build b/libvmaf/src/meson.build +index 9f723d8..1295b71 100644 +--- a/libvmaf/src/meson.build ++++ b/libvmaf/src/meson.build +@@ -129,6 +129,7 @@ libvmaf = both_libraries( + 'vmaf', + vmaf_sources, + include_directories : vmaf_include, ++ soversion: 0, + c_args : vmaf_cflags_common, + cpp_args : vmaf_cflags_common, + dependencies : [ +-- +2.24.1 + diff --git a/0004-Avoid-x86cpudetection-code-when-not-relevant.patch b/0004-Avoid-x86cpudetection-code-when-not-relevant.patch new file mode 100644 index 0000000..bbc3fe0 --- /dev/null +++ b/0004-Avoid-x86cpudetection-code-when-not-relevant.patch @@ -0,0 +1,39 @@ +From f6acf39e17ce3d1e607be243c263dffbac9cb862 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Wed, 4 Mar 2020 22:06:51 +0000 +Subject: [PATCH 4/4] Avoid x86cpudetection code when not relevant + +--- + libvmaf/src/feature/common/cpu.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/libvmaf/src/feature/common/cpu.c b/libvmaf/src/feature/common/cpu.c +index ff96ddc..efcb8ec 100644 +--- a/libvmaf/src/feature/common/cpu.c ++++ b/libvmaf/src/feature/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.24.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 0eb5708..0000000 --- a/0005-Switch-pugixml-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 80053ca29abc26ff6129ea5cb5c7e7545519b625 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 13:57:00 +0200 -Subject: [PATCH] Switch pugixml include - ---- - wrapper/src/vmaf.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wrapper/src/vmaf.cpp b/wrapper/src/vmaf.cpp -index fa1dce9..3e193bc 100644 ---- a/wrapper/src/vmaf.cpp -+++ b/wrapper/src/vmaf.cpp -@@ -29,7 +29,7 @@ - - #include "vmaf.h" - #include "combo.h" --#include "pugixml/pugixml.hpp" -+#include - #include "timer.h" - #include "jsonprint.h" - #include "debug.h" --- -2.17.2 - 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 08a3293..0000000 --- a/0006-Switch-to-shared-library-for-libvmaf.patch +++ /dev/null @@ -1,58 +0,0 @@ -From f3b0da9d64e0ad5e668abc97137635f3c5da2d8f Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:33:30 +0200 -Subject: [PATCH] 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 111d07c..86ced7d 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 4a891e1..2aeaf66 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -1,4 +1,4 @@ --LIBVMAF = libvmaf.a -+LIBVMAF = libvmaf.so - - .PHONY: all - all: $(LIBVMAF) vmafossexec -@@ -159,7 +159,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.2 - diff --git a/0007-Unbundle-libsvm.patch b/0007-Unbundle-libsvm.patch deleted file mode 100644 index c69f535..0000000 --- a/0007-Unbundle-libsvm.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 1b1b5db051e99bd7070fd996d46af4f88d030452 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:35:50 +0200 -Subject: [PATCH] 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.2 - diff --git a/0008-Add-pugixml-LIBS.patch b/0008-Add-pugixml-LIBS.patch deleted file mode 100644 index 30cb36e..0000000 --- a/0008-Add-pugixml-LIBS.patch +++ /dev/null @@ -1,25 +0,0 @@ -From b0fbd280173737102f1814e59452545c6d116cb1 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 14:43:21 +0200 -Subject: [PATCH] Add pugixml LIBS - ---- - wrapper/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/wrapper/Makefile b/wrapper/Makefile -index 2aeaf66..ac6decc 100644 ---- a/wrapper/Makefile -+++ b/wrapper/Makefile -@@ -159,7 +159,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.2 - 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 95e336d..0000000 --- a/0009-Avoid-x86cpudetection-code-when-not-relevant.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 02e035cfe70c8c89e7b0f7ac8e9dd0548cfcab56 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 18:00:25 +0200 -Subject: [PATCH] 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 85156f8..3d48dcd 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.2 - 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 44ecab3..0000000 --- a/0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8b4d74a98a95aa12d58f9ebaded2c562b62111f7 Mon Sep 17 00:00:00 2001 -From: Nicolas Chauvet -Date: Sat, 7 Apr 2018 19:16:00 +0200 -Subject: [PATCH] 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 e48d5a8..416d327 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.2 - 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 e1d2544..d6f9e45 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vmaf-1.3.15.tar.gz) = 48dd07e7cf0bca0133739d788e0dab016304cb3b33c72db5a2bc55a55768c3efac6b85c413e8471bfa362bf6ce3bd20994bf996af9cf09c37f2be977791c08c6 +SHA512 (vmaf-1.5.1.tar.gz) = f587c70fd830a491e9c75f65bc4f4bff137218c504aab7d3d4f2eba1affaac8a32eb6049ec00ad8db6a4f26079c555da3d5803f14f9dd01c199cc89df2e4a975 diff --git a/vmaf.spec b/vmaf.spec index 932d039..f2ea755 100644 --- a/vmaf.spec +++ b/vmaf.spec @@ -1,25 +1,21 @@ Name: vmaf -Version: 1.3.15 -Release: 2%{?dist} +Version: 1.5.1 +Release: 1%{?dist} Summary: Video Multi-Method Assessment Fusion -License: ASL 2.0 +License: BSD-2-Clause-Patent URL: https://github.com/netflix/vmaf Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz -Patch0: 0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch +Patch0: 0001-Use-better-FLAGS-for-ptools.patch Patch1: 0002-Unbundle-pugixml.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 +Patch3: 0003-Fix-soname.patch +Patch4: 0004-Avoid-x86cpudetection-code-when-not-relevant.patch # This project relies on AVX ExclusiveArch: x86_64 BuildRequires: gcc-c++ +BuildRequires: meson BuildRequires: libsvm-devel BuildRequires: pugixml-devel @@ -64,35 +60,25 @@ developing applications that use %{name}. %prep %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 libvmaf/src/third_party/pugixml +rm -rf third_party/libsvm %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 +%meson_build +popd %install -%make_install PREFIX=%{_prefix} LIBDIR=%{_libdir} +pushd libvmaf +%meson_install +popd -mv %{buildroot}%{_libdir}/libvmaf.so \ +mv %{buildroot}%{_libdir}/libvmaf.so.0 \ %{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} +rm -f %{buildroot}%{_libdir}/libvmaf.a #RPM Macros support mkdir -p %{buildroot}%{rpmmacrodir} @@ -119,12 +105,15 @@ touch -r LICENSE %{buildroot}%{rpmmacrodir}/macros.%{name} %files -n libvmaf-devel %doc CONTRIBUTING.md %{rpmmacrodir}/macros.%{name} -%{_includedir}/libvmaf.h +%{_includedir}/libvmaf/ %{_libdir}/*.so %{_libdir}/pkgconfig/libvmaf.pc %changelog +* 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