Browse Source

Rework link property configuration system.

This can now handle filters which are added to graphs out of order,
including auto-inserted scale filters.  As an added bonus, it can
now detect circular filter chains which wouldn't work anyway.

Commited in SoC by Bobby Bingham on 2007-12-24 03:22:10

Originally committed as revision 12107 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/v0.5
Vitor Sessak 17 years ago
parent
commit
24c4eff657
1 changed files with 10 additions and 3 deletions
  1. +10
    -3
      libavfilter/avfilter.h

+ 10
- 3
libavfilter/avfilter.h View File

@@ -381,6 +381,13 @@ struct AVFilterLink
AVFilterContext *dst; ///< dest filter
unsigned int dstpad; ///< index of the input pad on the dest filter

/** stage of the initialization of the link properties (dimensions, etc) */
enum {
AVLINK_UNINIT = 0, ///< not started
AVLINK_STARTINIT, ///< started, but incomplete
AVLINK_INIT ///< complete
} init_state;

int w; ///< agreed upon image width
int h; ///< agreed upon image height
enum PixelFormat format; ///< agreed upon image colorspace
@@ -418,11 +425,11 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad,
AVFilterContext *dst, unsigned dstpad);

/**
* Negotiate the colorspace, dimensions, etc of a link
* @param link The link to negotiate the properties of
* Negotiate the colorspace, dimensions, etc of all inputs to a filter.
* @param filter The filter to negotiate the properties for its inputs
* @return Zero on successful negotiation
*/
int avfilter_config_link(AVFilterLink *link);
int avfilter_config_links(AVFilterContext *filter);

/**
* Request a picture buffer with a specific set of permissions


Loading…
Cancel
Save