You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svt-hevc/svt-hevc.spec

98 lines
2.6 KiB

Name: svt-hevc
Version: 1.4.1
Release: 1%{?dist}
Summary: Scalable Video Technology for HEVC Encoder
License: BSD-2-Clause-Patent
URL: https://github.com/OpenVisualCloud/SVT-HEVC
Source0: %url/archive/v%{version}/SVT-HEVC-%{version}.tar.gz
# https://github.com/OpenVisualCloud/SVT-HEVC/issues/364
Patch0: d313b632ede3c47945e42289672c08013bc6a56f.patch
BuildRequires: gcc
BuildRequires: cmake
BuildRequires: yasm
BuildRequires: meson
BuildRequires: gstreamer1-devel
BuildRequires: gstreamer1-plugins-base-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
ExclusiveArch: x86_64
%description
The Scalable Video Technology for HEVC Encoder (SVT-HEVC Encoder) is an
HEVC-compliant encoder library core that achieves excellent density-quality
tradeoffs, and is highly optimized for Intel® Xeon™ Scalable Processor and
Xeon™ D processors.
%package libs
Summary: Libraries for svt-hevc
%description libs
Libraries for development svt-hevc.
%package devel
Summary: Include files and mandatory libraries for development svt-hevc
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%description devel
Include files and mandatory libraries for development svt-hevc.
%package -n gstreamer1-%{name}
Summary: GStreamer 1.0 %{name}-based plug-in
Requires: gstreamer1-plugins-base%{?_isa}
%description -n gstreamer1-%{name}
This package provides %{name}-based GStreamer plug-in.
%prep
%autosetup -p1 -n SVT-HEVC-%{version}
# Remove unneeded flags
sed -i 's|-O3)|)|' CMakeLists.txt
# Patch build gstreamer plugin
sed -e "s|install: true,|install: true, include_directories : '../Source/API', link_args : '-lSvtHevcEnc',|" \
-e "/svthevcenc_dep =/d" -e 's|, svthevcenc_dep||' -e "s|svthevcenc_dep.found()|true|" -i gstreamer-plugin/meson.build
%build
mkdir -p %{_target_platform}
pushd %{_target_platform}
%cmake -G Ninja \
..
popd
%ninja_build -C %{_target_platform}
pushd gstreamer-plugin
export LIBRARY_PATH="$PWD/../Bin/Release:$LIBRARY_PATH"
%meson
%meson_build
popd
%install
%ninja_install -C %{_target_platform}
pushd gstreamer-plugin
%meson_install
popd
%files
%{_bindir}/SvtHevcEncApp
%files libs
%license LICENSE.md
%doc README.md Docs/svt-hevc_encoder_user_guide.md
%{_libdir}/libSvtHevcEnc.so.1*
%files devel
%{_includedir}/%{name}
%{_libdir}/libSvtHevcEnc.so
%{_libdir}/pkgconfig/*.pc
%files -n gstreamer1-%{name}
%{_libdir}/gstreamer-1.0/libgstsvthevcenc.so
%changelog
* Tue Sep 17 2019 Vasiliy Glazov <vascom2@gmail.com> - 1.4.1-1
- Initial release