]> git.pld-linux.org Git - packages/ffmpeg.git/blobdiff - ffmpeg.spec
- up to 2.7.1
[packages/ffmpeg.git] / ffmpeg.spec
index 2c9dd06bffc594080c3503e26a4e0d2ecbc9dbb3..a5e44af39a0a169de20762e3f2198496fba74067 100644 (file)
@@ -1,29 +1,37 @@
 #
 # 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    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    fdk_aac         # AAC de/encoding via libfdk_aac (requires nonfree)
+%bcond_without bs2b            # BS2B audio filter support
 %bcond_without caca            # textual display using libcaca
+%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 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_with    opencl          # OpenCL code [OpenCL 1.2, not available in Mesa yet]
-%bcond_without opengl          # OpenGL rendering support
+%bcond_without opencl          # OpenCL 1.2 code
 %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 shine           # shine fixed-point MP3 encoder
+%bcond_without ssh             # SFTP protocol support via libssh
+%bcond_with    smb             # SMB support via libsmbclient
 %bcond_without soxr            # SoX Resampler support
 %bcond_without x264            # H.264 x264 encoder
 %bcond_without x265            # H.265/HEVC x265 encoder
 %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
@@ -46,7 +59,7 @@
 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:       2.7.1
 Release:       1
 # LGPL or GPL, chosen at configure time (GPL version is more featured)
 # (postprocessing, some filters, x264, x265, xavs, xvid, x11grab)
@@ -54,11 +67,10 @@ Release:    1
 License:       GPL v3+ with LGPL v3+ parts
 Group:         Applications/Multimedia
 Source0:       http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 581affe5d820d89ce21fe3f0316ef2c3
+# Source0-md5: f159c6d7eed8546b23e1a17325cbf1f8
 Source1:       ffserver.init
 Source2:       ffserver.sysconfig
 Source3:       ffserver.conf
-Patch0:                %{name}-opencv24.patch
 URL:           http://www.ffmpeg.org/
 %{?with_decklink:BuildRequires:        Blackmagic_DeckLink_SDK}
 %{?with_openal:BuildRequires:  OpenAL-devel >= 1.1}
@@ -68,17 +80,20 @@ BuildRequires:      SDL-devel >= 1.2.1
 BuildRequires: alsa-lib-devel
 BuildRequires: bzip2-devel
 BuildRequires: celt-devel >= 0.11.0
+%{?with_dcadec:BuildRequires:  dcadec-devel}
 %{?with_nonfree: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_ladspa:BuildRequires:  ladspa-devel}
@@ -86,6 +101,7 @@ 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
@@ -98,25 +114,32 @@ BuildRequires:     libnut-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
 %{?with_va:BuildRequires:      libva-devel >= 1.0.3}
 BuildRequires: libvdpau-devel >= 0.2
 BuildRequires: libvorbis-devel
-%{?with_vpx:BuildRequires:     libvpx-devel >= 0.9.7}
-%{?with_webp:BuildRequires:    libwebp-devel}
+%{?with_vpx:BuildRequires:     libvpx-devel >= 1.3.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 >= 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
@@ -184,11 +207,12 @@ telewizyjnej.
 %package libs
 Summary:       ffmpeg libraries
 Summary(pl.UTF-8):     Biblioteki ffmpeg
+Group:         Libraries
 %if "%(rpm -q --qf '%{V}' gnutls-devel)" >= "3.0.20"
 # uses gnutls_certificate_set_x509_system_trust if >= 3.0.20
 Requires:      gnutls-libs >= 3.0.20
 %endif
-Group:         Libraries
+%{?with_vpx:Requires:  libvpx >= 1.3.0}
 
 %description libs
 This package contains the ffmpeg shared libraries:
@@ -218,11 +242,13 @@ Requires: SDL-devel >= 1.2.1
 Requires:      alsa-lib-devel
 Requires:      bzip2-devel
 Requires:      celt-devel >= 0.11.0
+%{?with_dcadec:Requires:       dcadec-devel}
 %{?with_nonfree: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
 Requires:      lame-libs-devel >= 3.98.3
@@ -230,6 +256,7 @@ Requires:   lame-libs-devel >= 3.98.3
 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
 Requires:      libdc1394-devel >= 2
@@ -240,15 +267,18 @@ 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 >= 0.9.7}
-%{?with_webp:Requires: libwebp-devel}
+%{?with_vpx:Requires:  libvpx-devel >= 1.3.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 >= 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
 Requires:      schroedinger-devel
 %{?with_shine:Requires:        shine-devel >= 3.0.0}
@@ -340,7 +370,6 @@ Dokumentacja pakietu FFmpeg w formacie HTML.
 
 %prep
 %setup -q
-%patch0 -p1
 
 # package the grep result for mplayer, the result formatted as ./mplayer/configure
 cat <<EOF > ffmpeg-avconfig
@@ -433,23 +462,28 @@ EOF
        %{?with_aacplus:--enable-libaacplus} \
        --enable-libass \
        --enable-libbluray \
+       %{?with_bs2b:--enable-libbs2b} \
        %{?with_caca:--enable-libcaca} \
        --enable-libcelt \
        --enable-libcdio \
        --enable-libdc1394 \
+       %{?with_dcadec:--enable-libdcadec} \
        %{?with_fdk_aac:--enable-libfdk-aac} \
        %{?with_flite:--enable-libflite} \
        --enable-libfreetype \
+       %{?with_fribidi:--enable-libfribidi} \
        %{?with_gme:--enable-libgme} \
        --enable-libgsm \
        --enable-libiec61883 \
        %{?with_ilbc:--enable-libilbc} \
+       %{?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} \
@@ -457,6 +491,7 @@ EOF
        --enable-librtmp \
        --enable-libschroedinger \
        %{?with_shine:--enable-libshine} \
+       %{?with_smb:--enable-libsmbclient} \
        %{?with_soxr:--enable-libsoxr} \
        --enable-libspeex \
        %{?with_ssh:--enable-libssh} \
@@ -477,6 +512,7 @@ EOF
        --enable-libxvid \
        %{?with_zmq:--enable-libzmq} \
        %{?with_zvbi:--enable-libzvbi} \
+       %{?with_nvenc:--enable-nvenc} \
        %{?with_openal:--enable-openal} \
        %{?with_opencl:--enable-opencl} \
        %{?with_opengl:--enable-opengl} \
@@ -492,6 +528,9 @@ EOF
 %ifarch i386 i486
        --disable-mmx \
 %endif
+%ifarch x32
+       --disable-asm \
+%endif
 %if %{with nonfree}
        --enable-nonfree \
        --enable-libfaac \
@@ -504,6 +543,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}} \
@@ -568,7 +609,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
@@ -594,23 +635,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.56
 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.56
 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.4
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.5
 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.55
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.56
 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavresample.so.1
+%attr(755,root,root) %ghost %{_libdir}/libavresample.so.2
 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.52
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.54
 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52
+%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.53
 %attr(755,root,root) %{_libdir}/libswresample.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswresample.so.0
+%attr(755,root,root) %ghost %{_libdir}/libswresample.so.1
 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.3
 
 %files devel
 %defattr(644,root,root,755)
This page took 0.046598 seconds and 4 git commands to generate.