diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index c89a7ab508..8a2a9e0593 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -1647,3 +1647,9 @@ int ff_outlink_frame_wanted(AVFilterLink *link) FilterLinkInternal * const li = ff_link_internal(link); return li->frame_wanted_out; } + +int ff_filter_execute(AVFilterContext *ctx, avfilter_action_func *func, + void *arg, int *ret, int nb_jobs) +{ + return fffilterctx(ctx)->execute(ctx, func, arg, ret, nb_jobs); +} diff --git a/libavfilter/avfilter_internal.h b/libavfilter/avfilter_internal.h index 8386183745..ec3933b1d1 100644 --- a/libavfilter/avfilter_internal.h +++ b/libavfilter/avfilter_internal.h @@ -92,6 +92,24 @@ static inline FilterLinkInternal *ff_link_internal(AVFilterLink *link) return (FilterLinkInternal*)link; } +typedef struct FFFilterContext { + /** + * The public AVFilterContext. See avfilter.h for it. + */ + AVFilterContext p; + + avfilter_execute_func *execute; + + // 1 when avfilter_init_*() was successfully called on this filter + // 0 otherwise + int initialized; +} FFFilterContext; + +static inline FFFilterContext *fffilterctx(AVFilterContext *ctx) +{ + return (FFFilterContext*)ctx; +} + typedef struct AVFilterCommand { double time; ///< time expressed in seconds char *command; ///< command diff --git a/libavfilter/filters.h b/libavfilter/filters.h index 636753b26a..0053ad4303 100644 --- a/libavfilter/filters.h +++ b/libavfilter/filters.h @@ -199,24 +199,6 @@ static inline FilterLink* ff_filter_link(AVFilterLink *link) return (FilterLink*)link; } -typedef struct FFFilterContext { - /** - * The public AVFilterContext. See avfilter.h for it. - */ - AVFilterContext p; - - avfilter_execute_func *execute; - - // 1 when avfilter_init_*() was successfully called on this filter - // 0 otherwise - int initialized; -} FFFilterContext; - -static inline FFFilterContext *fffilterctx(AVFilterContext *ctx) -{ - return (FFFilterContext*)ctx; -} - /** * The filter is aware of hardware frames, and any hardware frame context * should not be automatically propagated through it. @@ -614,10 +596,7 @@ int ff_append_outpad_free_name(AVFilterContext *f, AVFilterPad *p); */ int ff_fmt_is_in(int fmt, const int *fmts); -static av_always_inline int ff_filter_execute(AVFilterContext *ctx, avfilter_action_func *func, - void *arg, int *ret, int nb_jobs) -{ - return fffilterctx(ctx)->execute(ctx, func, arg, ret, nb_jobs); -} +int ff_filter_execute(AVFilterContext *ctx, avfilter_action_func *func, + void *arg, int *ret, int nb_jobs); #endif /* AVFILTER_FILTERS_H */