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().