FFmpeg
Public Attributes | List of all members
AVFilterContext Struct Reference

An instance of a filter. More...

#include <avfilter.h>

Public Attributes

const AVClassav_class
 needed for av_log() and filters common options
 
const AVFilterfilter
 the AVFilter of which this is an instance
 
char * name
 name of this filter instance
 
AVFilterPadinput_pads
 array of input pads
 
AVFilterLink ** inputs
 array of pointers to input links
 
unsigned nb_inputs
 number of input pads
 
AVFilterPadoutput_pads
 array of output pads
 
AVFilterLink ** outputs
 array of pointers to output links
 
unsigned nb_outputs
 number of output pads
 
void * priv
 private data for use by the filter
 
struct AVFilterGraphgraph
 filtergraph this filter belongs to
 
int thread_type
 Type of multithreading being allowed/used. More...
 
AVFilterInternalinternal
 An opaque struct for libavfilter internal use.
 
struct AVFilterCommandcommand_queue
 
char * enable_str
 enable expression string
 
void * enable
 parsed expression (AVExpr*)
 
double * var_values
 variable values for the enable expression
 
int is_disabled
 the enabled state from the last expression evaluation
 
AVBufferRefhw_device_ctx
 For filters which will create hardware frames, sets the device the filter should create them in. More...
 
int nb_threads
 Max number of threads allowed in this filter instance. More...
 
unsigned ready
 Ready status of the filter. More...
 
int extra_hw_frames
 Sets the number of extra hardware frames which the filter will allocate on its output links for use in following filters or by the caller. More...
 

Detailed Description

An instance of a filter.

Member Data Documentation

§ extra_hw_frames

int AVFilterContext::extra_hw_frames

Sets the number of extra hardware frames which the filter will allocate on its output links for use in following filters or by the caller.

Some hardware filters require all frames that they will use for output to be defined in advance before filtering starts. For such filters, any hardware frame pools used for output must therefore be of fixed size. The extra frames set here are on top of any number that the filter needs internally in order to operate normally.

This field must be set before the graph containing this filter is configured.

§ hw_device_ctx

AVBufferRef* AVFilterContext::hw_device_ctx

For filters which will create hardware frames, sets the device the filter should create them in.

All other filters will ignore this field: in particular, a filter which consumes or processes hardware frames will instead use the hw_frames_ctx field in AVFilterLink to carry the hardware context information.

§ nb_threads

int AVFilterContext::nb_threads

Max number of threads allowed in this filter instance.

If <= 0, its value is ignored. Overrides global number of threads set per filter graph.

§ ready

unsigned AVFilterContext::ready

Ready status of the filter.

A non-0 value means that the filter needs activating; a higher value suggests a more urgent activation.

§ thread_type

int AVFilterContext::thread_type

Type of multithreading being allowed/used.

A combination of AVFILTER_THREAD_* flags.

May be set by the caller before initializing the filter to forbid some or all kinds of multithreading for this filter. The default is allowing everything.

When the filter is initialized, this field is combined using bit AND with AVFilterGraph.thread_type to get the final mask used for determining allowed threading types. I.e. a threading type needs to be set in both to be allowed.

After the filter is initialized, libavfilter sets this field to the threading type that is actually used (0 for no multithreading).


The documentation for this struct was generated from the following file: