#
# Conditional build:
%bcond_without imlib2 # we can safely play without it :-)
-%bcond_without autoreqdep # don't care about package name deps generated by rpm
+%bcond_without autoreqdep # don't care about package name deps generated by rpm
#
Summary: Realtime audio/video encoder and streaming server
Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni
Name: ffmpeg
Version: 0.4.9
-Release: 0.pre1.1
+%define snap 20060129
+Release: 3.%{snap}.8
# LGPL or GPL, chosen at configure time (GPL version is more featured)
License: GPL
Group: Daemons
-Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
-# Source0-md5: ea5587e3c66d50b1503b82ac4179c303
-Patch0: %{name}-imlib2.patch
-Patch1: %{name}-libtool.patch
+#Source0: http://dl.sourceforge.net/ffmpeg/%{name}-%{version}-pre1.tar.gz
+#Source0: ftp://ftp2.mplayerhq.hu/MPlayer/cvs/FFMpeg-%{snap}.tar.bz2
+Source0: %{name}-%{snap}.tar.bz2
+# Source0-md5: d8ea09431d6c0c91bfd35e0ca74a67e1
+Patch0: %{name}-libtool.patch
+Patch1: %{name}-libdir.patch
Patch2: %{name}-gcc4.patch
URL: http://ffmpeg.sourceforge.net/
BuildRequires: SDL-devel
+BuildRequires: faac-devel
+BuildRequires: faad2-devel
BuildRequires: freetype-devel
%ifarch ppc
# require version with altivec support fixed
BuildRequires: gcc >= 5:3.3.2-3
%endif
%{?with_imlib2:BuildRequires: imlib2-devel >= 1.1.0-2}
+BuildRequires: lame-libs-devel
+BuildRequires: libdts-devel
+BuildRequires: libgsm-devel
+BuildRequires: libtheora-devel
BuildRequires: libtool >= 2:1.4d-3
-BuildRequires: faac-devel
+BuildRequires: libvorbis-devel
%ifarch %{ix86}
%ifnarch i386 i486
BuildRequires: nasm
BuildRequires: perl-tools-pod
BuildRequires: tetex
BuildRequires: texinfo
+BuildRequires: xvid-devel >= 1:1.1.0
BuildRequires: zlib-devel
-BuildRequires: lame-libs-devel
-BuildRequires: libvorbis-devel
%{?with_autoreqdep:BuildConflicts: libpostproc}
+Requires: xvid >= 1:1.1.0
Obsoletes: libpostproc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _noautoreqdep libGL.so.1 libGLU.so.1
+%define specflags -fno-strict-aliasing
+
+# -fomit-frame-pointer is always needed on x86 due to lack of registers (-fPIC takes one)
+%define specflags_ia32 -fomit-frame-pointer
+# -mmmx is needed to enable <mmintrin.h> code.
+%define specflags_i586 -mmmx
+%define specflags_i686 -mmmx
+
%description
ffmpeg is a hyper fast realtime audio/video encoder and streaming
server. It can grab from a standard Video4Linux video source and
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Obsoletes: libpostproc-devel
+# for libavcodec:
+Requires: faac-devel
+Requires: lame-libs-devel
+Requires: libdts-devel
+Requires: libgsm-devel
+Requires: libtheora-devel
+Requires: libvorbis-devel
+Requires: xvid-devel >= 1:1.1.0
+Requires: zlib-devel
%description devel
ffmpeg header files.
obrazie.
%prep
-%setup -q -n ffmpeg-0.4.9-pre1
+%setup -q -n ffmpeg
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
# notes:
# - it's not autoconf configure
-# - -fomit-frame-pointer is always needed on x86 due to lack of registers
-# (-fPIC takes one)
# - --disable-debug, --disable-opts, tune=generic causes not to override our optflags
./configure \
--prefix=%{_prefix} \
--libdir=%{_libdir} \
--mandir=%{_mandir} \
+ --disable-strip \
+ --enable-a52 \
--enable-a52bin \
+ --enable-dts \
--enable-faac \
--enable-faadbin \
- --enable-pthreads \
--enable-gpl \
+ --enable-libgsm \
+ --enable-libogg \
+ --enable-mp3lame \
--enable-pp \
+ --enable-pthreads \
--enable-shared \
- --enable-shared-pp \
- --enable-mp3lame \
+ --enable-theora \
--enable-vorbis \
-%ifnarch %{ix86}
+ --enable-xvid \
+%ifnarch %{ix86} %{x8664}
--disable-mmx \
%endif
%ifarch i386 i486
--disable-mmx \
%endif
--cc="%{__cc}" \
- --extra-cflags="%{rpmcflags} -fomit-frame-pointer" \
+ --extra-cflags="%{rpmcflags}" \
--extra-ldflags="%{rpmldflags}" \
--disable-debug \
--disable-opts \
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+install xvmc_render.h $RPM_BUILD_ROOT%{_includedir}/ffmpeg
+
mv -f $RPM_BUILD_ROOT{%{_bindir},%{_sbindir}}/ffserver
install doc/*.conf $RPM_BUILD_ROOT%{_sysconfdir}
%doc Changelog README doc/*.html
%attr(755,root,root) %{_bindir}/ffmpeg
%attr(755,root,root) %{_sbindir}/ffserver
-%attr(755,root,root) %{_libdir}/libavcodec-*.so
-%attr(755,root,root) %{_libdir}/libavformat-*.so
-%attr(755,root,root) %{_libdir}/libpostproc.so.*
+%attr(755,root,root) %{_libdir}/libavcodec.so.*.*.*
+%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
+%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
+%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
%dir %{_libdir}/vhook
%attr(755,root,root) %{_libdir}/vhook/drawtext.so
%attr(755,root,root) %{_libdir}/vhook/fish.so
%attr(755,root,root) %{_libdir}/vhook/null.so
%attr(755,root,root) %{_libdir}/vhook/ppm.so
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/ffserver.conf
+%attr(755,root,root) %{_libdir}/vhook/watermark.so
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
%{_mandir}/man1/ffmpeg.1*
%{_mandir}/man1/ffserver.1*
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavcodec.so
%attr(755,root,root) %{_libdir}/libavformat.so
+%attr(755,root,root) %{_libdir}/libavutil.so
%attr(755,root,root) %{_libdir}/libpostproc.so
%{_libdir}/lib*.la
%{_includedir}/ffmpeg
%{_includedir}/postproc
+%{_pkgconfigdir}/*.pc
%files static
%defattr(644,root,root,755)