diff options
author | Bobby Bingham <uhmmmm@gmail.com> | 2010-03-18 23:13:02 +0000 |
---|---|---|
committer | Bobby Bingham <uhmmmm@gmail.com> | 2010-03-18 23:13:02 +0000 |
commit | d313e17ab1180fcced3e61736e6e87f3d4f5101e (patch) | |
tree | 91cc5ac6f11fa26f138f7dc5a75db16e7527e40f | |
parent | 91d1c741bfa5c39c222bb3f86357a9da50227df1 (diff) | |
download | ffmpeg-d313e17ab1180fcced3e61736e6e87f3d4f5101e.tar.gz |
Use the new null callbacks to simplify filters and reduce duplicated code.
Originally committed as revision 22595 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavfilter/vf_aspect.c | 20 | ||||
-rw-r--r-- | libavfilter/vf_crop.c | 8 | ||||
-rw-r--r-- | libavfilter/vf_format.c | 37 | ||||
-rw-r--r-- | libavfilter/vf_null.c | 22 | ||||
-rw-r--r-- | libavfilter/vf_slicify.c | 15 |
5 files changed, 18 insertions, 84 deletions
diff --git a/libavfilter/vf_aspect.c b/libavfilter/vf_aspect.c index f1961ce217..801f927ba3 100644 --- a/libavfilter/vf_aspect.c +++ b/libavfilter/vf_aspect.c @@ -56,13 +56,6 @@ static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque) return 0; } - -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) { AspectContext *aspect = link->dst->priv; @@ -71,11 +64,6 @@ 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]); -} - #if CONFIG_ASPECT_FILTER /* for aspect filter, convert from frame aspect ratio to pixel aspect ratio */ static int frameaspect_config_props(AVFilterLink *inlink) @@ -100,9 +88,9 @@ AVFilter avfilter_vf_aspect = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, .config_props = frameaspect_config_props, - .get_video_buffer = get_video_buffer, + .get_video_buffer = avfilter_null_get_video_buffer, .start_frame = start_frame, - .end_frame = end_frame }, + .end_frame = avfilter_null_end_frame }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", @@ -122,9 +110,9 @@ AVFilter avfilter_vf_pixelaspect = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, - .get_video_buffer = get_video_buffer, + .get_video_buffer = avfilter_null_get_video_buffer, .start_frame = start_frame, - .end_frame = end_frame }, + .end_frame = avfilter_null_end_frame }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", diff --git a/libavfilter/vf_crop.c b/libavfilter/vf_crop.c index 94d89d1e5b..69dfdea2e7 100644 --- a/libavfilter/vf_crop.c +++ b/libavfilter/vf_crop.c @@ -156,12 +156,6 @@ static int config_output(AVFilterLink *link) return 0; } -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) { CropContext *crop = link->dst->priv; @@ -223,7 +217,7 @@ AVFilter avfilter_vf_crop = { .type = CODEC_TYPE_VIDEO, .start_frame = start_frame, .draw_slice = draw_slice, - .get_video_buffer = get_video_buffer, + .get_video_buffer = avfilter_null_get_video_buffer, .config_props = config_input, }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", diff --git a/libavfilter/vf_format.c b/libavfilter/vf_format.c index a501e1a72b..2c84b0ab1a 100644 --- a/libavfilter/vf_format.c +++ b/libavfilter/vf_format.c @@ -85,27 +85,6 @@ static AVFilterFormats *make_format_list(FormatContext *format, int flag) return formats; } -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]); -} - -static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir) -{ - avfilter_draw_slice(link->dst->outputs[0], y, h, slice_dir); -} - #if CONFIG_FORMAT_FILTER static int query_formats_format(AVFilterContext *ctx) { @@ -125,10 +104,10 @@ AVFilter avfilter_vf_format = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, - .get_video_buffer= get_video_buffer, - .start_frame = start_frame, - .draw_slice = draw_slice, - .end_frame = end_frame, }, + .get_video_buffer= avfilter_null_get_video_buffer, + .start_frame = avfilter_null_start_frame, + .draw_slice = avfilter_null_draw_slice, + .end_frame = avfilter_null_end_frame, }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO }, @@ -155,10 +134,10 @@ AVFilter avfilter_vf_noformat = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, - .get_video_buffer= get_video_buffer, - .start_frame = start_frame, - .draw_slice = draw_slice, - .end_frame = end_frame, }, + .get_video_buffer= avfilter_null_get_video_buffer, + .start_frame = avfilter_null_start_frame, + .draw_slice = avfilter_null_draw_slice, + .end_frame = avfilter_null_end_frame, }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO }, diff --git a/libavfilter/vf_null.c b/libavfilter/vf_null.c index 582708ce0c..75eba6783f 100644 --- a/libavfilter/vf_null.c +++ b/libavfilter/vf_null.c @@ -23,22 +23,6 @@ #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", .description = NULL_IF_CONFIG_SMALL("Pass the source unchanged to the output."), @@ -47,9 +31,9 @@ AVFilter avfilter_vf_null = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, - .get_video_buffer = get_video_buffer, - .start_frame = start_frame, - .end_frame = end_frame }, + .get_video_buffer = avfilter_null_get_video_buffer, + .start_frame = avfilter_null_start_frame, + .end_frame = avfilter_null_end_frame }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", diff --git a/libavfilter/vf_slicify.c b/libavfilter/vf_slicify.c index e2ac594611..ec96db499d 100644 --- a/libavfilter/vf_slicify.c +++ b/libavfilter/vf_slicify.c @@ -57,12 +57,6 @@ static int config_props(AVFilterLink *link) return 0; } -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) { SliceContext *slice = link->dst->priv; @@ -81,11 +75,6 @@ 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]); -} - static void draw_slice(AVFilterLink *link, int y, int h, int slice_dir) { SliceContext *slice = link->dst->priv; @@ -116,11 +105,11 @@ AVFilter avfilter_vf_slicify = { .inputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, - .get_video_buffer = get_video_buffer, + .get_video_buffer = avfilter_null_get_video_buffer, .start_frame = start_frame, .draw_slice = draw_slice, .config_props = config_props, - .end_frame = end_frame, }, + .end_frame = avfilter_null_end_frame, }, { .name = NULL}}, .outputs = (AVFilterPad[]) {{ .name = "default", .type = CODEC_TYPE_VIDEO, }, |