mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 08:42:39 +00:00
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
This commit is contained in:
parent
3afcca9dfd
commit
24c4eff657
@ -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…
Reference in New Issue
Block a user