X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ffmpeg.spec;h=ba8e8c499bbfebac5be16255d2188f8b369dfa82;hb=40fe46be402e0d1a003a8260ac2477e5f945ef64;hp=240953501c300f70c4aa1cad4e28e8cf0de83568;hpb=065be88e8d0999205c39c876f8046d7a374605bd;p=packages%2Fffmpeg.git diff --git a/ffmpeg.spec b/ffmpeg.spec index 2409535..ba8e8c4 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,80 +1,143 @@ -# TODO -# - is bug803 patch still needed? the code changed somehow -# - libnut enabled no (http://www.nut-container.org/) -# - frei0r (frei0r.h)? -# - libvo_aacenc, libvo_amrwbenc? -# - libxavs? +# +# How to deal with ffmpeg/opencv checken-egg problem: +# 1. make-request -r --without opencv 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 -%bcond_without autoreqdep # don't care about package name deps generated by rpm +%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 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: 0.8 +Version: 2.1.4 Release: 1 # LGPL or GPL, chosen at configure time (GPL version is more featured) -# (postprocessing, ac3, xvid, x264) +# (postprocessing, some filters, x264, 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: 7e9b8c8a6952de0c477027e48249f3ed +# Source0-md5: dedc28003a77c69432c42ab16e5f6982 Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf -Patch0: %{name}-bug-803.patch -Patch1: %{name}-gsm.patch +Patch0: %{name}-opencv24.patch URL: http://www.ffmpeg.org/ -BuildRequires: SDL-devel +%{?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: celt-devel -BuildRequires: dirac-devel >= 1.0.0 -BuildRequires: faac-devel +BuildRequires: bzip2-devel +BuildRequires: celt-devel >= 0.11.0 +%{?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_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 -BuildRequires: libdc1394-devel +%{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0} +BuildRequires: libass-devel +BuildRequires: libavc1394-devel +BuildRequires: libbluray-devel +%{?with_caca:BuildRequires: libcaca-devel} +BuildRequires: libcdio-paranoia-devel >= 0.90-2 +BuildRequires: libdc1394-devel >= 2 BuildRequires: libgsm-devel -BuildRequires: libraw1394-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 %{?with_va:BuildRequires: libva-devel >= 1.0.3} -BuildRequires: libvdpau-devel +BuildRequires: libvdpau-devel >= 0.2 BuildRequires: libvorbis-devel -%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.6} -# X264_BUILD >= 83 -BuildRequires: libx264-devel >= 0.1.3-1.20110625_2245 -BuildRequires: opencore-amr-devel -BuildRequires: openjpeg-devel >= 1.3-2 -BuildRequires: speex-devel >= 1:1.2-rc1 +%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.7} +# X264_BUILD >= 118 +%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245} %ifarch %{ix86} %ifnarch i386 i486 BuildRequires: nasm %endif %endif +BuildRequires: opencore-amr-devel +%{?with_opencv:BuildRequires: opencv-devel} +BuildRequires: openjpeg-devel >= 1.5 +BuildRequires: opus-devel BuildRequires: perl-Encode BuildRequires: perl-tools-pod 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} %{?with_doc:BuildRequires: texi2html} %{?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 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 +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 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -106,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 @@ -129,16 +196,58 @@ Summary: ffmpeg header files Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -# for libavcodec: -Requires: dirac-devel -Requires: faac-devel -Requires: lame-libs-devel +# 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 +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_caca:Requires: libcaca-devel} +Requires: libcdio-paranoia-devel >= 0.90-2 +Requires: libdc1394-devel >= 2 Requires: libgsm-devel -Requires: libraw1394-devel -Requires: libtheora-devel >= 1.0-0.alpha7 +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 +%{?with_va:Requires: libva-devel >= 1.0.3} Requires: libvorbis-devel -Requires: libx264-devel >= 0.1.2-1.20060828_2245.1 +%{?with_vpx:Requires: libvpx-devel >= 0.9.7} +%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245} +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 @@ -197,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 -p0 # package the grep result for mplayer, the result formatted as ./mplayer/configure cat < 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 <