X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ffmpeg.spec;h=b36d7f732f4e1f3bdb626fb7154822f373ff0b69;hb=143b0cedb8e626f145a0b53eef6825a5b6864631;hp=08801ef5852bec1e43c6860e2487bbd1a7c2a7bb;hpb=2305d7917c378f6f5fe6c80616b0134c54550b9b;p=packages%2Fffmpeg.git diff --git a/ffmpeg.spec b/ffmpeg.spec index 08801ef..b36d7f7 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,44 +1,35 @@ -# -# TODO: update for lzo 2.x (currently only lzo 1.x is supported) +# TODO +# - libnut enabled no (http://www.nut-container.org/) # # Conditional build: -%bcond_with amr # build 3GPP Adaptive Multi Rate (AMR) speech codec +%bcond_with nonfree # non free options of package %bcond_without autoreqdep # don't care about package name deps generated by rpm %bcond_without imlib2 # don't build imlib2 vhook module -%bcond_with lzo # build with LZO support -# -%define _snap 2006-12-04 -%define snap %(echo %{_snap} | tr -d -) -%define _rel 0.1 -Summary: Realtime audio/video encoder and streaming server -Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni + +Summary: FFmpeg is a very fast video and audio converter +Summary(pl.UTF-8): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni Name: ffmpeg -Version: 0.4.9 -Release: 3.%{snap}.%{_rel} +Version: 0.6 +Release: 5 # LGPL or GPL, chosen at configure time (GPL version is more featured) -# (postprocessing, a52, xvid, x264, dts, faad) -License: GPL with LGPL parts +# (postprocessing, ac3, xvid, x264, faad) +License: GPL v3+ with LGPL v3+ parts Group: Applications/Multimedia -#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: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2 -# Source0-md5: 5be2e4d1e326bb7809205a3401204621 +Source0: http://ffmpeg.mplayerhq.hu/releases/%{name}-%{version}.tar.bz2 +# Source0-md5: d6142a9a5821d6a6262a6edb903faa24 Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf -Patch0: %{name}-libtool.patch -Patch1: %{name}-libdir.patch -Patch2: %{name}-gcc4.patch -Patch3: %{name}-system-amr.patch -Patch4: %{name}-x264-symbol.patch -Patch5: %{name}-as_needed.patch -URL: http://ffmpeg.mplayerhq.hu/ +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 -%if %{with amr} -BuildRequires: amrnb-devel -BuildRequires: amrwb-devel >= 5.3.0 -%endif +BuildRequires: dirac-devel >= 1.0.0 BuildRequires: faac-devel BuildRequires: faad2-devel BuildRequires: freetype-devel @@ -46,25 +37,35 @@ BuildRequires: freetype-devel # require version with altivec support fixed BuildRequires: gcc >= 5:3.3.2-3 %endif -%{?with_imlib2:BuildRequires: imlib2-devel >= 1.1.0-2} +%{?with_imlib2:BuildRequires: imlib2-devel >= 1.3.0} BuildRequires: lame-libs-devel -BuildRequires: libdts-devel +BuildRequires: libdc1394-devel BuildRequires: libgsm-devel -BuildRequires: libtheora-devel +BuildRequires: libraw1394-devel +BuildRequires: libtheora-devel >= 1.0-0.beta3 BuildRequires: libtool >= 2:1.4d-3 +BuildRequires: libva-devel >= 1.0.3 +BuildRequires: libvdpau-devel BuildRequires: libvorbis-devel -BuildRequires: libx264-devel >= 0.1.2-1.20061024_2245.1 -#%{?with_lzo:BuildRequires: lzo-devel < 2.0} +BuildRequires: libvpx-devel >= 0.9.1 +# X264_BUILD >= 83 +BuildRequires: libx264-devel >= 0.1.3-1.20100424_2245.1 +BuildRequires: opencore-amr-devel +BuildRequires: openjpeg-devel >= 1.3-2 +BuildRequires: speex-devel >= 1:1.2-rc1 %ifarch %{ix86} %ifnarch i386 i486 BuildRequires: nasm %endif %endif +BuildRequires: perl-Encode BuildRequires: perl-tools-pod -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.470 +BuildRequires: schroedinger-devel BuildRequires: tetex +BuildRequires: texi2html BuildRequires: texinfo -%{?with_amr:BuildRequires: unzip} BuildRequires: xvid-devel >= 1:1.1.0 BuildRequires: zlib-devel %{?with_autoreqdep:BuildConflicts: libpostproc} @@ -82,52 +83,53 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # -mmmx is needed to enable code. %define specflags_i586 -mmmx %define specflags_i686 -mmmx +%define specflags_ppc -fPIC %description -ffmpeg is a hyper fast realtime audio/video encoder and streaming -server. 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. +FFmpeg is a complete solution to record, convert and stream audio and +video. It is a command line tool to convert one video file format to +another. It also supports grabbing and encoding in real time from a TV +card. -%description -l pl +%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 +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. %package libs Summary: ffmpeg libraries -Summary(pl): Biblioteki ffmpeg +Summary(pl.UTF-8): Biblioteki ffmpeg Group: Libraries %description libs -This package contains ffmpeg shared libraries. +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. -%description libs -l pl -Ten pakiet zawiera biblioteki wspó³dzielone ffmpeg. +%description libs -l pl.UTF-8 +Ten pakiet zawiera biblioteki współdzielone ffmpeg. %package devel Summary: ffmpeg header files -Summary(pl): Pliki nag³ówkowe ffmpeg +Summary(pl.UTF-8): Pliki nagłówkowe ffmpeg Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} # for libavcodec: -%if %{with amr} -Requires: amrnb-devel -Requires: amrwb-devel >= 5.3.0 -%endif +Requires: dirac-devel Requires: faac-devel Requires: faad2-devel Requires: lame-libs-devel -Requires: libdts-devel Requires: libgsm-devel -Requires: libtheora-devel +Requires: libraw1394-devel +Requires: libtheora-devel >= 1.0-0.alpha7 Requires: libvorbis-devel Requires: libx264-devel >= 0.1.2-1.20060828_2245.1 -#%{?with_lzo:Requires: lzo-devel < 2.0} Requires: xvid-devel >= 1:1.1.0 Requires: zlib-devel Obsoletes: libpostproc-devel @@ -135,24 +137,24 @@ Obsoletes: libpostproc-devel %description devel ffmpeg header files. -%description devel -l pl -Pliki nag³ówkowe ffmpeg. +%description devel -l pl.UTF-8 +Pliki nagłówkowe ffmpeg. %package static Summary: ffmpeg static libraries -Summary(pl): Statyczne biblioteki ffmpeg +Summary(pl.UTF-8): Statyczne biblioteki ffmpeg Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static ffmpeg static libraries (libavcodec and libavformat). -%description static -l pl +%description static -l pl.UTF-8 Statyczne biblioteki ffmpeg (libavcodec i libavformat). %package ffplay Summary: FFplay - SDL-based media player -Summary(pl): FFplay - odtwarzacz mediów oparty na SDL +Summary(pl.UTF-8): FFplay - odtwarzacz mediów oparty na SDL Group: Applications/Multimedia Requires: %{name}-libs = %{version}-%{release} @@ -161,32 +163,14 @@ FFplay is a very simple and portable media player using the FFmpeg libraries and the SDL library. It is mostly used as a test bench for the various APIs of FFmpeg. -%description ffplay -l pl -FFplay to bardzo prosty i przeno¶ny odtwarzacz mediów u¿ywaj±cy -bibliotek FFmpeg oraz biblioteki SDL. Jest u¿ywany g³ównie do -testowania ró¿nych API FFmpeg. - -%package vhook-imlib2 -Summary: imlib2 based hook -Summary(pl): Modu³ przej¶ciowy oparty o imlib2 -Group: Libraries -Requires: %{name}-libs = %{version}-%{release} - -%description vhook-imlib2 -This module implements a text overlay for a video image. Currently it -supports a fixed overlay or reading the text from a file. The string -is passed through strftime so that it is easy to imprint the date and -time onto the image. - -%description vhook-imlib2 -l pl -Ten modu³ implementuje tekstow± nak³adkê dla obrazu. Aktualnie -obs³uguje sta³± nak³adkê lub wczytywanie tekstu z pliku. £añcuch jest -przepuszczany przez strftime, wiêc ³atwo umie¶ciæ datê i czas na -obrazie. +%description ffplay -l pl.UTF-8 +FFplay to bardzo prosty i przenośny odtwarzacz mediów używający +bibliotek FFmpeg oraz biblioteki SDL. Jest używany głównie do +testowania różnych API FFmpeg. %package ffserver Summary: FFserver video server -Summary(pl): FFserver - serwer strumieni obrazu +Summary(pl.UTF-8): FFserver - serwer strumieni obrazu Group: Daemons Requires(post,preun): /sbin/chkconfig Requires: %{name}-libs = %{version}-%{release} @@ -198,85 +182,160 @@ several live feeds, streaming from files and time shifting on live feeds (you can seek to positions in the past on each live feed, provided you specify a big enough feed storage in ffserver.conf). -%description ffserver -l pl -FFserver to serwer strumieni dla d¼wiêku i obrazu. Obs³uguje kilka -¼róde³ na ¿ywo, przekazywanie strumieni z plików i przesuwanie w -czasie dla ¼róde³ na ¿ywo (mo¿na przeskakiwaæ na po³o¿enia w -przesz³o¶ci dla ka¿dego ¼ród³a na ¿ywo, pod warunkiem odpowiednio -du¿ej przestrzeni na dane skonfigurowanej w ffserver.conf). +%description ffserver -l pl.UTF-8 +FFserver to serwer strumieni dla dźwięku i obrazu. Obsługuje kilka +źródeł na żywo, przekazywanie strumieni z plików i przesuwanie w +czasie dla źródeł na żywo (można przeskakiwać na położenia w +przeszłości dla każdego źródła na żywo, pod warunkiem odpowiednio +dużej przestrzeni na dane skonfigurowanej w ffserver.conf). %prep -%setup -q -n %{name}-export-%{_snap} -#%patch0 -p1 NEEDS UPDATE -%patch1 -p1 +%setup -q +%patch0 -p1 +%patch1 -p0 %patch2 -p1 -#%patch3 -p1 NEEDS UPDATE -%patch4 -p1 -#%patch5 -p1 MIGHT BE UNNECCESSARY +%patch3 -p0 + +# package the grep result for mplayer, the result formatted as ./mplayer/configure +cat < ffmpeg-avconfig +#! /bin/sh +_libavdecoders_all="`sed -n 's/^[^#]*DEC.*(.*, *\(.*\)).*/\1_decoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`" +_libavencoders_all="`sed -n 's/^[^#]*ENC.*(.*, *\(.*\)).*/\1_encoder/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`" +_libavparsers_all="`sed -n 's/^[^#]*PARSER.*(.*, *\(.*\)).*/\1_parser/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`" +_libavbsfs_all="`sed -n 's/^[^#]*BSF.*(.*, *\(.*\)).*/\1_bsf/p' libavcodec/allcodecs.c | tr '[a-z]' '[A-Z]'`" +_libavdemuxers_all="`sed -n 's/^[^#]*DEMUX.*(.*, *\(.*\)).*/\1_demuxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`" +_libavmuxers_all="`sed -n 's/^[^#]*_MUX.*(.*, *\(.*\)).*/\1_muxer/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`" +_libavprotocols_all="`sed -n 's/^[^#]*PROTOCOL.*(.*, *\(.*\)).*/\1_protocol/p' libavformat/allformats.c | tr '[a-z]' '[A-Z]'`" +EOF +cat <<'EOF' >> ffmpeg-avconfig + +case "$1" in +--decoders) + echo $_libavdecoders_all + ;; +--encoders) + echo $_libavencoders_all + ;; +--parsers) + echo $_libavparsers_all + ;; +--bsfs) + echo $_libavbsfs_all + ;; +--demuxers) + echo $_libavdemuxers_all + ;; +--muxers) + echo $_libavmuxers_all + ;; +--protocols) + echo $_libavprotocols_all + ;; +*) + cat <