From 91d1c741bfa5c39c222bb3f86357a9da50227df1 Mon Sep 17 00:00:00 2001 From: Bobby Bingham Date: Thu, 18 Mar 2010 23:12:48 +0000 Subject: 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 --- libavfilter/avfilter.h | 13 +++++++++++++ libavfilter/defaults.c | 20 ++++++++++++++++++++ 2 files changed, 33 insertions(+) (limited to 'libavfilter') 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); +} + -- cgit v1.2.3