FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
src_movie.c File Reference

movie video source More...

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

Go to the source code of this file.

Data Structures

struct  MovieStream
 
struct  MovieContext
 

Macros

#define OFFSET(x)   offsetof(MovieContext, x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_AUDIO_PARAM | AV_OPT_FLAG_VIDEO_PARAM
 

Functions

static int movie_config_output_props (AVFilterLink *outlink)
 
static int movie_request_frame (AVFilterLink *outlink)
 
static AVStreamfind_stream (void *log, AVFormatContext *avf, const char *spec)
 
static int open_stream (void *log, MovieStream *st)
 
static int guess_channel_layout (MovieStream *st, int st_index, void *log_ctx)
 
static av_cold int movie_common_init (AVFilterContext *ctx)
 
static av_cold void movie_uninit (AVFilterContext *ctx)
 
static int movie_query_formats (AVFilterContext *ctx)
 
static char * describe_frame_to_str (char *dst, size_t dst_size, AVFrame *frame, enum AVMediaType frame_type, AVFilterLink *link)
 
static int rewind_file (AVFilterContext *ctx)
 
static int movie_push_frame (AVFilterContext *ctx, unsigned out_id)
 Try to push a frame to the requested output. More...
 
static int process_command (AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
 

Variables

static const AVOption movie_options []
 

Detailed Description

movie video source

Todo:

use direct rendering (no allocation of a new frame)

support a PTS correction mechanism

Definition in file src_movie.c.

Macro Definition Documentation

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

Definition at line 77 of file src_movie.c.

Definition at line 78 of file src_movie.c.

Function Documentation

static int movie_config_output_props ( AVFilterLink outlink)
static

Definition at line 383 of file src_movie.c.

Referenced by movie_common_init().

static int movie_request_frame ( AVFilterLink outlink)
static

Definition at line 594 of file src_movie.c.

Referenced by movie_common_init().

static AVStream* find_stream ( void log,
AVFormatContext avf,
const char *  spec 
)
static

Definition at line 98 of file src_movie.c.

Referenced by movie_common_init().

static int open_stream ( void log,
MovieStream st 
)
static

Definition at line 152 of file src_movie.c.

Referenced by movie_common_init().

static int guess_channel_layout ( MovieStream st,
int  st_index,
void log_ctx 
)
static

Definition at line 181 of file src_movie.c.

Referenced by movie_common_init().

static av_cold int movie_common_init ( AVFilterContext ctx)
static

Definition at line 204 of file src_movie.c.

static av_cold void movie_uninit ( AVFilterContext ctx)
static

Definition at line 331 of file src_movie.c.

static int movie_query_formats ( AVFilterContext ctx)
static

Definition at line 347 of file src_movie.c.

static char* describe_frame_to_str ( char *  dst,
size_t  dst_size,
AVFrame frame,
enum AVMediaType  frame_type,
AVFilterLink link 
)
static

Definition at line 406 of file src_movie.c.

Referenced by movie_push_frame().

static int rewind_file ( AVFilterContext ctx)
static

Definition at line 432 of file src_movie.c.

Referenced by movie_push_frame().

static int movie_push_frame ( AVFilterContext ctx,
unsigned  out_id 
)
static

Try to push a frame to the requested output.

Parameters
ctxfilter context
out_idnumber of output where a frame is wanted; if the frame is read from file, used to set the return value; if the codec is being flushed, flush the corresponding stream
Returns
1 if a frame was pushed on the requested output, 0 if another attempt is possible, <0 AVERROR code

Definition at line 466 of file src_movie.c.

Referenced by movie_request_frame().

static int process_command ( AVFilterContext ctx,
const char *  cmd,
const char *  args,
char *  res,
int  res_len,
int  flags 
)
static

Definition at line 607 of file src_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 },
{ "streams", "set streams", OFFSET(stream_specs), AV_OPT_TYPE_STRING, {.str = 0}, CHAR_MAX, CHAR_MAX, FLAGS },
{ "s", "set streams", OFFSET(stream_specs), AV_OPT_TYPE_STRING, {.str = 0}, CHAR_MAX, CHAR_MAX, FLAGS },
{ "loop", "set loop count", OFFSET(loop_count), AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, FLAGS },
{ "discontinuity", "set discontinuity threshold", OFFSET(discontinuity_threshold), AV_OPT_TYPE_DURATION, {.i64 = 0}, 0, INT64_MAX, FLAGS },
{ NULL },
}
#define NULL
Definition: coverity.c:32
#define FLAGS
Definition: src_movie.c:78
#define OFFSET(x)
Definition: src_movie.c:77

Definition at line 80 of file src_movie.c.