summaryrefslogtreecommitdiff
path: root/libavfilter
diff options
context:
space:
mode:
authorBobby Bingham <uhmmmm@gmail.com>2010-03-18 23:12:48 +0000
committerBobby Bingham <uhmmmm@gmail.com>2010-03-18 23:12:48 +0000
commit91d1c741bfa5c39c222bb3f86357a9da50227df1 (patch)
treed04e1857cea0e659baac84818f8ae7cbd9b0a9b6 /libavfilter
parent22e8222fd25d1f6ba967abd687cb98fe244f6e3b (diff)
Create a set of null callback functions.
These are useful for filters which don't modify the image data. Originally committed as revision 22594 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavfilter')
-rw-r--r--libavfilter/avfilter.h13
-rw-r--r--libavfilter/defaults.c20
2 files changed, 33 insertions, 0 deletions
diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h
index 060c6758bb..7867cd09fd 100644
--- a/libavfilter/avfilter.h
+++ b/libavfilter/avfilter.h
@@ -395,6 +395,19 @@ void avfilter_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats)
/** Default handler for query_formats() */
int avfilter_default_query_formats(AVFilterContext *ctx);
+/** start_frame() handler for filters which simply pass video along */
+void avfilter_null_start_frame(AVFilterLink *link, AVFilterPicRef *picref);
+
+/** draw_slice() handler for filters which simply pass video along */
+void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir);
+
+/** end_frame() handler for filters which simply pass video along */
+void avfilter_null_end_frame(AVFilterLink *link);
+
+/** get_video_buffer() handler for filters which simply pass video along */
+AVFilterPicRef *avfilter_null_get_video_buffer(AVFilterLink *link,
+ int perms, int w, int h);
+
/**
* Filter definition. This defines the pads a filter contains, and all the
* callback functions used to interact with the filter.
diff --git a/libavfilter/defaults.c b/libavfilter/defaults.c
index 3f5f6e1976..afa0f669b9 100644
--- a/libavfilter/defaults.c
+++ b/libavfilter/defaults.c
@@ -165,3 +165,23 @@ int avfilter_default_query_formats(AVFilterContext *ctx)
return 0;
}
+void avfilter_null_start_frame(AVFilterLink *link, AVFilterPicRef *picref)
+{
+ avfilter_start_frame(link->dst->outputs[0], picref);
+}
+
+void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
+{
+ avfilter_draw_slice(link->dst->outputs[0], y, h, slice_dir);
+}
+
+void avfilter_null_end_frame(AVFilterLink *link)
+{
+ avfilter_end_frame(link->dst->outputs[0]);
+}
+
+AVFilterPicRef *avfilter_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
+{
+ return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
+}
+