libavfilter/avfilter.h File Reference

#include "libavutil/avutil.h"
#include "libavutil/log.h"
#include "libavutil/samplefmt.h"
#include "libavutil/pixfmt.h"
#include "libavutil/rational.h"
#include "libavcodec/avcodec.h"
#include <stddef.h>
#include "libavfilter/version.h"

Go to the source code of this file.

Data Structures

struct  AVFilterBuffer
 A reference-counted buffer data type used by the filter system. More...
struct  AVFilterBufferRefAudioProps
 Audio specific properties in a reference to an AVFilterBuffer. More...
struct  AVFilterBufferRefVideoProps
 Video specific properties in a reference to an AVFilterBuffer. More...
struct  AVFilterBufferRef
 A reference to an AVFilterBuffer. More...
struct  AVFilterFormats
 A list of supported formats for one end of a filter link. More...
struct  AVFilterPad
 A filter pad used for either input or output. More...
struct  AVFilter
 Filter definition. More...
struct  AVFilterContext
 An instance of a filter. More...
struct  AVFilterLink
 A link between two filters. More...

Defines

#define FF_API_OLD_VSINK_API   (LIBAVFILTER_VERSION_MAJOR < 3)
#define FF_API_OLD_ALL_FORMATS_API   (LIBAVFILTER_VERSION_MAJOR < 3)
#define AV_PERM_READ   0x01
 can read from the buffer
#define AV_PERM_WRITE   0x02
 can write to the buffer
#define AV_PERM_PRESERVE   0x04
 nobody else can overwrite the buffer
#define AV_PERM_REUSE   0x08
 can output the buffer multiple times, with the same contents each time
#define AV_PERM_REUSE2   0x10
 can output the buffer multiple times, modified each time
#define AV_PERM_NEG_LINESIZES   0x20
 the buffer requested can have negative linesizes
#define AV_PERM_ALIGN   0x40
 the buffer must be aligned
#define AVFILTER_ALIGN   16
#define AVFILTER_CMD_FLAG_ONE   1
 Stop once a filter understood the command (for target=all for example), fast filters are favored automatically.
#define AVFILTER_CMD_FLAG_FAST   2
 Only execute command when its fast (like a video out that supports contrast adjustment in hw).

Typedefs

typedef struct AVFilterContext AVFilterContext
typedef struct AVFilterLink AVFilterLink
typedef struct AVFilterPad AVFilterPad

Enumerations

enum  AVFilterPacking { AVFILTER_PACKED = 0, AVFILTER_PLANAR }

Functions

unsigned avfilter_version (void)
 Return the LIBAVFILTER_VERSION_INT constant.
const char * avfilter_configuration (void)
 Return the libavfilter build-time configuration.
const char * avfilter_license (void)
 Return the libavfilter license.
void avfilter_copy_buffer_ref_props (AVFilterBufferRef *dst, AVFilterBufferRef *src)
 Copy properties of src to dst, without copying the actual data.
AVFilterBufferRefavfilter_ref_buffer (AVFilterBufferRef *ref, int pmask)
 Add a new reference to a buffer.
void avfilter_unref_buffer (AVFilterBufferRef *ref)
 Remove a reference to a buffer.
void avfilter_unref_bufferp (AVFilterBufferRef **ref)
 Remove a reference to a buffer and set the pointer to NULL.
AVFilterFormatsavfilter_make_format_list (const int *fmts)
 Create a list of supported formats.
int avfilter_add_format (AVFilterFormats **avff, int64_t fmt)
 Add fmt to the list of media formats contained in *avff.
attribute_deprecated
AVFilterFormats
avfilter_all_formats (enum AVMediaType type)
AVFilterFormatsavfilter_make_all_formats (enum AVMediaType type)
 Return a list of all formats supported by FFmpeg for the given media type.
AVFilterFormatsavfilter_make_all_packing_formats (void)
 Return a list of all audio packing formats.
