FFmpeg 5.1.6
Data Structures | Macros | Typedefs | Enumerations | Functions
avfilter.h File Reference

Main libavfilter public API header. More...

#include <stddef.h>
#include "libavutil/attributes.h"
#include "libavutil/avutil.h"
#include "libavutil/buffer.h"
#include "libavutil/dict.h"
#include "libavutil/frame.h"
#include "libavutil/log.h"
#include "libavutil/samplefmt.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libavfilter/version_major.h"
#include "libavfilter/version.h"

Go to the source code of this file.

Data Structures

struct  AVFilter
 Filter definition. More...
 
struct  AVFilterContext
 An instance of a filter. More...
 
struct  AVFilterFormatsConfig
 Lists of formats / etc. More...
 
struct  AVFilterLink
 A link between two filters. More...
 
struct  AVFilterGraph
 
struct  AVFilterInOut
 A linked-list of the inputs/outputs of the filter chain. More...
 

Macros

#define AVFILTER_FLAG_DYNAMIC_INPUTS   (1 << 0)
 The number of the filter inputs is not determined just by AVFilter.inputs. More...
 
#define AVFILTER_FLAG_DYNAMIC_OUTPUTS   (1 << 1)
 The number of the filter outputs is not determined just by AVFilter.outputs. More...
 
#define AVFILTER_FLAG_SLICE_THREADS   (1 << 2)
 The filter supports multithreading by splitting frames into multiple parts and processing them concurrently. More...
 
#define AVFILTER_FLAG_METADATA_ONLY   (1 << 3)
 The filter is a "metadata" filter - it does not modify the frame data in any way. More...
 
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC   (1 << 16)
 Some filters support a generic "enable" expression option that can be used to enable or disable a filter in the timeline. More...
 
#define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL   (1 << 17)
 Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() callback(s) called as usual even when the enable expression is false. More...
 
#define AVFILTER_FLAG_SUPPORT_TIMELINE   (AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC | AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL)
 Handy mask to test whether the filter supports or no the timeline feature (internally or generically). More...
 
#define AVFILTER_THREAD_SLICE   (1 << 0)
 Process multiple parts of the frame concurrently. More...
 
#define AVFILTER_CMD_FLAG_ONE   1
 Stop once a filter understood the command (for target=all for example), fast filters are favored automatically. More...
 
#define AVFILTER_CMD_FLAG_FAST   2
 Only execute command when its fast (like a video out that supports contrast adjustment in hw) More...
 

Typedefs

typedef struct AVFilterPad AVFilterPad
 
typedef struct AVFilterFormats AVFilterFormats
 
typedef struct AVFilterChannelLayouts AVFilterChannelLayouts
 
typedef struct AVFilterInternal AVFilterInternal
 
typedef struct AVFilterGraphInternal AVFilterGraphInternal
 
typedef int() avfilter_action_func(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
 A function pointer passed to the AVFilterGraph::execute callback to be executed multiple times, possibly in parallel. More...
 
typedef int() avfilter_execute_func(AVFilterContext *ctx, avfilter_action_func *func, void *arg, int *ret, int nb_jobs)
 A function executing multiple jobs, possibly in parallel. More...
 

Enumerations

enum  { AVFILTER_AUTO_CONVERT_ALL = 0 , AVFILTER_AUTO_CONVERT_NONE = -1 }
 

Functions

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...
 
attribute_deprecated int avfilter_pad_count (const AVFilterPad *pads)
 Get the number of elements in an AVFilter's inputs or outputs array. 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...
 
unsigned avfilter_filter_pad_count (const AVFilter *filter, int is_output)
 Get the number of elements in an AVFilter's inputs or outputs array. 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_config_links (AVFilterContext *filter)
 Negotiate the media format, dimensions, etc of all inputs to a filter. More...
 
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 AVFilterav_filter_iterate (void **opaque)
 Iterate over all registered filters. More...
 
const AVFilteravfilter_get_by_name (const char *name)
 Get a filter definition matching the given name. More...
 
int avfilter_init_str (AVFilterContext *ctx, const char *args)
 Initialize a filter with the supplied parameters. More...
 
int avfilter_init_dict (AVFilterContext *ctx, AVDictionary **options)
 Initialize a filter with the supplied dictionary of options. More...
 
void avfilter_free (AVFilterContext *filter)
 Free a filter context. 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...
 
const AVClassavfilter_get_class (void)
 
AVFilterGraphavfilter_graph_alloc (void)
 Allocate a filter graph. More...
 
AVFilterContextavfilter_graph_alloc_filter (AVFilterGraph *graph, const AVFilter *filter, const char *name)
 Create a new filter instance in a filter graph. More...
 
AVFilterContextavfilter_graph_get_filter (AVFilterGraph *graph, const char *name)
 Get a filter instance identified by instance name from graph. More...
 
int avfilter_graph_create_filter (AVFilterContext **filt_ctx, const AVFilter *filt, const char *name, const char *args, void *opaque, AVFilterGraph *graph_ctx)
 Create and add a filter instance into an existing graph. More...
 
void avfilter_graph_set_auto_convert (AVFilterGraph *graph, unsigned flags)
 Enable or disable automatic format conversion inside the graph. More...
 
int avfilter_graph_config (AVFilterGraph *graphctx, void *log_ctx)
 Check validity and configure all the links and formats in the graph. More...
 
void avfilter_graph_free (AVFilterGraph **graph)
 Free a graph, destroy its links, and set *graph to NULL. More...
 
AVFilterInOutavfilter_inout_alloc (void)
 Allocate a single AVFilterInOut entry. More...
 
void avfilter_inout_free (AVFilterInOut **inout)
 Free the supplied list of AVFilterInOut and set *inout to NULL. More...
 
int avfilter_graph_parse (AVFilterGraph *graph, const char *filters, AVFilterInOut *inputs, AVFilterInOut *outputs, void *log_ctx)
 Add a graph described by a string to a graph. More...
 
int avfilter_graph_parse_ptr (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)
 Add a graph described by a string to a graph. More...
 
int avfilter_graph_parse2 (AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs)
 Add a graph described by a string to a graph. More...
 
int avfilter_graph_send_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, char *res, int res_len, int flags)
 Send a command to one or more filter instances. More...
 
int avfilter_graph_queue_command (AVFilterGraph *graph, const char *target, const char *cmd, const char *arg, int flags, double ts)
 Queue a command for one or more filter instances. More...
 
char * avfilter_graph_dump (AVFilterGraph *graph, const char *options)
 Dump a graph into a human-readable string representation. More...
 
int avfilter_graph_request_oldest (AVFilterGraph *graph)
 Request a frame on the oldest sink link. More...
 

Detailed Description

Main libavfilter public API header.

Definition in file avfilter.h.