%define name ffmpeg %define version 0.10.7 %define release %mkrel 1 %define avcmajor 53 %define avclibname %mklibname avcodec %avcmajor %define develname %mklibname %name -d %define staticname %mklibname %name -s -d %define avfmajor 53 %define avflibname %mklibname avformat %avfmajor %define postprocmajor 52 %define postproclibname %mklibname postproc %postprocmajor %define avumajor 51 %define avulibname %mklibname avutil %avumajor %define swsmajor 2 %define swslibname %mklibname swscaler %swsmajor %define filtermajor 2 %define filterlibname %mklibname avfilter %filtermajor %define swresamplemajor 0 %define swresamplelibname %mklibname swresample %swresamplemajor %define build_plf 0 %{?_with_plf: %{expand: %%global build_plf 1}} %if %build_plf %define distsuffix plf %endif %if "%distro_section" == "tainted" %global build_plf 1 %endif %define build_faac 0 %{?_with_faac: %{expand: %%global build_faac 1}} %{?_without_faac: %{expand: %%global build_faac 0}} Name: %{name} Version: %{version} Release: %{release} Summary: Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2 %if %build_plf License: GPLv3+ %else License: GPLv2+ %endif Group: Video BuildRequires: texi2html BuildRequires: SDL-devel BuildRequires: libtheora-devel BuildRequires: libvorbis-devel BuildRequires: libjack-devel BuildRequires: libdc1394-devel BuildRequires: libschroedinger-devel BuildRequires: libvpx-devel BuildRequires: jpeg-devel BuildRequires: libpng-devel BuildRequires: bzip2-devel BuildRequires: rtmp-devel BuildRequires: vdpau-devel BuildRequires: libva-devel BuildRequires: yasm URL: http://ffmpeg.org/ %if %build_plf BuildRequires: x264-devel >= 0.118 BuildRequires: liblame-devel BuildRequires: opencore-amr-devel BuildRequires: libvo-aacenc-devel BuildRequires: libvo-amrwbenc-devel BuildRequires: libxvid-devel %endif %if %build_faac BuildRequires: libfaac-devel %endif BuildRequires: speex-devel BuildRequires: freetype-devel BuildRequires: libnut-devel BuildRequires: gsm-devel BuildRequires: celt-devel BuildRequires: opencv-devel BuildRequires: openjpeg-devel BuildRequires: xavs-devel BuildRequires: frei0r-devel BuildRequires: libmodplug-devel BuildRequires: ass-devel BuildRequires: gnutls-devel BuildRequires: libcdio-devel BuildRequires: pulseaudio-devel BuildRequires: dirac-devel BuildRequires: libv4l-devel Requires: %postproclibname = %version-%release Requires: %avclibname = %version-%release Requires: %avflibname = %version-%release Requires: %avulibname = %version-%release Requires: %filterlibname = %version-%release Requires: %{swslibname} = %{version}-%release Requires: %swresamplelibname = %{version}-%release %description ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. %if %build_plf This package is in the "tainted" section as it violates several patents. %endif %package -n %{avclibname} Group: System/Libraries Summary: Shared library part of ffmpeg Provides: libffmpeg = %{version}-%{release} Obsoletes: %{_lib}ffmpeg53 < 0.8.2-2 %description -n %{avclibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{postproclibname} Group: System/Libraries Summary: Shared library part of ffmpeg Conflicts: %mklibname ffmpeg 51 %description -n %{postproclibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{avflibname} Group: System/Libraries Summary: Shared library part of ffmpeg Obsoletes: %{_lib}avformats53 < %{version}-%{release} %description -n %{avflibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{avulibname} Group: System/Libraries Summary: Shared library part of ffmpeg %description -n %{avulibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{swslibname} Group: System/Libraries Summary: Shared library part of ffmpeg %description -n %{swslibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{filterlibname} Group: System/Libraries Summary: Shared library part of ffmpeg %description -n %{filterlibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %{swresamplelibname} Group: System/Libraries Summary: Shared library part of ffmpeg %description -n %{swresamplelibname} ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg if you want to encode multimedia streams. %package -n %develname Group: Development/C Summary: Header files for the ffmpeg codec library Requires: %{avclibname} = %{version}-%release Requires: %{avflibname} = %{version}-%release Requires: %{avulibname} = %{version}-%release Requires: %{postproclibname} = %{version}-%release Requires: %{swslibname} = %{version}-%release Requires: %{filterlibname} = %{version}-%release Requires: %{swresamplelibname} = %{version}-%release Provides: libffmpeg-devel = %{version}-%{release} Provides: ffmpeg-devel = %{version}-%{release} Obsoletes: %mklibname -d %name 51 %description -n %develname ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg-devel if you want to compile apps with ffmpeg support. %package -n %staticname Group: Development/C Summary: Static library for the ffmpeg codec library Requires: %develname = %{version}-%release Provides: libffmpeg-static-devel = %{version}-%{release} Obsoletes: %mklibname -s -d %name 51 %description -n %staticname ffmpeg is a hyper fast realtime audio/video encoder, a streaming server and a generic audio and video file converter. It can grab from a standard Video4Linux video source and convert it into several file formats based on DCT/motion compensation encoding. Sound is compressed in MPEG audio layer 2 or using an AC3 compatible stream. Install libffmpeg-devel if you want to compile apps with ffmpeg support. %prep %setup -q -n %{name}-%version %build export CFLAGS="%optflags -FPIC" export LDFLAGS="%{ldflags}" ./configure --prefix=%_prefix \ --enable-shared \ --libdir=%{_libdir} \ --shlibdir=%{_libdir} \ --incdir=%{_includedir} \ --disable-stripping \ --enable-postproc \ --enable-gpl \ --enable-pthreads \ --enable-libtheora \ --enable-libvorbis --disable-encoder=vorbis \ --enable-libvpx \ --enable-x11grab \ --enable-runtime-cpudetect \ --enable-libdc1394 \ --enable-libschroedinger \ --enable-librtmp \ --enable-libspeex \ --enable-libfreetype \ --enable-libnut \ --enable-libgsm \ --enable-libcelt \ --enable-libopencv \ --enable-libopenjpeg \ --enable-libxavs \ --enable-frei0r \ --enable-libmodplug \ --enable-libass \ --enable-gnutls \ --enable-libcdio \ --enable-libpulse \ --enable-libdirac \ --enable-libv4l2 \ %if %build_plf --enable-libmp3lame \ --enable-libopencore-amrnb \ --enable-libopencore-amrwb \ --enable-version3 \ --enable-libx264 \ --enable-libvo-aacenc \ --enable-libvo-amrwbenc \ --enable-libxvid \ %else --disable-decoder=aac --disable-encoder=aac \ %endif %if %build_faac --enable-nonfree --enable-libfaac %endif %make %install %makeinstall_std SRC_PATH=`pwd` %files %doc INSTALL README doc/*.html doc/*.txt doc/*.conf %{_bindir}/* %{_mandir}/man1/* %{_datadir}/ffmpeg %files -n %{avclibname} %{_libdir}/libavcodec.so.%{avcmajor}* %files -n %postproclibname %{_libdir}/libpostproc.so.%{postprocmajor}* %files -n %{avflibname} %{_libdir}/libavformat.so.%{avfmajor}* %{_libdir}/libavdevice.so.%{avfmajor}* %files -n %{avulibname} %{_libdir}/libavutil.so.%{avumajor}* %files -n %{swslibname} %{_libdir}/libswscale.so.%{swsmajor}* %files -n %{filterlibname} %{_libdir}/libavfilter.so.%{filtermajor}* %files -n %{swresamplelibname} %{_libdir}/libswresample.so.%{swresamplemajor}* %files -n %develname %doc doc/APIchanges %{_includedir}/libavcodec %{_includedir}/libavdevice %{_includedir}/libavfilter %{_includedir}/libavformat %{_includedir}/libavutil %{_includedir}/libpostproc %{_includedir}/libswscale %{_includedir}/libswresample %{_libdir}/libavcodec.so %{_libdir}/libavdevice.so %{_libdir}/libavformat.so %{_libdir}/libavfilter.so %{_libdir}/libavutil.so %{_libdir}/libpostproc.so %{_libdir}/libswscale.so %{_libdir}/libswresample.so %_libdir/pkgconfig/libswscale.pc %_libdir/pkgconfig/libavcodec.pc %_libdir/pkgconfig/libavdevice.pc %_libdir/pkgconfig/libavfilter.pc %_libdir/pkgconfig/libavformat.pc %_libdir/pkgconfig/libavutil.pc %_libdir/pkgconfig/libpostproc.pc %_libdir/pkgconfig/libswresample.pc %files -n %staticname %{_libdir}/*.a %changelog * Fri May 03 2013 luigiwalser <luigiwalser> 0.10.7-1.mga2 + Revision: 412036 - new version 0.10.7 + fwang <fwang> - new version 0.10.6 - new version 0.10.4 * Mon May 07 2012 fwang <fwang> 0.10.3-1.mga2 + Revision: 234856 - new version 0.10.3 + blino <blino> - revert doc changes, since ffmpeg should not be pulled for most users anyway (as pointed by Anssi) - split out advanced doc in ffmpeg-doc since it takes about 1MB - do not package INSTALL file which is not relevant for end users * Thu Apr 12 2012 fwang <fwang> 0.10.2-2.mga2.tainted + Revision: 230356 - rebuild for new openjpeg * Mon Mar 19 2012 fwang <fwang> 0.10.2-1.mga2.tainted + Revision: 224316 - drop merged patch - new version 0.10.2 * Fri Mar 02 2012 fwang <fwang> 0.10-2.mga2.tainted + Revision: 216649 - rebuild for new vpx * Fri Jan 27 2012 fwang <fwang> 0.10-1.mga2.tainted + Revision: 202149 - update libmajor - new version 0.10 * Mon Jan 16 2012 luigiwalser <luigiwalser> 0.9.1-2.mga2.tainted + Revision: 196692 - enable speex freetype libnut gsm celt opencv openjpeg xavs frei0r - enable libmodplug libass gnutls libcdio libpulse dirac libv4l2 - format string fix (from mdv) - format string fix (from mdv) - spec cleanups from mdv * Thu Jan 05 2012 fwang <fwang> 0.9.1-1.mga2.tainted + Revision: 191144 - new version 0.9.1 * Tue Dec 13 2011 fwang <fwang> 0.9-1.mga2.tainted + Revision: 181284 - bump x264 req * Tue Dec 13 2011 fwang <fwang> 0.9-1.mga2 + Revision: 181262 - update file list - update file list - new verison 0.9 * Tue Nov 22 2011 fwang <fwang> 0.8.7-1.mga2.tainted + Revision: 170893 - new version 0.8.7 * Sat Nov 05 2011 fwang <fwang> 0.8.6-1.mga2.tainted + Revision: 163098 - new version 0.8.6 * Mon Oct 03 2011 fwang <fwang> 0.8.5-1.mga2.tainted + Revision: 151124 - new version 0.8.5 - update avformat libname * Tue Sep 27 2011 spuhler <spuhler> 0.8.4-2.mga2 + Revision: 149251 - changed -%%_mandir, %%_datadir to %%{_mandir}, %%{_datadir} - changed BuildRequires: tetex-texi2html to BuildRequires: texi2html * Thu Sep 22 2011 fwang <fwang> 0.8.4-1.mga2.tainted + Revision: 146724 - new version 0.8.4 * Thu Sep 08 2011 fwang <fwang> 0.8.3-1.mga2.tainted + Revision: 141359 - new version 0.8.3 - rename libffmpeg into libavcodec to reflect its actural content - new version 0.8.2 - new version 0.8.1 * Fri Jun 24 2011 fwang <fwang> 0.8-1.mga2.tainted + Revision: 112931 - bump req on x264 - faad support removed in ffmpeg 0.8 * Fri Jun 24 2011 fwang <fwang> 0.8-1.mga2 + Revision: 112920 - br yasm - alwasy build swscale - drop upstream patches - new version 0.8 * Fri Jun 17 2011 ahmad <ahmad> 0.6.3-3.mga2 + Revision: 108552 - Enable libxvid support (Tainted build) * Sun May 29 2011 pterjan <pterjan> 0.6.3-2.mga1.tainted + Revision: 100677 - Fix description of tainted package - Enable tainted build + cjw <cjw> - patch2-5: add support for vo-amrwbenc and vo-aacenc (from ffmpeg git) * Wed Apr 27 2011 colin <colin> 0.6.3-1.mga1 + Revision: 92150 - New bugfix release * Fri Jan 14 2011 dmorgan <dmorgan> 0.6.1-2.mga1 + Revision: 18043 - Get rid of mdv macros + ahmad <ahmad> - imported package ffmpeg