]> git.pld-linux.org Git - packages/ffmpeg.git/blobdiff - ffmpeg.spec
- updated to 2.1.4
[packages/ffmpeg.git] / ffmpeg.spec
index ffca891574cb8a94cd3cdc6c6903e65c06cfac74..ba8e8c499bbfebac5be16255d2188f8b369dfa82 100644 (file)
@@ -8,25 +8,35 @@
 # Conditional build:
 %bcond_with    nonfree         # non free options of package (currently: faac)
 %bcond_with    aacplus         # AAC+ encoding via libaacplus (requires nonfree)
-%bcond_with    fdk_aac         # AAC encoding via libfdk_aac (requires nonfree)
+%bcond_with    fdk_aac         # AAC de/encoding via libfdk_aac (requires nonfree)
 %bcond_without caca            # textual display using libcaca
 %bcond_without flite           # flite voice synthesis support
 %bcond_without frei0r          # frei0r video filtering
+%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_without openal          # OpenAL 1.1 capture support
+%bcond_with    opencl          # OpenCL code [OpenCL 1.2, not available in Mesa yet]
 %bcond_without opencv          # OpenCV video filtering
 %bcond_without pulseaudio      # PulseAudio input support
+%bcond_without quvi            # quvi input support
+%bcond_without shine           # shine fixed-point MP3 encoder
 %bcond_without soxr            # SoX Resampler support
 %bcond_without x264            # x264 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 zmq             # 0MQ message passing
+%bcond_without zvbi            # teletext via libzvbi
 %bcond_without doc             # don't build docs
 
 Summary:       FFmpeg - a very fast video and audio converter
 Summary(pl.UTF-8):     FFmpeg - szybki konwerter audio/wideo
 Name:          ffmpeg
-Version:       1.2
+Version:       2.1.4
 Release:       1
 # LGPL or GPL, chosen at configure time (GPL version is more featured)
 # (postprocessing, some filters, x264, xavs, xvid, x11grab)
@@ -34,14 +44,14 @@ Release:    1
 License:       GPL v3+ with LGPL v3+ parts
 Group:         Applications/Multimedia
 Source0:       http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: c871d20559cb64c015b5cf0858812a56
+# Source0-md5: dedc28003a77c69432c42ab16e5f6982
 Source1:       ffserver.init
 Source2:       ffserver.sysconfig
 Source3:       ffserver.conf
 Patch0:                %{name}-opencv24.patch
-Patch1:                %{name}-utvideo.patch
 URL:           http://www.ffmpeg.org/
 %{?with_openal:BuildRequires:  OpenAL-devel >= 1.1}
+%{?with_opencl:BuildRequires:  OpenCL-devel >= 1.2}
 BuildRequires: SDL-devel >= 1.2.1
 BuildRequires: alsa-lib-devel
 BuildRequires: bzip2-devel
