vsrc_buffer.c File Reference

memory buffer source filter More...

#include "avfilter.h"
#include "buffersrc.h"
#include "vsrc_buffer.h"
#include "libavutil/imgutils.h"

Go to the source code of this file.

Data Structures

struct  BufferSourceContext

Macros

#define CHECK_PARAM_CHANGE(s, c, width, height, format)

Functions

int av_vsrc_buffer_add_frame (AVFilterContext *buffer_filter, AVFrame *frame, int64_t pts, AVRational pixel_aspect)
int av_buffersrc_buffer (AVFilterContext *s, AVFilterBufferRef *buf)
 Add a buffer to the filtergraph s.
static av_cold int init (AVFilterContext *ctx, const char *args, void *opaque)
static av_cold void uninit (AVFilterContext *ctx)
static int query_formats (AVFilterContext *ctx)
static int config_props (AVFilterLink *link)
static int request_frame (AVFilterLink *link)
static int poll_frame (AVFilterLink *link)

Variables

AVFilter avfilter_vsrc_buffer

Detailed Description

memory buffer source filter

Definition in file vsrc_buffer.c.

Macro Definition Documentation

#define CHECK_PARAM_CHANGE (   s,
  c,
  width,
  height,
  format 
)
Value:
if (c->w != width || c->h != height || c->pix_fmt != format) {\
av_log(s, AV_LOG_ERROR, "Changing frame properties on the fly is not supported.\n");\
return AVERROR(EINVAL);\
}

Definition at line 39 of file vsrc_buffer.c.

Referenced by av_buffersrc_buffer(), and av_vsrc_buffer_add_frame().

Function Documentation

int av_buffersrc_buffer ( AVFilterContext s,
AVFilterBufferRef buf 
)

Add a buffer to the filtergraph s.

Parameters
bufbuffer containing frame data to be passed down the filtergraph. This function will take ownership of buf, the user must not free it.

Definition at line 72 of file vsrc_buffer.c.

Referenced by transcode_video().

int av_vsrc_buffer_add_frame ( AVFilterContext buffer_filter,
AVFrame frame,
int64_t  pts,
AVRational  pixel_aspect 
)

Definition at line 45 of file vsrc_buffer.c.

Referenced by output_packet(), and transcode_video().

static int config_props ( AVFilterLink link)
static

Definition at line 134 of file vsrc_buffer.c.

static av_cold int init ( AVFilterContext ctx,
const char *  args,
void opaque 
)
static

Definition at line 91 of file vsrc_buffer.c.

static int poll_frame ( AVFilterLink link)
static

Definition at line 165 of file vsrc_buffer.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 125 of file vsrc_buffer.c.

static int request_frame ( AVFilterLink link)
static

Definition at line 146 of file vsrc_buffer.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 117 of file vsrc_buffer.c.

Variable Documentation

AVFilter avfilter_vsrc_buffer
Initial value:
{
.name = "buffer",
.description = NULL_IF_CONFIG_SMALL("Buffer video frames, and make them accessible to the filterchain."),
.priv_size = sizeof(BufferSourceContext),
.init = init,
.inputs = (AVFilterPad[]) {{ .name = NULL }},
.outputs = (AVFilterPad[]) {{ .name = "default",
.request_frame = request_frame,
.poll_frame = poll_frame,
.config_props = config_props, },
{ .name = NULL}},
}

Definition at line 171 of file vsrc_buffer.c.

Referenced by avfilter_register_all().