lavfi: make AVFilterPad opaque after two major bumps.
It will allow adding new fields to it without ABI breaks.
This commit is contained in:
parent
84b9fbe055
commit
9d0bfc5052
14
avconv.c
14
avconv.c
@ -548,7 +548,7 @@ static FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost)
|
|||||||
static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
|
static void init_input_filter(FilterGraph *fg, AVFilterInOut *in)
|
||||||
{
|
{
|
||||||
InputStream *ist;
|
InputStream *ist;
|
||||||
enum AVMediaType type = in->filter_ctx->input_pads[in->pad_idx].type;
|
enum AVMediaType type = avfilter_pad_get_type(in->filter_ctx->input_pads, in->pad_idx);
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// TODO: support other filter types
|
// TODO: support other filter types
|
||||||
@ -789,7 +789,7 @@ static int configure_output_audio_filter(FilterGraph *fg, OutputFilter *ofilter,
|
|||||||
\
|
\
|
||||||
avio_printf(pb, "%s", ctx->filter->name); \
|
avio_printf(pb, "%s", ctx->filter->name); \
|
||||||
if (nb_pads > 1) \
|
if (nb_pads > 1) \
|
||||||
avio_printf(pb, ":%s", pads[inout->pad_idx].name); \
|
avio_printf(pb, ":%s", avfilter_pad_get_name(pads, inout->pad_idx));\
|
||||||
avio_w8(pb, 0); \
|
avio_w8(pb, 0); \
|
||||||
avio_close_dyn_buf(pb, &f->name); \
|
avio_close_dyn_buf(pb, &f->name); \
|
||||||
}
|
}
|
||||||
@ -799,7 +799,7 @@ static int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFil
|
|||||||
av_freep(&ofilter->name);
|
av_freep(&ofilter->name);
|
||||||
DESCRIBE_FILTER_LINK(ofilter, out, 0);
|
DESCRIBE_FILTER_LINK(ofilter, out, 0);
|
||||||
|
|
||||||
switch (out->filter_ctx->output_pads[out->pad_idx].type) {
|
switch (avfilter_pad_get_type(out->filter_ctx->output_pads, out->pad_idx)) {
|
||||||
case AVMEDIA_TYPE_VIDEO: return configure_output_video_filter(fg, ofilter, out);
|
case AVMEDIA_TYPE_VIDEO: return configure_output_video_filter(fg, ofilter, out);
|
||||||
case AVMEDIA_TYPE_AUDIO: return configure_output_audio_filter(fg, ofilter, out);
|
case AVMEDIA_TYPE_AUDIO: return configure_output_audio_filter(fg, ofilter, out);
|
||||||
default: av_assert0(0);
|
default: av_assert0(0);
|
||||||
@ -913,7 +913,7 @@ static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter,
|
|||||||
av_freep(&ifilter->name);
|
av_freep(&ifilter->name);
|
||||||
DESCRIBE_FILTER_LINK(ifilter, in, 1);
|
DESCRIBE_FILTER_LINK(ifilter, in, 1);
|
||||||
|
|
||||||
switch (in->filter_ctx->input_pads[in->pad_idx].type) {
|
switch (avfilter_pad_get_type(in->filter_ctx->input_pads, in->pad_idx)) {
|
||||||
case AVMEDIA_TYPE_VIDEO: return configure_input_video_filter(fg, ifilter, in);
|
case AVMEDIA_TYPE_VIDEO: return configure_input_video_filter(fg, ifilter, in);
|
||||||
case AVMEDIA_TYPE_AUDIO: return configure_input_audio_filter(fg, ifilter, in);
|
case AVMEDIA_TYPE_AUDIO: return configure_input_audio_filter(fg, ifilter, in);
|
||||||
default: av_assert0(0);
|
default: av_assert0(0);
|
||||||
@ -4112,7 +4112,8 @@ static void init_output_filter(OutputFilter *ofilter, OptionsContext *o,
|
|||||||
{
|
{
|
||||||
OutputStream *ost;
|
OutputStream *ost;
|
||||||
|
|
||||||
switch (ofilter->out_tmp->filter_ctx->output_pads[ofilter->out_tmp->pad_idx].type) {
|
switch (avfilter_pad_get_type(ofilter->out_tmp->filter_ctx->output_pads,
|
||||||
|
ofilter->out_tmp->pad_idx)) {
|
||||||
case AVMEDIA_TYPE_VIDEO: ost = new_video_stream(o, oc); break;
|
case AVMEDIA_TYPE_VIDEO: ost = new_video_stream(o, oc); break;
|
||||||
case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream(o, oc); break;
|
case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream(o, oc); break;
|
||||||
default:
|
default:
|
||||||
@ -4191,7 +4192,8 @@ static void opt_output_file(void *optctx, const char *filename)
|
|||||||
if (!ofilter->out_tmp || ofilter->out_tmp->name)
|
if (!ofilter->out_tmp || ofilter->out_tmp->name)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
switch (ofilter->out_tmp->filter_ctx->output_pads[ofilter->out_tmp->pad_idx].type) {
|
switch (avfilter_pad_get_type(ofilter->out_tmp->filter_ctx->output_pads,
|
||||||
|
ofilter->out_tmp->pad_idx)) {
|
||||||
case AVMEDIA_TYPE_VIDEO: o->video_disable = 1; break;
|
case AVMEDIA_TYPE_VIDEO: o->video_disable = 1; break;
|
||||||
case AVMEDIA_TYPE_AUDIO: o->audio_disable = 1; break;
|
case AVMEDIA_TYPE_AUDIO: o->audio_disable = 1; break;
|
||||||
case AVMEDIA_TYPE_SUBTITLE: o->subtitle_disable = 1; break;
|
case AVMEDIA_TYPE_SUBTITLE: o->subtitle_disable = 1; break;
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
|
|
||||||
#include "audio.h"
|
#include "audio.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
AVFilter avfilter_af_anull = {
|
AVFilter avfilter_af_anull = {
|
||||||
.name = "anull",
|
.name = "anull",
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
static void null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) { }
|
static void null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref) { }
|
||||||
|
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "libavutil/audioconvert.h"
|
#include "libavutil/audioconvert.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -235,8 +235,14 @@ void avfilter_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats)
|
|||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if FF_API_AVFILTERPAD_PUBLIC
|
||||||
/**
|
/**
|
||||||
* A filter pad used for either input or output.
|
* A filter pad used for either input or output.
|
||||||
|
*
|
||||||
|
* @warning this struct will be removed from public API.
|
||||||
|
* users should call avfilter_pad_get_name() and avfilter_pad_get_type()
|
||||||
|
* to access the name and type fields; there should be no need to access
|
||||||
|
* any other fields from outside of libavfilter.
|
||||||
*/
|
*/
|
||||||
struct AVFilterPad {
|
struct AVFilterPad {
|
||||||
/**
|
/**
|
||||||
@ -358,6 +364,7 @@ struct AVFilterPad {
|
|||||||
*/
|
*/
|
||||||
int (*config_props)(AVFilterLink *link);
|
int (*config_props)(AVFilterLink *link);
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the name of an AVFilterPad.
|
* Get the name of an AVFilterPad.
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "buffersrc.h"
|
#include "buffersrc.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "vsrc_buffer.h"
|
#include "vsrc_buffer.h"
|
||||||
|
|
||||||
|
@ -26,6 +26,132 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
|
||||||
|
#if !FF_API_AVFILTERPAD_PUBLIC
|
||||||
|
/**
|
||||||
|
* A filter pad used for either input or output.
|
||||||
|
*/
|
||||||
|
struct AVFilterPad {
|
||||||
|
/**
|
||||||
|
* Pad name. The name is unique among inputs and among outputs, but an
|
||||||
|
* input may have the same name as an output. This may be NULL if this
|
||||||
|
* pad has no need to ever be referenced by name.
|
||||||
|
*/
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AVFilterPad type.
|
||||||
|
*/
|
||||||
|
enum AVMediaType type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Minimum required permissions on incoming buffers. Any buffer with
|
||||||
|
* insufficient permissions will be automatically copied by the filter
|
||||||
|
* system to a new buffer which provides the needed access permissions.
|
||||||
|
*
|
||||||
|
* Input pads only.
|
||||||
|
*/
|
||||||
|
int min_perms;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permissions which are not accepted on incoming buffers. Any buffer
|
||||||
|
* which has any of these permissions set will be automatically copied
|
||||||
|
* by the filter system to a new buffer which does not have those
|
||||||
|
* permissions. This can be used to easily disallow buffers with
|
||||||
|
* AV_PERM_REUSE.
|
||||||
|
*
|
||||||
|
* Input pads only.
|
||||||
|
*/
|
||||||
|
int rej_perms;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback called before passing the first slice of a new frame. If
|
||||||
|
* NULL, the filter layer will default to storing a reference to the
|
||||||
|
* picture inside the link structure.
|
||||||
|
*
|
||||||
|
* Input video pads only.
|
||||||
|
*/
|
||||||
|
void (*start_frame)(AVFilterLink *link, AVFilterBufferRef *picref);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback function to get a video buffer. If NULL, the filter system will
|
||||||
|
* use avfilter_default_get_video_buffer().
|
||||||
|
*
|
||||||
|
* Input video pads only.
|
||||||
|
*/
|
||||||
|
AVFilterBufferRef *(*get_video_buffer)(AVFilterLink *link, int perms, int w, int h);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback function to get an audio buffer. If NULL, the filter system will
|
||||||
|
* use avfilter_default_get_audio_buffer().
|
||||||
|
*
|
||||||
|
* Input audio pads only.
|
||||||
|
*/
|
||||||
|
AVFilterBufferRef *(*get_audio_buffer)(AVFilterLink *link, int perms,
|
||||||
|
int nb_samples);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Callback called after the slices of a frame are completely sent. If
|
||||||
|
* NULL, the filter layer will default to releasing the reference stored
|
||||||
|
* in the link structure during start_frame().
|
||||||
|
*
|
||||||
|
* Input video pads only.
|
||||||
|
*/
|
||||||
|
void (*end_frame)(AVFilterLink *link);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Slice drawing callback. This is where a filter receives video data
|
||||||
|
* and should do its processing.
|
||||||
|
*
|
||||||
|
* Input video pads only.
|
||||||
|
*/
|
||||||
|
void (*draw_slice)(AVFilterLink *link, int y, int height, int slice_dir);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Samples filtering callback. This is where a filter receives audio data
|
||||||
|
* and should do its processing.
|
||||||
|
*
|
||||||
|
* Input audio pads only.
|
||||||
|
*/
|
||||||
|
void (*filter_samples)(AVFilterLink *link, AVFilterBufferRef *samplesref);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Frame poll callback. This returns the number of immediately available
|
||||||
|
* samples. It should return a positive value if the next request_frame()
|
||||||
|
* is guaranteed to return one frame (with no delay).
|
||||||
|
*
|
||||||
|
* Defaults to just calling the source poll_frame() method.
|
||||||
|
*
|
||||||
|
* Output pads only.
|
||||||
|
*/
|
||||||
|
int (*poll_frame)(AVFilterLink *link);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Frame request callback. A call to this should result in at least one
|
||||||
|
* frame being output over the given link. This should return zero on
|
||||||
|
* success, and another value on error.
|
||||||
|
*
|
||||||
|
* Output pads only.
|
||||||
|
*/
|
||||||
|
int (*request_frame)(AVFilterLink *link);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Link configuration callback.
|
||||||
|
*
|
||||||
|
* For output pads, this should set the link properties such as
|
||||||
|
* width/height. This should NOT set the format property - that is
|
||||||
|
* negotiated between filters by the filter system using the
|
||||||
|
* query_formats() callback before this function is called.
|
||||||
|
*
|
||||||
|
* For input pads, this should check the properties of the link, and update
|
||||||
|
* the filter's internal state as necessary.
|
||||||
|
*
|
||||||
|
* For both input and output filters, this should return zero on success,
|
||||||
|
* and another value on error.
|
||||||
|
*/
|
||||||
|
int (*config_props)(AVFilterLink *link);
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
/** default handler for freeing audio/video buffer when there are no references left */
|
/** default handler for freeing audio/video buffer when there are no references left */
|
||||||
void ff_avfilter_default_free_buffer(AVFilterBuffer *buf);
|
void ff_avfilter_default_free_buffer(AVFilterBuffer *buf);
|
||||||
|
|
||||||
|
@ -59,5 +59,8 @@
|
|||||||
#ifndef FF_API_FILTERS_PUBLIC
|
#ifndef FF_API_FILTERS_PUBLIC
|
||||||
#define FF_API_FILTERS_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 3)
|
#define FF_API_FILTERS_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 3)
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef FF_API_AVFILTERPAD_PUBLIC
|
||||||
|
#define FF_API_AVFILTERPAD_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 4)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif // AVFILTER_VERSION_H
|
#endif // AVFILTER_VERSION_H
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "libavutil/mathematics.h"
|
#include "libavutil/mathematics.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
static const char *const var_names[] = {
|
static const char *const var_names[] = {
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
AVFilter avfilter_vf_copy = {
|
AVFilter avfilter_vf_copy = {
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
#include "libavutil/avstring.h"
|
#include "libavutil/avstring.h"
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "libavutil/imgutils.h"
|
#include "libavutil/imgutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "libavutil/parseutils.h"
|
#include "libavutil/parseutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
enum { Y, U, V, A };
|
enum { Y, U, V, A };
|
||||||
|
@ -42,6 +42,7 @@
|
|||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "drawutils.h"
|
#include "drawutils.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
#undef time
|
#undef time
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
#include "libavutil/parseutils.h"
|
#include "libavutil/parseutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef f0r_instance_t (*f0r_construct_f)(unsigned int width, unsigned int height);
|
typedef f0r_instance_t (*f0r_construct_f)(unsigned int width, unsigned int height);
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
#include "gradfun.h"
|
#include "gradfun.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
DECLARE_ALIGNED(16, static const uint16_t, dither)[8][8] = {
|
DECLARE_ALIGNED(16, static const uint16_t, dither)[8][8] = {
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "libavutil/intreadwrite.h"
|
#include "libavutil/intreadwrite.h"
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
AVFilter avfilter_vf_null = {
|
AVFilter avfilter_vf_null = {
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/avstring.h"
|
#include "libavutil/avstring.h"
|
||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/avstring.h"
|
#include "libavutil/avstring.h"
|
||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "libavutil/eval.h"
|
#include "libavutil/eval.h"
|
||||||
#include "libavutil/mathematics.h"
|
#include "libavutil/mathematics.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
static const char *const var_names[] = {
|
static const char *const var_names[] = {
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
#include "libavutil/imgutils.h"
|
#include "libavutil/imgutils.h"
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#include "libavutil/imgutils.h"
|
#include "libavutil/imgutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/common.h"
|
#include "libavutil/common.h"
|
||||||
#include "libavutil/mem.h"
|
#include "libavutil/mem.h"
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
|
static void start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
|
||||||
{
|
{
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
|
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
#include "libavutil/pixdesc.h"
|
#include "libavutil/pixdesc.h"
|
||||||
#include "libavutil/colorspace.h"
|
#include "libavutil/colorspace.h"
|
||||||
|
@ -37,6 +37,7 @@
|
|||||||
#include "libavformat/avformat.h"
|
#include "libavformat/avformat.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "libavutil/parseutils.h"
|
#include "libavutil/parseutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
static const char *const var_names[] = {
|
static const char *const var_names[] = {
|
||||||
"E",
|
"E",
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "libavutil/parseutils.h"
|
#include "libavutil/parseutils.h"
|
||||||
#include "avfilter.h"
|
#include "avfilter.h"
|
||||||
#include "formats.h"
|
#include "formats.h"
|
||||||
|
#include "internal.h"
|
||||||
#include "video.h"
|
#include "video.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user