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}},
}
static int config_output_props(AVFilterLink *outlink)
Definition: vsrc_movie.c:209
static int request_frame(AVFilterLink *outlink)
Definition: vsrc_movie.c:277
A filter pad used for either input or output.
Definition: avfilter.h:312
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:191
static av_cold void uninit(AVFilterContext *ctx)
Definition: vsrc_movie.c:186
static int query_formats(AVFilterContext *ctx)
Definition: vsrc_movie.c:200
NULL
Definition: eval.c:50
static av_cold int init(AVFilterContext *ctx, const char *args, void *opaque)
Definition: vsrc_movie.c:162

Definition at line 298 of file vsrc_movie.c.

const AVClass movie_class
static
Initial value:
= {
"MovieContext",
}
static const char * movie_get_name(void *ctx)
Definition: vsrc_movie.c:69
static const AVOption movie_options[]
Definition: vsrc_movie.c:59

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},
}
NULL
Definition: eval.c:50
#define OFFSET(x)
Definition: vsrc_movie.c:57
#define INT64_MAX
Definition: internal.h:80

Definition at line 59 of file vsrc_movie.c.