FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
AVFilterBuffer Struct Reference

A reference-counted buffer data type used by the filter system. More...

#include <avfilter.h>

Data Fields

uint8_tdata [8]
 buffer data for each plane/channel
 
uint8_t ** extended_data
 pointers to the data planes/channels.
 
int linesize [8]
 number of bytes per line
 
voidpriv
 private data to be used by a custom free function
 
void(* free )(struct AVFilterBuffer *buf)
 A pointer to the function to deallocate this buffer if the default function is not sufficient.
 
int format
 media format
 
int w
 
int h
 width and height of the allocated buffer
 
unsigned refcount
 number of references to this buffer
 

Detailed Description

A reference-counted buffer data type used by the filter system.

Filters should not store pointers to this structure directly, but instead use the AVFilterBufferRef structure below.

Definition at line 77 of file avfilter.h.

Field Documentation

uint8_t* AVFilterBuffer::data[8]
uint8_t** AVFilterBuffer::extended_data

pointers to the data planes/channels.

For video, this should simply point to data[].

For planar audio, each channel has a separate data pointer, and linesize[0] contains the size of each channel buffer. For packed audio, there is just one data pointer, and linesize[0] contains the total size of the buffer for all channels.

Note: Both data and extended_data will always be set, but for planar audio with more channels that can fit in data, extended_data must be used in order to access all channels.

Definition at line 94 of file avfilter.h.

Referenced by avfilter_get_audio_buffer_ref_from_arrays_channels(), ff_avfilter_default_free_buffer(), ff_copy_buffer_ref(), and join_free_buffer().

int AVFilterBuffer::linesize[8]
void* AVFilterBuffer::priv

private data to be used by a custom free function

Definition at line 98 of file avfilter.h.

Referenced by decode_video(), ff_default_get_video_buffer(), filter_release_buffer(), join_free_buffer(), join_request_frame(), store_in_pool(), and video_thread().

void(* AVFilterBuffer::free)(struct AVFilterBuffer *buf)

A pointer to the function to deallocate this buffer if the default function is not sufficient.

This could, for example, add the memory back into a memory pool to be reused later without the overhead of reallocating it from scratch.

Definition at line 105 of file avfilter.h.

Referenced by av_asrc_buffer_add_samples(), avfilter_get_audio_buffer_ref_from_arrays_channels(), avfilter_get_video_buffer_ref_from_arrays(), avfilter_unref_buffer(), decode_video(), ff_default_get_video_buffer(), ff_vf_next_put_image(), join_request_frame(), and video_thread().

int AVFilterBuffer::format
int AVFilterBuffer::w
int AVFilterBuffer::h

width and height of the allocated buffer

Definition at line 108 of file avfilter.h.

Referenced by avfilter_get_video_buffer_ref_from_arrays(), does_clip(), ff_default_get_video_buffer(), ff_vf_next_put_image(), and filter_frame().

unsigned AVFilterBuffer::refcount

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