diff options
author | Nicolas George <george@nsup.org> | 2015-09-30 17:11:57 +0300 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2015-12-22 18:04:30 +0300 |
commit | 16557887127256fb1e491702375e7ea7b3940924 (patch) | |
tree | e6218ca8a613ccf7c54a95047d618de3d7e66724 /libavfilter/internal.h | |
parent | 108b4de5529a75b06da72b974b26625a8067001f (diff) |
lavfi: make request_frame() non-recursive.
Instead of calling the input filter request_frame() method,
ff_request_frame() now marks the link and returns immediately.
buffersink is changed to activate the marked filters until
a frame is obtained.
Diffstat (limited to 'libavfilter/internal.h')
-rw-r--r-- | libavfilter/internal.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libavfilter/internal.h b/libavfilter/internal.h index 836733ff76..766debeb71 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -334,6 +334,8 @@ int ff_poll_frame(AVFilterLink *link); */ int ff_request_frame(AVFilterLink *link); +int ff_request_frame_to_filter(AVFilterLink *link); + #define AVFILTER_DEFINE_CLASS(fname) \ static const AVClass fname##_class = { \ .class_name = #fname, \ @@ -380,6 +382,11 @@ AVFilterContext *ff_filter_alloc(const AVFilter *filter, const char *inst_name); void ff_filter_graph_remove_filter(AVFilterGraph *graph, AVFilterContext *filter); /** + * Run one round of processing on a filter graph. + */ +int ff_filter_graph_run_once(AVFilterGraph *graph); + +/** * Normalize the qscale factor * FIXME the H264 qscale is a log based scale, mpeg1/2 is not, the code below * cannot be optimal |