X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ffmpeg.spec;h=52da1f4bea6d922494ec33f5b8be795a0a2961d2;hb=da99dcf27a8d5fbab401c76db69c85821f105e74;hp=70abd4f3f81631b51c28477af416cfe20528d4bb;hpb=4e0bd1da9ae5a697edf6276afb6c6867e749774c;p=packages%2Fffmpeg.git diff --git a/ffmpeg.spec b/ffmpeg.spec index 70abd4f..52da1f4 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -1,29 +1,37 @@ +# TODO +# - libnut enabled no (http://www.nut-container.org/) +# # Conditional build: -%bcond_without imlib2 # we can safely play without it:-) +%bcond_with amr # 3GPP Adaptive Multi Rate (AMR) codec support; makes package non-distributable %bcond_without autoreqdep # don't care about package name deps generated by rpm +%bcond_without imlib2 # don't build imlib2 vhook module # -%define snap 20060129 -%define _rel 8.7 +%define _snap 2009-02-25 +%define snap %(echo %{_snap} | tr -d -) +%define rel 1 Summary: Realtime audio/video encoder and streaming server -Summary(pl): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni +Summary(pl.UTF-8): Koder audio/wideo czasu rzeczywistego oraz serwer strumieni Name: ffmpeg Version: 0.4.9 -Release: 3.%{snap}.%{_rel} +Release: 4.%{snap}.%{rel} # LGPL or GPL, chosen at configure time (GPL version is more featured) -License: GPL +# (postprocessing, ac3, xvid, x264, faad) +License: GPL v2+ with LGPL v2.1+ 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-md5: d8ea09431d6c0c91bfd35e0ca74a67e1 +Source0: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2 +# Source0-md5: a7649aa1c597ba9bd0e92e42e1a56494 Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf -Patch0: %{name}-libtool.patch -Patch1: %{name}-libdir.patch -Patch2: %{name}-gcc4.patch -URL: http://ffmpeg.sourceforge.net/ +Patch0: %{name}-x264.patch +URL: http://ffmpeg.mplayerhq.hu/ BuildRequires: SDL-devel +%if %{with amr} +BuildRequires: amrnb-devel >= 6.1.0.4 +BuildRequires: amrwb-devel >= 7.0.0.1 +%endif +BuildRequires: dirac-devel >= 1.0.0 BuildRequires: faac-devel BuildRequires: faad2-devel BuildRequires: freetype-devel @@ -31,24 +39,28 @@ 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: speex-devel +BuildRequires: libtheora-devel >= 1.0-0.beta3 BuildRequires: libtool >= 2:1.4d-3 BuildRequires: libvorbis-devel -#BuildRequires: libx264-devel -BuildRequires: lzo-devel +BuildRequires: libx264-devel >= 0.1.2-1.20081023 %ifarch %{ix86} %ifnarch i386 i486 BuildRequires: nasm %endif %endif BuildRequires: perl-tools-pod -BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: pkgconfig +BuildRequires: rpmbuild(macros) >= 1.470 +BuildRequires: schroedinger-devel BuildRequires: tetex BuildRequires: texinfo +%{?with_amr:BuildRequires: unzip} BuildRequires: xvid-devel >= 1:1.1.0 BuildRequires: zlib-devel %{?with_autoreqdep:BuildConflicts: libpostproc} @@ -74,62 +86,69 @@ 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. -%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. -%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} -Obsoletes: libpostproc-devel # 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 Requires: xvid-devel >= 1:1.1.0 Requires: zlib-devel +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} @@ -138,14 +157,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. +%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 vhook-imlib2 Summary: imlib2 based hook -Summary(pl): Modu³ przej¶ciowy oparty o imlib2 +Summary(pl.UTF-8): Moduł przejściowy oparty o imlib2 Group: Libraries Requires: %{name}-libs = %{version}-%{release} @@ -155,19 +174,19 @@ 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 +%description vhook-imlib2 -l pl.UTF-8 +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. %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: rc-scripts >= 0.4.0.10 Requires: %{name}-libs = %{version}-%{release} +Requires: rc-scripts >= 0.4.0.10 %description ffserver FFserver is a streaming server for both audio and video. It supports @@ -175,79 +194,156 @@ 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} +%setup -q -n %{name}-export-%{_snap} %patch0 -p1 -%patch1 -p1 -%patch2 -p1 + +# 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 <