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, 
const 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);
 
  431 #define AVFILTER_FLAG_DYNAMIC_INPUTS        (1 << 0) 
  437 #define AVFILTER_FLAG_DYNAMIC_OUTPUTS       (1 << 1) 
  442 #define AVFILTER_FLAG_SLICE_THREADS         (1 << 2) 
  451 #define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC  (1 << 16) 
  459 #define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL (1 << 17) 
  464 #define AVFILTER_FLAG_SUPPORT_TIMELINE (AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL) 
  628 #define AVFILTER_THREAD_SLICE (1 << 0) 
  900 #if FF_API_AVFILTERBUFFER 
  932 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays(
uint8_t **
data,
 
  937                                                              uint64_t channel_layout);
 
  952 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_arrays_channels(
uint8_t **
data,
 
  958                                                                       uint64_t channel_layout);
 
  963 #define AVFILTER_CMD_FLAG_ONE   1  
  964 #define AVFILTER_CMD_FLAG_FAST  2 
 
  975 #if FF_API_OLD_FILTER_REGISTER 
  978 void avfilter_uninit(
void);
 
 1000 #if !FF_API_NOCONST_GET_NAME 
 1012 #if FF_API_OLD_FILTER_REGISTER 
 1024 #if FF_API_AVFILTER_OPEN 
 1040 #if FF_API_AVFILTER_INIT_FILTER 
 1107                            unsigned filt_srcpad_idx, 
unsigned filt_dstpad_idx);
 
 1109 #if FF_API_AVFILTERBUFFER 
 1117 int avfilter_copy_frame_props(AVFilterBufferRef *dst, 
const AVFrame *
src);
 
 1126 int avfilter_copy_buf_props(
AVFrame *dst, 
const AVFilterBufferRef *
src);
 
 1165                                     void *
arg, 
int *
ret, 
int nb_jobs);
 
 1169 #if FF_API_FOO_COUNT 
 1171     unsigned filter_count_unused;
 
 1174 #if !FF_API_FOO_COUNT 
 1180 #if FF_API_FOO_COUNT 
 1279 #if FF_API_AVFILTER_OPEN 
 1307                                  const char *
name, 
const char *
args, 
void *opaque,
 
 1376 #if AV_HAVE_INCOMPATIBLE_LIBAV_ABI || !FF_API_OLD_GRAPH_PARSE