-# TODO
-# - is bug803 patch still needed? the code changed somehow
#
-# Workaround ffmpeg.spec & opencv.spec updating:
-#
-# 1. make-request -r --without opencv ffmpeg.spec
+# 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_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 openal # build without OpenAL 1.1 capture support
-%bcond_without opencv # build without opencv video filtering
-%bcond_without pulseaudio # build without PulseAudio input support
-%bcond_without x264 # build without x264 encoder
-%bcond_without utvideo # build without Ut Video decoder
+%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
Summary: FFmpeg - a very fast video and audio converter
Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
Name: ffmpeg
-Version: 0.10.1
+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)
License: GPL v3+ with LGPL v3+ parts
Group: Applications/Multimedia
Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: f391d3579b4a2dad8deb9989b7536268
+# Source0-md5: dbbb88ce5525dea22b24aaa098a9bcc2
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
-Patch0: %{name}-bug-803.patch
-Patch1: %{name}-gsm.patch
-Patch2: %{name}-dup.patch
+Patch0: %{name}-gsm.patch
+Patch1: %{name}-opencv24.patch
+Patch2: %{name}-openjpeg.patch
+Patch3: %{name}-cdio-paranoia.patch
URL: http://www.ffmpeg.org/
%{?with_openal:BuildRequires: OpenAL-devel}
-BuildRequires: SDL-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
BuildRequires: lame-libs-devel >= 3.98.3
%{?with_aacplus:BuildRequires: libaacplus-devel >= 2.0.0}
BuildRequires: libass-devel
-BuildRequires: libcdio-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 >= 2
%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.6}
# 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
-%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
-BuildRequires: speex-devel >= 1:1.2-rc1
%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)
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 >= 0.11.0
-Requires: dirac-devel >= 1.0.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
+%{?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 >= 2
Requires: librtmp-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
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
+%patch1 -p0
%patch2 -p1
+%patch3 -p1
# package the grep result for mplayer, the result formatted as ./mplayer/configure
cat <<EOF > ffmpeg-avconfig
--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} \
%{?with_aacplus:--enable-libaacplus} \
--enable-libass \
+ --enable-libbluray \
+ %{?with_libcaca:--enable-libcaca} \
--enable-libcelt \
--enable-libcdio \
--enable-libdc1394 \
- --enable-libdirac \
+ %{?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-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-pthreads \
--enable-shared \
--enable-swscale \
+ %{?with_va:--enable-vaapi} \
--enable-vdpau \
--enable-x11grab \
%ifnarch %{ix86} %{x8664}
%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) %{_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
%{_includedir}/libavdevice
%{_includedir}/libavfilter
%{_includedir}/libavformat
+%{_includedir}/libavresample
%{_includedir}/libavutil
%{_includedir}/libpostproc
%{_includedir}/libswresample
%{_pkgconfigdir}/libavdevice.pc
%{_pkgconfigdir}/libavfilter.pc
%{_pkgconfigdir}/libavformat.pc
+%{_pkgconfigdir}/libavresample.pc
%{_pkgconfigdir}/libavutil.pc
%{_pkgconfigdir}/libpostproc.pc
%{_pkgconfigdir}/libswresample.pc
%{_libdir}/libavdevice.a
%{_libdir}/libavfilter.a
%{_libdir}/libavformat.a
+%{_libdir}/libavresample.a
%{_libdir}/libavutil.a
%{_libdir}/libpostproc.a
%{_libdir}/libswresample.a