AVFilterFormatsavfilter_merge_formats (AVFilterFormats *a, AVFilterFormats *b)
 Return a format list which contains the intersection of the formats of a and b.
void avfilter_formats_ref (AVFilterFormats *formats, AVFilterFormats **ref)
 Add *ref as a new reference to formats.
void avfilter_formats_unref (AVFilterFormats **ref)
 If *ref is non-NULL, remove *ref as a reference to the format list it currently points to, deallocates that list if this was the last reference, and sets *ref to NULL.
void avfilter_formats_changeref (AVFilterFormats **oldref, AVFilterFormats **newref)
 Before After ________ ________ |formats |<---------.
attribute_deprecated void avfilter_default_start_frame (AVFilterLink *link, AVFilterBufferRef *picref)
 default handler for start_frame() for video inputs
attribute_deprecated void avfilter_default_draw_slice (AVFilterLink *link, int y, int h, int slice_dir)
 default handler for draw_slice() for video inputs
attribute_deprecated void avfilter_default_end_frame (AVFilterLink *link)
 default handler for end_frame() for video inputs
attribute_deprecated
AVFilterBufferRef
avfilter_default_get_video_buffer (AVFilterLink *link, int perms, int w, int h)
 default handler for get_video_buffer() for video inputs
attribute_deprecated int avfilter_default_query_formats (AVFilterContext *ctx)
 Default handler for query_formats().
void avfilter_set_common_formats (AVFilterContext *ctx, AVFilterFormats *formats)
 Helpers for query_formats() which set all links to the same list of formats/layouts.
void avfilter_set_common_pixel_formats (AVFilterContext *ctx, AVFilterFormats *formats)
void avfilter_set_common_sample_formats (AVFilterContext *ctx, AVFilterFormats *formats)
void avfilter_set_common_channel_layouts (AVFilterContext *ctx, AVFilterFormats *formats)
void avfilter_set_common_packing_formats (AVFilterContext *ctx, AVFilterFormats *formats)
attribute_deprecated void avfilter_null_start_frame (AVFilterLink *link, AVFilterBufferRef *picref)
 start_frame() handler for filters which simply pass video along
attribute_deprecated void avfilter_null_draw_slice (AVFilterLink *link, int y, int h, int slice_dir)
 draw_slice() handler for filters which simply pass video along
attribute_deprecated void avfilter_null_end_frame (AVFilterLink *link)
 end_frame() handler for filters which simply pass video along
attribute_deprecated
AVFilterBufferRef
avfilter_null_get_video_buffer (AVFilterLink *link, int perms, int w, int h)
 get_video_buffer() handler for filters which simply pass video along
int avfilter_link (AVFilterContext *src, unsigned srcpad, AVFilterContext *dst, unsigned dstpad)
 Link two filters together.
void avfilter_link_free (AVFilterLink **link)
 Free the link in *link, and set its pointer to NULL.
int avfilter_config_links (AVFilterContext *filter)
 Negotiate the media format, dimensions, etc of all inputs to a filter.
AVFilterBufferRefavfilter_get_video_buffer (AVFilterLink *link, int perms, int w, int h)
 Request a picture buffer with a specific set of permissions.
AVFilterBufferRefavfilter_get_video_buffer_ref_from_arrays (uint8_t *const data[4], const int linesize[4], int perms, int w, int h, enum PixelFormat format)
 Create a buffer reference wrapped around an already allocated image buffer.
AVFilterBufferRefavfilter_get_audio_buffer_ref_from_arrays (uint8_t **data, int linesize, int perms, int nb_samples, enum AVSampleFormat sample_fmt, uint64_t channel_layout)
 Create an audio buffer reference wrapped around an already allocated samples buffer.
int avfilter_request_frame (AVFilterLink *link)
 Request an input frame from the filter at the other end of the link.
int avfilter_poll_frame (AVFilterLink *link)
 Poll a frame from the filter chain.
