aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/internal.h
diff options
context:
space:
mode:
authorNicolas George <george@nsup.org>2015-09-30 16:11:57 +0200
committerNicolas George <george@nsup.org>2015-12-22 16:04:30 +0100
commit16557887127256fb1e491702375e7ea7b3940924 (patch)
treee6218ca8a613ccf7c54a95047d618de3d7e66724 /libavfilter/internal.h
parent108b4de5529a75b06da72b974b26625a8067001f (diff)
downloadffmpeg-16557887127256fb1e491702375e7ea7b3940924.tar.gz
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.h7
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