diff options
author | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 09:44:33 +0000 |
---|---|---|
committer | Stefano Sabatini <stefano.sabatini-lala@poste.it> | 2009-10-18 09:44:33 +0000 |
commit | 7b018b1d7da7ff68310de8735772cdb2f044888d (patch) | |
tree | 78765981e3fa12faaff4a454208ddd1942ede1d5 | |
parent | 930aa451321c4e44fb3663f34dfee024001d0aff (diff) | |
download | ffmpeg-7b018b1d7da7ff68310de8735772cdb2f044888d.tar.gz |
Add the null video filter.
Originally committed as revision 20275 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | doc/vfilters.texi | 4 | ||||
-rw-r--r-- | libavfilter/Makefile | 2 | ||||
-rw-r--r-- | libavfilter/allfilters.c | 3 | ||||
-rw-r--r-- | libavfilter/vf_null.c | 56 |
4 files changed, 62 insertions, 3 deletions
diff --git a/doc/vfilters.texi b/doc/vfilters.texi index 9f20d464e4..45766cce09 100644 --- a/doc/vfilters.texi +++ b/doc/vfilters.texi @@ -78,4 +78,8 @@ build. Below is a description of the currently available video filters. +@section null + +Pass the source unchanged to the output. + @bye diff --git a/libavfilter/Makefile b/libavfilter/Makefile index ccf7909c0b..e79eb47da4 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -11,6 +11,6 @@ OBJS = allfilters.o \ defaults.o \ formats.o \ -#OBJS-$(CONFIG_XXX_FILTER) += vf_xxx.o +OBJS-$(CONFIG_NULL_FILTER) += vf_null.o include $(SUBDIR)../subdir.mak diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c index dff61142f4..f8188852bb 100644 --- a/libavfilter/allfilters.c +++ b/libavfilter/allfilters.c @@ -34,6 +34,5 @@ void avfilter_register_all(void) return; initialized = 1; -// REGISTER_FILTER (CROP,crop,vf); - + REGISTER_FILTER (NULL,null,vf); } diff --git a/libavfilter/vf_null.c b/libavfilter/vf_null.c new file mode 100644 index 0000000000..ad4095fb6d --- /dev/null +++ b/libavfilter/vf_null.c @@ -0,0 +1,56 @@ +/* + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/** + * @file libavfilter/vf_null.c + * null filter + */ + +#include "avfilter.h" + +static AVFilterPicRef *get_video_buffer(AVFilterLink *link, int perms, int w, int h) +{ + return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h); +} + +static void start_frame(AVFilterLink *link, AVFilterPicRef *picref) +{ + avfilter_start_frame(link->dst->outputs[0], picref); +} + +static void end_frame(AVFilterLink *link) +{ + avfilter_end_frame(link->dst->outputs[0]); +} + +AVFilter avfilter_vf_null = { + .name = "null", + + .priv_size = 0, + + .inputs = (AVFilterPad[]) {{ .name = "default", + .type = CODEC_TYPE_VIDEO, + .get_video_buffer = get_video_buffer, + .start_frame = start_frame, + .end_frame = end_frame }, + { .name = NULL}}, + + .outputs = (AVFilterPad[]) {{ .name = "default", + .type = CODEC_TYPE_VIDEO, }, + { .name = NULL}}, +}; |