void avfilter_start_frame (AVFilterLink *link, AVFilterBufferRef *picref)
 Notify the next filter of the start of a frame.
void avfilter_end_frame (AVFilterLink *link)
 Notify the next filter that the current frame has finished.
void avfilter_draw_slice (AVFilterLink *link, int y, int h, int slice_dir)
 Send a slice to the next filter.
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.
void avfilter_register_all (void)
 Initialize the filter system.
void avfilter_uninit (void)
 Uninitialize the filter system.
int avfilter_register (AVFilter *filter)
 Register a filter.
AVFilteravfilter_get_by_name (const char *name)
 Get a filter definition matching the given name.
AVFilter ** av_filter_next (AVFilter **filter)
 If filter is NULL, returns a pointer to the first registered filter pointer, if filter is non-NULL, returns the next pointer after filter.
int avfilter_open (AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name)
 Create a filter instance.
int avfilter_init_filter (AVFilterContext *filter, const char *args, void *opaque)
 Initialize a filter.
void avfilter_free (AVFilterContext *filter)
 Free a filter context.
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.
void avfilter_insert_pad (unsigned idx, unsigned *count, size_t padidx_off, AVFilterPad **pads, AVFilterLink ***links, AVFilterPad *newpad)
 Insert a new pad.
static void avfilter_insert_inpad (AVFilterContext *f, unsigned index, AVFilterPad *p)
 Insert a new input pad for the filter.
static void avfilter_insert_outpad (AVFilterContext *f, unsigned index, AVFilterPad *p)
 Insert a new output pad for the filter.

Variables

const int64_t avfilter_all_channel_layouts []
 A list of all channel layouts supported by libavfilter.


Define Documentation

#define AV_PERM_ALIGN   0x40

the buffer must be aligned

Definition at line 111 of file avfilter.h.

Referenced by get_video_buffer(), and start_frame().

#define AV_PERM_NEG_LINESIZES   0x20

the buffer requested can have negative linesizes

Definition at line 110 of file avfilter.h.

Referenced by avfilter_start_frame(), ff_get_ref_perms_string(), get_video_buffer(), and start_frame().

#define AV_PERM_PRESERVE   0x04

nobody else can overwrite the buffer

Definition at line 107 of file avfilter.h.

Referenced by decode_video(), ff_get_ref_perms_string(), filter_samples(), return_frame(), and start_frame().

#define AV_PERM_READ   0x01

#define AV_PERM_REUSE   0x08

can output the buffer multiple times, with the same contents each time

Definition at line 108 of file avfilter.h.

Referenced by ff_get_ref_perms_string(), return_frame(), and start_frame().

#define AV_PERM_REUSE2   0x10

can output the buffer multiple times, modified each time

Definition at line 109 of file avfilter.h.

Referenced by ff_get_ref_perms_string(), and vf_next_put_image().

#define AV_PERM_WRITE   0x02

#define AVFILTER_ALIGN   16

Definition at line 113 of file avfilter.h.

Referenced by get_video_buffer().

#define AVFILTER_CMD_FLAG_FAST   2

Only execute command when its fast (like a video out that supports contrast adjustment in hw).

Definition at line 884 of file avfilter.h.

Referenced by avfilter_graph_send_command().

#define AVFILTER_CMD_FLAG_ONE   1

Stop once a filter understood the command (for target=all for example), fast filters are favored automatically.

Definition at line 883 of file avfilter.h.

Referenced by avfilter_graph_queue_command(), avfilter_graph_send_command(), and transcode().

#define FF_API_OLD_ALL_FORMATS_API   (LIBAVFILTER_VERSION_MAJOR < 3)

Definition at line 37 of file avfilter.h.

#define FF_API_OLD_VSINK_API   (LIBAVFILTER_VERSION_MAJOR < 3)

Definition at line 34 of file avfilter.h.


Typedef Documentation

Definition at line 60 of file avfilter.h.

typedef struct AVFilterLink AVFilterLink

Definition at line 61 of file avfilter.h.

