# TODO
# - is bug803 patch still needed? the code changed somehow
-# - libnut enabled no (http://www.nut-container.org/)
+#
+# Workaround ffmpeg.spec & opencv.spec updating:
+#
+# 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_with aacplus # AAC+ encoding via libaacplus (requires nonfree)
%bcond_without autoreqdep # don't care about package name deps generated by rpm
+%bcond_without frei0r # build without frei0r video filtering
+%bcond_without opencv # build without opencv video filtering
+%bcond_without x264 # build without x264 encoder
%bcond_without va # VAAPI (Video Acceleration API)
%bcond_without vpx # VP8, a high-quality video codec
%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
-Release: 1
+Version: 0.9
+Release: 2
# LGPL or GPL, chosen at configure time (GPL version is more featured)
# (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: 795058de6fc432aa11271408273a0535
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
BuildRequires: SDL-devel
BuildRequires: alsa-lib-devel
BuildRequires: bzip2-devel
-BuildRequires: celt-devel
+BuildRequires: celt-devel >= 0.11.0
BuildRequires: dirac-devel >= 1.0.0
%{?with_nonfree:BuildRequires: faac-devel}
BuildRequires: freetype-devel
-BuildRequires: frei0r-devel
+%{?with_frei0r:BuildRequires: frei0r-devel}
%ifarch ppc
# require version with altivec support fixed
BuildRequires: gcc >= 5:3.3.2-3
%endif
BuildRequires: jack-audio-connection-kit-devel
BuildRequires: lame-libs-devel >= 3.98.3
+%{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
BuildRequires: libdc1394-devel
BuildRequires: libgsm-devel
-BuildRequires: libraw1394-devel
+BuildRequires: libnut-devel
+BuildRequires: libraw1394-devel >= 2
BuildRequires: librtmp-devel
BuildRequires: libtheora-devel >= 1.0-0.beta3
BuildRequires: libtool >= 2:1.4d-3
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.6}
-# X264_BUILD >= 83
-BuildRequires: libx264-devel >= 0.1.3-1.20110625_2245
+# X264_BUILD >= 118
+%{?with_x264:BuildRequires: libx264-devel >= 0.1.3-1.20111212_2245}
BuildRequires: opencore-amr-devel
+%{?with_opencv:BuildRequires: opencv-devel}
BuildRequires: openjpeg-devel >= 1.3-2
BuildRequires: speex-devel >= 1:1.2-rc1
%ifarch %{ix86}
Requires: lame-libs-devel >= 3.98.3
Requires: libdc1394-devel
Requires: libgsm-devel
-Requires: libraw1394-devel
+Requires: libnut-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
%{?with_vpx:Requires: libvpx-devel >= 0.9.6}
-Requires: libx264-devel >= 0.1.3-1.20110625_2245
+%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
Requires: opencore-amr-devel
Requires: openjpeg-devel >= 1.3-2
Requires: schroedinger-devel
--enable-avfilter \
--enable-gpl \
--enable-version3 \
- --enable-frei0r \
+ %{?with_frei0r:--enable-frei0r} \
+ %{?with_aacplus:--enable-libaacplus} \
--enable-libdc1394 \
--enable-libcelt \
--enable-libdirac \
--enable-libgsm \
--enable-libmp3lame \
+ --enable-libnut \
--enable-libopencore-amrnb \
--enable-libopencore-amrwb \
+ %{?with_opencv:--enable-libopencv} \
--enable-libopenjpeg \
--enable-librtmp \
--enable-libschroedinger \
--enable-libvo-amrwbenc \
--enable-libvorbis \
%{?with_vpx:--enable-libvpx} \
- --enable-libx264 \
+ %{?with_x264:--enable-libx264} \
--enable-libxavs \
--enable-libxvid \
--enable-postproc \
%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
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
%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}/avconv
%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
+%{?with_doc:%{_mandir}/man1/avconv.1*}
%{?with_doc:%{_mandir}/man1/ffmpeg.1*}
%{?with_doc:%{_mandir}/man1/ffprobe.1*}
%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) %{_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
%attr(755,root,root) %{_libdir}/libavformat.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}/libavformat
%{_includedir}/libavutil
%{_includedir}/libpostproc
+%{_includedir}/libswresample
%{_includedir}/libswscale
%{_pkgconfigdir}/libavcodec.pc
%{_pkgconfigdir}/libavdevice.pc
%{_pkgconfigdir}/libavformat.pc
%{_pkgconfigdir}/libavutil.pc
%{_pkgconfigdir}/libpostproc.pc
+%{_pkgconfigdir}/libswresample.pc
%{_pkgconfigdir}/libswscale.pc
%files static
%{_libdir}/libavformat.a
%{_libdir}/libavutil.a
%{_libdir}/libpostproc.a
+%{_libdir}/libswresample.a
%{_libdir}/libswscale.a
%files ffplay