3 # - system libs if possible:
4 # libvmaf/src/third_party/ptools
5 # libvmaf/src/third_party/ptools/opencontainers_1_8_4
6 # libvmaf/src/third_party/pugixml
10 %bcond_with sse2 # use SSE2 instructions
12 %ifarch pentium4 %{x8664} x32
15 Summary: Netflix's VMAF library
16 Summary(pl.UTF-8): Biblioteka Netflix VMAF
22 #Source0Download: https://github.com/Netflix/vmaf/releases
23 Source0: https://github.com/Netflix/vmaf/archive/v%{version}/%{name}-%{version}.tar.gz
24 # Source0-md5: a65e105a67008796d566e9cc38e8e0fe
25 Patch0: %{name}-x32.patch
26 URL: https://github.com/Netflix/vmaf
27 BuildRequires: libstdc++-devel >= 6:4.8
28 BuildRequires: meson >= 0.47.0
29 %ifarch %{ix86} %{x8664} x32
30 BuildRequires: nasm >= 2.14
32 BuildRequires: ninja >= 1.7.1
33 BuildRequires: python3 >= 1:3.6
34 BuildRequires: sed >= 4.0
35 Requires: %{name}-libs = %{version}-%{release}
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 VMAF is a perceptual video quality assessment algorithm developed by
42 %description -l pl.UTF-8
43 VMAF to percepcyjny algorytm oceny jakoĊci obrazu tworzony przez
47 Summary: Netflix VMAF libary
48 Summary(pl.UTF-8): Biblioteka Netflix VMAF
51 Requires: cpuinfo(sse2)
57 %description libs -l pl.UTF-8
58 Biblioteka Netflix VMAF.
61 Summary: Netflix VMAF SDK
62 Summary(pl.UTF-8): Pakiet programistyczny Netflix VMAF
63 Group: Development/Libraries
64 Requires: %{name}-libs = %{version}-%{release}
65 Requires: libstdc++-devel >= 6:4.8
70 %description devel -l pl.UTF-8
71 Pakiet programistyczny Netflix VMAF.
74 Summary: Static Netflix VMAF library
75 Summary(pl.UTF-8): Statyczna biblioteka Netflix VMAF
76 Group: Development/Libraries
77 Requires: %{name}-devel = %{version}-%{release}
80 Static Netflix VMAF library.
82 %description static -l pl.UTF-8
83 Statyczna biblioteka Netflix VMAF.
89 %{__mv} libvmaf/README.md libvmaf/README.libvmaf.md
92 %{__sed} -i -e 's,#define ADM_OPT_RECIP_DIVISION,/* & */,' libvmaf/src/feature/adm_options.h
97 # SSE2 requires global support
98 CFLAGS="%{rpmcflags} -msse2"
99 CXXFLAGS="%{rpmcxxflags} -msse2"
102 # AVX512 is (properly) runtime detected (but SSE2 is probably prerequisite)
103 %meson build-libvmaf libvmaf \
108 %ninja_build -C build-libvmaf
111 rm -rf $RPM_BUILD_ROOT
113 %ninja_install -C build-libvmaf
115 install build-libvmaf/tools/vmafossexec $RPM_BUILD_ROOT%{_bindir}
118 rm -rf $RPM_BUILD_ROOT
120 %post libs -p /sbin/ldconfig
121 %postun libs -p /sbin/ldconfig
123 %triggerpostun libs -- vmaf-libs < 1.5.2
124 # replace library file with soname symlink
125 rm -f %{_libdir}/libvmaf.so.0
129 %defattr(644,root,root,755)
130 %doc libvmaf/tools/README.md
131 %attr(755,root,root) %{_bindir}/vmaf
132 %attr(755,root,root) %{_bindir}/vmafossexec
135 %defattr(644,root,root,755)
136 %doc CHANGELOG.md FAQ.md LICENSE README.md libvmaf/README.libvmaf.md
137 %attr(755,root,root) %{_libdir}/libvmaf.so.*.*.*
138 %attr(755,root,root) %ghost %{_libdir}/libvmaf.so.1
141 %defattr(644,root,root,755)
142 %attr(755,root,root) %{_libdir}/libvmaf.so
143 %{_includedir}/libvmaf
144 %{_pkgconfigdir}/libvmaf.pc
147 %defattr(644,root,root,755)