typedef struct AVFilterPad AVFilterPad

Definition at line 62 of file avfilter.h.


Enumeration Type Documentation

Enumerator:
AVFILTER_PACKED 
AVFILTER_PLANAR 

Definition at line 638 of file avfilter.h.


Function Documentation

AVFilter** av_filter_next ( AVFilter **  filter  ) 

If filter is NULL, returns a pointer to the first registered filter pointer, if filter is non-NULL, returns the next pointer after filter.

If the returned pointer points to NULL, the last registered filter was already reached.

Definition at line 350 of file avfilter.c.

Referenced by opt_filters().

int avfilter_add_format ( AVFilterFormats **  avff,
int64_t  fmt 
)

Add fmt to the list of media formats contained in *avff.

If *avff is NULL the function allocates the filter formats struct and puts its pointer in *avff.

Returns:
a non negative value in case of success, or a negative value corresponding to an AVERROR code in case of error

Definition at line 253 of file formats.c.

Referenced by avfilter_make_all_formats(), init(), query_formats(), and reduce_formats_on_filter().

attribute_deprecated AVFilterFormats* avfilter_all_formats ( enum AVMediaType  type  ) 

Deprecated:
Use avfilter_make_all_formats() instead.

Definition at line 264 of file formats.c.

Referenced by ff_default_query_formats(), and query_formats().

int avfilter_config_links ( AVFilterContext filter  ) 

Negotiate the media format, dimensions, etc of all inputs to a filter.

Parameters:
filter the filter to negotiate the properties for its inputs
Returns:
zero on successful negotiation

Definition at line 158 of file avfilter.c.

Referenced by avfilter_config_links(), and ff_avfilter_graph_config_links().

const char* avfilter_configuration ( void   ) 

Return the libavfilter build-time configuration.

Definition at line 39 of file avfilter.c.

void avfilter_copy_buffer_ref_props ( AVFilterBufferRef dst,
AVFilterBufferRef src 
)

Copy properties of src to dst, without copying the actual data.

Definition at line 237 of file buffer.c.

Referenced by avfilter_start_frame(), copy_buffer_ref(), default_start_frame(), end_frame(), filter_samples(), return_frame(), and start_frame().

attribute_deprecated void avfilter_default_draw_slice ( AVFilterLink link,
int  y,
int  h,
int  slice_dir 
)

default handler for draw_slice() for video inputs

Definition at line 369 of file video.c.

attribute_deprecated void avfilter_default_end_frame ( AVFilterLink link  ) 

default handler for end_frame() for video inputs

Definition at line 365 of file video.c.

Referenced by end_frame().

attribute_deprecated AVFilterBufferRef* avfilter_default_get_video_buffer ( AVFilterLink link,
int  perms,
int  w,
int  h 
)

default handler for get_video_buffer() for video inputs

Definition at line 357 of file video.c.

Referenced by get_video_buffer().

attribute_deprecated int avfilter_default_query_formats ( AVFilterContext ctx  ) 

Default handler for query_formats().

Definition at line 538 of file formats.c.

attribute_deprecated void avfilter_default_start_frame ( AVFilterLink link,
AVFilterBufferRef picref 
)

default handler for start_frame() for video inputs

Definition at line 361 of file video.c.

void avfilter_draw_slice ( AVFilterLink link,
int  y,
int  h,
int  slice_dir 
)

Send a slice to the next filter.

Slices have to be provided in sequential order, either in top-bottom or bottom-top order. If slices are provided in non-sequential order the behavior of the function is undefined.

Parameters:
link the output link over which the frame is being sent
y offset in pixels from the top of the image for this slice
h height of this slice in pixels
slice_dir the assumed direction for sending slices, from the top slice to the bottom slice if the value is 1, from the bottom slice to the top slice if the value is -1, for other values the behavior of the function is undefined.

Definition at line 315 of file video.c.

Referenced by color_request_frame(), default_draw_slice(), draw_send_bar_slice(), draw_slice(), end_frame(), end_last_frame(), ff_null_draw_slice(), request_frame(), return_frame(), and vf_next_put_image().

void avfilter_end_frame ( AVFilterLink link  ) 

Notify the next filter that the current frame has finished.

Parameters:
link the output link the frame was sent over

Definition at line 282 of file video.c.

Referenced by color_request_frame(), default_end_frame(), end_frame(), end_last_frame(), ff_null_end_frame(), request_frame(), return_frame(), and vf_next_put_image().

void avfilter_formats_changeref ( AVFilterFormats **  oldref,
AVFilterFormats **  newref 
)

Before After ________ ________ |formats |<---------.

|formats |<---------. | ____ | ___|___ | ____ | ___|___ | |refs| | | | | | |refs| | | | | NULL | |* *--------->|*oldref| | |* *--------->|*newref| ^ | |* * | | |_______| | |* * | | |_______| ___|___ | |____| | | |____| | | | | |________| |________| |*oldref| |_______|

Definition at line 397 of file formats.c.

Referenced by avfilter_insert_filter().

void avfilter_formats_ref ( AVFilterFormats formats,
AVFilterFormats **  ref 
)

Add *ref as a new reference to formats.

That is the pointers will point like in the ASCII art below: ________ |formats |<--------. | ____ | ____|___________________ | |refs| | | __|_ | |* * | | | | | | AVFilterLink | |* *--------->|*ref| | |____| | | |____| |________| |________________________

Definition at line 332 of file formats.c.

Referenced by avfilter_set_common_formats(), ff_set_common_samplerates(), query_formats(), and set_common_formats().

void avfilter_formats_unref ( AVFilterFormats **  ref  ) 

If *ref is non-NULL, remove *ref as a reference to the format list it currently points to, deallocates that list if this was the last reference, and sets *ref to NULL.

Before After ________ ________ NULL |formats |<--------. |formats | ^ | ____ | ____|________________ | ____ | ____|________________ | |refs| | | __|_ | |refs| | | __|_ | |* * | | | | | | AVFilterLink | |* * | | | | | | AVFilterLink | |* *--------->|*ref| | |* | | | |*ref| | |____| | | |____| | |____| | | |____| |________| |_____________________ |________| |_____________________

Definition at line 368 of file formats.c.

Referenced by avfilter_free(), pick_format(), and query_formats().

void avfilter_free ( AVFilterContext filter  ) 

Free a filter context.

Parameters:
filter the filter to free

Definition at line 440 of file avfilter.c.

Referenced by avfilter_graph_create_filter(), avfilter_graph_free(), avfilter_graph_parse(), avfilter_graph_parse2(), create_filter(), and main().

AVFilterBufferRef* avfilter_get_audio_buffer_ref_from_arrays ( uint8_t **  data,
int  linesize,
int  perms,
int  nb_samples,
enum AVSampleFormat  sample_fmt,
uint64_t  channel_layout 
)

Create an audio buffer reference wrapped around an already allocated samples buffer.

Parameters:
data pointers to the samples plane buffers
linesize linesize for the samples plane buffers
perms the required access permissions
nb_samples number of samples per channel
sample_fmt the format of each sample in the buffer to allocate
channel_layout the channel layout of the buffer

Definition at line 83 of file audio.c.

Referenced by av_asrc_buffer_add_samples(), avfilter_get_audio_buffer_ref_from_frame(), and ff_default_get_audio_buffer().

AVFilter* avfilter_get_by_name ( const char *  name  ) 

Get a filter definition matching the given name.

Parameters:
name the filter name to find
Returns:
the filter definition, if any matching one is registered. NULL if none found.

Definition at line 325 of file avfilter.c.

Referenced by configure_complex_filter(), configure_output_audio_filter(), configure_output_video_filter(), configure_video_filters(), create_filter(), DEF_CHOOSE_FORMAT(), init_filters(), insert_conv_filter(), lavfi_read_header(), main(), and query_formats().

AVFilterBufferRef* avfilter_get_video_buffer ( AVFilterLink link,
int  perms,
int  w,
int  h 
)

Request a picture buffer with a specific set of permissions.

Parameters:
link the output link to the filter from which the buffer will be requested
perms the required access permissions
w the minimum width of the buffer to allocate
h the minimum height of the buffer to allocate
Returns:
A reference to the buffer. This must be unreferenced with avfilter_unref_buffer when you are finished with it.

Definition at line 170 of file video.c.

Referenced by avfilter_start_frame(), color_request_frame(), copy_buffer_ref(), default_start_frame(), end_frame(), ff_null_get_video_buffer(), get_video_buffer(), request_frame(), return_frame(), source_request_frame(), and start_frame().

AVFilterBufferRef* avfilter_get_video_buffer_ref_from_arrays ( uint8_t *const   data[4],
const int  linesize[4],
int  perms,
int  w,
int  h,
enum PixelFormat  format 
)

Create a buffer reference wrapped around an already allocated image buffer.

Parameters:
data pointers to the planes of the image to reference
linesize linesizes for the planes of the image to reference
perms the required access permissions
w the width of the image specified by the data and linesize arrays
h the height of the image specified by the data and linesize arrays
format the pixel format of the image specified by the data and linesize arrays

Definition at line 126 of file video.c.

Referenced by avfilter_get_video_buffer_ref_from_frame(), decode_video(), and ff_default_get_video_buffer().

int avfilter_init_filter ( AVFilterContext filter,
const char *  args,
void *  opaque 
)

Initialize a filter.

Parameters:
filter the filter to initialize
args A string of parameters to use when initializing the filter. The format and meaning of this string varies by filter.
opaque Any extra non-string data needed by the filter. The meaning of this parameter varies by filter.
Returns:
zero on success

Definition at line 490 of file avfilter.c.

Referenced by avfilter_graph_create_filter(), create_filter(), and main().

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.

Parameters:
link the link into which the filter should be inserted
filt the filter to be inserted
filt_srcpad_idx the input pad on the filter to connect
filt_dstpad_idx the output pad on the filter to connect
Returns:
zero on success

Definition at line 121 of file avfilter.c.

Referenced by insert_conv_filter(), and query_formats().

static void avfilter_insert_inpad ( AVFilterContext f,
unsigned  index,
AVFilterPad p 
) [inline, static]

Insert a new input pad for the filter.

Definition at line 987 of file avfilter.h.

Referenced by init().

static void avfilter_insert_outpad ( AVFilterContext f,
unsigned  index,
AVFilterPad p 
) [inline, static]

Insert a new output pad for the filter.

Definition at line 995 of file avfilter.h.

Referenced by split_init().

void avfilter_insert_pad ( unsigned  idx,
unsigned *  count,
size_t  padidx_off,
AVFilterPad **  pads,
AVFilterLink ***  links,
AVFilterPad newpad 
)

Insert a new pad.

Parameters:
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 59 of file avfilter.c.

Referenced by avfilter_insert_inpad(), and avfilter_insert_outpad().

const char* avfilter_license ( void   ) 

Return the libavfilter license.

Definition at line 44 of file avfilter.c.

int avfilter_link ( AVFilterContext src,
unsigned  srcpad,
AVFilterContext dst,
unsigned  dstpad 
)

Link two filters together.

Parameters:
src the source filter
srcpad index of the output pad on the source filter
dst the destination filter
dstpad index of the input pad on the destination filter
Returns:
zero on success

Definition at line 80 of file avfilter.c.

Referenced by avfilter_graph_parse(), avfilter_insert_filter(), configure_complex_filter(), configure_output_audio_filter(), configure_output_video_filter(), configure_simple_filtergraph(), configure_video_filters(), DEF_CHOOSE_FORMAT(), lavfi_read_header(), and link_filter().

void avfilter_link_free ( AVFilterLink **  link  ) 

Free the link in *link, and set its pointer to NULL.

Definition at line 110 of file avfilter.c.

Referenced by avfilter_free().

AVFilterFormats* avfilter_make_all_formats ( enum AVMediaType  type  ) 

Return a list of all formats supported by FFmpeg for the given media type.

Definition at line 270 of file formats.c.

Referenced by avfilter_all_formats(), and query_formats().

AVFilterFormats* avfilter_make_all_packing_formats ( void   ) 

Return a list of all audio packing formats.

Definition at line 296 of file formats.c.

AVFilterFormats* avfilter_make_format_list ( const int *  fmts  ) 

Create a list of supported formats.

This is intended for use in AVFilter->query_formats().

Parameters:
fmts list of media formats, terminated by -1. If NULL an empty list is created.
Returns:
the format list, with no existing references

Definition at line 216 of file formats.c.

Referenced by avfilter_make_all_packing_formats(), ff_draw_supported_pixel_formats(), and query_formats().

AVFilterFormats* avfilter_merge_formats ( AVFilterFormats a,
AVFilterFormats b 
)

Return a format list which contains the intersection of the formats of a and b.

Also, all the references of a, all the references of b, and a and b themselves will be deallocated.

If a and b do not share any common formats, neither is modified, and NULL is returned.

Definition at line 88 of file formats.c.

Referenced by insert_conv_filter(), and query_formats().

attribute_deprecated void avfilter_null_draw_slice ( AVFilterLink link,
int  y,
int  h,
int  slice_dir 
)

draw_slice() handler for filters which simply pass video along

Definition at line 385 of file video.c.

attribute_deprecated void avfilter_null_end_frame ( AVFilterLink link  ) 

end_frame() handler for filters which simply pass video along

Definition at line 381 of file video.c.

attribute_deprecated AVFilterBufferRef* avfilter_null_get_video_buffer ( AVFilterLink link,
int  perms,
int  w,
int  h 
)

get_video_buffer() handler for filters which simply pass video along

Definition at line 373 of file video.c.

attribute_deprecated void avfilter_null_start_frame ( AVFilterLink link,
AVFilterBufferRef picref 
)

start_frame() handler for filters which simply pass video along

Definition at line 377 of file video.c.

int avfilter_open ( AVFilterContext **  filter_ctx,
AVFilter filter,
const char *  inst_name 
)

Create a filter instance.

Parameters:
filter_ctx put here a pointer to the created filter context on success, NULL on failure
filter the filter to create an instance of
inst_name Name to give to the new instance. Can be NULL for none.
Returns:
>= 0 in case of success, a negative error code otherwise

Definition at line 382 of file avfilter.c.

Referenced by avfilter_graph_create_filter(), create_filter(), and main().

int avfilter_poll_frame ( AVFilterLink link  ) 

Poll a frame from the filter chain.

Parameters:
link the input link
Returns:
the number of immediately available frames, a negative number in case of error

Definition at line 281 of file avfilter.c.

Referenced by av_buffersink_poll_frame(), av_buffersink_read(), avfilter_poll_frame(), main(), and poll_frame().

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.

It is recommended to use avfilter_graph_send_command().

Definition at line 308 of file avfilter.c.

Referenced by avfilter_graph_send_command(), and avfilter_start_frame().

AVFilterBufferRef* avfilter_ref_buffer ( AVFilterBufferRef ref,
int  pmask 
)

Add a new reference to a buffer.

Parameters:
ref an existing reference to the buffer
pmask a bitmask containing the allowable permissions in the new reference
Returns:
a new reference to the buffer with the same properties as the old, excluding any permissions denied by pmask

Definition at line 39 of file buffer.c.

Referenced by color_request_frame(), default_start_frame(), end_frame(), ff_default_filter_samples(), ff_null_start_frame_keep_ref(), filter_samples(), request_frame(), source_request_frame(), start_frame(), and vf_next_put_image().

