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

audio to video multimedia vectorscope filter More...

#include "libavutil/avassert.h"
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"
#include "formats.h"
#include "audio.h"
#include "video.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  AudioVectorScopeContext
 

Macros

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

Enumerations

enum  VectorScopeMode { LISSAJOUS, LISSAJOUS_XY, POLAR, MODE_NB }
 
enum  VectorScopeDraw { DOT, LINE, DRAW_NB }
 
enum  VectorScopeScale {
  LIN, SQRT, CBRT, LOG,
  SCALE_NB
}
 

Functions

 AVFILTER_DEFINE_CLASS (avectorscope)
 
static void draw_dot (AudioVectorScopeContext *s, unsigned x, unsigned y)
 
static void draw_line (AudioVectorScopeContext *s, int x0, int y0, int x1, int y1)
 
static void fade (AudioVectorScopeContext *s)
 
static int query_formats (AVFilterContext *ctx)
 
static int config_input (AVFilterLink *inlink)
 
static int config_output (AVFilterLink *outlink)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *insamples)
 
static av_cold void uninit (AVFilterContext *ctx)
 

Variables

static const AVOption avectorscope_options []
 
static const AVFilterPad audiovectorscope_inputs []
 
static const AVFilterPad audiovectorscope_outputs []
 
AVFilter ff_avf_avectorscope
 

Detailed Description

audio to video multimedia vectorscope filter

Definition in file avf_avectorscope.c.

Macro Definition Documentation

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

Definition at line 72 of file avf_avectorscope.c.

Definition at line 73 of file avf_avectorscope.c.

Enumeration Type Documentation

Enumerator
LISSAJOUS 
LISSAJOUS_XY 
POLAR 
MODE_NB 

Definition at line 36 of file avf_avectorscope.c.

Enumerator
DOT 
LINE 
DRAW_NB 

Definition at line 43 of file avf_avectorscope.c.

Enumerator
LIN 
SQRT 
CBRT 
LOG 
SCALE_NB 

Definition at line 49 of file avf_avectorscope.c.

Function Documentation

AVFILTER_DEFINE_CLASS ( avectorscope  )
static void draw_dot ( AudioVectorScopeContext s,
unsigned  x,
unsigned  y 
)
static

Definition at line 107 of file avf_avectorscope.c.

Referenced by draw_line(), and filter_frame().

static void draw_line ( AudioVectorScopeContext s,
int  x0,
int  y0,
int  x1,
int  y1 
)
static

Definition at line 127 of file avf_avectorscope.c.

Referenced by filter_frame().

static void fade ( AudioVectorScopeContext s)
static

Definition at line 153 of file avf_avectorscope.c.

Referenced by filter_frame().

static int query_formats ( AVFilterContext ctx)
static

Definition at line 172 of file avf_avectorscope.c.

static int config_input ( AVFilterLink inlink)
static

Definition at line 199 of file avf_avectorscope.c.

static int config_output ( AVFilterLink outlink)
static

Definition at line 213 of file avf_avectorscope.c.

static int filter_frame ( AVFilterLink inlink,
AVFrame insamples 
)
static

Definition at line 228 of file avf_avectorscope.c.

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 319 of file avf_avectorscope.c.

Variable Documentation

