# TODO
-# - libnut enabled no (http://www.nut-container.org/)
+# - is bug803 patch still needed? the code changed somehow
#
# Conditional build:
-%bcond_with nonfree # non free options of package
+%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_without va # VAAPI (Video Acceleration API)
%bcond_without vpx # VP8, a high-quality video codec
%bcond_without doc # don't build docs
-Summary: FFmpeg is a very fast video and audio converter
-Summary(pl.UTF-8): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
+Summary: FFmpeg - a very fast video and audio converter
+Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo
Name: ffmpeg
-Version: 0.6.2
+Version: 0.8.3
Release: 1
# LGPL or GPL, chosen at configure time (GPL version is more featured)
-# (postprocessing, ac3, xvid, x264, faad)
+# (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: f7819307dad55aa0d6b40ac0e862884d
+# Source0-md5: 556870ccfd6c9c0426c7dd86dd5beb62
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
Patch0: %{name}-bug-803.patch
Patch1: %{name}-gsm.patch
-Patch2: faadbin-libfaadname.patch
-# vhook is gone. this patch needs different approach
-#PatchX: imagewidth.patch
-# http://webm.googlecode.com/files/ffmpeg-0.6_libvpx-0.9.1.diff.gz
-Patch3: ffmpeg-0.6_libvpx-0.9.1.diff
URL: http://www.ffmpeg.org/
BuildRequires: SDL-devel
+BuildRequires: alsa-lib-devel
+BuildRequires: bzip2-devel
+BuildRequires: celt-devel
BuildRequires: dirac-devel >= 1.0.0
-BuildRequires: faac-devel
-BuildRequires: faad2-devel
+%{?with_nonfree:BuildRequires: faac-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: lame-libs-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: lame-libs-devel >= 3.98.3
BuildRequires: libdc1394-devel
BuildRequires: libgsm-devel
+BuildRequires: libnut-devel
BuildRequires: libraw1394-devel
+BuildRequires: librtmp-devel
BuildRequires: libtheora-devel >= 1.0-0.beta3
BuildRequires: libtool >= 2:1.4d-3
%{?with_va:BuildRequires: libva-devel >= 1.0.3}
BuildRequires: libvdpau-devel
BuildRequires: libvorbis-devel
-%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.1}
+%{?with_vpx:BuildRequires: libvpx-devel >= 0.9.6}
# X264_BUILD >= 83
-BuildRequires: libx264-devel >= 0.1.3-1.20100424_2245.1
+%{?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
%{?with_doc:BuildRequires: tetex}
%{?with_doc:BuildRequires: texi2html}
%{?with_doc:BuildRequires: texinfo}
+BuildRequires: vo-aacenc-devel
+BuildRequires: vo-amrwbenc-devel
+BuildRequires: xavs-devel
+BuildRequires: xorg-lib-libXext-devel
+BuildRequires: xorg-lib-libXfixes-devel
BuildRequires: xvid-devel >= 1:1.1.0
BuildRequires: zlib-devel
%{?with_autoreqdep:BuildConflicts: libpostproc}
card.
%description -l pl.UTF-8
-ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym
-oraz serwerem strumieni multimedialnych. ffmpeg potrafi zrzucać dane
-ze standardowego urządzenia Video4Linux i przekonwertować je w kilka
-formatów plików bazujących na kodowaniu DCT/kompensacji ruchu. Dźwięk
-jest kompresowany do strumienia MPEG audio layer 2 lub używając
-strumienia kompatybilnego z AC3.
+FFmpeg to kompletne rozwiązanie nagrywania, konwersji i transmisji
+strumieni dźwięku i obrazu. Jest to działające z linii poleceń
+narzędzie do konwersji obrazu z jednego formatu do innego. Obsługuje
+także przechwytywanie i kodowanie w czasie rzeczywistym z karty
+telewizyjnej.
%package libs
Summary: ffmpeg libraries
Summary(pl.UTF-8): Biblioteki ffmpeg
Group: Libraries
-Suggests: faad2-libs
%description libs
-This package contains:
-- the codec library from the ffmpeg project. It supports most existing
- encoding formats (MPEG, DivX, MPEG4, AC3, DV...),
-- demuxer library from the ffmpeg project. It supports most existing
- file formats (AVI, MPEG, OGG, Matroska, ASF...),
-- video postprocessing library from the ffmpeg project.
+This package contains the ffmpeg shared libraries:
+- the codec library (libavcodec). It supports most existing encoding
+ formats (MPEG, DivX, MPEG4, AC3, DV...),
+- demuxer library (libavformat). It supports most existing file
+ formats (AVI, MPEG, OGG, Matroska, ASF...),
+- video postprocessing library (libpostproc).
%description libs -l pl.UTF-8
-Ten pakiet zawiera biblioteki współdzielone ffmpeg.
+Ten pakiet zawiera biblioteki współdzielone ffmpeg:
+- bibliotekę kodeków (libavcodec); obsługuje większość istniejących
+ formatów kodowania (MPEG, DivX, MPEG4, AC3, DV...),
+- bibliotekę demuksera (libavformat); obsługuje większość istniejących
+ formatów plików (AVI, MPEG, OGG, Matroska, ASF...),
+- bibliotekę postprocessingu (libpostproc).
%package devel
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: faad2-devel
-Requires: lame-libs-devel
+# Libs.private from *.pc (unreasonably they are all the same)
+Requires: SDL-devel
+Requires: alsa-lib-devel
+Requires: bzip2-devel
+Requires: celt-devel
+Requires: dirac-devel >= 1.0.0
+%{?with_nonfree:Requires: faac-devel}
+Requires: jack-audio-connection-kit-devel
+Requires: lame-libs-devel >= 3.98.3
+Requires: libdc1394-devel
Requires: libgsm-devel
+Requires: libnut-devel
Requires: libraw1394-devel
-Requires: libtheora-devel >= 1.0-0.alpha7
+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.6}
+%{?with_x264:Requires: libx264-devel >= 0.1.3-1.20110625_2245}
+Requires: opencore-amr-devel
+Requires: openjpeg-devel >= 1.3-2
+Requires: schroedinger-devel
+Requires: speex-devel >= 1:1.2-rc1
+Requires: vo-aacenc-devel
+Requires: vo-amrwbenc-devel
+Requires: xavs-devel
+Requires: xorg-lib-libXext-devel
+Requires: xorg-lib-libXfixes-devel
Requires: xvid-devel >= 1:1.1.0
Requires: zlib-devel
Obsoletes: libpostproc-devel
%setup -q
%patch0 -p1
%patch1 -p0
-%patch2 -p1
-%patch3 -p0
# package the grep result for mplayer, the result formatted as ./mplayer/configure
cat <<EOF > ffmpeg-avconfig
--enable-avfilter \
--enable-gpl \
--enable-version3 \
+ %{?with_frei0r:--enable-frei0r} \
--enable-libdc1394 \
+ --enable-libcelt \
--enable-libdirac \
- --enable-libfaad \
- --enable-libfaadbin \
--enable-libgsm \
--enable-libmp3lame \
+ --enable-libnut \
+ --enable-libopencore-amrnb \
+ --enable-libopencore-amrwb \
+ --enable-libopenjpeg \
+ --enable-librtmp \
--enable-libschroedinger \
--enable-libspeex \
--enable-libtheora \
+ --enable-libvo-aacenc \
+ --enable-libvo-amrwbenc \
--enable-libvorbis \
%{?with_vpx:--enable-libvpx} \
- --enable-libx264 \
+ %{?with_x264:--enable-libx264} \
+ --enable-libxavs \
--enable-libxvid \
- --enable-libopencore-amrnb \
- --enable-libopencore-amrwb \
- --enable-libopenjpeg \
--enable-postproc \
--enable-pthreads \
--enable-shared \
%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
%files
%defattr(644,root,root,755)
-%doc Changelog LICENSE README %{?with_doc:doc/*.html} doc/TODO
+%doc CREDITS LICENSE MAINTAINERS README doc/{APIchanges,RELEASE_NOTES,TODO} %{?with_doc:doc/*.html}
%attr(755,root,root) %{_bindir}/ffmpeg
%attr(755,root,root) %{_bindir}/ffprobe
%attr(755,root,root) %{_bindir}/qt-faststart
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.52
+%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.53
%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.52
+%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.53
%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.1
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.2
%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavformat.so.52
+%attr(755,root,root) %ghost %{_libdir}/libavformat.so.53
%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.50
+%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}/libswscale.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libswscale.so.0
+%attr(755,root,root) %ghost %{_libdir}/libswscale.so.2
%files devel
%defattr(644,root,root,755)