X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Favfilter.h;h=9d70e7118beeaac0c23e14a664014ebbccdb2b3f;hb=d05c3b9ceeb9d00d4500c376448230e45f6ab108;hp=62eed2168f001b7105b216946d3268184a8a1b22;hpb=725ae0e2d0222f81b5cca3b0b226116ec6fd0494;p=ffmpeg diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 62eed2168f0..9d70e7118be 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -406,6 +406,22 @@ struct AVFilterContext { * a higher value suggests a more urgent activation. */ unsigned ready; + + /** + * Sets the number of extra hardware frames which the filter will + * allocate on its output links for use in following filters or by + * the caller. + * + * Some hardware filters require all frames that they will use for + * output to be defined in advance before filtering starts. For such + * filters, any hardware frame pools used for output must therefore be + * of fixed size. The extra frames set here are on top of any number + * that the filter needs internally in order to operate normally. + * + * This field must be set before the graph containing this filter is + * configured. + */ + int extra_hw_frames; }; /** @@ -681,7 +697,20 @@ int avfilter_config_links(AVFilterContext *filter); */ int avfilter_process_command(AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags); +/** + * Iterate over all registered filters. + * + * @param opaque a pointer where libavfilter will store the iteration state. Must + * point to NULL to start the iteration. + * + * @return the next registered filter or NULL when the iteration is + * finished + */ +const AVFilter *av_filter_iterate(void **opaque); + +#if FF_API_NEXT /** Initialize the filter system. Register all builtin filters. */ +attribute_deprecated void avfilter_register_all(void); /** @@ -694,8 +723,18 @@ void avfilter_register_all(void); * @return 0 if the registration was successful, a negative value * otherwise */ +attribute_deprecated int avfilter_register(AVFilter *filter); +/** + * Iterate over all registered filters. + * @return If prev is non-NULL, next registered filter after prev or NULL if + * prev is the last filter. If prev is NULL, return the first registered filter. + */ +attribute_deprecated +const AVFilter *avfilter_next(const AVFilter *prev); +#endif + /** * Get a filter definition matching the given name. * @@ -705,12 +744,6 @@ int avfilter_register(AVFilter *filter); */ const AVFilter *avfilter_get_by_name(const char *name); -/** - * Iterate over all registered filters. - * @return If prev is non-NULL, next registered filter after prev or NULL if - * prev is the last filter. If prev is NULL, return the first registered filter. - */ -const AVFilter *avfilter_next(const AVFilter *prev); /** * Initialize a filter with the supplied parameters.