X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ffmpeg.spec;h=4ceee0ea0099cf056dc0136fe7c1abc0813d50c6;hb=a09e741c0391106effb339a2ff2b2664d6f9dc06;hp=01f4b51a791d84f81647962278767f9fe68711fe;hpb=9f9ba8ac5d5d8ef668f5bb86f9909e52e4b90e65;p=packages%2Fffmpeg.git diff --git a/ffmpeg.spec b/ffmpeg.spec index 01f4b51..4ceee0e 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,11 +1,23 @@ -# TODO -# - is bug803 patch still needed? the code changed somehow +# +# 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 (currently: faac) -%bcond_without autoreqdep # don't care about package name deps generated by rpm -%bcond_without frei0r # build without frei0r video filtering -%bcond_without x264 # build without x264 encoder +%bcond_with aacplus # AAC+ encoding via libaacplus (requires nonfree) +%bcond_with fdk_aac # AAC 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 ilbc # iLBC de/encoding via WebRTC libilbc +%bcond_without openal # OpenAL 1.1 capture support +%bcond_without opencv # OpenCV video filtering +%bcond_without pulseaudio # PulseAudio input support +%bcond_without x264 # x264 encoder +%bcond_without utvideo # Ut Video decoder %bcond_without va # VAAPI (Video Acceleration API) %bcond_without vpx # VP8, a high-quality video codec %bcond_without doc # don't build docs @@ -13,7 +25,7 @@ Summary: FFmpeg - a very fast video and audio converter Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo Name: ffmpeg -Version: 0.8.3 +Version: 1.0.1 Release: 1 # LGPL or GPL, chosen at configure time (GPL version is more featured) # (postprocessing, some filters, x264, xavs, xvid, x11grab) @@ -21,65 +33,90 @@ Release: 1 License: GPL v3+ with LGPL v3+ parts Group: Applications/Multimedia Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: 556870ccfd6c9c0426c7dd86dd5beb62 +# Source0-md5: dbbb88ce5525dea22b24aaa098a9bcc2 Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf -Patch0: %{name}-bug-803.patch -Patch1: %{name}-gsm.patch +Patch0: %{name}-gsm.patch +Patch1: %{name}-opencv24.patch +Patch2: %{name}-openjpeg.patch +Patch3: %{name}-cdio-paranoia.patch URL: http://www.ffmpeg.org/ -BuildRequires: SDL-devel +%{?with_openal:BuildRequires: OpenAL-devel} +BuildRequires: SDL-devel >= 1.2.1 BuildRequires: alsa-lib-devel BuildRequires: bzip2-devel BuildRequires: celt-devel >= 0.11.0 -BuildRequires: dirac-devel >= 1.0.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} %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 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: libiec61883-devel +BuildRequires: libmodplug-devel BuildRequires: libnut-devel -BuildRequires: libraw1394-devel +BuildRequires: libraw1394-devel >= 2 BuildRequires: librtmp-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 -%{?with_x264: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 +# 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 +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} BuildRequires: vo-aacenc-devel BuildRequires: vo-amrwbenc-devel +%{?with_ilbc:BuildRequires: webrtc-libilbc-devel} BuildRequires: xavs-devel BuildRequires: xorg-lib-libXext-devel BuildRequires: xorg-lib-libXfixes-devel BuildRequires: xvid-devel >= 1:1.1.0 +BuildRequires: yasm BuildRequires: zlib-devel %{?with_autoreqdep:BuildConflicts: libpostproc} +# overflows maximum hash table size +BuildConflicts: pdksh < 5.2.14-57 Requires: %{name}-libs = %{version}-%{release} +%{?with_ilbc:Requires: webrtc-libilbc} Requires: xvid >= 1:1.1.0 Obsoletes: libpostproc BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -135,18 +172,28 @@ 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) -Requires: SDL-devel +Requires: SDL-devel >= 1.2.1 Requires: alsa-lib-devel Requires: bzip2-devel -Requires: celt-devel -Requires: dirac-devel >= 1.0.0 +Requires: celt-devel >= 0.11.0 %{?with_nonfree:Requires: faac-devel} +%{?with_fdk_aac:Requires: fdk-aac-devel} +Requires: fontconfig-devel +Requires: freetype-devel Requires: jack-audio-connection-kit-devel +%{?with_flite:Requires: flite-devel >= 1.4} Requires: lame-libs-devel >= 3.98.3 -Requires: libdc1394-devel +%{?with_aacplus:Requires: libaacplus-devel >= 2.0.0} +Requires: libass-devel +Requires: libavc1394-devel +Requires: libbluray-devel +Requires: libcdio-paranoia-devel >= 0.90-2 +Requires: libdc1394-devel >= 2 Requires: libgsm-devel +Requires: libiec61883-devel +Requires: libmodplug-devel Requires: libnut-devel -Requires: libraw1394-devel +Requires: libraw1394-devel >= 2 Requires: librtmp-devel Requires: libtheora-devel >= 1.0-0.beta3 %{?with_va:Requires: libva-devel >= 1.0.3} @@ -154,11 +201,14 @@ Requires: libvorbis-devel %{?with_vpx:Requires: libvpx-devel >= 0.9.6} %{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245} Requires: opencore-amr-devel -Requires: openjpeg-devel >= 1.3-2 +%{?with_opencv:Requires: opencv-devel} +Requires: openjpeg-devel >= 1.5 Requires: schroedinger-devel Requires: speex-devel >= 1:1.2-rc1 +Requires: twolame-devel Requires: vo-aacenc-devel Requires: vo-amrwbenc-devel +%{?with_ilbc:Requires: webrtc-libilbc-devel} Requires: xavs-devel Requires: xorg-lib-libXext-devel Requires: xorg-lib-libXfixes-devel @@ -225,6 +275,8 @@ dużej przestrzeni na dane skonfigurowanej w ffserver.conf). %setup -q %patch0 -p1 %patch1 -p0 +%patch2 -p1 +%patch3 -p1 # package the grep result for mplayer, the result formatted as ./mplayer/configure cat < ffmpeg-avconfig @@ -289,29 +341,48 @@ EOF --libdir=%{_libdir} \ --shlibdir=%{_libdir} \ --mandir=%{_mandir} \ - --cc="%{__cc}" \ --extra-cflags="-D_GNU_SOURCE=1 %{rpmcppflags} %{rpmcflags}" \ --extra-ldflags="%{rpmcflags} %{rpmldflags}" \ + --cc="%{__cc}" \ --disable-debug \ --disable-optimizations \ --disable-stripping \ --enable-avfilter \ + --enable-avresample \ + --enable-gnutls \ --enable-gpl \ --enable-version3 \ + --enable-fontconfig \ %{?with_frei0r:--enable-frei0r} \ - --enable-libdc1394 \ + %{?with_aacplus:--enable-libaacplus} \ + --enable-libass \ + --enable-libbluray \ + %{?with_libcaca:--enable-libcaca} \ --enable-libcelt \ - --enable-libdirac \ + --enable-libcdio \ + --enable-libdc1394 \ + %{?with_fdk_aac:--enable-libfdk-aac} \ + %{?with_flite:--enable-libflite} \ + --enable-libfreetype \ --enable-libgsm \ + --enable-libiec61883 \ + %{?with_ilbc:--enable-libilbc} \ + --enable-libmodplug \ --enable-libmp3lame \ --enable-libnut \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ + %{?with_opencv:--enable-libopencv} \ --enable-libopenjpeg \ + --enable-libopus \ + %{?with_pulseaudio:--enable-libpulse} \ --enable-librtmp \ --enable-libschroedinger \ --enable-libspeex \ --enable-libtheora \ + --enable-libtwolame \ + %{?with_utvideo:--enable-libutvideo} \ + --enable-libv4l2 \ --enable-libvo-aacenc \ --enable-libvo-amrwbenc \ --enable-libvorbis \ @@ -319,10 +390,12 @@ EOF %{?with_x264:--enable-libx264} \ --enable-libxavs \ --enable-libxvid \ + %{?with_openal:--enable-openal} \ --enable-postproc \ --enable-pthreads \ --enable-shared \ --enable-swscale \ + %{?with_va:--enable-vaapi} \ --enable-vdpau \ --enable-x11grab \ %ifnarch %{ix86} %{x8664} @@ -337,8 +410,6 @@ EOF %endif --enable-runtime-cpudetect -# --enable-libopencv would cause dependency loop - # force oldscaler build %{__sed} -i -e 's|#define.*CONFIG_OLDSCALER.*0|#define CONFIG_OLDSCALER 1|g' config.h @@ -368,6 +439,8 @@ for a in libavutil/*/bswap.h; do done cp -a libavformat/riff.h $RPM_BUILD_ROOT%{_includedir}/libavformat cp -a libavformat/avio.h $RPM_BUILD_ROOT%{_includedir}/libavformat +# for lim-omx ffmpeg components +cp -a libavcodec/audioconvert.h $RPM_BUILD_ROOT%{_includedir}/libavcodec install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/ffserver cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/ffserver @@ -408,29 +481,34 @@ fi %files %defattr(644,root,root,755) -%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES,TODO} %{?with_doc:doc/*.html} +%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES} %{?with_doc:doc/*.html} %attr(755,root,root) %{_bindir}/ffmpeg %attr(755,root,root) %{_bindir}/ffprobe %attr(755,root,root) %{_bindir}/qt-faststart %dir %{_datadir}/ffmpeg %{_datadir}/ffmpeg/*.ffpreset +%{_datadir}/ffmpeg/ffprobe.xsd %{?with_doc:%{_mandir}/man1/ffmpeg.1*} %{?with_doc:%{_mandir}/man1/ffprobe.1*} %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.53 +%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.53 +%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.2 +%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavformat.so.53 +%attr(755,root,root) %ghost %{_libdir}/libavformat.so.54 +%attr(755,root,root) %{_libdir}/libavresample.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libavresample.so.0 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libavutil.so.51 %attr(755,root,root) %{_libdir}/libpostproc.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.51 +%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.52 +%attr(755,root,root) %{_libdir}/libswresample.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libswresample.so.0 %attr(755,root,root) %{_libdir}/libswscale.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libswscale.so.2 @@ -442,23 +520,29 @@ fi %attr(755,root,root) %{_libdir}/libavdevice.so %attr(755,root,root) %{_libdir}/libavfilter.so %attr(755,root,root) %{_libdir}/libavformat.so +%attr(755,root,root) %{_libdir}/libavresample.so %attr(755,root,root) %{_libdir}/libavutil.so %attr(755,root,root) %{_libdir}/libpostproc.so +%attr(755,root,root) %{_libdir}/libswresample.so %attr(755,root,root) %{_libdir}/libswscale.so %{_includedir}/ffmpeg %{_includedir}/libavcodec %{_includedir}/libavdevice %{_includedir}/libavfilter %{_includedir}/libavformat +%{_includedir}/libavresample %{_includedir}/libavutil %{_includedir}/libpostproc +%{_includedir}/libswresample %{_includedir}/libswscale %{_pkgconfigdir}/libavcodec.pc %{_pkgconfigdir}/libavdevice.pc %{_pkgconfigdir}/libavfilter.pc %{_pkgconfigdir}/libavformat.pc +%{_pkgconfigdir}/libavresample.pc %{_pkgconfigdir}/libavutil.pc %{_pkgconfigdir}/libpostproc.pc +%{_pkgconfigdir}/libswresample.pc %{_pkgconfigdir}/libswscale.pc %files static @@ -467,8 +551,10 @@ fi %{_libdir}/libavdevice.a %{_libdir}/libavfilter.a %{_libdir}/libavformat.a +%{_libdir}/libavresample.a %{_libdir}/libavutil.a %{_libdir}/libpostproc.a +%{_libdir}/libswresample.a %{_libdir}/libswscale.a %files ffplay