%define avcmajor 56 %define avclibname %mklibname avcodec %avcmajor %define develname %mklibname %name -d %define staticname %mklibname %name -s -d %define avfmajor 56 %define avflibname %mklibname avformat %avfmajor %define postprocmajor 53 %define postproclibname %mklibname postproc %postprocmajor %define avumajor 54 %define avulibname %mklibname avutil %avumajor %define swsmajor 3 %define swslibname %mklibname swscaler %swsmajor %define filtermajor 5 %define filterlibname %mklibname avfilter %filtermajor %define swresamplemajor 1 %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: ffmpeg Version: 2.4.13 Release: %mkrel 1 Summary: Hyper fast MPEG1/MPEG4/H263/RV and AC3/MPEG audio encoder Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2 # TODO: Find out current upstream stance about this and try to get something in... Patch0: ffmpeg-kodi-flush-hack.patch %if %build_plf License: GPLv3+ %else License: GPLv2+ %endif Group: Video/Utilities 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: opus-devel BuildRequires: twolame-devel #BuildRequires: opencv-devel BuildRequires: openjpeg-devel BuildRequires: xavs-devel BuildRequires: frei0r-devel BuildRequires: libmodplug-devel BuildRequires: ass-devel BuildRequires: gnutls-devel BuildRequires: libcdio-paranoia-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 %apply_patches %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-libopus \ --disable-libopencv \ --enable-libopenjpeg \ --enable-libtwolame \ --enable-libxavs \ --enable-frei0r \ --enable-libmodplug \ --enable-libass \ --enable-gnutls \ --enable-libcdio \ --enable-libpulse \ --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 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 %_mandir/man3/lib*.3* %files -n %staticname %{_libdir}/*.a %changelog * Thu Feb 04 2016 luigiwalser <luigiwalser> 2.4.13-1.mga5 + Revision: 935905 - 2.4.13 - 2.4.12 * Sun May 17 2015 luigiwalser <luigiwalser> 2.4.9-1.mga5.tainted + Revision: 822201 - 2.4.9 * Sun Mar 08 2015 luigiwalser <luigiwalser> 2.4.7-1.mga5.tainted + Revision: 818173 - 2.4.7 * Sun Feb 15 2015 luigiwalser <luigiwalser> 2.4.6-1.mga5.tainted + Revision: 814980 - 2.4.6 * Mon Jan 12 2015 luigiwalser <luigiwalser> 2.4.5-1.mga5.tainted + Revision: 810005 - 2.4.5 * Tue Dec 02 2014 luigiwalser <luigiwalser> 2.4.4-1.mga5.tainted + Revision: 800282 - 2.4.4 * Mon Nov 24 2014 anssi <anssi> 2.4.3-2.mga5.tainted + Revision: 798788 - add patch to make ff_read_frame_flush() public under a custom name for Kodi use for the time being * Wed Nov 05 2014 akien <akien> 2.4.3-1.mga5.tainted + Revision: 795854 - Version 2.4.3 - Version 2.3.4 * Wed Oct 15 2014 umeabot <umeabot> 2.3.3-3.mga5.tainted + Revision: 739475 - Second Mageia 5 Mass Rebuild - Mageia 5 Mass Rebuild * Mon Aug 18 2014 fwang <fwang> 2.3.3-1.mga5.tainted + Revision: 664986 - 2.3.3 * Wed Aug 13 2014 fwang <fwang> 2.3.2-1.mga5.tainted + Revision: 662337 - 2.3.2 * Mon Aug 04 2014 fwang <fwang> 2.3.1-1.mga5.tainted + Revision: 659524 - 2.3.1 * Sun Jul 20 2014 wally <wally> 2.3-2.mga5.tainted + Revision: 654679 - add patch to add missing long_name descriptions to img2dec.c (to hopefully fix segfaults in gstreamers ffmpeg/libav plugins) * Wed Jul 16 2014 fwang <fwang> 2.3-1.mga5.tainted + Revision: 653233 - update file list - 2.3 * Tue Jul 15 2014 fwang <fwang> 2.2.5-1.mga5.tainted + Revision: 652797 - 2.2.5 * Tue Jun 24 2014 fwang <fwang> 2.2.4-1.mga5.tainted + Revision: 639184 - 2.2.4 * Tue Jun 03 2014 fwang <fwang> 2.2.3-1.mga5.tainted + Revision: 631795 - 2.2.3 * Mon May 05 2014 fwang <fwang> 2.2.2-1.mga5.tainted + Revision: 620184 - 2.2.2 * Fri Apr 11 2014 fwang <fwang> 2.2.1-1.mga5.tainted + Revision: 613377 - 2.2.1 * Tue Apr 01 2014 akien <akien> 2.2-3.mga5.tainted + Revision: 611178 - Enable atrac3p decoder in the tainted build * Sun Mar 30 2014 daviddavid <daviddavid> 2.2-2.mga5.tainted + Revision: 610545 - rebuild for new x264 * Mon Mar 24 2014 fwang <fwang> 2.2-1.mga5.tainted + Revision: 607754 - 2.2 * Tue Feb 25 2014 fwang <fwang> 2.1.4-1.mga5.tainted + Revision: 596756 - 2.1.4 * Mon Feb 17 2014 luigiwalser <luigiwalser> 2.1.3-4.mga5 + Revision: 593273 - rebuild for x264 * Sun Feb 16 2014 luigiwalser <luigiwalser> 2.1.3-3.mga5.tainted + Revision: 592546 - rebuild for librtmp * Sat Feb 15 2014 luigiwalser <luigiwalser> 2.1.3-2.mga5.tainted + Revision: 592219 - rebuild for libass * Tue Feb 04 2014 fwang <fwang> 2.1.3-1.mga5.tainted + Revision: 581473 - new version 2.1.3 * Mon Oct 21 2013 umeabot <umeabot> 2.0.2-2.mga4.tainted + Revision: 540555 - Mageia 4 Mass Rebuild * Wed Oct 09 2013 luigiwalser <luigiwalser> 2.0.2-1.mga4.tainted + Revision: 493838 - new version 2.0.2 * Sun Sep 01 2013 fwang <fwang> 2.0.1-3.mga4.tainted + Revision: 473879 - rebuild for new libcdio split * Sat Aug 24 2013 luigiwalser <luigiwalser> 2.0.1-2.mga4.tainted + Revision: 470988 - rebuild for x264 * Tue Aug 13 2013 fwang <fwang> 2.0.1-1.mga4.tainted + Revision: 466023 - new version 2.0.1 * Wed Jul 10 2013 fwang <fwang> 2.0-1.mga4.tainted + Revision: 452438 - add man pages - new version 2.0 * Mon Jun 17 2013 luigiwalser <luigiwalser> 1.2.1-3.mga4.tainted + Revision: 443886 - rebuild for x264 + fwang <fwang> - rebuild for new openjpeg * Thu May 23 2013 fwang <fwang> 1.2.1-1.mga4.tainted + Revision: 425394 - new version 1.2.1 * Fri Apr 05 2013 fwang <fwang> 1.1.4-1.mga3.tainted + Revision: 408187 - new version 1.1.4 * Tue Feb 12 2013 fwang <fwang> 1.1.2-1.mga3.tainted + Revision: 398016 - new version 1.1.2 - new version 1.1.1 * Fri Jan 11 2013 umeabot <umeabot> 1.1-3.mga3.tainted + Revision: 350258 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Jan 08 2013 cjw <cjw> 1.1-2.mga3.tainted + Revision: 341613 - enable libopus and libtwolame - remove old comment about gstreamer0.10-ffmpeg * Tue Jan 08 2013 fwang <fwang> 1.1-1.mga3.tainted + Revision: 341574 - fix libmajor - new version 1.1 * Sun Dec 09 2012 cjw <cjw> 1.0.1-2.mga3.tainted + Revision: 329207 - patch1: fix chromium-browser 25 build * Thu Dec 06 2012 fwang <fwang> 1.0.1-1.mga3.tainted + Revision: 327105 - new version 1.0.1 * Sun Oct 07 2012 fwang <fwang> 1.0-2.mga3.tainted + Revision: 303245 - rebuild for new openjpeg * Fri Sep 28 2012 fwang <fwang> 1.0-1.mga3.tainted + Revision: 298904 - update libmajor - update group - new version 1.0 * Wed Sep 19 2012 fwang <fwang> 0.11.2-1.mga3.tainted + Revision: 296119 - new version 0.11.2 * Sat Sep 15 2012 fwang <fwang> 0.11.1-3.mga3.tainted + Revision: 294225 - rebuild for new x264 - gst1.0 is using libav fork now - add note on gst1.0-ffmpeg - add note on gstreamer0.10-ffmpeg package * Sun Aug 05 2012 shlomif <shlomif> 0.11.1-2.mga3.tainted + Revision: 278609 - Rebuild because ffmpeg is uninstallable. See: https://bugs.mageia.org/show_bug.cgi?id=6809#c7 . * Fri Jun 08 2012 fwang <fwang> 0.11.1-1.mga3.tainted + Revision: 257773 - drop avresample lib - new version 0.11.1 * Tue May 29 2012 fwang <fwang> 0.11-2.mga3.tainted + Revision: 249021 - disable opencv as it does not recognize newer opencv - revert previous change - disable opencv for now - rebuild for new opencv * Mon May 28 2012 fwang <fwang> 0.11-1.mga3.tainted + Revision: 247809 - update file list - update libmajor - drop unused swtich - new version 0.11 * Mon May 07 2012 fwang <fwang> 0.10.3-1.mga2.tainted + 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