22 #ifndef AVFILTER_AVFILTER_H
23 #define AVFILTER_AVFILTER_H
68 #if FF_API_AVFILTERBUFFER
74 typedef struct AVFilterBuffer {
102 void (*free)(
struct AVFilterBuffer *
buf);
109 #define AV_PERM_READ 0x01
110 #define AV_PERM_WRITE 0x02
111 #define AV_PERM_PRESERVE 0x04
112 #define AV_PERM_REUSE 0x08
113 #define AV_PERM_REUSE2 0x10
114 #define AV_PERM_NEG_LINESIZES 0x20
115 #define AV_PERM_ALIGN 0x40
117 #define AVFILTER_ALIGN 16 //not part of ABI
124 typedef struct AVFilterBufferRefAudioProps {
125 uint64_t channel_layout;
129 } AVFilterBufferRefAudioProps;
136 typedef struct AVFilterBufferRefVideoProps {
144 int qp_table_linesize;
147 } AVFilterBufferRefVideoProps;
157 typedef struct AVFilterBufferRef {
177 AVFilterBufferRefVideoProps *video;
178 AVFilterBufferRefAudioProps *audio;
244 #if FF_API_AVFILTERPAD_PUBLIC
298 int (*start_frame)(
AVFilterLink *link, AVFilterBufferRef *picref);
424 #define AVFILTER_FLAG_DYNAMIC_INPUTS (1 << 0)
430 #define AVFILTER_FLAG_DYNAMIC_OUTPUTS (1 << 1)
435 #define AVFILTER_FLAG_SLICE_THREADS (1 << 2)
444 #define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC (1 << 16)
452 #define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL (1 << 17)
457 #define AVFILTER_FLAG_SUPPORT_TIMELINE (AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL)
621 #define AVFILTER_THREAD_SLICE (1 << 0)
636 unsigned input_count;
643 unsigned output_count;
893 #if FF_API_AVFILTERBUFFER
907 avfilter_get_video_buffer_ref_from_arrays(
uint8_t *
const data[4],
const int linesize[4],
int perms,
925 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(
uint8_t **
data,
930 uint64_t channel_layout);
945 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays_channels(
uint8_t **
data,
951 uint64_t channel_layout);
956 #define AVFILTER_CMD_FLAG_ONE 1
957 #define AVFILTER_CMD_FLAG_FAST 2
968 #if FF_API_OLD_FILTER_REGISTER
971 void avfilter_uninit(
void);
1002 #if FF_API_OLD_FILTER_REGISTER
1014 #if FF_API_AVFILTER_OPEN
1030 #if FF_API_AVFILTER_INIT_FILTER
1097 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx);
1099 #if FF_API_AVFILTERBUFFER
1116 int avfilter_copy_buf_props(
AVFrame *dst,
const AVFilterBufferRef *
src);
1130 #if FF_API_FOO_COUNT
1132 unsigned filter_count_unused;
1135 #if !FF_API_FOO_COUNT
1141 #if FF_API_FOO_COUNT
1217 #if FF_API_AVFILTER_OPEN
1245 const char *
name,
const char *
args,
void *opaque,
1314 #if HAVE_INCOMPATIBLE_LIBAV_ABI || !FF_API_OLD_GRAPH_PARSE