const AVOption avectorscope_options[]
static
Initial value:
= {
{ "mode", "set mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64=LISSAJOUS}, 0, MODE_NB-1, FLAGS, "mode" },
{ "m", "set mode", OFFSET(mode), AV_OPT_TYPE_INT, {.i64=LISSAJOUS}, 0, MODE_NB-1, FLAGS, "mode" },
{ "lissajous", "", 0, AV_OPT_TYPE_CONST, {.i64=LISSAJOUS}, 0, 0, FLAGS, "mode" },
{ "lissajous_xy", "", 0, AV_OPT_TYPE_CONST, {.i64=LISSAJOUS_XY}, 0, 0, FLAGS, "mode" },
{ "polar", "", 0, AV_OPT_TYPE_CONST, {.i64=POLAR}, 0, 0, FLAGS, "mode" },
{ "rate", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str="25"}, 0, INT_MAX, FLAGS },
{ "r", "set video rate", OFFSET(frame_rate), AV_OPT_TYPE_VIDEO_RATE, {.str="25"}, 0, INT_MAX, FLAGS },
{ "size", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str="400x400"}, 0, 0, FLAGS },
{ "s", "set video size", OFFSET(w), AV_OPT_TYPE_IMAGE_SIZE, {.str="400x400"}, 0, 0, FLAGS },
{ "rc", "set red contrast", OFFSET(contrast[0]), AV_OPT_TYPE_INT, {.i64=40}, 0, 255, FLAGS },
{ "gc", "set green contrast", OFFSET(contrast[1]), AV_OPT_TYPE_INT, {.i64=160}, 0, 255, FLAGS },
{ "bc", "set blue contrast", OFFSET(contrast[2]), AV_OPT_TYPE_INT, {.i64=80}, 0, 255, FLAGS },
{ "ac", "set alpha contrast", OFFSET(contrast[3]), AV_OPT_TYPE_INT, {.i64=255}, 0, 255, FLAGS },
{ "rf", "set red fade", OFFSET(fade[0]), AV_OPT_TYPE_INT, {.i64=15}, 0, 255, FLAGS },
{ "gf", "set green fade", OFFSET(fade[1]), AV_OPT_TYPE_INT, {.i64=10}, 0, 255, FLAGS },
{ "bf", "set blue fade", OFFSET(fade[2]), AV_OPT_TYPE_INT, {.i64=5}, 0, 255, FLAGS },
{ "af", "set alpha fade", OFFSET(fade[3]), AV_OPT_TYPE_INT, {.i64=5}, 0, 255, FLAGS },
{ "zoom", "set zoom factor", OFFSET(zoom), AV_OPT_TYPE_DOUBLE, {.dbl=1}, 1, 10, FLAGS },
{ "draw", "set draw mode", OFFSET(draw), AV_OPT_TYPE_INT, {.i64=DOT}, 0, DRAW_NB-1, FLAGS, "draw" },
{ "dot", "", 0, AV_OPT_TYPE_CONST, {.i64=DOT} , 0, 0, FLAGS, "draw" },
{ "line", "", 0, AV_OPT_TYPE_CONST, {.i64=LINE}, 0, 0, FLAGS, "draw" },
{ "scale", "set amplitude scale mode", OFFSET(scale), AV_OPT_TYPE_INT, {.i64=LIN}, 0, SCALE_NB-1, FLAGS, "scale" },
{ "lin", "linear", 0, AV_OPT_TYPE_CONST, {.i64=LIN}, 0, 0, FLAGS, "scale" },
{ "sqrt", "square root", 0, AV_OPT_TYPE_CONST, {.i64=SQRT}, 0, 0, FLAGS, "scale" },
{ "cbrt", "cube root", 0, AV_OPT_TYPE_CONST, {.i64=CBRT}, 0, 0, FLAGS, "scale" },
{ "log", "logarithmic", 0, AV_OPT_TYPE_CONST, {.i64=LOG}, 0, 0, FLAGS, "scale" },
{ NULL }
}
#define NULL
Definition: coverity.c:32
#define FLAGS
offset must point to AVRational
Definition: opt.h:236
offset must point to two consecutive integers
Definition: opt.h:233
static void fade(AudioVectorScopeContext *s)
mode
Use these values in ebur128_init (or'ed).
Definition: ebur128.h:83
#define OFFSET(x)

Definition at line 75 of file avf_avectorscope.c.

const AVFilterPad audiovectorscope_inputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_input,
.filter_frame = filter_frame,
},
{ NULL }
}
#define NULL
Definition: coverity.c:32
static int config_input(AVFilterLink *inlink)
static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)

Definition at line 326 of file avf_avectorscope.c.

const AVFilterPad audiovectorscope_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_output,
},
{ NULL }
}
#define NULL
Definition: coverity.c:32
static int config_output(AVFilterLink *outlink)

Definition at line 336 of file avf_avectorscope.c.

AVFilter ff_avf_avectorscope
Initial value:
= {
.name = "avectorscope",
.description = NULL_IF_CONFIG_SMALL("Convert input audio to vectorscope video output."),
.uninit = uninit,
.query_formats = query_formats,
.priv_size = sizeof(AudioVectorScopeContext),
.priv_class = &avectorscope_class,
}
static av_cold void uninit(AVFilterContext *ctx)
static const AVFilterPad audiovectorscope_outputs[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:179
static const AVFilterPad audiovectorscope_inputs[]
static const AVFilterPad outputs[]
Definition: af_afftfilt.c:386
static const AVFilterPad inputs[]
Definition: af_afftfilt.c:376
static int query_formats(AVFilterContext *ctx)

Definition at line 345 of file avf_avectorscope.c.