|
|
|
@ -26,7 +26,7 @@ |
|
|
|
|
#include "libavutil/samplefmt.h" |
|
|
|
|
|
|
|
|
|
#define LIBAVFILTER_VERSION_MAJOR 2 |
|
|
|
|
#define LIBAVFILTER_VERSION_MINOR 22 |
|
|
|
|
#define LIBAVFILTER_VERSION_MINOR 23 |
|
|
|
|
#define LIBAVFILTER_VERSION_MICRO 0 |
|
|
|
|
|
|
|
|
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ |
|
|
|
@ -255,6 +255,11 @@ int avfilter_add_format(AVFilterFormats **avff, int64_t fmt); |
|
|
|
|
*/ |
|
|
|
|
AVFilterFormats *avfilter_all_formats(enum AVMediaType type); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return a list of all channel layouts supported by FFmpeg. |
|
|
|
|
*/ |
|
|
|
|
AVFilterFormats *avfilter_all_channel_layouts(void); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return a format list which contains the intersection of the formats of |
|
|
|
|
* a and b. Also, all the references of a, all the references of b, and |
|
|
|
@ -466,11 +471,13 @@ AVFilterBufferRef *avfilter_default_get_audio_buffer(AVFilterLink *link, int per |
|
|
|
|
int64_t channel_layout, int planar); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* A helper for query_formats() which sets all links to the same list of |
|
|
|
|
* formats. If there are no links hooked to this filter, the list of formats is |
|
|
|
|
* freed. |
|
|
|
|
* Helpers for query_formats() which set all links to the same list of |
|
|
|
|
* formats/layouts. If there are no links hooked to this filter, the list |
|
|
|
|
* of formats is freed. |
|
|
|
|
*/ |
|
|
|
|
void avfilter_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats); |
|
|
|
|
void avfilter_set_common_pixel_formats(AVFilterContext *ctx, AVFilterFormats *formats); |
|
|
|
|
void avfilter_set_common_sample_formats(AVFilterContext *ctx, AVFilterFormats *formats); |
|
|
|
|
void avfilter_set_common_channel_layouts(AVFilterContext *ctx, AVFilterFormats *formats); |
|
|
|
|
|
|
|
|
|
/** Default handler for query_formats() */ |
|
|
|
|
int avfilter_default_query_formats(AVFilterContext *ctx); |
|
|
|
@ -521,9 +528,9 @@ typedef struct AVFilter { |
|
|
|
|
void (*uninit)(AVFilterContext *ctx); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Queries formats supported by the filter and its pads, and sets the |
|
|
|
|
* in_formats for links connected to its output pads, and out_formats |
|
|
|
|
* for links connected to its input pads. |
|
|
|
|
* Queries formats/layouts supported by the filter and its pads, and sets |
|
|
|
|
* the in_formats/in_chlayouts for links connected to its output pads, |
|
|
|
|
* and out_formats/out_chlayouts for links connected to its input pads. |
|
|
|
|
* |
|
|
|
|
* @return zero on success, a negative value corresponding to an |
|
|
|
|
* AVERROR code otherwise |
|
|
|
@ -593,13 +600,18 @@ struct AVFilterLink { |
|
|
|
|
int format; ///< agreed upon media format
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Lists of formats supported by the input and output filters respectively. |
|
|
|
|
* These lists are used for negotiating the format to actually be used, |
|
|
|
|
* which will be loaded into the format member, above, when chosen. |
|
|
|
|
* Lists of formats and channel layouts supported by the input and output |
|
|
|
|
* filters respectively. These lists are used for negotiating the format |
|
|
|
|
* to actually be used, which will be loaded into the format and |
|
|
|
|
* channel_layout members, above, when chosen. |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
AVFilterFormats *in_formats; |
|
|
|
|
AVFilterFormats *out_formats; |
|
|
|
|
|
|
|
|
|
AVFilterFormats *in_chlayouts; |
|
|
|
|
AVFilterFormats *out_chlayouts; |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* The buffer reference currently being sent across the link by the source |
|
|
|
|
* filter. This is used internally by the filter system to allow |
|
|
|
|