FFmpeg
|
#include <filters.h>
Data Fields | |
AVFilter | p |
The public AVFilter. More... | |
uint8_t | nb_inputs |
The number of entries in the list of inputs. More... | |
uint8_t | nb_outputs |
The number of entries in the list of outputs. More... | |
uint8_t | formats_state |
This field determines the state of the formats union. More... | |
int(* | preinit )(AVFilterContext *ctx) |
Filter pre-initialization function. More... | |
int(* | init )(AVFilterContext *ctx) |
Filter initialization function. More... | |
void(* | uninit )(AVFilterContext *ctx) |
Filter uninitialization function. More... | |
union { | |
int(* query_func )(AVFilterContext *) | |
Query formats supported by the filter on its inputs and outputs. More... | |
int(* query_func2 )(const AVFilterContext *, struct AVFilterFormatsConfig **cfg_in, struct AVFilterFormatsConfig **cfg_out) | |
Same as query_func(), except this function writes the results into provided arrays. More... | |
enum AVPixelFormat * pixels_list | |
A pointer to an array of admissible pixel formats delimited by AV_PIX_FMT_NONE. More... | |
enum AVSampleFormat * samples_list | |
Analogous to pixels, but delimited by AV_SAMPLE_FMT_NONE and restricted to filters that only have AVMEDIA_TYPE_AUDIO inputs and outputs. More... | |
enum AVPixelFormat pix_fmt | |
Equivalent to { pix_fmt, AV_PIX_FMT_NONE } as pixels_list. More... | |
enum AVSampleFormat sample_fmt | |
Equivalent to { sample_fmt, AV_SAMPLE_FMT_NONE } as samples_list. More... | |
} | formats |
The state of the following union is determined by formats_state. More... | |
int | priv_size |
size of private data to allocate for the filter More... | |
int | flags_internal |
Additional flags for avfilter internal use only. More... | |
int(* | process_command )(AVFilterContext *, const char *cmd, const char *arg, char *res, int res_len, int flags) |
Make the filter instance process a command. More... | |
int(* | activate )(AVFilterContext *ctx) |
Filter activation function. More... | |
AVFilter FFFilter::p |
The public AVFilter.
See avfilter.h for it.
Definition at line 269 of file filters.h.
Referenced by ff_filter_activate().
uint8_t FFFilter::nb_inputs |
The number of entries in the list of inputs.
Definition at line 274 of file filters.h.
Referenced by avfilter_filter_pad_count(), and ff_filter_alloc().
uint8_t FFFilter::nb_outputs |
The number of entries in the list of outputs.
Definition at line 279 of file filters.h.
Referenced by avfilter_filter_pad_count(), and ff_filter_alloc().
uint8_t FFFilter::formats_state |
int(* FFFilter::preinit) (AVFilterContext *ctx) |
Filter pre-initialization function.
This callback will be called immediately after the filter context is allocated, to allow allocating and initing sub-objects.
If this callback is not NULL, the uninit callback will be called on allocation failure.
Definition at line 300 of file filters.h.
Referenced by ff_filter_alloc().
int(* FFFilter::init) (AVFilterContext *ctx) |
Filter initialization function.
This callback will be called only once during the filter lifetime, after all the options have been set, but before links between filters are established and format negotiation is done.
Basic filter initialization should be done here. Filters with dynamic inputs and/or outputs should create those inputs/outputs here based on provided options. No more changes to this filter's inputs/outputs can be done after this callback.
This callback must not assume that the filter links exist or frame parameters are known.
uninit is guaranteed to be called even if initialization fails, so this callback does not have to clean up on failure.
Definition at line 323 of file filters.h.
Referenced by avfilter_init_dict().
void(* FFFilter::uninit) (AVFilterContext *ctx) |
Filter uninitialization function.
Called only once right before the filter is freed. Should deallocate any memory held by the filter, release any buffer references, etc. It does not need to deallocate the AVFilterContext.priv memory itself.
This callback may be called even if init was not called or failed, so it must be prepared to handle such a situation.
Definition at line 335 of file filters.h.
Referenced by avfilter_free(), and ff_filter_alloc().
int(* FFFilter::query_func) (AVFilterContext *) |
Query formats supported by the filter on its inputs and outputs.
This callback is called after the filter is initialized (so the inputs and outputs are fixed), shortly before the format negotiation. This callback may be called more than once.
This callback must set AVFilterLink's outcfg.formats on every input link and incfg.formats on every output link to a list of pixel/sample formats that the filter supports on that link. For video links, this filter may also set incfg.color_spaces / outcfg.color_spaces and incfg.color_ranges / outcfg.color_ranges analogously. For audio links, this filter must also set incfg.samplerates / outcfg.samplerates and incfg.channel_layouts / outcfg.channel_layouts analogously.
This callback must never be NULL if the union is in this state.
Definition at line 377 of file filters.h.
Referenced by main().
int(* FFFilter::query_func2) (const AVFilterContext *, struct AVFilterFormatsConfig **cfg_in, struct AVFilterFormatsConfig **cfg_out) |
Same as query_func(), except this function writes the results into provided arrays.
cfg_in | array of input format configurations with as many members as the filters has inputs (NULL when there are no inputs); |
cfg_out | array of output format configurations with as many members as the filters has outputs (NULL when there are no outputs); |
Definition at line 390 of file filters.h.
Referenced by main().
enum AVPixelFormat* FFFilter::pixels_list |
A pointer to an array of admissible pixel formats delimited by AV_PIX_FMT_NONE.
The generic code will use this list to indicate that this filter supports each of these pixel formats, provided that all inputs and outputs use the same pixel format.
In addition to that the generic code will mark all inputs and all outputs as supporting all color spaces and ranges, as long as all inputs and outputs use the same color space/range.
This list must never be NULL if the union is in this state. The type of all inputs and outputs of filters using this must be AVMEDIA_TYPE_VIDEO.
enum AVSampleFormat* FFFilter::samples_list |
Analogous to pixels, but delimited by AV_SAMPLE_FMT_NONE and restricted to filters that only have AVMEDIA_TYPE_AUDIO inputs and outputs.
In addition to that the generic code will mark all inputs and all outputs as supporting all sample rates and every channel count and channel layout, as long as all inputs and outputs use the same sample rate and channel count/layout.
enum AVPixelFormat FFFilter::pix_fmt |
enum AVSampleFormat FFFilter::sample_fmt |
union { ... } FFFilter::formats |
The state of the following union is determined by formats_state.
See the documentation of enum FilterFormatsState in internal.h.
Referenced by main().
int FFFilter::priv_size |
size of private data to allocate for the filter
Definition at line 429 of file filters.h.
Referenced by ff_filter_alloc().
int FFFilter::flags_internal |
Additional flags for avfilter internal use only.
Definition at line 431 of file filters.h.
Referenced by ff_filter_config_links().
int(* FFFilter::process_command) (AVFilterContext *, const char *cmd, const char *arg, char *res, int res_len, int flags) |
Make the filter instance process a command.
cmd | the command to process, for handling simplicity all commands must be alphanumeric only |
arg | the argument for the command |
res | a buffer with size res_size where the filter(s) can return a response. This must not change when the command is not supported. |
flags | if AVFILTER_CMD_FLAG_FAST is set and the command would be time consuming then a filter should treat it like an unsupported command |
Definition at line 445 of file filters.h.
Referenced by avfilter_process_command().
int(* FFFilter::activate) (AVFilterContext *ctx) |
Filter activation function.
Called when any processing is needed from the filter, instead of any filter_frame and request_frame on pads.
The function must examine inlinks and outlinks and perform a single step of processing. If there is nothing to do, the function must do nothing and not return an error. If more steps are or may be possible, it must use ff_filter_set_ready() to schedule another activation.
Definition at line 459 of file filters.h.
Referenced by av_buffersink_get_ch_layout(), av_buffersink_get_channels(), av_buffersink_get_frame_rate(), av_buffersink_get_hw_frames_ctx(), avfilter_graph_request_oldest(), ff_filter_activate(), and ff_request_frame().