Compare commits
No commits in common. "rawhide" and "f28" have entirely different histories.
13 changed files with 527 additions and 131 deletions
|
|
@ -0,0 +1,65 @@
|
|||
From 14f859ed0ee63774c3aa86cb31ae0d2b8f4941fd Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
38
0002-Unbundle-pugixml.patch
Normal file
38
0002-Unbundle-pugixml.patch
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
From 524c2dea1569cef1aaeb26c2afd9a64e11c06254 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
84
0003-Drop-AVX-when-not-relevant.patch
Normal file
84
0003-Drop-AVX-when-not-relevant.patch
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
From bd90f8e5d7bb1d323ec35d8326915ded41cce587 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
35
0004-Use-better-FLAGS-for-ptools.patch
Normal file
35
0004-Use-better-FLAGS-for-ptools.patch
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
From 1f85e97f791709405d5b38981d1786727c229bc0 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
26
0005-Switch-pugixml-include.patch
Normal file
26
0005-Switch-pugixml-include.patch
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
From 6b8189523f590e0ec8bd67b15c58377d27fe63f7 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
58
0006-Switch-to-shared-library-for-libvmaf.patch
Normal file
58
0006-Switch-to-shared-library-for-libvmaf.patch
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
From 26c58a87b63742412f8845318dbd27585a734ed1 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
32
0007-Unbundle-libsvm.patch
Normal file
32
0007-Unbundle-libsvm.patch
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
From ee9ed1dfd1a41a30bf9c6a5e11cf0ae4f70a37ed Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
25
0008-Add-pugixml-LIBS.patch
Normal file
25
0008-Add-pugixml-LIBS.patch
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
From d3d9937d72928f8c98feb196caeccdde9bafa63e Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
39
0009-Avoid-x86cpudetection-code-when-not-relevant.patch
Normal file
39
0009-Avoid-x86cpudetection-code-when-not-relevant.patch
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
From 48f15b192920c283285276c01cf71331314d66a2 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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
|
||||
|
||||
30
0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch
Normal file
30
0010-Fix-libvmaf.pc-to-use-Libs.private-for-pthread-m.patch
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
From 0a484f7a0af68364ce98d6b9a7f1389c08163a35 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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@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
|
||||
|
||||
41
0011-Add-msse2-for-i686.patch
Normal file
41
0011-Add-msse2-for-i686.patch
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
From c4af3c8270c8f498601d7dd68426c4bd52583006 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Chauvet <kwizart@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@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
|
||||
|
||||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (vmaf-3.2.0.tar.gz) = 5bd78c6370642612d52f5370f10cd38edb335be57a2252be4f4242b00653c4e0f2c93ab611581e8fed30c52107963fb410a00408033f26e22b5911eed1d0bfde
|
||||
SHA512 (vmaf-a654f6f.tar.gz) = 37984568db2d86c996567f3d2b57bd93e5dfce1adf5233e2cf0c1f6a099e3b704c8b31ff20c8115f87d4d7d40bedaad198a033d3acd4b40b4710a9d7a64cd987
|
||||
|
|
|
|||
183
vmaf.spec
183
vmaf.spec
|
|
@ -1,20 +1,33 @@
|
|||
%global commit0 a654f6f7f5998aedf2d6e2f6b3a9eece9753c3fb
|
||||
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
|
||||
%global commitdate0 20180914
|
||||
|
||||
Name: vmaf
|
||||
Version: 3.2.0
|
||||
Release: 2%{?dist}
|
||||
Version: 1.3.9
|
||||
Release: 1.%{commitdate0}git%{shortcommit0}%{?dist}
|
||||
Summary: Video Multi-Method Assessment Fusion
|
||||
|
||||
License: BSD-2-Clause-Patent
|
||||
URL: https://github.com/netflix/vmaf
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
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: meson
|
||||
BuildRequires: nasm
|
||||
BuildRequires: vim-common
|
||||
|
||||
BuildRequires: libsvm-devel
|
||||
BuildRequires: pugixml-devel
|
||||
|
||||
# Enforce our own build version for library
|
||||
Requires: libvmaf%{?_isa} = %{version}-%{release}
|
||||
|
|
@ -35,7 +48,6 @@ 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}
|
||||
|
|
@ -54,160 +66,71 @@ 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
|
||||
%autosetup -p1 -n %{name}-%{commit0}
|
||||
# Unbundle
|
||||
rm -rf third_party/
|
||||
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
|
||||
pushd libvmaf
|
||||
%meson \
|
||||
-Ddefault_library=shared
|
||||
%meson_build
|
||||
popd
|
||||
%ifarch i686
|
||||
export ASM_CFLAGS="-msse -msse2 -mavx"
|
||||
%endif
|
||||
%make_build CFLAGS_COMMON="%{optflags} ${ASM_CFLAGS} -fPIC" LDFLAGS="%{__global_ldflags}" V=1
|
||||
|
||||
|
||||
%install
|
||||
pushd libvmaf
|
||||
%meson_install
|
||||
popd
|
||||
%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}
|
||||
%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 README.md
|
||||
%{_bindir}/vmaf
|
||||
|
||||
%files models
|
||||
%doc FAQ.md NOTICE.md README.md
|
||||
%{_bindir}/vmafossexec
|
||||
%{_datadir}/model/
|
||||
|
||||
%files -n libvmaf
|
||||
%doc CHANGELOG.md
|
||||
%license LICENSE
|
||||
%{_libdir}/*.so.3*
|
||||
%{_libdir}/*.so.*
|
||||
|
||||
%files -n libvmaf-devel
|
||||
%doc CONTRIBUTING.md
|
||||
%{rpmmacrodir}/macros.%{name}
|
||||
%{_includedir}/libvmaf/
|
||||
%{_includedir}/libvmaf.h
|
||||
%{_libdir}/*.so
|
||||
%{_libdir}/pkgconfig/libvmaf.pc
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
|
||||
|
||||
* Thu Jul 02 2026 Nicolas Chauvet <kwizart@gmail.com> - 3.2.0-1
|
||||
- Update to 3.2.0
|
||||
|
||||
* Thu Apr 09 2026 Nicolas Chauvet <kwizart@gmail.com> - 3.1.0-1
|
||||
- Update to 3.1.0
|
||||
|
||||
* Sat Jan 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
|
||||
|
||||
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
|
||||
|
||||
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
|
||||
|
||||
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Wed Jul 10 2024 Nicolas Chauvet <kwizart@gmail.com> - 3.0.0-1
|
||||
- Update to 3.0.0
|
||||
|
||||
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Sat Dec 11 2021 Leigh Scott <leigh123linux@gmail.com> - 2.3.0-2
|
||||
- Add models sub-package
|
||||
|
||||
* Fri Dec 10 2021 Leigh Scott <leigh123linux@gmail.com> - 2.3.0-1
|
||||
- Update to 2.3.0
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Wed Mar 10 2021 Leigh Scott <leigh123linux@gmail.com> - 2.1.1-1
|
||||
- Update to 2.1.1
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Dec 31 2020 Leigh Scott <leigh123linux@gmail.com> - 1.5.3-1
|
||||
- Update to 1.5.3
|
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.5.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jun 24 2020 Leigh Scott <leigh123linux@gmail.com> - 1.5.1-4
|
||||
- Add upstream commit to mark ABI as C
|
||||
|
||||
* Sat May 23 2020 Leigh Scott <leigh123linux@gmail.com> - 1.5.1-3
|
||||
- Fix pkconfig version
|
||||
|
||||
* Wed Mar 04 2020 Leigh Scott <leigh123linux@gmail.com> - 1.5.1-2
|
||||
- Use shared for vmafossexec
|
||||
|
||||
* Tue Mar 03 2020 Leigh Scott <leigh123linux@gmail.com> - 1.5.1-1
|
||||
- Update to 1.5.1
|
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.15-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Wed Sep 11 2019 Leigh Scott <leigh123linux@googlemail.com> - 1.3.15-1
|
||||
- Update to 1.3.15
|
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.14-2.20190403git8f41503
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Apr 06 2019 Nicolas Chauvet <kwizart@gmail.com> - 1.3.14-1.20190403git8f415036
|
||||
- Update to 1.3.14
|
||||
- Rebase patches
|
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.9-2.20180914gita654f6f
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Sep 21 2018 Nicolas Chauvet <kwizart@gmail.com> - 1.3.9-0.20180914gita654f6f
|
||||
- Update to 1.3.9 up to 20180914
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue