]> git.pld-linux.org Git - packages/ffmpeg.git/blobdiff - ffmpeg.spec
- release 2 (by relup.sh)
[packages/ffmpeg.git] / ffmpeg.spec
index 2778dbad4cbaae406edc8a01363646f5c29d01e9..90a84e6e6c697cac7e483a7ad66ecfb6cc63616b 100644 (file)
@@ -1,30 +1,42 @@
 #
 # How to deal with ffmpeg/opencv checken-egg problem:
-#      1. make-request -r --without opencv ffmpeg.spec
+#      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
 #
 # Conditional build:
-%bcond_with    nonfree         # non free options of package (currently: faac)
-%bcond_with    aacplus         # AAC+ encoding via libaacplus (requires nonfree)
+%bcond_with    bootstrap       # disable features to able to build without installed ffmpeg
+%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 dcadec          # DCA decoding via libdcadec
 %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_without ssh             # SFTP protocol support via libssh
+%bcond_with    mfx             # MFX hardware acceleration support
+%bcond_with    nvenc           # NVIDIA NVENC support (requires nonfree)
 %bcond_without openal          # OpenAL 1.1 capture support
 %bcond_without opencl          # OpenCL 1.2 code
-%bcond_without opengl          # OpenGL rendering support
 %bcond_without opencv          # OpenCV video filtering
+%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 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
+%bcond_with    tests           # "make check" (some tests fail as of 2.5)
+
+%if %{with bootstrap}
+%undefine      with_opencv
+%endif
 
 %ifnarch %{ix86} %{x8664} arm
 %undefine      with_x265
 Summary:       FFmpeg - a very fast video and audio converter
 Summary(pl.UTF-8):     FFmpeg - szybki konwerter audio/wideo
 Name:          ffmpeg
-Version:       2.2.2
+Version:       3.0
 Release:       2
 # 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: 581affe5d820d89ce21fe3f0316ef2c3
+Source0:       http://ffmpeg.org/releases/%{name}-%{version}.tar.xz
+# Source0-md5: ef9b6634bb7c920efc940b4d55adf7b2
 Source1:       ffserver.init
 Source2:       ffserver.sysconfig
 Source3:       ffserver.conf
-Patch0:                %{name}-opencv24.patch
+Patch0:                %{name}-utvideo.patch
 URL:           http://www.ffmpeg.org/
 %{?with_decklink:BuildRequires:        Blackmagic_DeckLink_SDK}
 %{?with_openal:BuildRequires:  OpenAL-devel >= 1.1}
@@ -68,36 +86,41 @@ BuildRequires:      SDL-devel >= 1.2.1
 BuildRequires: alsa-lib-devel
 BuildRequires: bzip2-devel
 BuildRequires: celt-devel >= 0.11.0
-%{?with_nonfree:BuildRequires: faac-devel}
+%{?with_dcadec:BuildRequires:  dcadec-devel >= 0.2.0}
+%{?with_faac:BuildRequires:    faac-devel}
 %{?with_fdk_aac:BuildRequires: fdk-aac-devel}
 %{?with_flite:BuildRequires:   flite-devel >= 1.4}
 BuildRequires: fontconfig-devel
 BuildRequires: freetype-devel
 %{?with_frei0r:BuildRequires:  frei0r-devel}
+%{?with_fribidi:BuildRequires: fribidi-devel}
 %{?with_gme:BuildRequires:     game-music-emu-devel}
 %ifarch ppc
 # 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}
+%{?with_smb:BuildRequires:     libsmbclient-devel}
 BuildRequires: libtheora-devel >= 1.0-0.beta3
 BuildRequires: libtool >= 2:1.4d-3
 BuildRequires: libv4l-devel
@@ -105,18 +128,24 @@ BuildRequires:    libv4l-devel
 BuildRequires: libvdpau-devel >= 0.2
 BuildRequires: libvorbis-devel
 %{?with_vpx:BuildRequires:     libvpx-devel >= 1.3.0}
-%{?with_webp:BuildRequires:    libwebp-devel}
+%{?with_webp:BuildRequires:    libwebp-devel >= 0.4.0}
 # X264_BUILD >= 118
 %{?with_x264:BuildRequires:    libx264-devel >= 0.1.3-1.20111212_2245}
-# X265_BUILD >= 7
-%{?with_x265:BuildRequires:    libx265-devel >= 0.7}
+# 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
+%{?with_mfx:BuildRequires:     mfx_dispatch-devel}
 %ifarch %{ix86}
 %ifnarch i386 i486
 BuildRequires: nasm
 %endif
 %endif
+# which package?
+#%{?with_nvenc:BuildRequires:  NVIDIA-NVENC-API}
 BuildRequires: opencore-amr-devel
 %{?with_opencv:BuildRequires:  opencv-devel}
+%{?with_openh264:BuildRequires:        openh264-devel >= 1.3}
 BuildRequires: openjpeg-devel >= 1.5
 BuildRequires: opus-devel
 BuildRequires: perl-Encode
@@ -124,17 +153,19 @@ BuildRequires:    perl-tools-pod
 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_utvideo:BuildRequires: utvideo-devel >= 15.4}
 %{?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}
@@ -145,13 +176,14 @@ BuildRequires:    xorg-lib-libXfixes-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_utvideo:Requires:      utvideo >= 15.4}
 %{?with_ilbc:Requires: webrtc-libilbc}
 Requires:      xvid >= 1:1.1.0
 Obsoletes:     libpostproc
@@ -190,6 +222,7 @@ Group:              Libraries
 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:
@@ -219,46 +252,54 @@ Requires: SDL-devel >= 1.2.1
 Requires:      alsa-lib-devel
 Requires:      bzip2-devel
 Requires:      celt-devel >= 0.11.0
-%{?with_nonfree:Requires:      faac-devel}
+%{?with_dcadec:Requires:       dcadec-devel >= 0.2.0}
+%{?with_faac:Requires: faac-devel}
 %{?with_fdk_aac:Requires:      fdk-aac-devel}
 %{?with_flite:Requires:        flite-devel >= 1.4}
 Requires:      fontconfig-devel
 Requires:      freetype-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}
 Requires:      libtheora-devel >= 1.0-0.beta3
 %{?with_va:Requires:   libva-devel >= 1.0.3}
 Requires:      libvorbis-devel
 %{?with_vpx:Requires:  libvpx-devel >= 1.3.0}
-%{?with_webp:Requires: libwebp-devel}
+%{?with_webp:Requires: libwebp-devel >= 0.4.0}
 %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
-%{?with_x265:Requires: libx265-devel >= 0.7}
+%{?with_x265:Requires: libx265-devel >= 1.3-0.20150610.1}
+%{?with_mfx:Requires:  mfx_dispatch-devel}
 Requires:      opencore-amr-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_utvideo:Requires:      utvideo-devel >= 15.4}
 %{?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}
@@ -267,6 +308,7 @@ Requires:   xorg-lib-libXext-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
 
@@ -422,8 +464,10 @@ EOF
        --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 \
@@ -431,42 +475,48 @@ EOF
        --enable-fontconfig \
        %{?with_frei0r:--enable-frei0r} \
        %{?with_ladspa:--enable-ladspa} \
-       %{?with_aacplus:--enable-libaacplus} \
        --enable-libass \
        --enable-libbluray \
+       %{?with_bs2b:--enable-libbs2b} \
        %{?with_caca:--enable-libcaca} \
        --enable-libcelt \
        --enable-libcdio \
        --enable-libdc1394 \
-       %{?with_fdk_aac:--enable-libfdk-aac} \
+       %{?with_dcadec:--enable-libdcadec} \
        %{?with_flite:--enable-libflite} \
        --enable-libfreetype \
+       %{?with_fribidi:--enable-libfribidi} \
        %{?with_gme:--enable-libgme} \
        --enable-libgsm \
        --enable-libiec61883 \
        %{?with_ilbc:--enable-libilbc} \
+       %{?with_kvazaar:--enable-libkvazaar} \
+       %{?with_mfx:--enable-libmfx} \
        --enable-libmodplug \
        --enable-libmp3lame \
        --enable-libnut \
        --enable-libopencore-amrnb \
        --enable-libopencore-amrwb \
        %{?with_opencv:--enable-libopencv} \
+       %{?with_openh264:--enable-libopenh264} \
        --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} \
@@ -476,6 +526,7 @@ EOF
        %{?with_x265:--enable-libx265} \
        --enable-libxavs \
        --enable-libxvid \
+       %{?with_zimg:--enable-libzimg} \
        %{?with_zmq:--enable-libzmq} \
        %{?with_zvbi:--enable-libzvbi} \
        %{?with_openal:--enable-openal} \
@@ -493,9 +544,14 @@ EOF
 %ifarch i386 i486
        --disable-mmx \
 %endif
+%ifarch x32
+       --disable-asm \
+%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
 
@@ -505,6 +561,8 @@ EOF
 # CC_O to add -c to commandline. makefile should be patched
 %{__make} tools/qt-faststart V=1 CC_O='-c -o $@'
 
+%{?with_tests:%{__make} check V=1}
+
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_sbindir},/etc/{sysconfig,rc.d/init.d}} \
@@ -536,7 +594,9 @@ install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
 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}
@@ -569,7 +629,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES}
+%doc CREDITS LICENSE.md MAINTAINERS README.md RELEASE_NOTES doc/APIchanges
 %attr(755,root,root) %{_bindir}/ffmpeg
 %attr(755,root,root) %{_bindir}/ffprobe
 %attr(755,root,root) %{_bindir}/qt-faststart
@@ -595,23 +655,23 @@ fi
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.57
 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.57
 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.4
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.6
 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.57
 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavresample.so.1
+%attr(755,root,root) %ghost %{_libdir}/libavresample.so.3
 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.52
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.55
 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.54
 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswresample.so.0
+%attr(755,root,root) %ghost %{_libdir}/libswresample.so.2
 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.4
 
 %files devel
 %defattr(644,root,root,755)
This page took 0.068809 seconds and 4 git commands to generate.