|
|
|
@ -22,6 +22,7 @@ |
|
|
|
|
#ifndef FFMPEG_AVFILTER_H |
|
|
|
|
#define FFMPEG_AVFILTER_H |
|
|
|
|
|
|
|
|
|
#include <stddef.h> |
|
|
|
|
#include "avcodec.h" |
|
|
|
|
|
|
|
|
|
typedef struct AVFilterContext AVFilterContext; |
|
|
|
@ -240,4 +241,36 @@ void avfilter_destroy(AVFilterContext *filter); |
|
|
|
|
|
|
|
|
|
int *avfilter_make_format_list(int len, ...); |
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Insert a new pad |
|
|
|
|
* @param idx Insertion point. Pad is inserted at the end if this point |
|
|
|
|
* is beyond the end of the list of pads. |
|
|
|
|
* @param count Pointer to the number of pads in the list |
|
|
|
|
* @param padidx_off Offset within an AVFilterLink structure to the element |
|
|
|
|
* to increment when inserting a new pad causes link |
|
|
|
|
* numbering to change |
|
|
|
|
* @param pads Pointer to the pointer to the beginning of the list of pads |
|
|
|
|
* @param links Pointer to the pointer to the beginning of the list of links |
|
|
|
|
* @param newpad The new pad to add. A copy is made when adding. |
|
|
|
|
*/ |
|
|
|
|
void avfilter_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, |
|
|
|
|
AVFilterPad **pads, AVFilterLink ***links, |
|
|
|
|
AVFilterPad *newpad); |
|
|
|
|
|
|
|
|
|
/** insert a new input pad for the filter */ |
|
|
|
|
static inline void avfilter_insert_inpad(AVFilterContext *f, unsigned index, |
|
|
|
|
AVFilterPad *p) |
|
|
|
|
{ |
|
|
|
|
avfilter_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad), |
|
|
|
|
&f->input_pads, &f->inputs, p); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** insert a new output pad for the filter */ |
|
|
|
|
static inline void avfilter_insert_outpad(AVFilterContext *f, unsigned index, |
|
|
|
|
AVFilterPad *p) |
|
|
|
|
{ |
|
|
|
|
avfilter_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad), |
|
|
|
|
&f->output_pads, &f->outputs, p); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#endif /* FFMPEG_AVFILTER_H */ |
|
|
|
|