X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ffmpeg.spec;h=fb56e55ef4494ccab391c825c096b86280ae7bff;hb=e012ee1cc1fb45317ca7e9318ae07ceb0bb545c8;hp=4c9f5b6678af7e1434745945217510c9046f6fc0;hpb=d0a0ec26c77d65734296755e35e2d96c9a9535e1;p=packages%2Fffmpeg.git diff --git a/ffmpeg.spec b/ffmpeg.spec index 4c9f5b6..fb56e55 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -2,39 +2,34 @@ # - 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 -# -%define _snap 2008-01-31 -%define snap %(echo %{_snap} | tr -d -) -%define _rel 0.1 -Summary: Realtime audio/video encoder and streaming server + +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: 4.%{snap}.%{_rel} +Version: 0.6.1 +Release: 1 # LGPL or GPL, chosen at configure time (GPL version is more featured) -# (postprocessing, a52, xvid, x264, faad) -License: GPL v2+ with LGPL v2.1+ 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: http://ffmpeg.mplayerhq.hu/%{name}-export-snapshot.tar.bz2 -# Source0-md5: 6c8b32545838a4090348b93d5195bd08 +Source0: http://ffmpeg.mplayerhq.hu/releases/%{name}-%{version}.tar.bz2 +# Source0-md5: 4f5d732d25eedfb072251b5314ba2093 Source1: ffserver.init Source2: ffserver.sysconfig Source3: ffserver.conf -Patch0: %{name}-gcc4.patch -Patch1: %{name}-img_convert_symbol.patch -#Patch2: %{name}-a52bin.patch -Patch3: %{name}-pkgconfig-lib64.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 -BuildRequires: a52dec-libs-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 @@ -44,22 +39,33 @@ BuildRequires: gcc >= 5:3.3.2-3 %endif %{?with_imlib2:BuildRequires: imlib2-devel >= 1.3.0} BuildRequires: lame-libs-devel +BuildRequires: libdc1394-devel BuildRequires: libgsm-devel BuildRequires: libraw1394-devel -BuildRequires: libtheora-devel >= 1.0-0.alpha7 +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 +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} @@ -77,13 +83,13 @@ 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.UTF-8 ffmpeg jest bardzo szybkim koderem audio/wideo w czasie rzeczywistym @@ -97,9 +103,15 @@ strumienia kompatybilnego z AC3. Summary: ffmpeg libraries Summary(pl.UTF-8): Biblioteki ffmpeg Group: Libraries +Suggests: faad2-libs %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.UTF-8 Ten pakiet zawiera biblioteki współdzielone ffmpeg. @@ -110,14 +122,12 @@ 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: libgsm-devel +Requires: libraw1394-devel Requires: libtheora-devel >= 1.0-0.alpha7 Requires: libvorbis-devel Requires: libx264-devel >= 0.1.2-1.20060828_2245.1 @@ -159,24 +169,6 @@ 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.UTF-8): 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.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.UTF-8): FFserver - serwer strumieni obrazu @@ -199,13 +191,64 @@ 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} +%setup -q %patch0 -p1 -%patch1 -p1 -#%patch2 -p1 -%ifarch %{x8664} +%patch1 -p0 +%patch2 -p1 %patch3 -p0 -%endif + +# 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 <