@@ -52,12 +62,14 @@ BuildRequires:      celt-devel >= 0.11.0
 BuildRequires: fontconfig-devel
 BuildRequires: freetype-devel
 %{?with_frei0r:BuildRequires:  frei0r-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: gnutls-devel
 BuildRequires: jack-audio-connection-kit-devel
+%{?with_ladspa:BuildRequires:  ladspa-devel}
 BuildRequires: lame-libs-devel >= 3.98.3
 %{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
 BuildRequires: libass-devel
@@ -70,8 +82,10 @@ 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: libtheora-devel >= 1.0-0.beta3
 BuildRequires: libtool >= 2:1.4d-3
 BuildRequires: libv4l-devel
@@ -96,6 +110,7 @@ BuildRequires:       pkgconfig
 %{?with_pulseaudio:BuildRequires:      pulseaudio-devel}
 BuildRequires: rpmbuild(macros) >= 1.470
 BuildRequires: schroedinger-devel
+%{?with_shine:BuildRequires:   shine-devel >= 3.0.0}
 %{?with_soxr:BuildRequires:    soxr-devel}
 BuildRequires: speex-devel >= 1:1.2-rc1
 %{?with_doc:BuildRequires:     tetex}
@@ -103,8 +118,10 @@ BuildRequires:     speex-devel >= 1:1.2-rc1
 %{?with_doc:BuildRequires:     texinfo}
 BuildRequires: twolame-devel
 %{?with_utvideo:BuildRequires: utvideo-devel >= 12}
+%{?with_vidstab:BuildRequires: vid.stab-devel}
 BuildRequires: vo-aacenc-devel
 BuildRequires: vo-amrwbenc-devel
+%{?with_wavpack:BuildRequires: wavpack-devel}
 %{?with_ilbc:BuildRequires:    webrtc-libilbc-devel}
 BuildRequires: xavs-devel
 BuildRequires: xorg-lib-libX11-devel
@@ -112,6 +129,8 @@ BuildRequires:      xorg-lib-libXext-devel
 BuildRequires: xorg-lib-libXfixes-devel
 BuildRequires: xvid-devel >= 1:1.1.0
 BuildRequires: yasm
+%{?with_zmq:BuildRequires:     zeromq-devel}
+%{?with_zvbi:BuildRequires:    zvbi-devel}
 BuildRequires: zlib-devel
 %{?with_autoreqdep:BuildConflicts:     libpostproc}
 # overflows maximum hash table size
@@ -150,6 +169,10 @@ telewizyjnej.
 %package libs
 Summary:       ffmpeg libraries
 Summary(pl.UTF-8):     Biblioteki ffmpeg
+%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
 
 %description libs
@@ -174,16 +197,18 @@ Summary(pl.UTF-8):        Pliki nagłówkowe ffmpeg
 Group:         Development/Libraries
 Requires:      %{name}-libs = %{version}-%{release}
 # Libs.private from *.pc (unreasonably they are all the same)
+%{?with_opencl:Requires:       OpenCL-devel >= 1.2}
 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_fdk_aac:Requires:      fdk-aac-devel}
+%{?with_flite:Requires:        flite-devel >= 1.4}
 Requires:      fontconfig-devel
 Requires:      freetype-devel
+%{?with_gme:Requires:  game-music-emu-devel}
 Requires:      jack-audio-connection-kit-devel
-%{?with_flite:Requires:        flite-devel >= 1.4}
 Requires:      lame-libs-devel >= 3.98.3
 %{?with_aacplus:Requires:      libaacplus-devel >= 2.0.0}
 Requires:      libass-devel
@@ -196,6 +221,7 @@ Requires:   libgsm-devel
 Requires:      libiec61883-devel
 Requires:      libmodplug-devel
 Requires:      libnut-devel
+%{?with_quvi:Requires: libquvi-devel}
 Requires:      libraw1394-devel >= 2
 Requires:      librtmp-devel
 Requires:      libtheora-devel >= 1.0-0.beta3
@@ -207,17 +233,21 @@ Requires: opencore-amr-devel
 %{?with_opencv:Requires:       opencv-devel}
 Requires:      openjpeg-devel >= 1.5
 Requires:      schroedinger-devel
+%{?with_shine:Requires:        shine-devel >= 3.0.0}
 %{?with_soxr:Requires: soxr-devel}
 Requires:      speex-devel >= 1:1.2-rc1
 Requires:      twolame-devel
 %{?with_utvideo:Requires:      utvideo-devel >= 12}
+%{?with_vidstab:Requires:      vid.stab-devel}
 Requires:      vo-aacenc-devel
 Requires:      vo-amrwbenc-devel
+%{?with_wavpack:Requires:      wavpack-devel}
 %{?with_ilbc:Requires: webrtc-libilbc-devel}
 Requires:      xavs-devel
 Requires:      xorg-lib-libXext-devel
 Requires:      xorg-lib-libXfixes-devel
 Requires:      xvid-devel >= 1:1.1.0
+%{?with_zmq:Requires:  zeromq-devel}
 Requires:      zlib-devel
 Obsoletes:     libpostproc-devel
 
@@ -276,45 +306,66 @@ czasie dla źródeł na żywo (można przeskakiwać na położenia w
 przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio
 dużej przestrzeni na dane skonfigurowanej w ffserver.conf).
 
+%package doc
+Summary:       FFmpeg documentation in HTML format
+Summary(pl.UTF-8):     Dokumentacja pakietu FFmpeg w formacie HTML
+Group:         Documentation
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
+
+%description doc
+FFmpeg documentation in HTML format.
+
+%description doc -l pl.UTF-8
+Dokumentacja pakietu FFmpeg w formacie HTML.
+
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
 
 # package the grep result for mplayer, the result formatted as ./mplayer/configure
 cat <<EOF > ffmpeg-avconfig
 #! /bin/sh
-_libavdecoders_all="`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
-_libavencoders_all="`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
-_libavparsers_all="`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
-_libavbsfs_all="`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`"
-_libavdemuxers_all="`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
-_libavmuxers_all="`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
-_libavprotocols_all="`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`"
+libavdecoders_all="$(sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
+libavencoders_all="$(sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
+libavparsers_all="$(sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
+libavbsfs_all="$(sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
+libavdemuxers_all="$(sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
+libavmuxers_all="$(sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
+libavprotocols_all="$(sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]')"
+libavhwaccels_all="$(sed -n 's/^[^#]*HWACCEL.*(.*, *\(.*\)).*/\1_hwaccel/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]')"
+libavfilters_all="$(sed -n 's/^[^#]*FILTER.*(.*, *\(.*\),.*).*/\1_filter/p' libavfilter/allfilters.c | tr '[a-z]' '[A-Z]')"
 EOF
 cat <<'EOF' >> ffmpeg-avconfig
 
 case "$1" in
 --decoders)
-       echo $_libavdecoders_all
+       echo $libavdecoders_all
        ;;
 --encoders)
-       echo $_libavencoders_all
+       echo $libavencoders_all
        ;;
 --parsers)
-       echo $_libavparsers_all
+       echo $libavparsers_all
        ;;
 --bsfs)
-       echo $_libavbsfs_all
+       echo $libavbsfs_all
        ;;
 --demuxers)
-       echo $_libavdemuxers_all
+       echo $libavdemuxers_all
        ;;
 --muxers)
