Revert braindead linked list of permissions
authorVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 22:13:59 +0000 (22:13 +0000)
committerVitor Sessak <vitor1001@gmail.com>
Fri, 15 Feb 2008 22:13:59 +0000 (22:13 +0000)
Commited in SoC by Bobby Bingham on 2007-08-17 22:44:03

Originally committed as revision 12100 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavfilter/avfilter.h

index bdacfca..bcc1fd9 100644 (file)
@@ -29,29 +29,6 @@ typedef struct AVFilterContext AVFilterContext;
 typedef struct AVFilterLink    AVFilterLink;
 typedef struct AVFilterPad     AVFilterPad;
 
-/**
- * A linked list of filters which reference this picture and the permissions
- * they each have.  This is needed for the case that filter A requests a buffer
- * from filter B.  Filter B gives it a buffer to use with the permissions it
- * requested, while reserving more permissions for itself to use when filter A
- * eventually passes the buffer to filter B.  However, filter A does not know
- * what these permissions are to reinsert them in the reference passed to B,
- * filter B can't assume that any picture it is passed is one that it allocated.
- *
- * Rather than have each filter implement their own code to check for this
- * case, we store all the permissions here in the picture structure.
- *
- * Because the number of filters holding references to any one picture should
- * be rather low, this should not be a major source of performance problems.
- */
-typedef struct AVFilterPicPerms
-{
-    AVFilterContext *filter;    ///< the filter
-    int perms;                  ///< the permissions that filter has
-
-    struct AVFilterPicPerms *next;
-} AVFilterPicPerms;
-
 /* TODO: look for other flags which may be useful in this structure (interlace
  * flags, etc)
  */
@@ -67,7 +44,6 @@ typedef struct AVFilterPic
     enum PixelFormat format;    ///< colorspace
 
     unsigned refcount;          ///< number of references to this image
-    AVFilterPicPerms *perms;    ///< list of permissions held by filters
 
     /** private data to be used by a custom free function */
     void *priv;
@@ -105,25 +81,15 @@ typedef struct AVFilterPicRef
 #define AV_PERM_REUSE    0x08   ///< can output the buffer multiple times
 } AVFilterPicRef;
 
-/** Get the permissions the filter has to access the picture. */
-int avfilter_get_pic_perms(AVFilterPicRef *pic, AVFilterContext *filter);
-
-/** Give the filter more permissions to access the picture */
-void avfilter_add_pic_perms(AVFilterPicRef *pic, AVFilterContext *filter,
-                            int perms);
-
 /**
  * Add a new reference to a picture.
  * @param ref   An existing reference to the picture
- * @param ref   If non-NULL, a pointer to the filter to which the permissions
- *              to the picture are to be given
  * @param pmask A bitmask containing the allowable permissions in the new
  *              reference
  * @return      A new reference to the picture with the same properties as the
  *              old, excluding any permissions denied by pmask
  */
-AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref, AVFilterContext *filter,
-                                 int pmask);
+AVFilterPicRef *avfilter_ref_pic(AVFilterPicRef *ref, int pmask);
 
 /**
  * Remove a reference to a picture.  If this is the last reference to the
@@ -256,8 +222,6 @@ int *avfilter_default_query_output_formats(AVFilterLink *link);
 AVFilterPicRef *avfilter_default_get_video_buffer(AVFilterLink *link,
                                                   int perms);
 
-/** handler for get_video_buffer() which forwards the request down the chain */
-AVFilterPicRef *avfilter_next_get_video_buffer(AVFilterLink *link, int perms);
 /**
  * Filter definition.  This defines the pads a filter contains, and all the
  * callback functions used to interact with the filter.