Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/filters.texi169
-rw-r--r--libavfilter/Makefile6
-rw-r--r--libavfilter/allfilters.c6
-rw-r--r--libavfilter/src_movie.c4
4 files changed, 98 insertions, 87 deletions
diff --git a/doc/filters.texi b/doc/filters.texi
index d328f39687..1d40db7cdb 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -958,11 +958,6 @@ aevalsrc="0.1*sin(2*PI*(360-2.5/2)*t) : 0.1*sin(2*PI*(360+2.5/2)*t)"
@end itemize
-@section amovie
-
-This is the same as @ref{src_movie} source, except it selects an audio
-stream by default.
-
@section anullsrc
Null audio source, return unprocessed audio frames. It is mainly useful
@@ -3612,82 +3607,6 @@ to the pad with identifier "in".
"color=c=red@@0.2:s=qcif:r=10 [color]; [in][color] overlay [out]"
@end example
-@anchor{src_movie}
-@section movie
-
-Read audio and/or video stream(s) from a movie container.
-
-It accepts the syntax: @var{movie_name}[:@var{options}] where
-@var{movie_name} is the name of the resource to read (not necessarily
-a file but also a device or a stream accessed through some protocol),
-and @var{options} is an optional sequence of @var{key}=@var{value}
-pairs, separated by ":".
-
-The description of the accepted options follows.
-
-@table @option
-
-@item format_name, f
-Specifies the format assumed for the movie to read, and can be either
-the name of a container or an input device. If not specified the
-format is guessed from @var{movie_name} or by probing.
-
-@item seek_point, sp
-Specifies the seek point in seconds, the frames will be output
-starting from this seek point, the parameter is evaluated with
-@code{av_strtod} so the numerical value may be suffixed by an IS
-postfix. Default value is "0".
-
-@item streams, s
-Specifies the streams to read. Several streams can be specified, separated
-by "+". The source will then have as many outputs, in the same order. The
-syntax is explained in the @ref{Stream specifiers} chapter. Two special
-names, "dv" and "da" specify respectively the default (best suited) video
-and audio stream. Default is "dv", or "da" if the filter is called as
-"amovie".
-
-@item stream_index, si
-Specifies the index of the video stream to read. If the value is -1,
-the best suited video stream will be automatically selected. Default
-value is "-1". Deprecated. If the filter is called "amovie", it will select
-audio instead of video.
-
-@item loop
-Specifies how many times to read the stream in sequence.
-If the value is less than 1, the stream will be read again and again.
-Default value is "1".
-
-Note that when the movie is looped the source timestamps are not
-changed, so it will generate non monotonically increasing timestamps.
-@end table
-
-This filter allows to overlay a second video on top of main input of
-a filtergraph as shown in this graph:
-@example
-input -----------> deltapts0 --> overlay --> output
- ^
- |
-movie --> scale--> deltapts1 -------+
-@end example
-
-Some examples follow:
-@example
-# skip 3.2 seconds from the start of the avi file in.avi, and overlay it
-# on top of the input labelled as "in".
-movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [movie];
-[in] setpts=PTS-STARTPTS, [movie] overlay=16:16 [out]
-
-# read from a video4linux2 device, and overlay it on top of the input
-# labelled as "in"
-movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [movie];
-[in] setpts=PTS-STARTPTS, [movie] overlay=16:16 [out]
-
-# read the first video stream and the audio stream with id 0x81 from
-# dvd.vob; the video is connected to the pad named "video" and the audio is
-# connected to the pad named "audio":
-movie=dvd.vob:s=v:0+#0x81 [video] [audio]
-@end example
-
@section mptestsrc
Generate various test patterns, as generated by the MPlayer test filter.
@@ -4114,3 +4033,91 @@ aevalsrc=sin(1*2*PI*t)*sin(880*2*PI*t):cos(2*PI*200*t),asplit[out0],showwaves=r=
@end itemize
@c man end MULTIMEDIA FILTERS
+
+@chapter Multimedia Sources
+@c man begin MULTIMEDIA SOURCES
+
+Below is a description of the currently available multimedia sources.
+
+@section amovie
+
+This is the same as @ref{src_movie} source, except it selects an audio
+stream by default.
+
+@anchor{src_movie}
+@section movie
+
+Read audio and/or video stream(s) from a movie container.
+
+It accepts the syntax: @var{movie_name}[:@var{options}] where
+@var{movie_name} is the name of the resource to read (not necessarily
+a file but also a device or a stream accessed through some protocol),
+and @var{options} is an optional sequence of @var{key}=@var{value}
+pairs, separated by ":".
+
+The description of the accepted options follows.
+
+@table @option
+
+@item format_name, f
+Specifies the format assumed for the movie to read, and can be either
+the name of a container or an input device. If not specified the
+format is guessed from @var{movie_name} or by probing.
+
+@item seek_point, sp
+Specifies the seek point in seconds, the frames will be output
+starting from this seek point, the parameter is evaluated with
+@code{av_strtod} so the numerical value may be suffixed by an IS
+postfix. Default value is "0".
+
+@item streams, s
+Specifies the streams to read. Several streams can be specified, separated
+by "+". The source will then have as many outputs, in the same order. The
+syntax is explained in the @ref{Stream specifiers} chapter. Two special
+names, "dv" and "da" specify respectively the default (best suited) video
+and audio stream. Default is "dv", or "da" if the filter is called as
+"amovie".
+
+@item stream_index, si
+Specifies the index of the video stream to read. If the value is -1,
+the best suited video stream will be automatically selected. Default
+value is "-1". Deprecated. If the filter is called "amovie", it will select
+audio instead of video.
+
+@item loop
+Specifies how many times to read the stream in sequence.
+If the value is less than 1, the stream will be read again and again.
+Default value is "1".
+
+Note that when the movie is looped the source timestamps are not
+changed, so it will generate non monotonically increasing timestamps.
+@end table
+
+This filter allows to overlay a second video on top of main input of
+a filtergraph as shown in this graph:
+@example
+input -----------> deltapts0 --> overlay --> output
+ ^
+ |
+movie --> scale--> deltapts1 -------+
+@end example
+
+Some examples follow:
+@example
+# skip 3.2 seconds from the start of the avi file in.avi, and overlay it
+# on top of the input labelled as "in".
+movie=in.avi:seek_point=3.2, scale=180:-1, setpts=PTS-STARTPTS [movie];
+[in] setpts=PTS-STARTPTS, [movie] overlay=16:16 [out]
+
+# read from a video4linux2 device, and overlay it on top of the input
+# labelled as "in"
+movie=/dev/video0:f=video4linux2, scale=180:-1, setpts=PTS-STARTPTS [movie];
+[in] setpts=PTS-STARTPTS, [movie] overlay=16:16 [out]
+
+# read the first video stream and the audio stream with id 0x81 from
+# dvd.vob; the video is connected to the pad named "video" and the audio is
+# connected to the pad named "audio":
+movie=dvd.vob:s=v:0+#0x81 [video] [audio]
+@end example
+
+@c man end MULTIMEDIA SOURCES
diff --git a/libavfilter/Makefile b/libavfilter/Makefile
index 15ca959c6e..d6299485bc 100644
--- a/libavfilter/Makefile
+++ b/libavfilter/Makefile
@@ -69,7 +69,6 @@ OBJS-$(CONFIG_SILENCEDETECT_FILTER) += af_silencedetect.o
OBJS-$(CONFIG_VOLUME_FILTER) += af_volume.o
OBJS-$(CONFIG_AEVALSRC_FILTER) += asrc_aevalsrc.o
-OBJS-$(CONFIG_AMOVIE_FILTER) += src_movie.o
OBJS-$(CONFIG_ANULLSRC_FILTER) += asrc_anullsrc.o
OBJS-$(CONFIG_ABUFFERSINK_FILTER) += sink_buffer.o
@@ -137,7 +136,6 @@ OBJS-$(CONFIG_COLOR_FILTER) += vsrc_color.o
OBJS-$(CONFIG_FREI0R_SRC_FILTER) += vf_frei0r.o
OBJS-$(CONFIG_LIFE_FILTER) += vsrc_life.o
OBJS-$(CONFIG_MANDELBROT_FILTER) += vsrc_mandelbrot.o
-OBJS-$(CONFIG_MOVIE_FILTER) += src_movie.o
OBJS-$(CONFIG_MPTESTSRC_FILTER) += vsrc_mptestsrc.o
OBJS-$(CONFIG_NULLSRC_FILTER) += vsrc_testsrc.o
OBJS-$(CONFIG_RGBTESTSRC_FILTER) += vsrc_testsrc.o
@@ -202,5 +200,9 @@ OBJS-$(CONFIG_MP_FILTER) += libmpcodecs/pullup.o
OBJS-$(CONFIG_CONCAT_FILTER) += avf_concat.o
OBJS-$(CONFIG_SHOWWAVES_FILTER) += avf_showwaves.o
+# multimedia sources
+OBJS-$(CONFIG_AMOVIE_FILTER) += src_movie.o
+OBJS-$(CONFIG_MOVIE_FILTER) += src_movie.o
+
TOOLS = graph2dot
TESTPROGS = drawutils filtfmts formats
diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
index 58a3c14283..d79218e194 100644
--- a/libavfilter/allfilters.c
+++ b/libavfilter/allfilters.c
@@ -58,7 +58,6 @@ void avfilter_register_all(void)
REGISTER_FILTER (RESAMPLE, resample, af);
REGISTER_FILTER (AEVALSRC, aevalsrc, asrc);
- REGISTER_FILTER (AMOVIE, amovie, asrc);
REGISTER_FILTER (ANULLSRC, anullsrc, asrc);
REGISTER_FILTER (ABUFFERSINK, abuffersink, asink);
@@ -126,7 +125,6 @@ void avfilter_register_all(void)
REGISTER_FILTER (FREI0R, frei0r_src, vsrc);
REGISTER_FILTER (LIFE, life, vsrc);
REGISTER_FILTER (MANDELBROT, mandelbrot, vsrc);
- REGISTER_FILTER (MOVIE, movie, vsrc);
REGISTER_FILTER (MPTESTSRC, mptestsrc, vsrc);
REGISTER_FILTER (NULLSRC, nullsrc, vsrc);
REGISTER_FILTER (RGBTESTSRC, rgbtestsrc, vsrc);
@@ -139,6 +137,10 @@ void avfilter_register_all(void)
REGISTER_FILTER (CONCAT, concat, avf);
REGISTER_FILTER (SHOWWAVES, showwaves, avf);
+ /* multimedia sources */
+ REGISTER_FILTER (AMOVIE, amovie, avsrc);
+ REGISTER_FILTER (MOVIE, movie, avsrc);
+
/* those filters are part of public or internal API => registered
* unconditionally */
{
diff --git a/libavfilter/src_movie.c b/libavfilter/src_movie.c
index d49287bb2b..a4a12939e2 100644
--- a/libavfilter/src_movie.c
+++ b/libavfilter/src_movie.c
@@ -566,7 +566,7 @@ static int movie_request_frame(AVFilterLink *outlink)
#if CONFIG_MOVIE_FILTER
-AVFilter avfilter_vsrc_movie = {
+AVFilter avfilter_avsrc_movie = {
.name = "movie",
.description = NULL_IF_CONFIG_SMALL("Read from a movie source."),
.priv_size = sizeof(MovieContext),
@@ -582,7 +582,7 @@ AVFilter avfilter_vsrc_movie = {
#if CONFIG_AMOVIE_FILTER
-AVFilter avfilter_asrc_amovie = {
+AVFilter avfilter_avsrc_amovie = {
.name = "amovie",
.description = NULL_IF_CONFIG_SMALL("Read audio from a movie source."),
.priv_size = sizeof(MovieContext),