mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Rework filter initialization sequence. Now supports passing user parameters,
querying supported colorspaces, etc. Commited in SoC by Bobby Bingham on 2007-07-05 20:48:48 Originally committed as revision 12080 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
4d96a914f9
commit
d3e57c15cf
@ -98,6 +98,13 @@ struct AVFilterPad
|
|||||||
int type;
|
int type;
|
||||||
#define AV_PAD_VIDEO 0
|
#define AV_PAD_VIDEO 0
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback to get a list of supported formats. The returned list should
|
||||||
|
* be terminated by -1. This is used for both input and output pads and
|
||||||
|
* is required for both.
|
||||||
|
*/
|
||||||
|
int *(*query_formats)(AVFilterLink *link);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback called before passing the first slice of a new frame. If
|
* Callback called before passing the first slice of a new frame. If
|
||||||
* NULL, the filter layer will default to storing a reference to the
|
* NULL, the filter layer will default to storing a reference to the
|
||||||
@ -131,11 +138,15 @@ struct AVFilterPad
|
|||||||
void (*request_frame)(AVFilterLink *link);
|
void (*request_frame)(AVFilterLink *link);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback to set properties of the link. Only for video output pads.
|
* Link configuration callback. For output pads, this should set the link
|
||||||
* XXX: this is not acceptable as is. it needs reworked to allow for
|
* properties such as width/height. NOTE: this should not set the format
|
||||||
* negotiation of colorspace, etc.
|
* property - that is negotiated between filters by the filter system using
|
||||||
|
* the query_formats() callback.
|
||||||
|
*
|
||||||
|
* For input pads, this should check the properties of the link, and update
|
||||||
|
* the filter's internal state as necessary.
|
||||||
*/
|
*/
|
||||||
int (*set_video_props)(AVFilterLink *link);
|
int (*config_props)(AVFilterLink *link);
|
||||||
};
|
};
|
||||||
|
|
||||||
/* the default implementations of start_frame() and end_frame() */
|
/* the default implementations of start_frame() and end_frame() */
|
||||||
@ -206,4 +217,6 @@ AVFilterContext *avfilter_create_by_name(char *name);
|
|||||||
int avfilter_init_filter(AVFilterContext *filter, const char *args);
|
int avfilter_init_filter(AVFilterContext *filter, const char *args);
|
||||||
void avfilter_destroy(AVFilterContext *filter);
|
void avfilter_destroy(AVFilterContext *filter);
|
||||||
|
|
||||||
|
int *avfilter_make_format_list(int len, ...);
|
||||||
|
|
||||||
#endif /* FFMPEG_AVFILTER_H */
|
#endif /* FFMPEG_AVFILTER_H */
|
||||||
|
Loading…
Reference in New Issue
Block a user