libavfilter/src_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 "avcodec.h"
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  MovieContext

Defines

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

Functions

static const char * movie_get_name (void *ctx)
static av_cold int movie_common_init (AVFilterContext *ctx, const char *args, void *opaque, enum AVMediaType type)
static av_cold void movie_common_uninit (AVFilterContext *ctx)
static av_cold int movie_init (AVFilterContext *ctx, const char *args, void *opaque)
static int movie_query_formats (AVFilterContext *ctx)
static int movie_config_output_props (AVFilterLink *outlink)
static int movie_get_frame (AVFilterLink *outlink)
static int movie_request_frame (AVFilterLink *outlink)
static av_cold int amovie_init (AVFilterContext *ctx, const char *args, void *opaque)
static int amovie_query_formats (AVFilterContext *ctx)
static int amovie_config_output_props (AVFilterLink *outlink)
static int amovie_get_samples (AVFilterLink *outlink)
static int amovie_request_frame (AVFilterLink *outlink)

Variables

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

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 src_movie.c.


Define Documentation

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

Definition at line 65 of file src_movie.c.


Function Documentation

static int amovie_config_output_props ( AVFilterLink outlink  )  [static]

Definition at line 364 of file src_movie.c.

static int amovie_get_samples ( AVFilterLink outlink  )  [static]

Definition at line 375 of file src_movie.c.

Referenced by amovie_request_frame().

static av_cold int amovie_init ( AVFilterContext ctx,
const char *  args,
void *  opaque 
) [static]

Definition at line 335 of file src_movie.c.

static int amovie_query_formats ( AVFilterContext ctx  )  [static]

Definition at line 347 of file src_movie.c.

static int amovie_request_frame ( AVFilterLink outlink  )  [static]

Definition at line 436 of file src_movie.c.

static av_cold int movie_common_init ( AVFilterContext ctx,
const char *  args,
void *  opaque,
enum AVMediaType  type 
) [static]

Definition at line 88 of file src_movie.c.

Referenced by amovie_init(), and movie_init().

static av_cold void movie_common_uninit ( AVFilterContext ctx  )  [static]

Definition at line 185 of file src_movie.c.

static int movie_config_output_props ( AVFilterLink outlink  )  [static]

Definition at line 227 of file src_movie.c.

static int movie_get_frame ( AVFilterLink outlink  )  [static]

Definition at line 238 of file src_movie.c.

Referenced by movie_request_frame().

static const char* movie_get_name ( void *  ctx  )  [static]

Definition at line 77 of file src_movie.c.

static av_cold int movie_init ( AVFilterContext ctx,
const char *  args,
void *  opaque 
) [static]

Definition at line 204 of file src_movie.c.

static int movie_query_formats ( AVFilterContext ctx  )  [static]

Definition at line 218 of file src_movie.c.

static int movie_request_frame ( AVFilterLink outlink  )  [static]

Definition at line 294 of file src_movie.c.


Variable Documentation

Initial value:
 {
    .name          = "amovie",
    .description   = NULL_IF_CONFIG_SMALL("Read audio from a movie source."),
    .priv_size     = sizeof(MovieContext),
    .init          = amovie_init,
    .uninit        = movie_common_uninit,
    .query_formats = amovie_query_formats,

    .inputs    = (const AVFilterPad[]) {{ .name = NULL }},
    .outputs   = (const AVFilterPad[]) {{ .name      = "default",
                                    .type            = AVMEDIA_TYPE_AUDIO,
                                    .request_frame   = amovie_request_frame,
                                    .config_props    = amovie_config_output_props, },
                                  { .name = NULL}},
}

Definition at line 455 of file src_movie.c.

Initial value:
 {
    .name          = "movie",
    .description   = NULL_IF_CONFIG_SMALL("Read from a movie source."),
    .priv_size     = sizeof(MovieContext),
    .init          = movie_init,
    .uninit        = movie_common_uninit,
    .query_formats = movie_query_formats,

    .inputs    = (const AVFilterPad[]) {{ .name = NULL }},
    .outputs   = (const AVFilterPad[]) {{ .name      = "default",
                                    .type            = AVMEDIA_TYPE_VIDEO,
                                    .request_frame   = movie_request_frame,
                                    .config_props    = movie_config_output_props, },
                                  { .name = NULL}},
}

Definition at line 315 of file src_movie.c.

const AVClass movie_class [static]
Initial value:
 {
    "MovieContext",
    movie_get_name,
    movie_options
}

Definition at line 82 of file src_movie.c.

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 67 of file src_movie.c.