FFmpeg
|
#include "libavutil/atomic.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/eval.h"
#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "libavutil/rational.h"
#include "libavutil/samplefmt.h"
#include "audio.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "libavutil/ffversion.h"
Go to the source code of this file.
Macros | |
#define | LICENSE_PREFIX "libavfilter license: " |
#define | OFFSET(x) offsetof(AVFilterContext, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM |
Enumerations | |
enum | { VAR_T, VAR_N, VAR_POS, VAR_W, VAR_H, VAR_VARS_NB } |
Functions | |
static int | ff_filter_frame_framed (AVFilterLink *link, AVFrame *frame) |
void | ff_tlog_ref (void *ctx, AVFrame *ref, int end) |
unsigned | avfilter_version (void) |
Return the LIBAVFILTER_VERSION_INT constant. More... | |
const char * | avfilter_configuration (void) |
Return the libavfilter build-time configuration. More... | |
const char * | avfilter_license (void) |
Return the libavfilter license. More... | |
void | ff_command_queue_pop (AVFilterContext *filter) |
int | ff_insert_pad (unsigned idx, unsigned *count, size_t padidx_off, AVFilterPad **pads, AVFilterLink ***links, AVFilterPad *newpad) |
Insert a new pad. More... | |
int | avfilter_link (AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad) |
Link two filters together. More... | |
void | avfilter_link_free (AVFilterLink **link) |
Free the link in *link, and set its pointer to NULL. More... | |
int | avfilter_link_get_channels (AVFilterLink *link) |
Get the number of channels of a link. More... | |
void | avfilter_link_set_closed (AVFilterLink *link, int closed) |
Set the closed field of a link. More... | |
int | avfilter_insert_filter (AVFilterLink *link, AVFilterContext *filt, unsigned filt_srcpad_idx, unsigned filt_dstpad_idx) |
Insert a filter in the middle of an existing link. More... | |
int | avfilter_config_links (AVFilterContext *filter) |
Negotiate the media format, dimensions, etc of all inputs to a filter. More... | |
void | ff_tlog_link (void *ctx, AVFilterLink *link, int end) |
int | ff_request_frame (AVFilterLink *link) |
Request an input frame from the filter at the other end of the link. More... | |
int | ff_poll_frame (AVFilterLink *link) |
Poll a frame from the filter chain. More... | |
static int | set_enable_expr (AVFilterContext *ctx, const char *expr) |
void | ff_update_link_current_pts (AVFilterLink *link, int64_t pts) |
int | avfilter_process_command (AVFilterContext *filter, const char *cmd, const char *arg, char *res, int res_len, int flags) |
Make the filter instance process a command. More... | |
const AVFilter * | avfilter_get_by_name (const char *name) |
Get a filter definition matching the given name. More... | |
int | avfilter_register (AVFilter *filter) |
Register a filter. More... | |
const AVFilter * | avfilter_next (const AVFilter *prev) |
Iterate over all registered filters. More... | |
int | avfilter_pad_count (const AVFilterPad *pads) |
Get the number of elements in a NULL-terminated array of AVFilterPads (e.g. More... | |
static const char * | default_filter_name (void *filter_ctx) |
static void * | filter_child_next (void *obj, void *prev) |
static const AVClass * | filter_child_class_next (const AVClass *prev) |
static int | default_execute (AVFilterContext *ctx, avfilter_action_func *func, void *arg, int *ret, int nb_jobs) |
AVFilterContext * | ff_filter_alloc (const AVFilter *filter, const char *inst_name) |
Allocate a new filter context and return it. More... | |
static void | free_link (AVFilterLink *link) |
void | avfilter_free (AVFilterContext *filter) |
Free a filter context. More... | |
static int | process_options (AVFilterContext *ctx, AVDictionary **options, const char *args) |
int | avfilter_init_dict (AVFilterContext *ctx, AVDictionary **options) |
Initialize a filter with the supplied dictionary of options. More... | |
int | avfilter_init_str (AVFilterContext *filter, const char *args) |
Initialize a filter with the supplied parameters. More... | |
const char * | avfilter_pad_get_name (const AVFilterPad *pads, int pad_idx) |
Get the name of an AVFilterPad. More... | |
enum AVMediaType | avfilter_pad_get_type (const AVFilterPad *pads, int pad_idx) |
Get the type of an AVFilterPad. More... | |
static int | default_filter_frame (AVFilterLink *link, AVFrame *frame) |
static int | ff_filter_frame_needs_framing (AVFilterLink *link, AVFrame *frame) |
int | ff_filter_frame (AVFilterLink *link, AVFrame *frame) |
Send a frame of data to the next filter. More... | |
const AVClass * | avfilter_get_class (void) |
Variables | |
const char | av_filter_ffversion [] = "FFmpeg version " FFMPEG_VERSION |
static const char *const | var_names [] |
static AVFilter * | first_filter |
static AVFilter ** | last_filter = &first_filter |
static const AVOption | avfilter_options [] |
static const AVClass | avfilter_class |
#define LICENSE_PREFIX "libavfilter license: " |
Referenced by avfilter_license().
#define OFFSET | ( | x | ) | offsetof(AVFilterContext, x) |
Definition at line 589 of file avfilter.c.
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 590 of file avfilter.c.
anonymous enum |
Enumerator | |
---|---|
VAR_T | |
VAR_N | |
VAR_POS | |
VAR_W | |
VAR_H | |
VAR_VARS_NB |
Definition at line 401 of file avfilter.c.
|
static |
Definition at line 1019 of file avfilter.c.
Referenced by ff_filter_frame(), ff_filter_frame_needs_framing(), and ff_request_frame().
Definition at line 45 of file avfilter.c.
Referenced by ff_filter_frame().
void ff_command_queue_pop | ( | AVFilterContext * | filter | ) |
Definition at line 90 of file avfilter.c.
Referenced by avfilter_free(), and ff_filter_frame_framed().
int ff_insert_pad | ( | unsigned | idx, |
unsigned * | count, | ||
size_t | padidx_off, | ||
AVFilterPad ** | pads, | ||
AVFilterLink *** | links, | ||
AVFilterPad * | newpad | ||
) |
Insert a new pad.
idx | Insertion point. Pad is inserted at the end if this point is beyond the end of the list of pads. |
count | Pointer to the number of pads in the list |
padidx_off | Offset within an AVFilterLink structure to the element to increment when inserting a new pad causes link numbering to change |
pads | Pointer to the pointer to the beginning of the list of pads |
links | Pointer to the pointer to the beginning of the list of links |
newpad | The new pad to add. A copy is made when adding. |
Definition at line 99 of file avfilter.c.
Referenced by ff_insert_inpad(), and ff_insert_outpad().
void ff_tlog_link | ( | void * | ctx, |
AVFilterLink * | link, | ||
int | end | ||
) |
Definition at line 319 of file avfilter.c.
Referenced by ff_filter_frame(), ff_get_video_buffer(), and ff_request_frame().
int ff_request_frame | ( | AVFilterLink * | link | ) |
Request an input frame from the filter at the other end of the link.
The input filter may pass the request on to its inputs, fulfill the request from an internal buffer or any other means specific to its function.
When the end of a stream is reached AVERROR_EOF is returned and no further frames are returned after that.
When a filter is unable to output a frame for example due to its sources being unable to do so or because it depends on external means pushing data into it then AVERROR(EAGAIN) is returned. It is important that a AVERROR(EAGAIN) return is returned all the way to the caller (generally eventually a user application) as this step may (but does not have to be) necessary to provide the input with the next frame.
If a request is successful then the filter_frame() function will be called at least once before ff_request_frame() returns
link | the input link |
Definition at line 343 of file avfilter.c.
Referenced by av_buffersink_get_frame_flags(), avfilter_graph_request_oldest(), ff_framesync_request_frame(), ff_request_frame(), join_request_frame(), request_frame(), request_frame_ref(), request_inlink(), request_samples(), and return_audio_frame().
int ff_poll_frame | ( | AVFilterLink * | link | ) |
Poll a frame from the filter chain.
link | the input link |
Definition at line 374 of file avfilter.c.
Referenced by ff_poll_frame().
|
static |
Definition at line 410 of file avfilter.c.
Referenced by avfilter_process_command(), and process_options().
void ff_update_link_current_pts | ( | AVFilterLink * | link, |
int64_t | pts | ||
) |
Definition at line 450 of file avfilter.c.
Referenced by ff_filter_frame_framed().
|
static |
Definition at line 554 of file avfilter.c.
Definition at line 560 of file avfilter.c.
Definition at line 568 of file avfilter.c.
|
static |
Definition at line 609 of file avfilter.c.
Referenced by ff_filter_alloc().
AVFilterContext* ff_filter_alloc | ( | const AVFilter * | filter, |
const char * | inst_name | ||
) |
Allocate a new filter context and return it.
filter | what filter to create an instance of |
inst_name | name to give to the new filter context |
Definition at line 622 of file avfilter.c.
Referenced by avfilter_graph_alloc_filter().
|
static |
Definition at line 704 of file avfilter.c.
Referenced by avfilter_free().
|
static |
Definition at line 763 of file avfilter.c.
Referenced by avfilter_init_str().
|
static |
Definition at line 1014 of file avfilter.c.
Referenced by ff_filter_frame_framed().
|
static |
Definition at line 1116 of file avfilter.c.
Referenced by ff_filter_frame().
int ff_filter_frame | ( | AVFilterLink * | link, |
AVFrame * | frame | ||
) |
Send a frame of data to the next filter.
link | the output link over which the data is being sent |
frame | a reference to the buffer of data being sent. The receiving filter will free this reference when it no longer needs it or pass it on to the next filter. |
Definition at line 1158 of file avfilter.c.
Referenced by channelmap_filter_frame(), compand_delay(), compand_nodelay(), default_filter_frame(), end_last_frame(), filter(), filter_frame(), filter_frame_ref(), flush(), geq_filter_frame(), join_request_frame(), movie_push_frame(), output_frame(), plot_cqt(), plot_freqs(), plot_spectrum_column(), pp_filter_frame(), process_frame(), process_work_frame(), push_frame(), push_samples(), request_frame(), return_audio_frame(), return_frame(), send_out(), send_silence(), and shuffleplanes_filter_frame().
const char av_filter_ffversion[] = "FFmpeg version " FFMPEG_VERSION |
Definition at line 41 of file avfilter.c.
|
static |
Definition at line 392 of file avfilter.c.
Referenced by set_enable_expr().
|
static |
Definition at line 481 of file avfilter.c.
Referenced by avfilter_next().
|
static |
Definition at line 482 of file avfilter.c.
Referenced by avfilter_register(), configure_input_audio_filter(), configure_input_video_filter(), configure_output_audio_filter(), and configure_output_video_filter().
|
static |
Definition at line 591 of file avfilter.c.
|
static |
Definition at line 599 of file avfilter.c.
Referenced by avfilter_get_class(), and ff_filter_alloc().