Go to the source code of this file.
|
int attribute_align_arg | av_buffersink_get_frame (AVFilterContext *ctx, AVFrame *frame) |
| Get a frame with filtered data from sink and put it in frame. More...
|
|
static int | return_or_keep_frame (BufferSinkContext *buf, AVFrame *out, AVFrame *in, int flags) |
|
static int | get_frame_internal (AVFilterContext *ctx, AVFrame *frame, int flags, int samples) |
|
int attribute_align_arg | av_buffersink_get_frame_flags (AVFilterContext *ctx, AVFrame *frame, int flags) |
| Get a frame with filtered data from sink and put it in frame. More...
|
|
int attribute_align_arg | av_buffersink_get_samples (AVFilterContext *ctx, AVFrame *frame, int nb_samples) |
| Same as av_buffersink_get_frame(), but with the ability to specify the number of samples read. More...
|
|
static av_cold int | common_init (AVFilterContext *ctx) |
|
static int | init_video (AVFilterContext *ctx) |
|
static int | init_audio (AVFilterContext *ctx) |
|
static void | uninit (AVFilterContext *ctx) |
|
static int | activate (AVFilterContext *ctx) |
|
static int | config_input_audio (AVFilterLink *inlink) |
|
void | av_buffersink_set_frame_size (AVFilterContext *ctx, unsigned frame_size) |
| Set the frame size for an audio buffer sink. More...
|
|
AVRational | av_buffersink_get_frame_rate (const AVFilterContext *ctx) |
|
AVBufferRef * | av_buffersink_get_hw_frames_ctx (const AVFilterContext *ctx) |
|
int | av_buffersink_get_channels (const AVFilterContext *ctx) |
|
int | av_buffersink_get_ch_layout (const AVFilterContext *ctx, AVChannelLayout *out) |
|
static int | vsink_query_formats (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out) |
|
static int | asink_query_formats (const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out) |
|
| AVFILTER_DEFINE_CLASS (buffersink) |
|
| AVFILTER_DEFINE_CLASS (abuffersink) |
|
buffer sink
Definition in file buffersink.c.
◆ TERMINATE_ARRAY
#define TERMINATE_ARRAY |
( |
|
arr, |
|
|
|
val |
|
) |
| |
◆ MAKE_AVFILTERLINK_ACCESSOR
#define MAKE_AVFILTERLINK_ACCESSOR |
( |
|
type, |
|
|
|
field |
|
) |
| |
◆ OFFSET
◆ FLAGS [1/2]
◆ FLAGS [2/2]
◆ return_or_keep_frame()
◆ get_frame_internal()
◆ common_init()
◆ init_video()
◆ init_audio()
◆ uninit()
◆ activate()
◆ config_input_audio()
◆ vsink_query_formats()
◆ asink_query_formats()
◆ AVFILTER_DEFINE_CLASS() [1/2]
AVFILTER_DEFINE_CLASS |
( |
buffersink |
| ) |
|
◆ AVFILTER_DEFINE_CLASS() [2/2]
AVFILTER_DEFINE_CLASS |
( |
abuffersink |
| ) |
|
◆ buffersink_options
Initial value:= {
{
"colorspaces",
"array of supported color spaces",
OFFSET(colorspaces),
{
"colorranges",
"array of supported color ranges",
OFFSET(colorranges),
}
Definition at line 490 of file buffersink.c.
◆ abuffersink_options
Initial value:= {
{
"samplerates",
"array of supported sample formats",
OFFSET(samplerates),
}
Definition at line 508 of file buffersink.c.
◆ ff_vsink_buffer
Initial value:= {
.name = "buffersink",
.description =
NULL_IF_CONFIG_SMALL(
"Buffer video frames, and make them available to the end of the filter graph."),
.priv_class = &buffersink_class,
}
Definition at line 530 of file buffersink.c.
◆ inputs_audio
Initial value:= {
{
.name = "default",
},
}
Definition at line 543 of file buffersink.c.
◆ ff_asink_abuffer
Initial value:= {
.name = "abuffersink",
.description =
NULL_IF_CONFIG_SMALL(
"Buffer audio frames, and make them available to the end of the filter graph."),
.priv_class = &abuffersink_class,
}
Definition at line 551 of file buffersink.c.
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
@ AV_OPT_TYPE_SAMPLE_FMT
Underlying C type is enum AVSampleFormat.
static void uninit(AVFilterContext *ctx)
#define FILTER_INPUTS(array)
static const AVFilterPad inputs_audio[]
static int init_video(AVFilterContext *ctx)
static double val(void *priv, double ch)
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
const AVFilterPad ff_video_default_filterpad[1]
An AVFilterPad array whose only entry has name "default" and is of type AVMEDIA_TYPE_VIDEO.
void * av_realloc_array(void *ptr, size_t nmemb, size_t size)
static enum AVPixelFormat pixel_formats[]
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this field
static int activate(AVFilterContext *ctx)
@ AV_OPT_TYPE_CHLAYOUT
Underlying C type is AVChannelLayout.
int(* init)(AVBSFContext *ctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
@ AV_OPT_TYPE_FLAG_ARRAY
May be combined with another regular option type to declare an array option.
static int config_input_audio(AVFilterLink *inlink)
#define FILTER_QUERY_FUNC2(func)
static int init_audio(AVFilterContext *ctx)
static int asink_query_formats(const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)
@ AV_OPT_TYPE_INT
Underlying C type is int.
@ AV_OPT_TYPE_PIXEL_FMT
Underlying C type is enum AVPixelFormat.
static const uint16_t channel_layouts[7]
static int vsink_query_formats(const AVFilterContext *ctx, AVFilterFormatsConfig **cfg_in, AVFilterFormatsConfig **cfg_out)