From 22745365a706ee19b9bfc13e93695b735d41bfb2 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Sun, 14 Jul 2013 18:03:06 +0200 Subject: [PATCH] - started update to 2.0 (note: new sonames; ffmpeg 1.2.x left on ffmpeg-1.2 branch) - updated opencv24 patch, removed obsolete utvideo patch - enable libgme,libquvi,libwavpack by default --- ffmpeg-opencv24.patch | 22 ++++++++++----------- ffmpeg-utvideo.patch | 33 ------------------------------- ffmpeg.spec | 46 +++++++++++++++++++++++++++---------------- 3 files changed, 40 insertions(+), 61 deletions(-) delete mode 100644 ffmpeg-utvideo.patch diff --git a/ffmpeg-opencv24.patch b/ffmpeg-opencv24.patch index 86db421..e7ddd31 100644 --- a/ffmpeg-opencv24.patch +++ b/ffmpeg-opencv24.patch @@ -1,11 +1,11 @@ ---- ffmpeg-1.1/configure.orig 2013-01-12 19:03:23.233511454 +0100 -+++ ffmpeg-1.1/configure 2013-01-12 20:14:37.403422370 +0100 -@@ -3834,7 +3834,7 @@ - enabled libnut && require libnut libnut.h nut_demuxer_init -lnut - enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb - enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb --enabled libopencv && require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader -+enabled libopencv && add_extralibs -lopencv_core -lopencv_features2d -lopencv_imgproc -lopencv_objdetect -lgcrypt - enabled libopenjpeg && { check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg || - check_lib openjpeg.h opj_version -lopenjpeg || - die "ERROR: libopenjpeg not found"; } +--- ffmpeg-2.0/configure.orig 2013-07-14 11:29:51.533724995 +0200 ++++ ffmpeg-2.0/configure 2013-07-14 11:59:02.196984862 +0200 +@@ -4154,7 +4154,7 @@ + enabled libnut && require libnut libnut.h nut_demuxer_init -lnut + enabled libopencore_amrnb && require libopencore_amrnb opencore-amrnb/interf_dec.h Decoder_Interface_init -lopencore-amrnb + enabled libopencore_amrwb && require libopencore_amrwb opencore-amrwb/dec_if.h D_IF_init -lopencore-amrwb +-enabled libopencv && require_pkg_config opencv opencv/cxcore.h cvCreateImageHeader ++enabled libopencv && add_extralibs -lopencv_core -lopencv_features2d -lopencv_imgproc -lopencv_objdetect -lgcrypt + enabled libopenjpeg && { check_lib openjpeg-1.5/openjpeg.h opj_version -lopenjpeg || + check_lib openjpeg.h opj_version -lopenjpeg || + die "ERROR: libopenjpeg not found"; } diff --git a/ffmpeg-utvideo.patch b/ffmpeg-utvideo.patch deleted file mode 100644 index 90ed618..0000000 --- a/ffmpeg-utvideo.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- ffmpeg-1.1/libavcodec/libutvideodec.cpp.orig 2013-01-06 22:53:29.000000000 +0100 -+++ ffmpeg-1.1/libavcodec/libutvideodec.cpp 2013-01-22 20:20:53.825406063 +0100 -@@ -61,11 +61,11 @@ static av_cold int utvideo_decode_init(A - break; - case MKTAG('U', 'L', 'R', 'G'): - avctx->pix_fmt = AV_PIX_FMT_BGR24; -- format = UTVF_RGB24_WIN; -+ format = UTVF_NFCC_BGR_BU; - break; - case MKTAG('U', 'L', 'R', 'A'): - avctx->pix_fmt = AV_PIX_FMT_RGB32; -- format = UTVF_RGB32_WIN; -+ format = UTVF_NFCC_BGRA_BU; - break; - default: - av_log(avctx, AV_LOG_ERROR, ---- ffmpeg-1.1/libavcodec/libutvideoenc.cpp.orig 2013-01-06 22:53:29.000000000 +0100 -+++ ffmpeg-1.1/libavcodec/libutvideoenc.cpp 2013-01-22 20:21:17.268738905 +0100 -@@ -51,12 +51,12 @@ static av_cold int utvideo_encode_init(A - avctx->codec_tag = MKTAG('U', 'L', 'Y', '2'); - break; - case AV_PIX_FMT_BGR24: -- in_format = UTVF_RGB24_WIN; -+ in_format = UTVF_NFCC_BGR_BU; - avctx->bits_per_coded_sample = 24; - avctx->codec_tag = MKTAG('U', 'L', 'R', 'G'); - break; - case AV_PIX_FMT_RGB32: -- in_format = UTVF_RGB32_WIN; -+ in_format = UTVF_NFCC_BGRA_BU; - avctx->bits_per_coded_sample = 32; - avctx->codec_tag = MKTAG('U', 'L', 'R', 'A'); - break; diff --git a/ffmpeg.spec b/ffmpeg.spec index 7e96086..55b389e 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,3 +1,4 @@ +# TODO: libshine, libvidstab, libzmq, opencl ? # # How to deal with ffmpeg/opencv checken-egg problem: # 1. make-request -r --without opencv ffmpeg.spec @@ -12,21 +13,24 @@ %bcond_without caca # textual display using libcaca %bcond_without flite # flite voice synthesis support %bcond_without frei0r # frei0r video filtering +%bcond_without gme # Game Music Emu support %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 quvi # quvi input support %bcond_without soxr # SoX Resampler 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 wavpack # wavpack encoding support %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: 1.2.1 +Version: 2.0 Release: 1 # LGPL or GPL, chosen at configure time (GPL version is more featured) # (postprocessing, some filters, x264, xavs, xvid, x11grab) @@ -34,12 +38,11 @@ Release: 1 License: GPL v3+ with LGPL v3+ parts Group: Applications/Multimedia Source0: http://ffmpeg.org/releases/%{name}-%{version}.tar.bz2 -# Source0-md5: 5071a26cc149f380908ce79ec2a677ef +# Source0-md5: 13a0feb74474f89052f6b8ba1bce46be Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf Patch0: %{name}-opencv24.patch -Patch1: %{name}-utvideo.patch URL: http://www.ffmpeg.org/ %{?with_openal:BuildRequires: OpenAL-devel >= 1.1} BuildRequires: SDL-devel >= 1.2.1 @@ -52,6 +55,7 @@ BuildRequires: celt-devel >= 0.11.0 BuildRequires: fontconfig-devel BuildRequires: freetype-devel %{?with_frei0r:BuildRequires: frei0r-devel} +%{?with_gme:BuildRequires: game-music-emu-devel} %ifarch ppc # require version with altivec support fixed BuildRequires: gcc >= 5:3.3.2-3 @@ -70,6 +74,7 @@ BuildRequires: libgsm-devel BuildRequires: libiec61883-devel BuildRequires: libmodplug-devel BuildRequires: libnut-devel +%{?with_quvi:BuildRequires: libquvi-devel} BuildRequires: libraw1394-devel >= 2 BuildRequires: librtmp-devel BuildRequires: libtheora-devel >= 1.0-0.beta3 @@ -105,6 +110,7 @@ BuildRequires: twolame-devel %{?with_utvideo:BuildRequires: utvideo-devel >= 12} BuildRequires: vo-aacenc-devel BuildRequires: vo-amrwbenc-devel +%{?with_wavpack:BuildRequires: wavpack-devel} %{?with_ilbc:BuildRequires: webrtc-libilbc-devel} BuildRequires: xavs-devel BuildRequires: xorg-lib-libX11-devel @@ -182,6 +188,7 @@ Requires: celt-devel >= 0.11.0 %{?with_fdk_aac:Requires: fdk-aac-devel} Requires: fontconfig-devel Requires: freetype-devel +%{?with_gme:Requires: game-music-emu-devel} Requires: jack-audio-connection-kit-devel %{?with_flite:Requires: flite-devel >= 1.4} Requires: lame-libs-devel >= 3.98.3 @@ -196,6 +203,7 @@ Requires: libgsm-devel Requires: libiec61883-devel Requires: libmodplug-devel Requires: libnut-devel +%{?with_quvi:Requires: libquvi-devel} Requires: libraw1394-devel >= 2 Requires: librtmp-devel Requires: libtheora-devel >= 1.0-0.beta3 @@ -213,6 +221,7 @@ Requires: twolame-devel %{?with_utvideo:Requires: utvideo-devel >= 12} Requires: vo-aacenc-devel Requires: vo-amrwbenc-devel +%{?with_wavpack:Requires: wavpack-devel} %{?with_ilbc:Requires: webrtc-libilbc-devel} Requires: xavs-devel Requires: xorg-lib-libXext-devel @@ -279,7 +288,6 @@ dużej przestrzeni na dane skonfigurowanej w ffserver.conf). %prep %setup -q %patch0 -p1 -%patch1 -p1 # package the grep result for mplayer, the result formatted as ./mplayer/configure cat < ffmpeg-avconfig @@ -377,6 +385,7 @@ EOF %{?with_fdk_aac:--enable-libfdk-aac} \ %{?with_flite:--enable-libflite} \ --enable-libfreetype \ + %{?with_gme:--enable-libgme} \ --enable-libgsm \ --enable-libiec61883 \ %{?with_ilbc:--enable-libilbc} \ @@ -389,6 +398,7 @@ EOF --enable-libopenjpeg \ --enable-libopus \ %{?with_pulseaudio:--enable-libpulse} \ + %{?with_quvi:--enable-libquvi} \ --enable-librtmp \ --enable-libschroedinger \ %{?with_soxr:--enable-libsoxr} \ @@ -401,6 +411,7 @@ EOF --enable-libvo-amrwbenc \ --enable-libvorbis \ %{?with_vpx:--enable-libvpx} \ + %{?with_wavpack:--enable-libwavpack} \ %{?with_x264:--enable-libx264} \ --enable-libxavs \ --enable-libxvid \ @@ -409,8 +420,7 @@ EOF --enable-pthreads \ --enable-shared \ --enable-swscale \ - %{?with_va:--enable-vaapi} \ - --enable-vdpau \ + %{!?with_va:--disable-vaapi} \ --enable-x11grab \ %ifnarch %{ix86} %{x8664} --disable-mmx \ @@ -463,12 +473,6 @@ install -p tools/qt-faststart $RPM_BUILD_ROOT%{_bindir} # simple to do (by querying pkgconfig), but why? install -p ffmpeg-avconfig $RPM_BUILD_ROOT%{_bindir}/ffmpeg-avconfig -# fix man page -%if %{with doc} -install -d $RPM_BUILD_ROOT%{_mandir}/man3 -%{__mv} $RPM_BUILD_ROOT%{_mandir}/man1/lib*.3 $RPM_BUILD_ROOT%{_mandir}/man3 -%endif - %clean rm -rf $RPM_BUILD_ROOT @@ -506,6 +510,7 @@ fi %{_datadir}/ffmpeg/ffprobe.xsd %if %{with doc} %{_mandir}/man1/ffmpeg.1* +%{_mandir}/man1/ffmpeg-all.1* %{_mandir}/man1/ffmpeg-bitstream-filters.1* %{_mandir}/man1/ffmpeg-codecs.1* %{_mandir}/man1/ffmpeg-devices.1* @@ -516,18 +521,19 @@ fi %{_mandir}/man1/ffmpeg-scaler.1* %{_mandir}/man1/ffmpeg-utils.1* %{_mandir}/man1/ffprobe.1* +%{_mandir}/man1/ffprobe-all.1* %endif %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libavcodec.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.54 +%attr(755,root,root) %ghost %{_libdir}/libavcodec.so.55 %attr(755,root,root) %{_libdir}/libavdevice.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.54 +%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.55 %attr(755,root,root) %{_libdir}/libavfilter.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libavfilter.so.3 %attr(755,root,root) %{_libdir}/libavformat.so.*.*.* -%attr(755,root,root) %ghost %{_libdir}/libavformat.so.54 +%attr(755,root,root) %ghost %{_libdir}/libavformat.so.55 %attr(755,root,root) %{_libdir}/libavresample.so.*.*.* %attr(755,root,root) %ghost %{_libdir}/libavresample.so.1 %attr(755,root,root) %{_libdir}/libavutil.so.*.*.* @@ -596,7 +602,10 @@ fi %files ffplay %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/ffplay -%{?with_doc:%{_mandir}/man1/ffplay.1*} +%if %{with doc} +%{_mandir}/man1/ffplay.1* +%{_mandir}/man1/ffplay-all.1* +%endif %files ffserver %defattr(644,root,root,755) @@ -604,6 +613,9 @@ fi %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ffserver %attr(755,root,root) %{_sbindir}/ffserver %attr(754,root,root) /etc/rc.d/init.d/ffserver -%{?with_doc:%{_mandir}/man1/ffserver.1*} +%if %{with doc} +%{_mandir}/man1/ffserver.1* +%{_mandir}/man1/ffserver-all.1* +%endif %dir %attr(770,root,ffserver) /var/cache/ffserver %dir %attr(770,root,ffserver) /var/log/ffserver -- 2.44.0