Libav
Data Structures | Macros | Functions | Variables
vsrc_movie.c File Reference

movie video source More...

#include <float.h>
#include <stdint.h>
#include "libavutil/attributes.h"
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
#include "libavformat/avformat.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  MovieContext
 

Macros

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

Functions

static const char * movie_get_name (void *ctx)
 
static av_cold int movie_init (AVFilterContext *ctx)
 
static av_cold int init (AVFilterContext *ctx)
 
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
 
static const AVFilterPad avfilter_vsrc_movie_outputs []
 
AVFilter ff_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 60 of file vsrc_movie.c.

#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM

Definition at line 61 of file vsrc_movie.c.

Function Documentation

static const char* movie_get_name ( void ctx)
static

Definition at line 74 of file vsrc_movie.c.

static av_cold int movie_init ( AVFilterContext ctx)
static

Definition at line 85 of file vsrc_movie.c.

Referenced by init().

static av_cold int init ( AVFilterContext ctx)
static

Definition at line 164 of file vsrc_movie.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 173 of file vsrc_movie.c.

static int query_formats ( AVFilterContext ctx)
static

Definition at line 184 of file vsrc_movie.c.

static int config_output_props ( AVFilterLink outlink)
static

Definition at line 193 of file vsrc_movie.c.

static int movie_get_frame ( AVFilterLink outlink)
static

Definition at line 204 of file vsrc_movie.c.

Referenced by request_frame().

static int request_frame ( AVFilterLink outlink)
static

Definition at line 249 of file vsrc_movie.c.

Variable Documentation

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

Definition at line 63 of file vsrc_movie.c.

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

Definition at line 79 of file vsrc_movie.c.

const AVFilterPad avfilter_vsrc_movie_outputs[]
static
Initial value:
= {
{
.name = "default",
.request_frame = request_frame,
.config_props = config_output_props,
},
{ NULL }
}

Definition at line 265 of file vsrc_movie.c.

AVFilter ff_vsrc_movie
Initial value:
= {
.name = "movie",
.description = NULL_IF_CONFIG_SMALL("Read from a movie source."),
.priv_size = sizeof(MovieContext),
.priv_class = &movie_class,
.init = init,
}

Definition at line 275 of file vsrc_movie.c.