The package rpms/vmaf.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/vmaf.git/commit/?id=4d114d0747051....
Change:
+%ifarch i686
Thanks.
Full change:
============
commit 78868b3cb583aba6e87eaf94e0d56e4f62a89eed
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Mon Nov 5 20:07:35 2018 +0100
Add patches
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
new file mode 100644
index 0000000..2fef1ba
--- /dev/null
+++ b/0001-Use-PREFIX-and-LIBDIR-build-variable-instead-of-cust.patch
@@ -0,0 +1,65 @@
+From 14f859ed0ee63774c3aa86cb31ae0d2b8f4941fd Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..c4af166
--- /dev/null
+++ b/0002-Unbundle-pugixml.patch
@@ -0,0 +1,38 @@
+From 524c2dea1569cef1aaeb26c2afd9a64e11c06254 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..5d68f52
--- /dev/null
+++ b/0003-Drop-AVX-when-not-relevant.patch
@@ -0,0 +1,84 @@
+From bd90f8e5d7bb1d323ec35d8326915ded41cce587 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..3f45ac5
--- /dev/null
+++ b/0004-Use-better-FLAGS-for-ptools.patch
@@ -0,0 +1,35 @@
+From 1f85e97f791709405d5b38981d1786727c229bc0 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..aae4b9d
--- /dev/null
+++ b/0005-Switch-pugixml-include.patch
@@ -0,0 +1,26 @@
+From 6b8189523f590e0ec8bd67b15c58377d27fe63f7 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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 <pugixml.hpp>
+ #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
new file mode 100644
index 0000000..aee0af3
--- /dev/null
+++ b/0006-Switch-to-shared-library-for-libvmaf.patch
@@ -0,0 +1,58 @@
+From 26c58a87b63742412f8845318dbd27585a734ed1 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..c152918
--- /dev/null
+++ b/0007-Unbundle-libsvm.patch
@@ -0,0 +1,32 @@
+From ee9ed1dfd1a41a30bf9c6a5e11cf0ae4f70a37ed Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..07ecb1f
--- /dev/null
+++ b/0008-Add-pugixml-LIBS.patch
@@ -0,0 +1,25 @@
+From d3d9937d72928f8c98feb196caeccdde9bafa63e Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..0a85ec8
--- /dev/null
+++ b/0009-Avoid-x86cpudetection-code-when-not-relevant.patch
@@ -0,0 +1,39 @@
+From 48f15b192920c283285276c01cf71331314d66a2 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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
new file mode 100644
index 0000000..dfa992c
--- /dev/null
+++ b/0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch
@@ -0,0 +1,30 @@
+From 0a484f7a0af68364ce98d6b9a7f1389c08163a35 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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 <kwizart(a)gmail.com>
+---
+ 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
new file mode 100644
index 0000000..e34b259
--- /dev/null
+++ b/0011-Add-msse2-for-i686.patch
@@ -0,0 +1,41 @@
+From c4af3c8270c8f498601d7dd68426c4bd52583006 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+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 <kwizart(a)gmail.com>
+---
+ 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
+
commit 4d114d07470511f1b2320673ffd251d42055bfee
Author: Nicolas Chauvet <kwizart(a)gmail.com>
Date: Mon Nov 5 19:37:23 2018 +0100
Initial import
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8cb8ad8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+vmaf-*.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..c76c7df
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (vmaf-a654f6f.tar.gz) =
37984568db2d86c996567f3d2b57bd93e5dfce1adf5233e2cf0c1f6a099e3b704c8b31ff20c8115f87d4d7d40bedaad198a033d3acd4b40b4710a9d7a64cd987
diff --git a/vmaf.spec b/vmaf.spec
new file mode 100644
index 0000000..3329a07
--- /dev/null
+++ b/vmaf.spec
@@ -0,0 +1,138 @@
+%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}
+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
+
+# This project relies on AVX
+ExclusiveArch: x86_64
+
+BuildRequires: gcc-c++
+BuildRequires: libsvm-devel
+BuildRequires: pugixml-devel
+
+# Enforce our own build version for library
+Requires: libvmaf%{?_isa} = %{version}-%{release}
+# Upstream only provides a static library
+# Packages using libvmaf must Requires this:
+#%%{?libvmaf_version:Requires: libvmaf%%{?_isa} = %%{libvmaf_version}}
+
+
+%description
+VMAF is a perceptual video quality assessment algorithm developed by
+Netflix. VMAF Development Kit (VDK) is a software package that contains
+the VMAF algorithm implementation, as well as a set of tools that allows
+a user to train and test a custom VMAF model. For an overview, read this
+tech blog post, or this slide deck.
+
+https://github.com/Netflix/vmaf/blob/master/resource/doc/VMAF_ICIP17.pdf
+
+
+%package -n libvmaf
+Summary: Library for %{name}
+#Some repo provides it
+Provides: %{name}-static = %{version}-%{release}
+Obsoletes: %{name}-static < %{version}-%{release}
+
+%description -n libvmaf
+Library for %{name}.
+
+%package -n libvmaf-devel
+Summary: Development files for %{name}
+Requires: libvmaf%{?_isa} = %{version}-%{release}
+#Some repo provides it
+Provides: %{name}-devel = %{version}-%{release}
+Obsoletes: %{name}-devel < %{version}-%{release}
+
+%description -n libvmaf-devel
+The %{name}-devel package contains libraries and header files for
+developing applications that use %{name}.
+
+
+%prep
+%autosetup -p1 -n %{name}-%{commit0}
+# 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
+
+
+%build
+%ifarch i686
+export ASM_CFLAGS="-msse -msse2 -mavx"
+%endif
+%make_build CFLAGS_COMMON="%{optflags} ${ASM_CFLAGS} -fPIC"
LDFLAGS="%{__global_ldflags}" V=1
+
+
+%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}
+
+#RPM Macros support
+mkdir -p %{buildroot}%{rpmmacrodir}
+cat > %{buildroot}%{rpmmacrodir}/macros.%{name} << EOF
+# libvmaf RPM Macros
+%libvmaf_version %{version}
+EOF
+touch -r LICENSE %{buildroot}%{rpmmacrodir}/macros.%{name}
+
+
+%ldconfig_scriptlets -n libvmaf
+
+
+%files
+%doc FAQ.md NOTICE.md README.md
+%{_bindir}/vmafossexec
+%{_datadir}/model/
+
+%files -n libvmaf
+%doc CHANGELOG.md
+%license LICENSE
+%{_libdir}/*.so.*
+
+%files -n libvmaf-devel
+%doc CONTRIBUTING.md
+%{rpmmacrodir}/macros.%{name}
+%{_includedir}/libvmaf.h
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/libvmaf.pc
+
+
+%changelog
+* Fri Sep 21 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.3.9-0.20180914gita654f6f
+- Update to 1.3.9 up to 20180914
+
+* Sat Apr 07 2018 Nicolas Chauvet <kwizart(a)gmail.com> - 1.3.3-1.20180407git510e257
+- Initial spec file