mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
Helper functions for adding new pads to filters at runtime
Commited in SoC by Bobby Bingham on 2007-08-07 22:31:56 Originally committed as revision 12093 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
85322466ef
commit
a9c81431bd
@ -22,6 +22,7 @@
|
|||||||
#ifndef FFMPEG_AVFILTER_H
|
#ifndef FFMPEG_AVFILTER_H
|
||||||
#define FFMPEG_AVFILTER_H
|
#define FFMPEG_AVFILTER_H
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
|
|
||||||
typedef struct AVFilterContext AVFilterContext;
|
typedef struct AVFilterContext AVFilterContext;
|
||||||
@ -240,4 +241,36 @@ void avfilter_destroy(AVFilterContext *filter);
|
|||||||
|
|
||||||
int *avfilter_make_format_list(int len, ...);
|
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 */
|
#endif /* FFMPEG_AVFILTER_H */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user