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
This commit is contained in:
Vitor Sessak 2008-02-15 22:13:52 +00:00
parent b42a6a92ff
commit 60bf6ce3ba
1 changed files with 28 additions and 0 deletions

View File

@ -117,6 +117,25 @@ struct AVFilterPad
int type; int type;
#define AV_PAD_VIDEO 0 ///< video pad #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 * 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 * 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 int h; ///< agreed upon image height
enum PixelFormat format; ///< agreed upon image colorspace 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 *cur_pic;
AVFilterPicRef *outpic; AVFilterPicRef *outpic;
}; };