#
-# How to deal with ffmpeg/opencv checken-egg problem:
+# How to deal with ffmpeg/opencv/chromaprint checken-egg problem:
# 1. make-request -r --with bootstrap ffmpeg.spec
-# 2. make-request -r opencv.spec
-# 3. bump release of ffmpeg.spec
-# 4. make-request -r ffmpeg.spec
+# 2 bump release of opencv.spec and chromaprint.spec
+# 3. make-request -r opencv.spec chromaprint.spec
+# 4. bump release of ffmpeg.spec
+# 5. make-request -r ffmpeg.spec
#
# Conditional build:
%bcond_with bootstrap # disable features to able to build without installed ffmpeg
-%bcond_with nonfree # non free options of package (currently: faac)
-%bcond_with aacplus # AAC+ encoding via libaacplus (requires nonfree)
+%bcond_with nonfree # non free options of package (currently: faac, fdk_aac, nvenc)
%bcond_with fdk_aac # AAC de/encoding via libfdk_aac (requires nonfree)
+%bcond_with faac # faac (requires nonfree)
%bcond_without bs2b # BS2B audio filter support
%bcond_without caca # textual display using libcaca
+%bcond_without chromaprint # audio fingerprinting with chromaprint
%bcond_without decklink # Blackmagic DeskLink output support
%bcond_without flite # flite voice synthesis support
%bcond_without frei0r # frei0r video filtering
%bcond_without fribidi # fribidi support
%bcond_without gme # Game Music Emu support
%bcond_without ilbc # iLBC de/encoding via WebRTC libilbc
+%bcond_without kvazaar # Kvazaar HEVC encoder support
%bcond_without ladspa # LADSPA audio filtering
%bcond_with mfx # MFX hardware acceleration support
%bcond_with nvenc # NVIDIA NVENC support (requires nonfree)
%bcond_without opengl # OpenGL rendering support
%bcond_with openh264 # OpenH264 H.264 encoder
%bcond_without pulseaudio # PulseAudio input support
-%bcond_without quvi # quvi input support
+%bcond_without rubberband # rubberband filter
%bcond_without shine # shine fixed-point MP3 encoder
+%bcond_without snappy # Snappy compression support (needed for hap encoding)
%bcond_without ssh # SFTP protocol support via libssh
%bcond_with smb # SMB support via libsmbclient
%bcond_without soxr # SoX Resampler support
+%bcond_with tesseract # OCR filter based on Tesseract
%bcond_without x264 # H.264 x264 encoder
%bcond_without x265 # H.265/HEVC x265 encoder
-%bcond_without utvideo # Ut Video decoder
%bcond_without va # VAAPI (Video Acceleration API)
%bcond_without vidstab # vid.stab video stabilization support
%bcond_without vpx # VP8, a high-quality video codec
%bcond_without wavpack # wavpack encoding support
%bcond_without webp # WebP encoding support
+%bcond_without zimg # zscale filter based on z.lib
%bcond_without zmq # 0MQ message passing
%bcond_without zvbi # teletext via libzvbi
%bcond_without doc # don't build docs
%if %{with bootstrap}
%undefine with_opencv
+%undefine with_chromaprint
%endif
%ifnarch %{ix86} %{x8664} arm
Summary: FFmpeg - a very fast video and audio converter
Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
Name: ffmpeg
-Version: 2.7
-Release: 2
+Version: 3.1
+Release: 1.1
# LGPL or GPL, chosen at configure time (GPL version is more featured)
# (postprocessing, some filters, x264, x265, xavs, xvid, x11grab)
# using v3 allows Apache-licensed libs (opencore-amr, libvo-*enc)
License: GPL v3+ with LGPL v3+ parts
Group: Applications/Multimedia
-Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 5a16425b0bde1b952f58cff71b569a45
+Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
+# Source0-md5: 24ef0c0d541c857c8bc39215619b126f
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
BuildRequires: alsa-lib-devel
BuildRequires: bzip2-devel
BuildRequires: celt-devel >= 0.11.0
-%{?with_nonfree:BuildRequires: faac-devel}
+%{?with_faac:BuildRequires: faac-devel}
%{?with_fdk_aac:BuildRequires: fdk-aac-devel}
%{?with_flite:BuildRequires: flite-devel >= 1.4}
BuildRequires: fontconfig-devel
# require version with altivec support fixed
BuildRequires: gcc >= 5:3.3.2-3
%endif
+BuildRequires: gmp-devel
BuildRequires: gnutls-devel
BuildRequires: jack-audio-connection-kit-devel
+%{?with_kvazaar:BuildRequires: kvazaar-devel >= 0.8.1}
%{?with_ladspa:BuildRequires: ladspa-devel}
BuildRequires: lame-libs-devel >= 3.98.3
-%{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
BuildRequires: libass-devel
BuildRequires: libavc1394-devel
%{?with_bs2b:BuildRequires: libbs2b-devel}
BuildRequires: libbluray-devel
%{?with_caca:BuildRequires: libcaca-devel}
BuildRequires: libcdio-paranoia-devel >= 0.90-2
+%{?with_chromaprint:BuildRequires: libchromaprint-devel}
BuildRequires: libdc1394-devel >= 2
BuildRequires: libgsm-devel
BuildRequires: libiec61883-devel
BuildRequires: libmodplug-devel
BuildRequires: libnut-devel
-%{?with_quvi:BuildRequires: libquvi-devel}
BuildRequires: libraw1394-devel >= 2
BuildRequires: librtmp-devel
%{?with_ssh:BuildRequires: libssh-devel}
BuildRequires: libvdpau-devel >= 0.2
BuildRequires: libvorbis-devel
%{?with_vpx:BuildRequires: libvpx-devel >= 1.3.0}
-%{?with_webp:BuildRequires: libwebp-devel >= 0.2.0}
+%{?with_webp:BuildRequires: libwebp-devel >= 0.4.0}
# X264_BUILD >= 118
%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
-# X265_BUILD >= 17
+# X265_BUILD >= 57
%{?with_x265:BuildRequires: libx265-devel >= 1.3-0.20150610.1}
# libxcb xcb-shm xcb-xfixes xcb-shape
BuildRequires: libxcb-devel >= 1.4
BuildRequires: pkgconfig
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
BuildRequires: rpmbuild(macros) >= 1.470
+%{?with_rubberband:BuildRequires: rubberband-devel >= 1.8.1}
BuildRequires: schroedinger-devel
%{?with_shine:BuildRequires: shine-devel >= 3.0.0}
+%{?with_snappy:BuildRequires: snappy-devel}
%{?with_soxr:BuildRequires: soxr-devel}
BuildRequires: speex-devel >= 1:1.2-rc1
+%{?with_tesseract:BuildRequires: tesseract-devel}
%{?with_doc:BuildRequires: tetex}
%{?with_doc:BuildRequires: texi2html}
%{?with_doc:BuildRequires: texinfo}
BuildRequires: twolame-devel
-%{?with_utvideo:BuildRequires: utvideo-devel >= 12}
%{?with_vidstab:BuildRequires: vid.stab-devel >= 0.98}
-BuildRequires: vo-aacenc-devel
BuildRequires: vo-amrwbenc-devel
%{?with_wavpack:BuildRequires: wavpack-devel}
%{?with_ilbc:BuildRequires: webrtc-libilbc-devel}
BuildRequires: xvid-devel >= 1:1.1.0
BuildRequires: yasm
%{?with_zmq:BuildRequires: zeromq-devel}
-%{?with_zvbi:BuildRequires: zvbi-devel}
+%{?with_zimg:BuildRequires: zimg-devel}
BuildRequires: zlib-devel
+%{?with_zvbi:BuildRequires: zvbi-devel}
%{?with_autoreqdep:BuildConflicts: libpostproc}
# overflows maximum hash table size
BuildConflicts: pdksh < 5.2.14-57
Requires: %{name}-libs = %{version}-%{release}
-%{?with_utvideo:Requires: utvideo >= 12}
%{?with_ilbc:Requires: webrtc-libilbc}
Requires: xvid >= 1:1.1.0
Obsoletes: libpostproc
Requires: gnutls-libs >= 3.0.20
%endif
%{?with_vpx:Requires: libvpx >= 1.3.0}
+%{?with_rubberband:Requires: rubberband-libs >= 1.8.1}
%description libs
This package contains the ffmpeg shared libraries:
Requires: alsa-lib-devel
Requires: bzip2-devel
Requires: celt-devel >= 0.11.0
-%{?with_nonfree:Requires: faac-devel}
+%{?with_faac:Requires: faac-devel}
%{?with_fdk_aac:Requires: fdk-aac-devel}
%{?with_flite:Requires: flite-devel >= 1.4}
Requires: fontconfig-devel
%{?with_fribidi:Requires: fribidi-devel}
%{?with_gme:Requires: game-music-emu-devel}
Requires: jack-audio-connection-kit-devel
+%{?with_kvazaar:Requires: kvazaar-devel >= 0.7}
Requires: lame-libs-devel >= 3.98.3
-%{?with_aacplus:Requires: libaacplus-devel >= 2.0.0}
Requires: libass-devel
Requires: libavc1394-devel
Requires: libbluray-devel
%{?with_bs2b:Requires: libbs2b-devel}
%{?with_caca:Requires: libcaca-devel}
Requires: libcdio-paranoia-devel >= 0.90-2
+%{?with_chromaprint:Requires: libchromaprint-devel}
Requires: libdc1394-devel >= 2
Requires: libgsm-devel
Requires: libiec61883-devel
Requires: libmodplug-devel
Requires: libnut-devel
-%{?with_quvi:Requires: libquvi-devel}
Requires: libraw1394-devel >= 2
Requires: librtmp-devel
%{?with_smb:Requires: libsmbclient-devel}
%{?with_va:Requires: libva-devel >= 1.0.3}
Requires: libvorbis-devel
%{?with_vpx:Requires: libvpx-devel >= 1.3.0}
-%{?with_webp:Requires: libwebp-devel >= 0.2.0}
+%{?with_webp:Requires: libwebp-devel >= 0.4.0}
%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
%{?with_x265:Requires: libx265-devel >= 1.3-0.20150610.1}
%{?with_mfx:Requires: mfx_dispatch-devel}
%{?with_opencv:Requires: opencv-devel}
%{?with_openh264:Requires: openh264-devel >= 1.3}
Requires: openjpeg-devel >= 1.5
+%{?with_rubberband:Requires: rubberband-devel >= 1.8.1}
Requires: schroedinger-devel
%{?with_shine:Requires: shine-devel >= 3.0.0}
+%{?with_snappy:Requires: snappy-devel}
%{?with_soxr:Requires: soxr-devel}
Requires: speex-devel >= 1:1.2-rc1
+%{?with_tesseract:Requires: tesseract-devel}
Requires: twolame-devel
-%{?with_utvideo:Requires: utvideo-devel >= 12}
%{?with_vidstab:Requires: vid.stab-devel >= 0.98}
-Requires: vo-aacenc-devel
Requires: vo-amrwbenc-devel
%{?with_wavpack:Requires: wavpack-devel}
%{?with_ilbc:Requires: webrtc-libilbc-devel}
Requires: xorg-lib-libXfixes-devel
Requires: xvid-devel >= 1:1.1.0
%{?with_zmq:Requires: zeromq-devel}
+%{?with_zimg:Requires: zimg-devel}
Requires: zlib-devel
Obsoletes: libpostproc-devel
--disable-debug \
--disable-optimizations \
--disable-stripping \
+ %{!?with_doc:--disable-doc} \
--enable-avfilter \
--enable-avresample \
+ %{?with_chromaprint:--enable-chromaprint} \
%{?with_decklink:--enable-decklink} \
--enable-gnutls \
--enable-gpl \
--enable-fontconfig \
%{?with_frei0r:--enable-frei0r} \
%{?with_ladspa:--enable-ladspa} \
- %{?with_aacplus:--enable-libaacplus} \
--enable-libass \
--enable-libbluray \
%{?with_bs2b:--enable-libbs2b} \
--enable-libcelt \
--enable-libcdio \
--enable-libdc1394 \
- %{?with_fdk_aac:--enable-libfdk-aac} \
%{?with_flite:--enable-libflite} \
--enable-libfreetype \
%{?with_fribidi:--enable-libfribidi} \
--enable-libgsm \
--enable-libiec61883 \
%{?with_ilbc:--enable-libilbc} \
+ %{?with_kvazaar:--enable-libkvazaar} \
%{?with_mfx:--enable-libmfx} \
--enable-libmodplug \
--enable-libmp3lame \
--enable-libopenjpeg \
--enable-libopus \
%{?with_pulseaudio:--enable-libpulse} \
- %{?with_quvi:--enable-libquvi} \
--enable-librtmp \
+ %{?with_rubberband:--enable-librubberband} \
--enable-libschroedinger \
%{?with_shine:--enable-libshine} \
%{?with_smb:--enable-libsmbclient} \
+ %{?with_snappy:--enable-libsnappy} \
%{?with_soxr:--enable-libsoxr} \
--enable-libspeex \
%{?with_ssh:--enable-libssh} \
+ %{?with_tesseract:--enable-libtesseract} \
--enable-libtheora \
--enable-libtwolame \
- %{?with_utvideo:--enable-libutvideo} \
--enable-libv4l2 \
%{?with_vidstab:--enable-libvidstab} \
- --enable-libvo-aacenc \
--enable-libvo-amrwbenc \
--enable-libvorbis \
%{?with_vpx:--enable-libvpx} \
%{?with_x265:--enable-libx265} \
--enable-libxavs \
--enable-libxvid \
+ %{?with_zimg:--enable-libzimg} \
%{?with_zmq:--enable-libzmq} \
%{?with_zvbi:--enable-libzvbi} \
- %{?with_nvenc:--enable-nvenc} \
%{?with_openal:--enable-openal} \
%{?with_opencl:--enable-opencl} \
%{?with_opengl:--enable-opengl} \
%endif
%if %{with nonfree}
--enable-nonfree \
- --enable-libfaac \
+ %{?with_faac:--enable-libfaac} \
+ %{?with_fdk_aac:--enable-libfdk-aac} \
+ %{?with_nvenc:--enable-nvenc} \
%endif
--enable-runtime-cpudetect
install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
# packaged as %doc in -doc
+%if %{with doc}
%{__rm} $RPM_BUILD_ROOT%{_docdir}/ffmpeg/*.html
+%endif
install -d $RPM_BUILD_ROOT%{_examplesdir}
%{__mv} $RPM_BUILD_ROOT%{_datadir}/ffmpeg/examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.56
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.57
%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.56
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.57
%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.5
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.6
%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.56
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.57
%attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavresample.so.2
+%attr(755,root,root) %ghost %{_libdir}/libavresample.so.3
%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.54
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.55
%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.53
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.54
%attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswresample.so.1
+%attr(755,root,root) %ghost %{_libdir}/libswresample.so.2
%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswscale.so.3
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.4
%files devel
%defattr(644,root,root,755)