From 60bf6ce3ba7c2950de704883f80e44ac87555000 Mon Sep 17 00:00:00 2001 From: Vitor Sessak Date: Fri, 15 Feb 2008 22:13:52 +0000 Subject: Allow filters to set the requirements on permissions for incoming buffers. Commited in SoC by Bobby Bingham on 2007-08-17 16:40:26 Originally committed as revision 12098 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavfilter/avfilter.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'libavfilter/avfilter.h') diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index f86f9fe31b..bcc1fd9c75 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -117,6 +117,25 @@ struct AVFilterPad int type; #define AV_PAD_VIDEO 0 ///< video pad + /** + * Minimum required permissions on incoming buffers. Any buffers with + * insufficient permissions will be automatically copied by the filter + * system to a new buffer which provides the needed access permissions. + * + * Input pads only. + */ + int min_perms; + + /** + * Permissions which are not accepted on incoming buffers. Any buffer + * which has any of these permissions set be automatically copied by the + * filter system to a new buffer which does not have those permissions. + * This can be used to easily disallow buffers with AV_PERM_REUSE. + * + * Input pads only. + */ + int rej_perms; + /** * Callback to get a list of supported formats. The returned list should * be terminated by -1 (see avfilter_make_format_list for an easy way to @@ -272,6 +291,15 @@ struct AVFilterLink int h; ///< agreed upon image height enum PixelFormat format; ///< agreed upon image colorspace + /** + * The picture reference currently being sent across the link by the source + * filter. This is used internally by the filter system to allow + * automatic copying of pictures which d not have sufficient permissions + * for the destination. This should not be accessed directly by the + * filters. + */ + AVFilterPicRef *srcpic; + AVFilterPicRef *cur_pic; AVFilterPicRef *outpic; }; -- cgit v1.2.3