vsrc_movie.c File Reference

movie video source More...

#include <float.h>
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "libavformat/avformat.h"
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  MovieContext

Macros

#define OFFSET(x)   offsetof(MovieContext, x)

Functions

static const char * movie_get_name (void *ctx)
static int movie_init (AVFilterContext *ctx)
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_output_props (AVFilterLink *outlink)
static int movie_get_frame (AVFilterLink *outlink)
static int request_frame (AVFilterLink *outlink)

Variables

static const AVOption movie_options []
static const AVClass movie_class
AVFilter avfilter_vsrc_movie

Detailed Description

movie video source

Todo:

use direct rendering (no allocation of a new frame)

support a PTS correction mechanism

support more than one output stream

Definition in file vsrc_movie.c.

Macro Definition Documentation

#define OFFSET (   x)    offsetof(MovieContext, x)

Definition at line 57 of file vsrc_movie.c.

Function Documentation

static int config_output_props ( AVFilterLink outlink)
static

Definition at line 209 of file vsrc_movie.c.

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

Definition at line 162 of file vsrc_movie.c.

static int movie_get_frame ( AVFilterLink outlink)
static

Definition at line 220 of file vsrc_movie.c.

Referenced by request_frame().

static const char* movie_get_name ( void ctx)
static

Definition at line 69 of file vsrc_movie.c.

static int movie_init ( AVFilterContext ctx)
static

Definition at line 80 of file vsrc_movie.c.

Referenced by init().

static int query_formats ( AVFilterContext ctx)
static

Definition at line 200 of file vsrc_movie.c.

static int request_frame ( AVFilterLink outlink)
static

Definition at line 277 of file vsrc_movie.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 186 of file vsrc_movie.c.

Variable Documentation

AVFilter avfilter_vsrc_movie
Initial value:
{
.name = "movie",
.description = NULL_IF_CONFIG_SMALL("Read from a movie source."),
.priv_size = sizeof(MovieContext),
.init = init,
.inputs = (AVFilterPad[]) {{ .name = NULL }},
.outputs = (AVFilterPad[]) {{ .name = "default",
.request_frame = request_frame,
.config_props = config_output_props, },
{ .name = NULL}},
}

Definition at line 298 of file vsrc_movie.c.

const AVClass movie_class
static
Initial value:
{
"MovieContext",
}

Definition at line 74 of file vsrc_movie.c.

Referenced by init().

const AVOption movie_options[]
static
Initial value:
{
{"format_name", "set format name", OFFSET(format_name), AV_OPT_TYPE_STRING, {.str = 0}, CHAR_MIN, CHAR_MAX },
{"f", "set format name", OFFSET(format_name), AV_OPT_TYPE_STRING, {.str = 0}, CHAR_MIN, CHAR_MAX },
{"stream_index", "set stream index", OFFSET(stream_index), AV_OPT_TYPE_INT, {.dbl = -1}, -1, INT_MAX },
{"si", "set stream index", OFFSET(stream_index), AV_OPT_TYPE_INT, {.dbl = -1}, -1, INT_MAX },
{"seek_point", "set seekpoint (seconds)", OFFSET(seek_point_d), AV_OPT_TYPE_DOUBLE, {.dbl = 0}, 0, (INT64_MAX-1) / 1000000 },
{"sp", "set seekpoint (seconds)", OFFSET(seek_point_d), AV_OPT_TYPE_DOUBLE, {.dbl = 0}, 0, (INT64_MAX-1) / 1000000 },
{NULL},
}

Definition at line 59 of file vsrc_movie.c.