-       echo $_libavmuxers_all
+       echo $libavmuxers_all
        ;;
 --protocols)
-       echo $_libavprotocols_all
+       echo $libavprotocols_all
+       ;;
+--hwaccels)
+       echo $libavhwaccels_all
+       ;;
+--filters)
+       echo $libavfilters_all
        ;;
 *)
        cat <<USAGE
@@ -327,6 +378,8 @@ Options:
   --demuxers
   --muxers
   --protocols
+  --hwaccels
+  --filters
 USAGE
        exit 1;;
 esac
@@ -357,6 +410,7 @@ EOF
        --enable-version3 \
        --enable-fontconfig \
        %{?with_frei0r:--enable-frei0r} \
+       %{?with_ladspa:--enable-ladspa} \
        %{?with_aacplus:--enable-libaacplus} \
        --enable-libass \
        --enable-libbluray \
@@ -367,6 +421,7 @@ EOF
        %{?with_fdk_aac:--enable-libfdk-aac} \
        %{?with_flite:--enable-libflite} \
        --enable-libfreetype \
+       %{?with_gme:--enable-libgme} \
        --enable-libgsm \
        --enable-libiec61883 \
        %{?with_ilbc:--enable-libilbc} \
@@ -379,28 +434,35 @@ EOF
        --enable-libopenjpeg \
        --enable-libopus \
        %{?with_pulseaudio:--enable-libpulse} \
+       %{?with_quvi:--enable-libquvi} \
        --enable-librtmp \
        --enable-libschroedinger \
+       %{?with_shine:--enable-libshine} \
        %{?with_soxr:--enable-libsoxr} \
        --enable-libspeex \
+       %{?with_ssh:--enable-libssh} \
        --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_wavpack:--enable-libwavpack} \
        %{?with_x264:--enable-libx264} \
        --enable-libxavs \
        --enable-libxvid \
+       %{?with_zmq:--enable-libzmq} \
+       %{?with_zvbi:--enable-libzvbi} \
        %{?with_openal:--enable-openal} \
+       %{?with_opencl:--enable-opencl} \
        --enable-postproc \
        --enable-pthreads \
        --enable-shared \
        --enable-swscale \
-       %{?with_va:--enable-vaapi} \
-       --enable-vdpau \
+       %{!?with_va:--disable-vaapi} \
        --enable-x11grab \
 %ifnarch %{ix86} %{x8664}
        --disable-mmx \
@@ -414,9 +476,6 @@ EOF
 %endif
        --enable-runtime-cpudetect
 
-# force oldscaler build
-%{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h
-
 %{__make} \
        V=1
 
@@ -453,12 +512,6 @@ install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir}
 # simple to do (by querying pkgconfig), but why?
 install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig
 
-# fix man page
-%if %{with doc}
-install -d $RPM_BUILD_ROOT%{_mandir}/man3
-%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/lib*.3 $RPM_BUILD_ROOT%{_mandir}/man3
-%endif
-
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -487,7 +540,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html}
+%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES}
 %attr(755,root,root) %{_bindir}/ffmpeg
 %attr(755,root,root) %{_bindir}/ffprobe
 %attr(755,root,root) %{_bindir}/qt-faststart
@@ -496,6 +549,7 @@ fi
 %{_datadir}/ffmpeg/ffprobe.xsd
 %if %{with doc}
 %{_mandir}/man1/ffmpeg.1*
+%{_mandir}/man1/ffmpeg-all.1*
 %{_mandir}/man1/ffmpeg-bitstream-filters.1*
 %{_mandir}/man1/ffmpeg-codecs.1*
 %{_mandir}/man1/ffmpeg-devices.1*
@@ -506,18 +560,19 @@ fi
 %{_mandir}/man1/ffmpeg-scaler.1*
 %{_mandir}/man1/ffmpeg-utils.1*
 %{_mandir}/man1/ffprobe.1*
+%{_mandir}/man1/ffprobe-all.1*
 %endif
 
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.55
 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.55
 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3
 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.54
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.55
 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libavresample.so.1
 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
@@ -586,7 +641,10 @@ fi
 %files ffplay
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/ffplay
-%{?with_doc:%{_mandir}/man1/ffplay.1*}
+%if %{with doc}
+%{_mandir}/man1/ffplay.1*
+%{_mandir}/man1/ffplay-all.1*
+%endif
 
 %files ffserver
 %defattr(644,root,root,755)
@@ -594,6 +652,15 @@ fi
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver
 %attr(755,root,root) %{_sbindir}/ffserver
 %attr(754,root,root) /etc/rc.d/init.d/ffserver
-%{?with_doc:%{_mandir}/man1/ffserver.1*}
+%if %{with doc}
+%{_mandir}/man1/ffserver.1*
+%{_mandir}/man1/ffserver-all.1*
+%endif
 %dir %attr(770,root,ffserver) /var/cache/ffserver
 %dir %attr(770,root,ffserver) /var/log/ffserver
+
+%if %{with doc}
+%files doc
+%defattr(644,root,root,755)
+%doc doc/*.html
+%endif
This page took 0.047085 seconds and 4 git commands to generate.