Kodi switched to nvidia ffmpeg

This commit is contained in:
2020-03-08 13:06:35 +01:00
parent 0414bcc7b6
commit d2339fa204
2 changed files with 205 additions and 13 deletions

View File

@@ -0,0 +1,191 @@
Summary: Digital VCR and streaming server
Name: ffmpeg-nvidia
Version: 4.2.2
Release: 1%{?dist}
License: GPLv2+
URL: http://ffmpeg.org/
Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz
%define cudav 10-1
%define ffname ffmpeg
%define debug_package %{nil}
BuildRequires: cuda-drivers-devel
BuildRequires: cuda-minimal-build-%{cudav}
BuildRequires: fdk-aac-devel
BuildRequires: gsm-devel
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: libaom-devel
BuildRequires: libdav1d-devel
BuildRequires: librsvg2-devel
BuildRequires: libtheora-devel
BuildRequires: libv4l-devel
BuildRequires: libvmaf-devel
BuildRequires: libvpx-devel
BuildRequires: ocl-icd-devel
BuildRequires: openal-soft-devel
BuildRequires: opencl-headers
BuildRequires: opencore-amr-devel
BuildRequires: opus-devel
BuildRequires: soxr-devel
BuildRequires: speex-devel
BuildRequires: vo-amrwbenc-devel
BuildRequires: zimg-devel
BuildRequires: zvbi-devel
BuildRequires: intel-mediasdk-devel
BuildRequires: alsa-lib-devel
BuildRequires: bzip2-devel
BuildRequires: fontconfig-devel
BuildRequires: freetype-devel
BuildRequires: fribidi-devel
BuildRequires: gnutls-devel
BuildRequires: gsm-devel
BuildRequires: lame-devel
BuildRequires: libavc1394-devel
BuildRequires: libdc1394-devel
BuildRequires: libiec61883-devel
BuildRequires: libdrm-devel
BuildRequires: libgcrypt-devel
BuildRequires: libGL-devel
BuildRequires: libmodplug-devel
BuildRequires: librsvg2-devel
BuildRequires: libssh-devel
BuildRequires: libtheora-devel
BuildRequires: libv4l-devel
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
BuildRequires: nasm
BuildRequires: libxcb-devel
BuildRequires: opencl-headers ocl-icd-devel
BuildRequires: openjpeg2-devel
BuildRequires: perl(Pod::Man)
BuildRequires: soxr-devel
BuildRequires: speex-devel
BuildRequires: texinfo
BuildRequires: zimg-devel >= 2.7.0
BuildRequires: zlib-devel
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Provides: %{ffname}
%description
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
%package libs
Summary: Libraries for %{name}
Provides: %{ffname}-libs
Provides: %{ffname}-libs(%{arch}) = %{version}-%{release}%{?dist}
%description libs
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
This package contains the libraries for %{name}
%package -n libavdevice
Summary: Special devices muxing/demuxing library
Requires: %{name}-libs%{_isa} = %{version}-%{release}
%description -n libavdevice%{?flavor}
Libavdevice is a complementary library to libavf "libavformat". It provides
various "special" platform-specific muxers and demuxers, e.g. for grabbing
devices, audio capture and playback etc.
%package devel
Summary: Development package for %{name}
Requires: %{name}-libs%{_isa} = %{version}-%{release}
Requires: libavdevice%{?flavor}%{_isa} = %{version}-%{release}
Requires: pkgconfig
Provides: %{ffname}-devel
%description devel
%{ffname} is a complete and free Internet live audio and video
broadcasting solution for Linux/Unix. It also includes a digital
VCR. It can encode in real time in many formats including MPEG1 audio
and video, MPEG4, h263, ac3, asf, avi, real, mjpeg, and flash.
This package contains development files for %{ffname}
%prep
%setup -q -n %{ffname}-%{version}
%build
# Don't use the %%configure macro as this is not an autotool script
./configure \
--prefix=%{_prefix} \
--bindir=%{_bindir} \
--datadir=%{_datadir}/%{ffname} \
--docdir=%{_docdir}/%{ffname} \
--incdir=%{_includedir}/%{ffname} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
--arch=x86_64 \
--enable-cuda \
--enable-cuvid \
--enable-nvenc \
--enable-nonfree \
--extra-cflags=-I/usr/local/cuda-%{cudav}/include \
--extra-ldflags=-L/usr/local/cuda-%{cudav}/lib64 \
--disable-manpages \
--enable-libbluray \
--enable-libdrm \
--enable-libmp3lame \
--enable-openal \
--enable-opencl \
--enable-opengl \
--enable-libopenjpeg \
--enable-libopus \
--enable-libpulse \
--enable-librsvg \
--enable-libsoxr \
--enable-libspeex \
--enable-libssh \
--enable-libtheora \
--enable-libvorbis \
--enable-libv4l2 \
--enable-libvmaf \
--enable-libvpx \
--enable-libzimg \
--enable-libzvbi \
--enable-shared \
--enable-version3
%install
make install DESTDIR=%{?buildroot}
rm -f %{ffname}-%{version}/debugsourcefiles.list
rm -rf %{buildroot}/.build-id
%files
%{_bindir}/%{ffname}
%{_bindir}/ffplay
%{_bindir}/ffprobe
%{_datadir}/%{ffname}
%files libs
%doc CREDITS README.md
%license COPYING.*
%{_libdir}/lib*.so.*
%exclude %{_libdir}/libavdevice.so.*
%files -n libavdevice
%{_libdir}/libavdevice.so.*
%files devel
%doc MAINTAINERS doc/APIchanges doc/*.txt
%doc %{_docdir}/%{ffname}/*.html
%{_includedir}/%{ffname}
%{_libdir}/pkgconfig/lib*.pc
%{_libdir}/lib*.so
%{_libdir}/lib*.a
%changelog
* Sun Mar 8 2020 Daniel Steiner <daniel.steiner@dsteiner.ch>
- Initial build.
- Build with Nvidia Cuda support.

View File

@@ -19,8 +19,9 @@
%global _with_cwiid 1
%global _with_libssh 1
%global _with_libcec 1
%global _with_external_ffmpeg 1
%global _with_wayland 1
# only enable it, if you have a nvidia gpu!
%global _with_nvidia_ffmpeg 1
%endif
%if 0%{?_with_wayland}
%global kodi_backends x11 wayland gbm
@@ -30,7 +31,7 @@
Name: kodi
Version: 18.6
Release: 99.%{myRELEASE}.%{PRERELEASE}%{?dist}
Release: 100.%{myRELEASE}.%{PRERELEASE}%{?dist}
Summary: Media center
License: GPLv2+ and GPLv3+ and LGPLv2+ and BSD and MIT
@@ -56,11 +57,6 @@ Source3: kodi-libdvdread-6.0.0-Leia-Alpha-3.tar.gz
Source4: kodi-libdvdcss-1.4.2-Leia-Beta-5.tar.gz
%endif
%if ! 0%{?_with_external_ffmpeg}
# wget -O ffmpeg-4.0.4-Leia-18.4.tar.gz https://github.com/xbmc/FFmpeg/archive/4.0.4-Leia-18.4.tar.gz
Source5: ffmpeg-4.0.4-Leia-18.4.tar.gz
%endif
# Set program version parameters
Patch1: kodi-18.0-versioning.patch
@@ -104,10 +100,10 @@ BuildRequires: enca-devel
BuildRequires: expat-devel
BuildRequires: faad2-devel
BuildRequires: firewalld-filesystem
%if 0%{?_with_external_ffmpeg}
BuildRequires: ffmpeg-devel
%if 0%{?_with_nvidia_ffmpeg}
BuildRequires: ffmpeg-nvidia-devel
%else
BuildRequires: trousers-devel
BuildRequires: ffmpeg-devel
%endif
BuildRequires: flac-devel
BuildRequires: flatbuffers-devel
@@ -231,6 +227,11 @@ Requires: %{name}-common = %{version}-%{release}
Requires: (%{name}-wayland = %{version}-%{release} if libwayland-server)
Requires: (%{name}-x11 = %{version}-%{release} if xorg-x11-server-Xorg)
Requires: (%{name}-firewalld = %{version}-%{release} if firewalld)
%if 0%{?_with_nvidia_ffmpeg}
Requires: ffmpeg-nvidia
Requires: ffmpeg-nvidia-libs
%endif
%description
@@ -396,9 +397,6 @@ do
-DLIBDVDCSS_URL=%{SOURCE4} \
%else
-DENABLE_DVDCSS=OFF \
%endif
%if ! 0%{?_with_external_ffmpeg}
-DFFMPEG_URL=%{SOURCE5} \
%endif
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-GNinja \
@@ -544,6 +542,9 @@ rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/kodi-wiiremote.1
%changelog
* Sun Mar 8 2020 Daniel Steiner <daniel.steiner@greenmail.ch>
- Nvidia depend build with ffmpeg-nvidia library.
* Fri Mar 3 2020 Daniel Steiner <daniel.steiner@greenmail.ch>
- Update to 18.6