summaryrefslogtreecommitdiff
path: root/libavfilter/vsrc_movie.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2012-11-27 07:49:45 +0100
committerAnton Khirnov <anton@khirnov.net>2012-11-28 08:50:19 +0100
commit565e4993c63f797e2d50ad2f1e8f62fdbe299666 (patch)
treebae5282b2ee875de4b01467f3cfaab54b0ab6ec0 /libavfilter/vsrc_movie.c
parentbb6c67bb36b136de10256f0999128df4a42f9ffc (diff)
lavfi: merge start_frame/draw_slice/end_frame
Any alleged performance benefits gained from the split are purely mythological and do not justify added code complexity.
Diffstat (limited to 'libavfilter/vsrc_movie.c')
-rw-r--r--libavfilter/vsrc_movie.c20
1 files changed, 2 insertions, 18 deletions
diff --git a/libavfilter/vsrc_movie.c b/libavfilter/vsrc_movie.c
index 79186762cb..e6185d686e 100644
--- a/libavfilter/vsrc_movie.c
+++ b/libavfilter/vsrc_movie.c
@@ -279,7 +279,6 @@ static int movie_get_frame(AVFilterLink *outlink)
static int request_frame(AVFilterLink *outlink)
{
- AVFilterBufferRef *outpicref;
MovieContext *movie = outlink->src->priv;
int ret;
@@ -288,23 +287,8 @@ static int request_frame(AVFilterLink *outlink)
if ((ret = movie_get_frame(outlink)) < 0)
return ret;
- outpicref = avfilter_ref_buffer(movie->picref, ~0);
- if (!outpicref) {
- ret = AVERROR(ENOMEM);
- goto fail;
- }
-
- ret = ff_start_frame(outlink, outpicref);
- if (ret < 0)
- goto fail;
-
- ret = ff_draw_slice(outlink, 0, outlink->h, 1);
- if (ret < 0)
- goto fail;
-
- ret = ff_end_frame(outlink);
-fail:
- avfilter_unref_bufferp(&movie->picref);
+ ret = ff_filter_frame(outlink, movie->picref);
+ movie->picref = NULL;
return ret;
}