diff --git a/libavfilter/internal.h b/libavfilter/internal.h index c208edf229..2b997301e7 100644 --- a/libavfilter/internal.h +++ b/libavfilter/internal.h @@ -27,6 +27,7 @@ #include "avfilter.h" #include "avfiltergraph.h" #include "formats.h" +#include "video.h" #define POOL_SIZE 32 typedef struct AVFilterPool { @@ -119,15 +120,6 @@ int ff_parse_sample_format(int *ret, const char *arg, void *log_ctx); */ int ff_parse_channel_layout(int64_t *ret, const char *arg, void *log_ctx); -/** - * Pass video frame along and keep an internal reference for later use. - */ -static inline void ff_null_start_frame_keep_ref(AVFilterLink *inlink, - AVFilterBufferRef *picref) -{ - avfilter_start_frame(inlink->dst->outputs[0], avfilter_ref_buffer(picref, ~0)); -} - void ff_update_link_current_pts(AVFilterLink *link, int64_t pts); void ff_free_pool(AVFilterPool *pool); diff --git a/libavfilter/video.c b/libavfilter/video.c index d443885df2..f23592e907 100644 --- a/libavfilter/video.c +++ b/libavfilter/video.c @@ -215,6 +215,12 @@ void ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref) ff_update_link_current_pts(link, link->cur_buf->pts); } +void ff_null_start_frame_keep_ref(AVFilterLink *inlink, + AVFilterBufferRef *picref) +{ + avfilter_start_frame(inlink->dst->outputs[0], avfilter_ref_buffer(picref, ~0)); +} + void ff_null_end_frame(AVFilterLink *link) { ff_end_frame(link->dst->outputs[0]); diff --git a/libavfilter/video.h b/libavfilter/video.h index 1fed45f925..b6886a6e8d 100644 --- a/libavfilter/video.h +++ b/libavfilter/video.h @@ -44,6 +44,11 @@ void ff_null_end_frame(AVFilterLink *link); */ void ff_start_frame(AVFilterLink *link, AVFilterBufferRef *picref); +/** + * Pass video frame along and keep an internal reference for later use. + */ +void ff_null_start_frame_keep_ref(AVFilterLink *inlink, AVFilterBufferRef *picref); + /** * Notify the next filter that the current frame has finished. *