int avfilter_register ( AVFilter filter  ) 

Register a filter.

This is only needed if you plan to use avfilter_get_by_name later to lookup the AVFilter structure by name. A filter can still by instantiated with avfilter_open even if it is not registered.

Parameters:
filter the filter to register
Returns:
0 if the registration was successful, a negative value otherwise

Definition at line 336 of file avfilter.c.

Referenced by avfilter_register_all().

void avfilter_register_all ( void   ) 

Initialize the filter system.

Register all builtin filters.

Definition at line 29 of file allfilters.c.

Referenced by lavfi_read_header(), and main().

int avfilter_request_frame ( AVFilterLink link  ) 

Request an input frame from the filter at the other end of the link.

Parameters:
link the input link
Returns:
zero on success or a negative error code; in particular: AVERROR_EOF means that the end of frames have been reached; AVERROR(EAGAIN) means that no frame could be immediately produced.

Definition at line 270 of file avfilter.c.

Referenced by av_buffersink_get_buffer_ref(), av_buffersink_read(), avfilter_graph_request_oldest(), avfilter_request_frame(), poll_frame(), request_frame(), request_samples(), and start_frame().

void avfilter_set_common_channel_layouts ( AVFilterContext ctx,
AVFilterFormats formats 
)

Definition at line 66 of file defaults.c.

void avfilter_set_common_formats ( AVFilterContext ctx,
AVFilterFormats formats 
)

Helpers for query_formats() which set all links to the same list of formats/layouts.

If there are no links hooked to this filter, the list of formats is freed.

Helpers for query_formats() which set all links to the same list of formats/layouts.

If there are no links hooked to this filter, the list of formats is freed.

Definition at line 446 of file formats.c.

Referenced by ff_default_query_formats(), and query_formats().

void avfilter_set_common_packing_formats ( AVFilterContext ctx,
AVFilterFormats formats 
)

Definition at line 74 of file defaults.c.

void avfilter_set_common_pixel_formats ( AVFilterContext ctx,
AVFilterFormats formats 
)

Definition at line 52 of file defaults.c.

Referenced by query_formats().

void avfilter_set_common_sample_formats ( AVFilterContext ctx,
AVFilterFormats formats 
)

Definition at line 59 of file defaults.c.

Referenced by query_formats().

void avfilter_start_frame ( AVFilterLink link,
AVFilterBufferRef picref 
)

Notify the next filter of the start of a frame.

Parameters:
link the output link the frame will be sent over
picref A reference to the frame about to be sent. The data for this frame need only be valid once draw_slice() is called for that portion. The receiving filter will free this reference when it no longer needs it.

Definition at line 213 of file video.c.

Referenced by color_request_frame(), default_start_frame(), end_frame(), ff_null_start_frame(), ff_null_start_frame_keep_ref(), request_frame(), return_frame(), source_request_frame(), start_frame(), and vf_next_put_image().

void avfilter_uninit ( void   ) 

Uninitialize the filter system.

Unregister all filters.

Definition at line 355 of file avfilter.c.

Referenced by do_exit(), and exit_program().

void avfilter_unref_buffer ( AVFilterBufferRef ref  ) 

void avfilter_unref_bufferp ( AVFilterBufferRef **  ref  ) 

Remove a reference to a buffer and set the pointer to NULL.

If this is the last reference to the buffer, the buffer itself is also automatically freed.

Parameters:
ref pointer to the buffer reference

Definition at line 160 of file buffer.c.

Referenced by end_frame(), and uninit().

unsigned avfilter_version ( void   ) 

Return the LIBAVFILTER_VERSION_INT constant.

Definition at line 34 of file avfilter.c.


Variable Documentation

A list of all channel layouts supported by libavfilter.

Definition at line 285 of file formats.c.

Referenced by init_filters(), and lavfi_read_header().


Generated on Fri Oct 26 02:48:00 2012 for FFmpeg by  doxygen 1.5.8