mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02: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
|
AVFilterContext *dst; ///< dest filter
|
||||||
unsigned int dstpad; ///< index of the input pad on the 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 w; ///< agreed upon image width
|
||||||
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
|
||||||
@ -418,11 +425,11 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad,
|
|||||||
AVFilterContext *dst, unsigned dstpad);
|
AVFilterContext *dst, unsigned dstpad);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Negotiate the colorspace, dimensions, etc of a link
|
* Negotiate the colorspace, dimensions, etc of all inputs to a filter.
|
||||||
* @param link The link to negotiate the properties of
|
* @param filter The filter to negotiate the properties for its inputs
|
||||||
* @return Zero on successful negotiation
|
* @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
|
* Request a picture buffer with a specific set of permissions
|
||||||
|
Loading…
x
Reference in New Issue
Block a user