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.5.2
+Version: 0.6
Release: 1
# LGPL or GPL, chosen at configure time (GPL version is more featured)
# (postprocessing, ac3, xvid, x264, faad)
License: GPL v3+ with LGPL v3+ parts
Group: Applications/Multimedia
Source0: http://ffmpeg.mplayerhq.hu/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 451eb428ca97a72c00555d50944cdb24
+# Source0-md5: d6142a9a5821d6a6262a6edb903faa24
Source1: ffserver.init
Source2: ffserver.sysconfig
Source3: ffserver.conf
Patch0: %{name}-bug-803.patch
-Patch1: imagewidth.patch
+Patch1: %{name}-gsm.patch
URL: http://www.ffmpeg.org/
BuildRequires: SDL-devel
BuildRequires: dirac-devel >= 1.0.0
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: libvpx-devel
BuildRequires: libx264-devel >= 0.1.3
BuildRequires: opencore-amr-devel
BuildRequires: openjpeg-devel >= 1.3-2
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
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
+%patch1 -p0
# package the grep result for mplayer, the result formatted as ./mplayer/configure
cat <<EOF > ffmpeg-avconfig
--enable-libspeex \
--enable-libtheora \
--enable-libvorbis \
+ --enable-libvpx \
--enable-libx264 \
--enable-libxvid \
--enable-libopencore-amrnb \
%defattr(644,root,root,755)
%doc Changelog README doc/*.html doc/TODO
%attr(755,root,root) %{_bindir}/ffmpeg
+%attr(755,root,root) %{_bindir}/ffprobe
%dir %{_datadir}/ffmpeg
%{_datadir}/ffmpeg/*.ffpreset
%{_mandir}/man1/ffmpeg.1*
+%{_mandir}/man1/ffprobe.1*
%files libs
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libavdevice.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libavdevice.so.52
%attr(755,root,root) %{_libdir}/libavfilter.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.0
+%attr(755,root,root) %ghost %{_libdir}/libavfilter.so.1
%attr(755,root,root) %{_libdir}/libavformat.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libavformat.so.52
%attr(755,root,root) %{_libdir}/libavutil.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libavutil.so.49
+%attr(755,root,root) %ghost %{_libdir}/libavutil.so.50
%attr(755,root,root) %{_libdir}/libpostproc.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libpostproc.so.51
%attr(755,root,root) %{_libdir}/libswscale.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libswscale.so.0
-%dir %{_libdir}/vhook
-%attr(755,root,root) %{_libdir}/vhook/drawtext.so
-%attr(755,root,root) %{_libdir}/vhook/fish.so
-%attr(755,root,root) %{_libdir}/vhook/null.so
-%attr(755,root,root) %{_libdir}/vhook/ppm.so
-%attr(755,root,root) %{_libdir}/vhook/watermark.so
-
%files devel
%defattr(644,root,root,755)
%doc doc/optimization.txt
%attr(755,root,root) %{_bindir}/ffplay
%{_mandir}/man1/ffplay.1*
-%if %{with imlib2}
-%files vhook-imlib2
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/vhook/imlib2.so
-%endif
-
%files ffserver
%defattr(644,root,root,755)
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ffserver.conf
+++ /dev/null
-http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-July/072472.html
-
---- ffmpeg-0.5/vhook/imlib2.c~ 2009-07-16 13:32:19.000000000 +0300
-+++ ffmpeg-0.5/vhook/imlib2.c 2009-07-16 13:34:17.095314527 +0300
-@@ -85,12 +85,12 @@
- AVEvalExpr *eval_r, *eval_g, *eval_b, *eval_a;
- char *expr_R, *expr_G, *expr_B, *expr_A;
- int eval_colors;
-- double x, y;
-+ double x, y, X, Y;
- char *fileImage;
- struct CachedImage *cache;
- Imlib_Image imageOverlaid;
-- AVEvalExpr *eval_x, *eval_y;
-- char *expr_x, *expr_y;
-+ AVEvalExpr *eval_x, *eval_y, *eval_X, *eval_Y;
-+ char *expr_x, *expr_y, *expr_X, *expr_Y;
- int frame_number;
- int imageOverlaid_width, imageOverlaid_height;
-
-@@ -123,6 +123,8 @@
- }
- ff_eval_free(ci->eval_x);
- ff_eval_free(ci->eval_y);
-+ ff_eval_free(ci->eval_X);
-+ ff_eval_free(ci->eval_Y);
- ff_eval_free(ci->eval_r);
- ff_eval_free(ci->eval_g);
- ff_eval_free(ci->eval_b);
-@@ -130,6 +132,8 @@
-
- av_free(ci->expr_x);
- av_free(ci->expr_y);
-+ av_free(ci->expr_X);
-+ av_free(ci->expr_Y);
- av_free(ci->expr_R);
- av_free(ci->expr_G);
- av_free(ci->expr_B);
-@@ -157,8 +161,12 @@
-
- ci->x = 0.0;
- ci->y = 0.0;
-+ ci->X = 0.0;
-+ ci->Y = 0.0;
- ci->expr_x = "0.0";
- ci->expr_y = "0.0";
-+ ci->expr_X = "0.0";
-+ ci->expr_Y = "0.0";
-
- optind = 0;
-
-@@ -173,7 +181,7 @@
- imlib_add_path_to_font_path(fp);
-
-
-- while ((c = getopt(argc, argv, "R:G:B:A:C:c:f:F:t:x:y:i:")) > 0) {
-+ while ((c = getopt(argc, argv, "R:G:B:A:C:c:f:F:t:x:y:i:X:Y:")) > 0) {
- switch (c) {
- case 'R':
- ci->expr_R = av_strdup(optarg);
-@@ -211,6 +219,12 @@
- case 'y':
- ci->expr_y = av_strdup(optarg);
- break;
-+ case 'X':
-+ ci->expr_X = av_strdup(optarg);
-+ break;
-+ case 'Y':
-+ ci->expr_Y = av_strdup(optarg);
-+ break;
- case 'i':
- ci->fileImage = av_strdup(optarg);
- break;
-@@ -316,6 +330,16 @@
- ci->imageOverlaid_height = imlib_image_get_height();
- }
-
-+ if (!(ci->eval_X = ff_parse(ci->expr_X, const_names, NULL, NULL, NULL, NULL, &error))){
-+ av_log(NULL, AV_LOG_ERROR, "Couldn't parse X expression '%s': %s\n", ci->expr_X, error);
-+ return -1;
-+ }
-+
-+ if (!(ci->eval_Y = ff_parse(ci->expr_Y, const_names, NULL, NULL, NULL, NULL, &error))){
-+ av_log(NULL, AV_LOG_ERROR, "Couldn't parse Y expression '%s': %s\n", ci->expr_Y, error);
-+ return -1;
-+ }
-+
- if (!(ci->eval_x = ff_parse(ci->expr_x, const_names, NULL, NULL, NULL, NULL, &error))){
- av_log(NULL, AV_LOG_ERROR, "Couldn't parse x expression '%s': %s\n", ci->expr_x, error);
- return -1;
-@@ -438,6 +462,8 @@
- ci->x = ff_parse_eval(ci->eval_x, const_values, ci);
- ci->y = ff_parse_eval(ci->eval_y, const_values, ci);
- y = ci->y;
-+ ci->X = ff_parse_eval(ci->eval_X, const_values, ci);
-+ ci->Y = ff_parse_eval(ci->eval_Y, const_values, ci);
-
- if (ci->eval_a) {
- ci->a = ff_parse_eval(ci->eval_a, const_values, ci);
-@@ -464,10 +490,12 @@
- }
-
- if (ci->imageOverlaid) {
-+ if (ci->X == 0) ci->X = ci->imageOverlaid_width;
-+ if (ci->Y == 0) ci->Y = ci->imageOverlaid_height;
- imlib_context_set_image(image);
- imlib_blend_image_onto_image(ci->imageOverlaid, 0,
- 0, 0, ci->imageOverlaid_width, ci->imageOverlaid_height,
-- ci->x, ci->y, ci->imageOverlaid_width, ci->imageOverlaid_height);
-+ ci->x, ci->y, ci->X, ci->Y);
- }
-
- }