22 #ifndef AVFILTER_AVFILTER_H
23 #define AVFILTER_AVFILTER_H
70 #if FF_API_AVFILTERBUFFER
76 typedef struct AVFilterBuffer {
104 void (*free)(
struct AVFilterBuffer *buf);
111 #define AV_PERM_READ 0x01
112 #define AV_PERM_WRITE 0x02
113 #define AV_PERM_PRESERVE 0x04
114 #define AV_PERM_REUSE 0x08
115 #define AV_PERM_REUSE2 0x10
116 #define AV_PERM_NEG_LINESIZES 0x20
123 typedef struct AVFilterBufferRefAudioProps {
124 uint64_t channel_layout;
128 } AVFilterBufferRefAudioProps;
135 typedef struct AVFilterBufferRefVideoProps {
143 } AVFilterBufferRefVideoProps;
153 typedef struct AVFilterBufferRef {
173 AVFilterBufferRefVideoProps *video;
174 AVFilterBufferRefAudioProps *audio;
195 void avfilter_copy_buffer_ref_props(AVFilterBufferRef *dst, AVFilterBufferRef *src);
207 AVFilterBufferRef *avfilter_ref_buffer(AVFilterBufferRef *ref,
int pmask);
219 void avfilter_unref_buffer(AVFilterBufferRef *ref);
229 void avfilter_unref_bufferp(AVFilterBufferRef **ref);
232 #if FF_API_AVFILTERPAD_PUBLIC
277 int (*start_frame)(
AVFilterLink *link, AVFilterBufferRef *picref);
404 #define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0)
410 #define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1)
415 #define AVFILTER_FLAG_SLICE_THREADS (1 << 2)
558 #define AVFILTER_THREAD_SLICE (1 << 0)
708 #if FF_API_AVFILTERBUFFER
737 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(
uint8_t **
data,
742 uint64_t channel_layout);
748 #if FF_API_OLD_FILTER_REGISTER
751 void avfilter_uninit(
void);
773 #if !FF_API_NOCONST_GET_NAME
785 #if FF_API_OLD_FILTER_REGISTER
797 #if FF_API_AVFILTER_OPEN
813 #if FF_API_AVFILTER_INIT_FILTER
880 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx);
882 #if FF_API_AVFILTERBUFFER
890 int avfilter_copy_frame_props(AVFilterBufferRef *dst,
const AVFrame *src);
899 int avfilter_copy_buf_props(
AVFrame *dst,
const AVFilterBufferRef *src);
938 void *arg,
int *ret,
int nb_jobs);
944 unsigned filter_count;
947 #if !FF_API_FOO_COUNT
1036 #if FF_API_AVFILTER_OPEN
1064 const char *
name,
const char *args,
void *opaque,