[FFmpeg-soc] [soc]: r5843 - in libavfilter: checkout.sh diffs/00_configure.diff diffs/03_doc_filters.diff diffs/03_libavfilter_doc.diff
stefano
subversion at mplayerhq.hu
Thu Jun 24 00:54:04 CEST 2010
Author: stefano
Date: Thu Jun 24 00:54:04 2010
New Revision: 5843
Log:
Update against FFmpeg r23745 / libswscale r31301.
Added:
libavfilter/diffs/03_doc_filters.diff
Deleted:
libavfilter/diffs/03_libavfilter_doc.diff
Modified:
libavfilter/checkout.sh
libavfilter/diffs/00_configure.diff
Modified: libavfilter/checkout.sh
==============================================================================
--- libavfilter/checkout.sh Mon Jun 21 23:58:29 2010 (r5842)
+++ libavfilter/checkout.sh Thu Jun 24 00:54:04 2010 (r5843)
@@ -1,7 +1,7 @@
#! /bin/sh
echo "checking out pristine ffmpeg"
-svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r23486
+svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk/ ffmpeg -r23745
echo "downloading the corresponding version of swscale"
cd ffmpeg/libswscale
Modified: libavfilter/diffs/00_configure.diff
==============================================================================
--- libavfilter/diffs/00_configure.diff Mon Jun 21 23:58:29 2010 (r5842)
+++ libavfilter/diffs/00_configure.diff Thu Jun 24 00:54:04 2010 (r5843)
@@ -1,24 +1,24 @@
Index: configure
===================================================================
---- configure (revision 23486)
+--- configure (revision 23745)
+++ configure (working copy)
-@@ -172,6 +172,7 @@
+@@ -167,6 +167,7 @@
+ and libraw1394 [no]
+ --enable-libdirac enable Dirac support via libdirac [no]
--enable-libfaac enable FAAC support via libfaac [no]
- --enable-libfaad enable FAAD support via libfaad [no]
- --enable-libfaadbin open libfaad.so.0 at runtime [no]
+ --enable-libfreetype enable libfreetype [no]
--enable-libgsm enable GSM support via libgsm [no]
--enable-libmp3lame enable MP3 encoding via libmp3lame [no]
--enable-libnut enable NUT (de)muxing via libnut,
-@@ -917,6 +918,7 @@
+@@ -911,6 +912,7 @@
+ libdc1394
+ libdirac
libfaac
- libfaad
- libfaadbin
+ libfreetype
libgsm
libmp3lame
libnut
-@@ -1058,6 +1060,7 @@
+@@ -1050,6 +1052,7 @@
llrintf
local_aligned_16
local_aligned_8
@@ -26,7 +26,7 @@ Index: configure
log2
log2f
loongson
-@@ -1418,6 +1421,7 @@
+@@ -1412,6 +1415,7 @@
udp_protocol_deps="network"
# filters
@@ -34,7 +34,7 @@ Index: configure
movie_filter_deps="avfilter_lavf"
avfilter_lavf_deps="avformat"
-@@ -2529,6 +2533,7 @@
+@@ -2486,6 +2490,7 @@
check_struct "sys/time.h sys/resource.h" "struct rusage" ru_maxrss
check_func inet_aton $network_extralibs
check_func isatty
@@ -42,10 +42,10 @@ Index: configure
check_func ${malloc_prefix}memalign && enable memalign
check_func mkstemp
check_func ${malloc_prefix}posix_memalign && enable posix_memalign
-@@ -2611,6 +2616,7 @@
+@@ -2568,6 +2573,7 @@
+ require libdirac libdirac_decoder/dirac_parser.h dirac_decoder_init $(pkg-config --libs dirac) &&
require libdirac libdirac_encoder/dirac_encoder.h dirac_encoder_init $(pkg-config --libs dirac)
enabled libfaac && require2 libfaac "stdint.h faac.h" faacEncGetVersion -lfaac
- enabled libfaad && require2 libfaad faad.h faacDecOpen -lfaad
+enabled libfreetype && add_cflags $(pkg-config --cflags freetype2) && require libfreetype ft2build.h FT_Init_FreeType -lfreetype -lz
enabled libgsm && require libgsm gsm/gsm.h gsm_create -lgsm
enabled libmp3lame && require libmp3lame lame/lame.h lame_init -lmp3lame -lm
Added: libavfilter/diffs/03_doc_filters.diff
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ libavfilter/diffs/03_doc_filters.diff Thu Jun 24 00:54:04 2010 (r5843)
@@ -0,0 +1,297 @@
+Index: doc/filters.texi
+===================================================================
+--- doc/filters.texi (revision 23745)
++++ doc/filters.texi (working copy)
+@@ -39,6 +39,111 @@
+
+ The default value of @var{width} and @var{height} is 0.
+
++ at section drawbox
++
++ at example
++./ffmpeg -i in.avi -vfilters "drawbox=10:20:200:60:red" out.avi
++ at end example
++
++Draw a box with @var{x}:@var{y}:@var{width}:@var{height}:@var{color}
++dimensions in a chosen color.
++
++ at section drawtext
++
++Draw text string or text from specified file on top of video using the
++libfreetype library.
++The filter also recognizes strftime() sequences in the provided text and
++expands them accordingly. Check the documentation of strftime().
++
++To enable compilation of this filter you need to configure FFmpeg with
++--enable-libfreetype.
++
++The filter accepts parameters as a list of @var{key}=@var{value} pairs,
++separated by ":".
++
++The description of the accepted parameters follows.
++
++ at table @option
++ at item fontfile
++
++The font file to be used for drawing text. Path must be included.
++This parameter is mandatory.
++
++ at item text
++
++The text string to be drawn.
++This parameter is mandatory if no file is specified.
++
++ at item textfile
++
++A text file containing text to be drawn. Max of 1024 characters are
++read from the file.
++
++This parameter is mandatory if no text string is specified.
++
++If both text and textfile are specified, an error is thrown.
++
++ at item x, y
++
++The offsets where text will be drawn within the video frame.
++Relative to the top/left border of the output image.
++
++The default value of @var{x} and @var{y} is 0.
++
++ at item fontsize
++
++The font size to be used for drawing text.
++
++The default value of @var{size} is 16.
++
++ at item fgcolor
++
++The foreground color to be used for drawing text.
++Either a string (e.g. ``red'') or in 0xRRGGBB[AA] format (e.g. ``0xff000033'').
++
++The default value of @var{fgcolor} is black.
++
++ at item bgcolor
++
++The background color to be used for drawing box around text or drawing
++text outline based on option selected.
++Either a string (e.g. ``yellow'') or in 0xRRGGBB[AA] format (e.g. ``0xff00ff'').
++
++The default value of @var{bgcolor} is white.
++
++ at item box
++
++Used to draw a box around text using background color.
++Value should be either 1 (enable) or 0 (disable).
++
++The default value of @var{box} is 0.
++
++ at item outline
++
++Used to draw an outline around text using background color.
++Value should be either 1 (enable) or 0 (disable).
++
++The default value of @var{outline} is 0.
++
++ at end table
++
++ at example
++drawtext="fontfile=FreeSerif.ttf: text='Test Text': x=100: y=50: fontsize=24:
++ fgcolor=0xff00ff33: bgcolor=red: box=1"
++ at end example
++
++Draw 'Test Text' with font FreeSerif of size 24 at (100,50), text color is yellow,
++background color is red, draw a box around text.
++
++Note that the double quotes are not necessary if spaces are not used within
++the parameter list.
++
++ at section fifo
++
++ at example
++./ffmpeg -i in.avi -vfilters "fifo" out.avi
++ at end example
++
+ @section format
+
+ Convert the input video to one of the specified pixel formats.
+@@ -56,6 +161,30 @@
+
+ will convert the input video to the format ``yuv420p''.
+
++ at section fps
++
++ at example
++./ffmpeg -i in.avi -vfilters "fps=30000:1001" out.avi
++ at end example
++
++Modifies the framerate of the input video to a chosen one.
++
++ at section hflip
++
++ at example
++./ffmpeg -i in.avi -vfilters "hflip" out.avi
++ at end example
++
++Flip the video horizontally.
++
++ at section negate
++
++ at example
++./ffmpeg -i in.avi -vfilters "negate" out.avi
++ at end example
++
++Convert a video to its negative.
++
+ @section noformat
+
+ Force libavfilter not to use any of the specified pixel formats for the
+@@ -77,6 +206,56 @@
+
+ Pass the source unchanged to the output.
+
++ at section overlay
++
++Overlay one video on top of another (see the example in the introduction
++section).
++Be aware that frames are taken
++from each input video in timestamp order, hence, if their initial
++timestamps differ, it is a a good idea to pass the two
++inputs through a @var{setpts=PTS-STARTPTS} filter to have them
++begin in the same zero timestamp, as it does the example for
++the @var{movie} filter.
++
++Parameters to the filter are separated by a colon. The first parameter
++is the x coordinate of the overlay, the second parameter is the y
++coordinate. The parameters need not be constant expressions, but may
++be expressions containing the names @var{main_w}, @var{main_h},
++ at var{overlay_w} and @var{overlay_h}, for the size of the first and second
++input video, respectively. For example,
++ at example
++overlay=main_w-overlay_w-10:main_h-overlay_h-10
++ at end example
++can be used to draw the overlay at 10 pixels from the bottom right
++corner of the main video.
++
++The filter accepts a third optional parameter, if set to a value
++different than 0, it will alpha-blend the overlayed video on top of
++the first one.
++
++This can be used in particular for performing watermarking effects, or
++for adding a logo on top of the input video.
++
++For example, the following command will insert a transparent PNG
++logo in the bottom left corner of the input video:
++ at example
++movie=0:png:logo.png [logo]; [in][logo] overlay=10:main_h-overlay_h-10:1 [out]
++ at end example
++
++Notice the last parameter to overlay ":1" - this enables alpha blending.
++
++The following example will insert 2 different transparent PNG
++logos (second logo on bottom right corner):
++ at example
++movie=0:png:logo1.png [logo1];
++movie=0:png:logo2.png [logo2];
++[in][logo1] overlay=10:main_h-overlay_h-10:1 [in+logo1];
++[in+logo1][logo2] overlay=main_w-overlay_w-10:main_h-overlay_h-10:1 [out]
++ at end example
++
++You could chain and add more overlays this way but the efficiency of
++such approach is yet to be tested.
++
+ @section pad
+
+ Add paddings to the input image, and places the original input at the
+@@ -112,6 +291,14 @@
+
+ @end table
+
++ at section rotate
++
++ at example
++./ffmpeg -i in.avi -vfilters "rotate=30" out.avi
++ at end example
++
++Rotate video by a chosen amount in degrees. By default, 45 degrees.
++
+ @section scale
+
+ Scale the input video to @var{width}:@var{height} and/or convert the image format.
+@@ -137,6 +324,24 @@
+
+ The default value of @var{width} and @var{height} is 0.
+
++ at section setpts
++
++ at example
++# Start counting PTS from zero
++ffmpeg -i input.avi -vfilters setpts=PTS-STARTPTS output.avi
++
++# Fast motion
++ffmpeg -i input.avi -vfilters setpts=0.5*PTS output.avi
++
++# Fixed rate 25 fps
++ffmpeg -i input.avi -vfilters setpts=N*AVTB/25 output.avi
++
++# Fixed rate 25 fps with some jitter
++ffmpeg -i input.avi -vfilters 'setpts=AVTB/25*(N+0.05*sin(N*2*PI/25))' output.avi
++ at end example
++
++Modifies the presentation timestamp (PTS) of the input video.
++
+ @section slicify
+
+ Pass the images of input video on to next video filter as multiple
+@@ -152,6 +357,19 @@
+ Adding this in the beginning of filter chains should make filtering
+ faster due to better use of the memory cache.
+
++ at section split
++
++See the example in the introduction section.
++The input video is passed on to two outputs.
++
++ at section transpose
++
++ at example
++./ffmpeg -i in.avi -vfilters "transpose" out.avi
++ at end example
++
++Transpose (line => column) input video to next video filter.
++
+ @section unsharp
+
+ Sharpen or blur the input video.
+@@ -217,6 +435,32 @@
+
+ Below is a description of the currently available video sources.
+
++ at section buffer
++
++This input filter is used by the client application to feed pictures to
++the filter chain. See ffmpeg.c for an usage example.
++
++ at section movie
++
++The parameters of the movie filter are
++ at example
++ seekpoint in microseconds : string format : string filename
++ at end example
++
++We can overlay a second movie on top of a main one as in this graph:
++
++ at example
++ input -----------> deltapts0 --> overlay --> output
++ ^
++ movie --> scale--> deltapts1 ------|
++ at end example
++
++To do that
++
++ at example
++ffmpeg -i in.avi -s 240x320 -vfilters "[in]setpts=PTS-STARTPTS, [T1]overlay=16:16[out]; movie=3200000:avi:in.avi, scale=180:144, setpts=PTS-STARTPTS[T1]" -y out.avi
++ at end example
++
+ @section nullsrc
+
+ Null video source, never return images. It is mainly useful as a
More information about the FFmpeg-soc
mailing list