From: Vitor Sessak Date: Fri, 15 Feb 2008 22:13:52 +0000 (+0000) Subject: Allow filters to set the requirements on permissions for incoming buffers. X-Git-Tag: v0.5~5865 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=60bf6ce3ba7c2950de704883f80e44ac87555000;p=platform%2Fupstream%2Flibav.git 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 --- diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index f86f9fe..bcc1fd9 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -118,6 +118,25 @@ struct AVFilterPad #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 * create such a list). @@ -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; };