22 #ifndef AVFILTER_AVFILTER_H
23 #define AVFILTER_AVFILTER_H
69 #if FF_API_AVFILTERBUFFER
75 typedef struct AVFilterBuffer {
103 void (*free)(
struct AVFilterBuffer *
buf);
110 #define AV_PERM_READ 0x01
111 #define AV_PERM_WRITE 0x02
112 #define AV_PERM_PRESERVE 0x04
113 #define AV_PERM_REUSE 0x08
114 #define AV_PERM_REUSE2 0x10
115 #define AV_PERM_NEG_LINESIZES 0x20
116 #define AV_PERM_ALIGN 0x40
118 #define AVFILTER_ALIGN 16 //not part of ABI
125 typedef struct AVFilterBufferRefAudioProps {
126 uint64_t channel_layout;
130 } AVFilterBufferRefAudioProps;
137 typedef struct AVFilterBufferRefVideoProps {
145 int qp_table_linesize;
148 } AVFilterBufferRefVideoProps;
158 typedef struct AVFilterBufferRef {
178 AVFilterBufferRefVideoProps *video;
179 AVFilterBufferRefAudioProps *audio;
202 void avfilter_copy_buffer_ref_props(AVFilterBufferRef *dst, AVFilterBufferRef *
src);
214 AVFilterBufferRef *avfilter_ref_buffer(AVFilterBufferRef *ref,
int pmask);
226 void avfilter_unref_buffer(AVFilterBufferRef *ref);
236 void avfilter_unref_bufferp(AVFilterBufferRef **ref);
245 #if FF_API_AVFILTERPAD_PUBLIC
299 int (*start_frame)(
AVFilterLink *link, AVFilterBufferRef *picref);
425 #define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0)
431 #define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1)
436 #define AVFILTER_FLAG_SLICE_THREADS (1 << 2)
445 #define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC (1 << 16)
453 #define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL (1 << 17)
458 #define AVFILTER_FLAG_SUPPORT_TIMELINE (AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL)
622 #define AVFILTER_THREAD_SLICE (1 << 0)
894 #if FF_API_AVFILTERBUFFER
926 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(
uint8_t **
data,
931 uint64_t channel_layout);
946 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays_channels(
uint8_t **
data,
952 uint64_t channel_layout);
957 #define AVFILTER_CMD_FLAG_ONE 1
958 #define AVFILTER_CMD_FLAG_FAST 2
969 #if FF_API_OLD_FILTER_REGISTER
972 void avfilter_uninit(
void);
1003 #if FF_API_OLD_FILTER_REGISTER
1015 #if FF_API_AVFILTER_OPEN
1031 #if FF_API_AVFILTER_INIT_FILTER
1098 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx);
1100 #if FF_API_AVFILTERBUFFER
1108 int avfilter_copy_frame_props(AVFilterBufferRef *dst,
const AVFrame *
src);
1117 int avfilter_copy_buf_props(
AVFrame *dst,
const AVFilterBufferRef *
src);
1156 void *
arg,
int *
ret,
int nb_jobs);
1160 #if FF_API_FOO_COUNT
1162 unsigned filter_count_unused;
1165 #if !FF_API_FOO_COUNT
1171 #if FF_API_FOO_COUNT
1268 #if FF_API_AVFILTER_OPEN
1296 const char *
name,
const char *
args,
void *opaque,
1365 #if AV_HAVE_INCOMPATIBLE_LIBAV_ABI || !FF_API_OLD_GRAPH_PARSE