FFmpeg
Data Structures | Macros | Enumerations | Functions | Variables
vf_waveform.c File Reference
#include "libavutil/avassert.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "libavutil/xga_font_data.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  ThreadData
 Used for passing data between threads. More...
 
struct  GraticuleLine
 
struct  GraticuleLines
 
struct  WaveformContext
 

Macros

#define OFFSET(x)   offsetof(WaveformContext, x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
 
#define LOWPASS16_FUNC(name, column, mirror)
 
#define LOWPASS_FUNC(name, column, mirror)
 
#define FLAT16_FUNC(name, column, mirror)
 
#define FLAT_FUNC(name, column, mirror)
 
#define AFLAT16(name, update_cb, update_cr, column, mirror)
 
#define AFLAT(name, update_cb, update_cr, column, mirror)
 
#define CHROMA16_FUNC(name, column, mirror)
 
#define CHROMA_FUNC(name, column, mirror)
 
#define COLOR16_FUNC(name, column, mirror)
 
#define COLOR_FUNC(name, column, mirror)
 
#define ACOLOR16_FUNC(name, column, mirror)
 
#define ACOLOR_FUNC(name, column, mirror)
 

Enumerations

enum  FilterType {
  DC_TYPE, AC_TYPE, SQ_TYPE, PS_TYPE,
  NB_TYPES, BUTTERWORTH, CHEBYSHEV1, CHEBYSHEV2,
  NB_TYPES, biquad, equalizer, bass,
  treble, bandpass, bandreject, allpass,
  highpass, lowpass, lowshelf, highshelf,
  WEAK, STRONG, NB_FILTER, LOWPASS,
  FLAT, AFLAT, CHROMA, COLOR,
  ACOLOR, XFLAT, YFLAT, NB_FILTERS
}
 
enum  DisplayType { OVERLAY, STACK, PARADE, NB_DISPLAYS }
 
enum  ScaleType { DIGITAL, MILLIVOLTS, IRE, NB_SCALES }
 
enum  GraticuleType {
  GRAT_NONE, GRAT_GREEN, GRAT_COLOR, GRAT_INVERT,
  NB_GRATICULES, GRAT_NONE, GRAT_GREEN, GRAT_ORANGE,
  GRAT_INVERT, NB_GRATICULES
}
 

Functions

 AVFILTER_DEFINE_CLASS (waveform)
 
static int query_formats (AVFilterContext *ctx)
 
static void envelope_instant16 (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void envelope_instant (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void envelope_peak16 (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void envelope_peak (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void envelope16 (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void envelope (WaveformContext *s, AVFrame *out, int plane, int component, int offset)
 
static void update16 (uint16_t *target, int max, int intensity, int limit)
 
static void update (uint8_t *target, int max, int intensity)
 
static void update_cr (uint8_t *target, int unused, int intensity)
 
static void update16_cr (uint16_t *target, int unused, int intensity, int limit)
 
static av_always_inline void lowpass16 (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void lowpass (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void flat16 (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void flat (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void chroma16 (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void chroma (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void color16 (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void color (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void acolor16 (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static av_always_inline void acolor (WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
 
static void blend_vline (uint8_t *dst, int height, int linesize, float o1, float o2, int v, int step)
 
static void blend_vline16 (uint8_t *ddst, int height, int linesize, float o1, float o2, int v, int step)
 
static void blend_hline (uint8_t *dst, int width, int unused, float o1, float o2, int v, int step)
 
static void blend_hline16 (uint8_t *ddst, int width, int unused, float o1, float o2, int v, int step)
 
static void draw_htext (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void draw_htext16 (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void draw_vtext (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void draw_vtext16 (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void iblend_vline (uint8_t *dst, int height, int linesize, float o1, float o2, int v, int step)
 
static void iblend_vline16 (uint8_t *ddst, int height, int linesize, float o1, float o2, int v, int step)
 
static void iblend_hline (uint8_t *dst, int width, int unused, float o1, float o2, int v, int step)
 
static void iblend_hline16 (uint8_t *ddst, int width, int unused, float o1, float o2, int v, int step)
 
static void idraw_htext (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void idraw_htext16 (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void idraw_vtext (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void idraw_vtext16 (AVFrame *out, int x, int y, int mult, float o1, float o2, const char *txt, const uint8_t color[4])
 
static void graticule_none (WaveformContext *s, AVFrame *out)
 
static void graticule_row (WaveformContext *s, AVFrame *out)
 
static void graticule16_row (WaveformContext *s, AVFrame *out)
 
static void graticule_column (WaveformContext *s, AVFrame *out)
 
static void graticule16_column (WaveformContext *s, AVFrame *out)
 
static int config_input (AVFilterLink *inlink)
 
static int config_output (AVFilterLink *outlink)
 
static int filter_frame (AVFilterLink *inlink, AVFrame *in)
 
static av_cold void uninit (AVFilterContext *ctx)
 

Variables

static const AVOption waveform_options []
 
static enum AVPixelFormat in_lowpass_pix_fmts []
 
static enum AVPixelFormat in_color_pix_fmts []
 
static enum AVPixelFormat in_flat_pix_fmts []
 
static enum AVPixelFormat out_rgb8_lowpass_pix_fmts []
 
static enum AVPixelFormat out_rgb9_lowpass_pix_fmts []
 
static enum AVPixelFormat out_rgb10_lowpass_pix_fmts []
 
static enum AVPixelFormat out_rgb12_lowpass_pix_fmts []
 
static enum AVPixelFormat out_yuv8_lowpass_pix_fmts []
 
static enum AVPixelFormat out_yuv9_lowpass_pix_fmts []
 
static enum AVPixelFormat out_yuv10_lowpass_pix_fmts []
 
static enum AVPixelFormat out_yuv12_lowpass_pix_fmts []
 
static enum AVPixelFormat out_gray8_lowpass_pix_fmts []
 
static enum AVPixelFormat out_gray9_lowpass_pix_fmts []
 
static enum AVPixelFormat out_gray10_lowpass_pix_fmts []
 
static enum AVPixelFormat out_gray12_lowpass_pix_fmts []
 
static const uint8_t black_yuva_color [4] = { 0, 127, 127, 255 }
 
static const uint8_t black_gbrp_color [4] = { 0, 0, 0, 255 }
 
static const GraticuleLines aflat_digital8 []
 
static const GraticuleLines aflat_digital9 []
 
static const GraticuleLines aflat_digital10 []
 
static const GraticuleLines aflat_digital12 []
 
static const GraticuleLines aflat_millivolts8 []
 
static const GraticuleLines aflat_millivolts9 []
 
static const GraticuleLines aflat_millivolts10 []
 
static const GraticuleLines aflat_millivolts12 []
 
static const GraticuleLines aflat_ire8 []
 
static const GraticuleLines aflat_ire9 []
 
static const GraticuleLines aflat_ire10 []
 
static const GraticuleLines aflat_ire12 []
 
static const GraticuleLines flat_digital8 []
 
static const GraticuleLines flat_digital9 []
 
static const GraticuleLines flat_digital10 []
 
static const GraticuleLines flat_digital12 []
 
static const GraticuleLines flat_millivolts8 []
 
static const GraticuleLines flat_millivolts9 []
 
static const GraticuleLines flat_millivolts10 []
 
static const GraticuleLines flat_millivolts12 []
 
static const GraticuleLines flat_ire8 []
 
static const GraticuleLines flat_ire9 []
 
static const GraticuleLines flat_ire10 []
 
static const GraticuleLines flat_ire12 []
 
static const GraticuleLines digital8 []
 
static const GraticuleLines digital9 []
 
static const GraticuleLines digital10 []
 
static const GraticuleLines digital12 []
 
static const GraticuleLines millivolts8 []
 
static const GraticuleLines millivolts9 []
 
static const GraticuleLines millivolts10 []
 
static const GraticuleLines millivolts12 []
 
static const GraticuleLines ire8 []
 
static const GraticuleLines ire9 []
 
static const GraticuleLines ire10 []
 
static const GraticuleLines ire12 []
 
static const GraticuleLines chroma_digital8 []
 
static const GraticuleLines chroma_digital9 []
 
static const GraticuleLines chroma_digital10 []
 
static const GraticuleLines chroma_digital12 []
 
static const AVFilterPad inputs []
 
static const AVFilterPad outputs []
 
AVFilter ff_vf_waveform
 

Macro Definition Documentation

◆ OFFSET

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

Definition at line 130 of file vf_waveform.c.

◆ FLAGS

Definition at line 131 of file vf_waveform.c.

◆ LOWPASS16_FUNC

#define LOWPASS16_FUNC (   name,
  column,
  mirror 
)
Value:
static int lowpass16_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
lowpass16(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 788 of file vf_waveform.c.

◆ LOWPASS_FUNC

#define LOWPASS_FUNC (   name,
  column,
  mirror 
)
Value:
static int lowpass_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
lowpass(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 925 of file vf_waveform.c.

◆ FLAT16_FUNC

#define FLAT16_FUNC (   name,
  column,
  mirror 
)
Value:
static int flat16_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
flat16(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1064 of file vf_waveform.c.

◆ FLAT_FUNC

#define FLAT_FUNC (   name,
  column,
  mirror 
)
Value:
static int flat_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
flat(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1201 of file vf_waveform.c.

◆ AFLAT16

#define AFLAT16 (   name,
  update_cb,
  update_cr,
  column,
  mirror 
)

Definition at line 1226 of file vf_waveform.c.

◆ AFLAT

#define AFLAT (   name,
  update_cb,
  update_cr,
  column,
  mirror 
)

Definition at line 1360 of file vf_waveform.c.

◆ CHROMA16_FUNC

#define CHROMA16_FUNC (   name,
  column,
  mirror 
)
Value:
static int chroma16_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
chroma16(s, in, out, component, s->intensity,\
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1599 of file vf_waveform.c.

◆ CHROMA_FUNC

#define CHROMA_FUNC (   name,
  column,
  mirror 
)
Value:
static int chroma_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
chroma(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1703 of file vf_waveform.c.

◆ COLOR16_FUNC

#define COLOR16_FUNC (   name,
  column,
  mirror 
)
Value:
static int color16_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
color16(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1836 of file vf_waveform.c.

◆ COLOR_FUNC

#define COLOR_FUNC (   name,
  column,
  mirror 
)
Value:
static int color_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
color(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 1968 of file vf_waveform.c.

◆ ACOLOR16_FUNC

#define ACOLOR16_FUNC (   name,
  column,
  mirror 
)
Value:
static int acolor16_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
acolor16(s, in, out, component, s->intensity,\
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 2102 of file vf_waveform.c.

◆ ACOLOR_FUNC

#define ACOLOR_FUNC (   name,
  column,
  mirror 
)
Value:
static int acolor_##name(AVFilterContext *ctx, \
void *arg, int jobnr, \
int nb_jobs) \
{ \
WaveformContext *s = ctx->priv; \
ThreadData *td = arg; \
AVFrame *in = td->in; \
AVFrame *out = td->out; \
int component = td->component; \
int offset_y = td->offset_y; \
int offset_x = td->offset_x; \
acolor(s, in, out, component, s->intensity, \
offset_y, offset_x, column, mirror, \
jobnr, nb_jobs); \
\
return 0; \
}

Definition at line 2235 of file vf_waveform.c.

Enumeration Type Documentation

◆ FilterType

enum FilterType
Enumerator
DC_TYPE 
AC_TYPE 
SQ_TYPE 
PS_TYPE 
NB_TYPES 
BUTTERWORTH 
CHEBYSHEV1 
CHEBYSHEV2 
NB_TYPES 
biquad 
equalizer 
bass 
treble 
bandpass 
bandreject 
allpass 
highpass 
lowpass 
lowshelf 
highshelf 
WEAK 
STRONG 
NB_FILTER 
LOWPASS 
FLAT 
AFLAT 
CHROMA 
COLOR 
ACOLOR 
XFLAT 
YFLAT 
NB_FILTERS 

Definition at line 40 of file vf_waveform.c.

◆ DisplayType

Enumerator
OVERLAY 
STACK 
PARADE 
NB_DISPLAYS 

Definition at line 52 of file vf_waveform.c.

◆ ScaleType

enum ScaleType
Enumerator
DIGITAL 
MILLIVOLTS 
IRE 
NB_SCALES 

Definition at line 59 of file vf_waveform.c.

◆ GraticuleType

Enumerator
GRAT_NONE 
GRAT_GREEN 
GRAT_COLOR 
GRAT_INVERT 
NB_GRATICULES 
GRAT_NONE 
GRAT_GREEN 
GRAT_ORANGE 
GRAT_INVERT 
NB_GRATICULES 

Definition at line 66 of file vf_waveform.c.

Function Documentation

◆ AVFILTER_DEFINE_CLASS()

AVFILTER_DEFINE_CLASS ( waveform  )

◆ query_formats()

static int query_formats ( AVFilterContext ctx)
static

Definition at line 306 of file vf_waveform.c.

◆ envelope_instant16()

static void envelope_instant16 ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 387 of file vf_waveform.c.

Referenced by envelope16(), and envelope_peak16().

◆ envelope_instant()

static void envelope_instant ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 435 of file vf_waveform.c.

Referenced by envelope(), and envelope_peak().

◆ envelope_peak16()

static void envelope_peak16 ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 482 of file vf_waveform.c.

Referenced by envelope16().

◆ envelope_peak()

static void envelope_peak ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 552 of file vf_waveform.c.

Referenced by envelope().

◆ envelope16()

static void envelope16 ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 621 of file vf_waveform.c.

Referenced by filter_frame().

◆ envelope()

static void envelope ( WaveformContext s,
AVFrame out,
int  plane,
int  component,
int  offset 
)
static

Definition at line 632 of file vf_waveform.c.

Referenced by filter_frame().

◆ update16()

static void update16 ( uint16_t *  target,
int  max,
int  intensity,
int  limit 
)
static

Definition at line 643 of file vf_waveform.c.

Referenced by acolor16(), chroma16(), flat16(), and lowpass16().

◆ update()

static void update ( uint8_t target,
int  max,
int  intensity 
)
static

Definition at line 651 of file vf_waveform.c.

Referenced by acolor(), chroma(), flat(), and lowpass().

◆ update_cr()

static void update_cr ( uint8_t target,
int  unused,
int  intensity 
)
static

Definition at line 659 of file vf_waveform.c.

◆ update16_cr()

static void update16_cr ( uint16_t *  target,
int  unused,
int  intensity,
int  limit 
)
static

Definition at line 667 of file vf_waveform.c.

◆ lowpass16()

static av_always_inline void lowpass16 ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 675 of file vf_waveform.c.

◆ lowpass()

static av_always_inline void lowpass ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 813 of file vf_waveform.c.

◆ flat16()

static av_always_inline void flat16 ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 950 of file vf_waveform.c.

◆ flat()

static av_always_inline void flat ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

◆ chroma16()

static av_always_inline void chroma16 ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 1518 of file vf_waveform.c.

◆ chroma()

static av_always_inline void chroma ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

◆ color16()

static av_always_inline void color16 ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 1728 of file vf_waveform.c.

◆ color()

static av_always_inline void color ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 1861 of file vf_waveform.c.

◆ acolor16()

static av_always_inline void acolor16 ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 1993 of file vf_waveform.c.

◆ acolor()

static av_always_inline void acolor ( WaveformContext s,
AVFrame in,
AVFrame out,
int  component,
int  intensity,
int  offset_y,
int  offset_x,
int  column,
int  mirror,
int  jobnr,
int  nb_jobs 
)
static

Definition at line 2127 of file vf_waveform.c.

◆ blend_vline()

static void blend_vline ( uint8_t dst,
int  height,
int  linesize,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2575 of file vf_waveform.c.

Referenced by config_input().

◆ blend_vline16()

static void blend_vline16 ( uint8_t ddst,
int  height,
int  linesize,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2586 of file vf_waveform.c.

Referenced by config_input().

◆ blend_hline()

static void blend_hline ( uint8_t dst,
int  width,
int  unused,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2598 of file vf_waveform.c.

Referenced by config_input().

◆ blend_hline16()

static void blend_hline16 ( uint8_t ddst,
int  width,
int  unused,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2607 of file vf_waveform.c.

Referenced by config_input().

◆ draw_htext()

static void draw_htext ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2617 of file vf_waveform.c.

Referenced by config_input().

◆ draw_htext16()

static void draw_htext16 ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2643 of file vf_waveform.c.

Referenced by config_input().

◆ draw_vtext()

static void draw_vtext ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2669 of file vf_waveform.c.

Referenced by config_input().

◆ draw_vtext16()

static void draw_vtext16 ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2694 of file vf_waveform.c.

Referenced by config_input().

◆ iblend_vline()

static void iblend_vline ( uint8_t dst,
int  height,
int  linesize,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2719 of file vf_waveform.c.

Referenced by config_input().

◆ iblend_vline16()

static void iblend_vline16 ( uint8_t ddst,
int  height,
int  linesize,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2730 of file vf_waveform.c.

Referenced by config_input().

◆ iblend_hline()

static void iblend_hline ( uint8_t dst,
int  width,
int  unused,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2742 of file vf_waveform.c.

Referenced by config_input().

◆ iblend_hline16()

static void iblend_hline16 ( uint8_t ddst,
int  width,
int  unused,
float  o1,
float  o2,
int  v,
int  step 
)
static

Definition at line 2751 of file vf_waveform.c.

Referenced by config_input().

◆ idraw_htext()

static void idraw_htext ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2761 of file vf_waveform.c.

Referenced by config_input().

◆ idraw_htext16()

static void idraw_htext16 ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2787 of file vf_waveform.c.

Referenced by config_input().

◆ idraw_vtext()

static void idraw_vtext ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2813 of file vf_waveform.c.

Referenced by config_input().

◆ idraw_vtext16()

static void idraw_vtext16 ( AVFrame out,
int  x,
int  y,
int  mult,
float  o1,
float  o2,
const char *  txt,
const uint8_t  color[4] 
)
static

Definition at line 2838 of file vf_waveform.c.

Referenced by config_input().

◆ graticule_none()

static void graticule_none ( WaveformContext s,
AVFrame out 
)
static

Definition at line 2863 of file vf_waveform.c.

Referenced by config_input().

◆ graticule_row()

static void graticule_row ( WaveformContext s,
AVFrame out 
)
static

Definition at line 2867 of file vf_waveform.c.

Referenced by config_input().

◆ graticule16_row()

static void graticule16_row ( WaveformContext s,
AVFrame out 
)
static

Definition at line 2908 of file vf_waveform.c.

Referenced by config_input().

◆ graticule_column()

static void graticule_column ( WaveformContext s,
AVFrame out 
)
static

Definition at line 2950 of file vf_waveform.c.

Referenced by config_input().

◆ graticule16_column()

static void graticule16_column ( WaveformContext s,
AVFrame out 
)
static

Definition at line 2991 of file vf_waveform.c.

Referenced by config_input().

◆ config_input()

static int config_input ( AVFilterLink inlink)
static

Definition at line 3033 of file vf_waveform.c.

◆ config_output()

static int config_output ( AVFilterLink outlink)
static

Definition at line 3304 of file vf_waveform.c.

◆ filter_frame()

static int filter_frame ( AVFilterLink inlink,
AVFrame in 
)
static

Definition at line 3366 of file vf_waveform.c.

◆ uninit()

static av_cold void uninit ( AVFilterContext ctx)
static

Definition at line 3467 of file vf_waveform.c.

Variable Documentation

◆ waveform_options

const AVOption waveform_options[]
static

Definition at line 133 of file vf_waveform.c.

◆ in_lowpass_pix_fmts

enum AVPixelFormat in_lowpass_pix_fmts[]
static

◆ in_color_pix_fmts

enum AVPixelFormat in_color_pix_fmts[]
static

◆ in_flat_pix_fmts

enum AVPixelFormat in_flat_pix_fmts[]
static

◆ out_rgb8_lowpass_pix_fmts

enum AVPixelFormat out_rgb8_lowpass_pix_fmts[]
static
Initial value:

Definition at line 246 of file vf_waveform.c.

Referenced by query_formats().

◆ out_rgb9_lowpass_pix_fmts

enum AVPixelFormat out_rgb9_lowpass_pix_fmts[]
static
Initial value:

Definition at line 251 of file vf_waveform.c.

Referenced by query_formats().

◆ out_rgb10_lowpass_pix_fmts

enum AVPixelFormat out_rgb10_lowpass_pix_fmts[]
static
Initial value:

Definition at line 256 of file vf_waveform.c.

Referenced by query_formats().

◆ out_rgb12_lowpass_pix_fmts

enum AVPixelFormat out_rgb12_lowpass_pix_fmts[]
static
Initial value:

Definition at line 261 of file vf_waveform.c.

Referenced by query_formats().

◆ out_yuv8_lowpass_pix_fmts

enum AVPixelFormat out_yuv8_lowpass_pix_fmts[]
static
Initial value:

Definition at line 266 of file vf_waveform.c.

Referenced by query_formats().

◆ out_yuv9_lowpass_pix_fmts

enum AVPixelFormat out_yuv9_lowpass_pix_fmts[]
static
Initial value:

Definition at line 271 of file vf_waveform.c.

Referenced by query_formats().

◆ out_yuv10_lowpass_pix_fmts

enum AVPixelFormat out_yuv10_lowpass_pix_fmts[]
static
Initial value:

Definition at line 276 of file vf_waveform.c.

Referenced by query_formats().

◆ out_yuv12_lowpass_pix_fmts

enum AVPixelFormat out_yuv12_lowpass_pix_fmts[]
static
Initial value:

Definition at line 281 of file vf_waveform.c.

Referenced by query_formats().

◆ out_gray8_lowpass_pix_fmts

enum AVPixelFormat out_gray8_lowpass_pix_fmts[]
static
Initial value:

Definition at line 286 of file vf_waveform.c.

Referenced by query_formats().

◆ out_gray9_lowpass_pix_fmts

enum AVPixelFormat out_gray9_lowpass_pix_fmts[]
static
Initial value:

Definition at line 291 of file vf_waveform.c.

Referenced by query_formats().

◆ out_gray10_lowpass_pix_fmts

enum AVPixelFormat out_gray10_lowpass_pix_fmts[]
static
Initial value:

Definition at line 296 of file vf_waveform.c.

Referenced by query_formats().

◆ out_gray12_lowpass_pix_fmts

enum AVPixelFormat out_gray12_lowpass_pix_fmts[]
static
Initial value:

Definition at line 301 of file vf_waveform.c.

Referenced by query_formats().

◆ black_yuva_color

const uint8_t black_yuva_color[4] = { 0, 127, 127, 255 }
static

Definition at line 2260 of file vf_waveform.c.

Referenced by config_input().

◆ black_gbrp_color

const uint8_t black_gbrp_color[4] = { 0, 0, 0, 255 }
static

Definition at line 2261 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_digital8

const GraticuleLines aflat_digital8[]
static
Initial value:
= {
{ { { "16", 16+128 }, { "16", 16+128 }, { "16", 16+128 }, { "0", 0+128 } } },
{ { { "128", 128+128 }, { "128", 128+128 }, { "128", 128+128 }, { "128", 128+128 } } },
{ { { "235", 235+128 }, { "240", 240+128 }, { "240", 240+128 }, { "255", 255+128 } } },
}

Definition at line 2263 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_digital9

const GraticuleLines aflat_digital9[]
static
Initial value:
= {
{ { { "32", 32+256 }, { "32", 32+256 }, { "32", 32+256 }, { "0", 0+256 } } },
{ { { "256", 256+256 }, { "256", 256+256 }, { "256", 256+256 }, { "256", 256+256 } } },
{ { { "470", 470+256 }, { "480", 480+256 }, { "480", 480+256 }, { "511", 511+256 } } },
}

Definition at line 2269 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_digital10

const GraticuleLines aflat_digital10[]
static
Initial value:
= {
{ { { "64", 64+512 }, { "64", 64+512 }, { "64", 64+512 }, { "0", 0+512 } } },
{ { { "512", 512+512 }, { "512", 512+512 }, { "512", 512+512 }, { "512", 512+512 } } },
{ { { "940", 940+512 }, { "960", 960+512 }, { "960", 960+512 }, { "1023", 1023+512 } } },
}

Definition at line 2275 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_digital12

const GraticuleLines aflat_digital12[]
static
Initial value:
= {
{ { { "256", 256+2048 }, { "256", 256+2048 }, { "256", 256+2048 }, { "0", 0+2048 } } },
{ { { "2048", 2048+2048 }, { "2048", 2048+2048 }, { "2048", 2048+2048 }, { "2048", 2048+2048 } } },
{ { { "3760", 3760+2048 }, { "3840", 3840+2048 }, { "3840", 3840+2048 }, { "4095", 4095+2048 } } },
}

Definition at line 2281 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_millivolts8

const GraticuleLines aflat_millivolts8[]
static
Initial value:
= {
{ { { "0", 16+128 }, { "0", 16+128 }, { "0", 16+128 }, { "0", 0+128 } } },
{ { { "175", 71+128 }, { "175", 72+128 }, { "175", 72+128 }, { "175", 64+128 } } },
{ { { "350", 126+128 }, { "350", 128+128 }, { "350", 128+128 }, { "350", 128+128 } } },
{ { { "525", 180+128 }, { "525", 184+128 }, { "525", 184+128 }, { "525", 192+128 } } },
{ { { "700", 235+128 }, { "700", 240+128 }, { "700", 240+128 }, { "700", 255+128 } } },
}

Definition at line 2287 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_millivolts9

const GraticuleLines aflat_millivolts9[]
static
Initial value:
= {
{ { { "0", 32+256 }, { "0", 32+256 }, { "0", 32+256 }, { "0", 0+256 } } },
{ { { "175", 142+256 }, { "175", 144+256 }, { "175", 144+256 }, { "175", 128+256 } } },
{ { { "350", 251+256 }, { "350", 256+256 }, { "350", 256+256 }, { "350", 256+256 } } },
{ { { "525", 361+256 }, { "525", 368+256 }, { "525", 368+256 }, { "525", 384+256 } } },
{ { { "700", 470+256 }, { "700", 480+256 }, { "700", 480+256 }, { "700", 511+256 } } },
}

Definition at line 2295 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_millivolts10

const GraticuleLines aflat_millivolts10[]
static
Initial value:
= {
{ { { "0", 64+512 }, { "0", 64+512 }, { "0", 64+512 }, { "0", 0+512 } } },
{ { { "175", 283+512 }, { "175", 288+512 }, { "175", 288+512 }, { "175", 256+512 } } },
{ { { "350", 502+512 }, { "350", 512+512 }, { "350", 512+512 }, { "350", 512+512 } } },
{ { { "525", 721+512 }, { "525", 736+512 }, { "525", 736+512 }, { "525", 768+512 } } },
{ { { "700", 940+512 }, { "700", 960+512 }, { "700", 960+512 }, { "700", 1023+512 } } },
}

Definition at line 2303 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_millivolts12

const GraticuleLines aflat_millivolts12[]
static
Initial value:
= {
{ { { "0", 256+2048 }, { "0", 256+2048 }, { "0", 256+2048 }, { "0", 0+2048 } } },
{ { { "175", 1132+2048 }, { "175", 1152+2048 }, { "175", 1152+2048 }, { "175", 1024+2048 } } },
{ { { "350", 2008+2048 }, { "350", 2048+2048 }, { "350", 2048+2048 }, { "350", 2048+2048 } } },
{ { { "525", 2884+2048 }, { "525", 2944+2048 }, { "525", 2944+2048 }, { "525", 3072+2048 } } },
{ { { "700", 3760+2048 }, { "700", 3840+2048 }, { "700", 3840+2048 }, { "700", 4095+2048 } } },
}

Definition at line 2311 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_ire8

const GraticuleLines aflat_ire8[]
static
Initial value:
= {
{ { { "-25", -39+128 }, { "-25", -40+128 }, { "-25", -40+128 }, { "-25", -64+128 } } },
{ { { "0", 16+128 }, { "0", 16+128 }, { "0", 16+128 }, { "0", 0+128 } } },
{ { { "25", 71+128 }, { "25", 72+128 }, { "25", 72+128 }, { "25", 64+128 } } },
{ { { "50", 126+128 }, { "50", 128+128 }, { "50", 128+128 }, { "50", 128+128 } } },
{ { { "75", 180+128 }, { "75", 184+128 }, { "75", 184+128 }, { "75", 192+128 } } },
{ { { "100", 235+128 }, { "100", 240+128 }, { "100", 240+128 }, { "100", 256+128 } } },
{ { { "125", 290+128 }, { "125", 296+128 }, { "125", 296+128 }, { "125", 320+128 } } },
}

Definition at line 2319 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_ire9

const GraticuleLines aflat_ire9[]
static
Initial value:
= {
{ { { "-25", -78+256 }, { "-25", -80+256 }, { "-25", -80+256 }, { "-25",-128+256 } } },
{ { { "0", 32+256 }, { "0", 32+256 }, { "0", 32+256 }, { "0", 0+256 } } },
{ { { "25", 142+256 }, { "25", 144+256 }, { "25", 144+256 }, { "25", 128+256 } } },
{ { { "50", 251+256 }, { "50", 256+256 }, { "50", 256+256 }, { "50", 256+256 } } },
{ { { "75", 361+256 }, { "75", 368+256 }, { "75", 368+256 }, { "75", 384+256 } } },
{ { { "100", 470+256 }, { "100", 480+256 }, { "100", 480+256 }, { "100", 512+256 } } },
{ { { "125", 580+256 }, { "125", 592+256 }, { "125", 592+256 }, { "125", 640+256 } } },
}

Definition at line 2329 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_ire10

const GraticuleLines aflat_ire10[]
static
Initial value:
= {
{ { { "-25",-156+512 }, { "-25",-160+512 }, { "-25",-160+512 }, { "-25", -256+512 } } },
{ { { "0", 64+512 }, { "0", 64+512 }, { "0", 64+512 }, { "0", 0+512 } } },
{ { { "25", 283+512 }, { "25", 288+512 }, { "25", 288+512 }, { "25", 256+512 } } },
{ { { "50", 502+512 }, { "50", 512+512 }, { "50", 512+512 }, { "50", 512+512 } } },
{ { { "75", 721+512 }, { "75", 736+512 }, { "75", 736+512 }, { "75", 768+512 } } },
{ { { "100", 940+512 }, { "100", 960+512 }, { "100", 960+512 }, { "100", 1024+512 } } },
{ { { "125",1160+512 }, { "125",1184+512 }, { "125",1184+512 }, { "125", 1280+512 } } },
}

Definition at line 2339 of file vf_waveform.c.

Referenced by config_input().

◆ aflat_ire12

const GraticuleLines aflat_ire12[]
static
Initial value:
= {
{ { { "-25", -624+2048 }, { "-25", -640+2048 }, { "-25", -640+2048 }, { "-25",-1024+2048 } } },
{ { { "0", 256+2048 }, { "0", 256+2048 }, { "0", 256+2048 }, { "0", 0+2048 } } },
{ { { "25", 1132+2048 }, { "25", 1152+2048 }, { "25", 1152+2048 }, { "25", 1024+2048 } } },
{ { { "50", 2008+2048 }, { "50", 2048+2048 }, { "50", 2048+2048 }, { "50", 2048+2048 } } },
{ { { "75", 2884+2048 }, { "75", 2944+2048 }, { "75", 2944+2048 }, { "75", 3072+2048 } } },
{ { { "100", 3760+2048 }, { "100", 3840+2048 }, { "100", 3840+2048 }, { "100", 4096+2048 } } },
{ { { "125", 4640+2048 }, { "125", 4736+2048 }, { "125", 4736+2048 }, { "125", 5120+2048 } } },
}

Definition at line 2349 of file vf_waveform.c.

Referenced by config_input().

◆ flat_digital8

const GraticuleLines flat_digital8[]
static
Initial value:
= {
{ { { "16", 16+256 }, { "16", 16+256 }, { "16", 16+256 }, { "0", 0+256 } } },
{ { { "128", 128+256 }, { "128", 128+256 }, { "128", 128+256 }, { "128", 128+256 } } },
{ { { "235", 235+256 }, { "240", 240+256 }, { "240", 240+256 }, { "255", 255+256 } } },
}

Definition at line 2359 of file vf_waveform.c.

Referenced by config_input().

◆ flat_digital9

const GraticuleLines flat_digital9[]
static
Initial value:
= {
{ { { "32", 32+512 }, { "32", 32+512 }, { "32", 32+512 }, { "0", 0+512 } } },
{ { { "256", 256+512 }, { "256", 256+512 }, { "256", 256+512 }, { "256", 256+512 } } },
{ { { "470", 470+512 }, { "480", 480+512 }, { "480", 480+512 }, { "511", 511+512 } } },
}

Definition at line 2365 of file vf_waveform.c.

Referenced by config_input().

◆ flat_digital10

const GraticuleLines flat_digital10[]
static
Initial value:
= {
{ { { "64", 64+1024 }, { "64", 64+1024 }, { "64", 64+1024 }, { "0", 0+1024 } } },
{ { { "512", 512+1024 }, { "512", 512+1024 }, { "512", 512+1024 }, { "512", 512+1024 } } },
{ { { "940", 940+1024 }, { "960", 960+1024 }, { "960", 960+1024 }, { "1023", 1023+1024 } } },
}

Definition at line 2371 of file vf_waveform.c.

Referenced by config_input().

◆ flat_digital12

const GraticuleLines flat_digital12[]
static
Initial value:
= {
{ { { "256", 256+4096 }, { "256", 256+4096 }, { "256", 256+4096 }, { "0", 0+4096 } } },
{ { { "2048", 2048+4096 }, { "2048", 2048+4096 }, { "2048", 2048+4096 }, { "2048", 2048+4096 } } },
{ { { "3760", 3760+4096 }, { "3840", 3840+4096 }, { "3840", 3840+4096 }, { "4095", 4095+4096 } } },
}

Definition at line 2377 of file vf_waveform.c.

Referenced by config_input().

◆ flat_millivolts8

const GraticuleLines flat_millivolts8[]
static
Initial value:
= {
{ { { "0", 16+256 }, { "0", 16+256 }, { "0", 16+256 }, { "0", 0+256 } } },
{ { { "175", 71+256 }, { "175", 72+256 }, { "175", 72+256 }, { "175", 64+256 } } },
{ { { "350", 126+256 }, { "350", 128+256 }, { "350", 128+256 }, { "350", 128+256 } } },
{ { { "525", 180+256 }, { "525", 184+256 }, { "525", 184+256 }, { "525", 192+256 } } },
{ { { "700", 235+256 }, { "700", 240+256 }, { "700", 240+256 }, { "700", 255+256 } } },
}

Definition at line 2383 of file vf_waveform.c.

Referenced by config_input().

◆ flat_millivolts9

const GraticuleLines flat_millivolts9[]
static
Initial value:
= {
{ { { "0", 32+512 }, { "0", 32+512 }, { "0", 32+512 }, { "0", 0+512 } } },
{ { { "175", 142+512 }, { "175", 144+512 }, { "175", 144+512 }, { "175", 128+512 } } },
{ { { "350", 251+512 }, { "350", 256+512 }, { "350", 256+512 }, { "350", 256+512 } } },
{ { { "525", 361+512 }, { "525", 368+512 }, { "525", 368+512 }, { "525", 384+512 } } },
{ { { "700", 470+512 }, { "700", 480+512 }, { "700", 480+512 }, { "700", 511+512 } } },
}

Definition at line 2391 of file vf_waveform.c.

Referenced by config_input().

◆ flat_millivolts10

const GraticuleLines flat_millivolts10[]
static
Initial value:
= {
{ { { "0", 64+1024 }, { "0", 64+1024 }, { "0", 64+1024 }, { "0", 0+1024 } } },
{ { { "175", 283+1024 }, { "175", 288+1024 }, { "175", 288+1024 }, { "175", 256+1024 } } },
{ { { "350", 502+1024 }, { "350", 512+1024 }, { "350", 512+1024 }, { "350", 512+1024 } } },
{ { { "525", 721+1024 }, { "525", 736+1024 }, { "525", 736+1024 }, { "525", 768+1024 } } },
{ { { "700", 940+1024 }, { "700", 960+1024 }, { "700", 960+1024 }, { "700", 1023+1024 } } },
}

Definition at line 2399 of file vf_waveform.c.

Referenced by config_input().

◆ flat_millivolts12

const GraticuleLines flat_millivolts12[]
static
Initial value:
= {
{ { { "0", 256+4096 }, { "0", 256+4096 }, { "0", 256+4096 }, { "0", 0+4096 } } },
{ { { "175", 1132+4096 }, { "175", 1152+4096 }, { "175", 1152+4096 }, { "175", 1024+4096 } } },
{ { { "350", 2008+4096 }, { "350", 2048+4096 }, { "350", 2048+4096 }, { "350", 2048+4096 } } },
{ { { "525", 2884+4096 }, { "525", 2944+4096 }, { "525", 2944+4096 }, { "525", 3072+4096 } } },
{ { { "700", 3760+4096 }, { "700", 3840+4096 }, { "700", 3840+4096 }, { "700", 4095+4096 } } },
}

Definition at line 2407 of file vf_waveform.c.

Referenced by config_input().

◆ flat_ire8

const GraticuleLines flat_ire8[]
static
Initial value:
= {
{ { { "-25", -39+256 }, { "-25", -40+256 }, { "-25", -40+256 }, { "-25", -64+256 } } },
{ { { "0", 16+256 }, { "0", 16+256 }, { "0", 16+256 }, { "0", 0+256 } } },
{ { { "25", 71+256 }, { "25", 72+256 }, { "25", 72+256 }, { "25", 64+256 } } },
{ { { "50", 126+256 }, { "50", 128+256 }, { "50", 128+256 }, { "50", 128+256 } } },
{ { { "75", 180+256 }, { "75", 184+256 }, { "75", 184+256 }, { "75", 192+256 } } },
{ { { "100", 235+256 }, { "100", 240+256 }, { "100", 240+256 }, { "100", 256+256 } } },
{ { { "125", 290+256 }, { "125", 296+256 }, { "125", 296+256 }, { "125", 320+256 } } },
}

Definition at line 2415 of file vf_waveform.c.

Referenced by config_input().

◆ flat_ire9

const GraticuleLines flat_ire9[]
static
Initial value:
= {
{ { { "-25", -78+512 }, { "-25", -80+512 }, { "-25", -80+512 }, { "-25",-128+512 } } },
{ { { "0", 32+512 }, { "0", 32+512 }, { "0", 32+512 }, { "0", 0+512 } } },
{ { { "25", 142+512 }, { "25", 144+512 }, { "25", 144+512 }, { "25", 128+512 } } },
{ { { "50", 251+512 }, { "50", 256+512 }, { "50", 256+512 }, { "50", 256+512 } } },
{ { { "75", 361+512 }, { "75", 368+512 }, { "75", 368+512 }, { "75", 384+512 } } },
{ { { "100", 470+512 }, { "100", 480+512 }, { "100", 480+512 }, { "100", 512+512 } } },
{ { { "125", 580+512 }, { "125", 592+512 }, { "125", 592+512 }, { "125", 640+512 } } },
}

Definition at line 2425 of file vf_waveform.c.

Referenced by config_input().

◆ flat_ire10

const GraticuleLines flat_ire10[]
static
Initial value:
= {
{ { { "-25",-156+1024 }, { "-25",-160+1024 }, { "-25",-160+1024 }, { "-25", -256+1024 } } },
{ { { "0", 64+1024 }, { "0", 64+1024 }, { "0", 64+1024 }, { "0", 0+1024 } } },
{ { { "25", 283+1024 }, { "25", 288+1024 }, { "25", 288+1024 }, { "25", 256+1024 } } },
{ { { "50", 502+1024 }, { "50", 512+1024 }, { "50", 512+1024 }, { "50", 512+1024 } } },
{ { { "75", 721+1024 }, { "75", 736+1024 }, { "75", 736+1024 }, { "75", 768+1024 } } },
{ { { "100", 940+1024 }, { "100", 960+1024 }, { "100", 960+1024 }, { "100", 1024+1024 } } },
{ { { "125",1160+1024 }, { "125",1184+1024 }, { "125",1184+1024 }, { "125", 1280+1024 } } },
}

Definition at line 2435 of file vf_waveform.c.

Referenced by config_input().

◆ flat_ire12

const GraticuleLines flat_ire12[]
static
Initial value:
= {
{ { { "-25", -624+4096 }, { "-25", -640+4096 }, { "-25", -640+4096 }, { "-25",-1024+4096 } } },
{ { { "0", 256+4096 }, { "0", 256+4096 }, { "0", 256+4096 }, { "0", 0+4096 } } },
{ { { "25", 1132+4096 }, { "25", 1152+4096 }, { "25", 1152+4096 }, { "25", 1024+4096 } } },
{ { { "50", 2008+4096 }, { "50", 2048+4096 }, { "50", 2048+4096 }, { "50", 2048+4096 } } },
{ { { "75", 2884+4096 }, { "75", 2944+4096 }, { "75", 2944+4096 }, { "75", 3072+4096 } } },
{ { { "100", 3760+4096 }, { "100", 3840+4096 }, { "100", 3840+4096 }, { "100", 4096+4096 } } },
{ { { "125", 4640+4096 }, { "125", 4736+4096 }, { "125", 4736+4096 }, { "125", 5120+4096 } } },
}

Definition at line 2445 of file vf_waveform.c.

Referenced by config_input().

◆ digital8

const GraticuleLines digital8[]
static
Initial value:
= {
{ { { "16", 16 }, { "16", 16 }, { "16", 16 }, { "0", 0 } } },
{ { { "128", 128 }, { "128", 128 }, { "128", 128 }, { "128", 128 } } },
{ { { "235", 235 }, { "240", 240 }, { "240", 240 }, { "255", 255 } } },
}

Definition at line 2455 of file vf_waveform.c.

Referenced by config_input().

◆ digital9

const GraticuleLines digital9[]
static
Initial value:
= {
{ { { "32", 32 }, { "32", 32 }, { "32", 32 }, { "0", 0 } } },
{ { { "256", 256 }, { "256", 256 }, { "256", 256 }, { "256", 256 } } },
{ { { "470", 470 }, { "480", 480 }, { "480", 480 }, { "511", 511 } } },
}

Definition at line 2461 of file vf_waveform.c.

Referenced by config_input().

◆ digital10

const GraticuleLines digital10[]
static
Initial value:
= {
{ { { "64", 64 }, { "64", 64 }, { "64", 64 }, { "0", 0 } } },
{ { { "512", 512 }, { "512", 512 }, { "512", 512 }, { "512", 512 } } },
{ { { "940", 940 }, { "960", 960 }, { "960", 960 }, { "1023", 1023 } } },
}

Definition at line 2467 of file vf_waveform.c.

Referenced by config_input().

◆ digital12

const GraticuleLines digital12[]
static
Initial value:
= {
{ { { "256", 256 }, { "256", 256 }, { "256", 256 }, { "0", 0 } } },
{ { { "2048", 2048 }, { "2048", 2048 }, { "2048", 2048 }, { "2048", 2048 } } },
{ { { "3760", 3760 }, { "3840", 3840 }, { "3840", 3840 }, { "4095", 4095 } } },
}

Definition at line 2473 of file vf_waveform.c.

Referenced by config_input().

◆ millivolts8

const GraticuleLines millivolts8[]
static
Initial value:
= {
{ { { "0", 16 }, { "0", 16 }, { "0", 16 }, { "0", 0 } } },
{ { { "175", 71 }, { "175", 72 }, { "175", 72 }, { "175", 64 } } },
{ { { "350", 126 }, { "350", 128 }, { "350", 128 }, { "350", 128 } } },
{ { { "525", 180 }, { "525", 184 }, { "525", 184 }, { "525", 192 } } },
{ { { "700", 235 }, { "700", 240 }, { "700", 240 }, { "700", 255 } } },
}

Definition at line 2479 of file vf_waveform.c.

Referenced by config_input().

◆ millivolts9

const GraticuleLines millivolts9[]
static
Initial value:
= {
{ { { "0", 32 }, { "0", 32 }, { "0", 32 }, { "0", 0 } } },
{ { { "175", 142 }, { "175", 144 }, { "175", 144 }, { "175", 128 } } },
{ { { "350", 251 }, { "350", 256 }, { "350", 256 }, { "350", 256 } } },
{ { { "525", 361 }, { "525", 368 }, { "525", 368 }, { "525", 384 } } },
{ { { "700", 470 }, { "700", 480 }, { "700", 480 }, { "700", 511 } } },
}

Definition at line 2487 of file vf_waveform.c.

Referenced by config_input().

◆ millivolts10

const GraticuleLines millivolts10[]
static
Initial value:
= {
{ { { "0", 64 }, { "0", 64 }, { "0", 64 }, { "0", 0 } } },
{ { { "175", 283 }, { "175", 288 }, { "175", 288 }, { "175", 256 } } },
{ { { "350", 502 }, { "350", 512 }, { "350", 512 }, { "350", 512 } } },
{ { { "525", 721 }, { "525", 736 }, { "525", 736 }, { "525", 768 } } },
{ { { "700", 940 }, { "700", 960 }, { "700", 960 }, { "700", 1023 } } },
}

Definition at line 2495 of file vf_waveform.c.

Referenced by config_input().

◆ millivolts12

const GraticuleLines millivolts12[]
static
Initial value:
= {
{ { { "0", 256 }, { "0", 256 }, { "0", 256 }, { "0", 0 } } },
{ { { "175", 1132 }, { "175", 1152 }, { "175", 1152 }, { "175", 1024 } } },
{ { { "350", 2008 }, { "350", 2048 }, { "350", 2048 }, { "350", 2048 } } },
{ { { "525", 2884 }, { "525", 2944 }, { "525", 2944 }, { "525", 3072 } } },
{ { { "700", 3760 }, { "700", 3840 }, { "700", 3840 }, { "700", 4095 } } },
}

Definition at line 2503 of file vf_waveform.c.

Referenced by config_input().

◆ ire8

const GraticuleLines ire8[]
static
Initial value:
= {
{ { { "0", 16 }, { "0", 16 }, { "0", 16 }, { "0", 0 } } },
{ { { "25", 71 }, { "25", 72 }, { "25", 72 }, { "25", 64 } } },
{ { { "50", 126 }, { "50", 128 }, { "50", 128 }, { "50", 128 } } },
{ { { "75", 180 }, { "75", 184 }, { "75", 184 }, { "75", 192 } } },
{ { { "100", 235 }, { "100", 240 }, { "100", 240 }, { "100", 255 } } },
}

Definition at line 2511 of file vf_waveform.c.

Referenced by config_input().

◆ ire9

const GraticuleLines ire9[]
static
Initial value:
= {
{ { { "0", 32 }, { "0", 32 }, { "0", 32 }, { "0", 0 } } },
{ { { "25", 142 }, { "25", 144 }, { "25", 144 }, { "25", 128 } } },
{ { { "50", 251 }, { "50", 256 }, { "50", 256 }, { "50", 256 } } },
{ { { "75", 361 }, { "75", 368 }, { "75", 368 }, { "75", 384 } } },
{ { { "100", 470 }, { "100", 480 }, { "100", 480 }, { "100", 511 } } },
}

Definition at line 2519 of file vf_waveform.c.

Referenced by config_input().

◆ ire10

const GraticuleLines ire10[]
static
Initial value:
= {
{ { { "0", 64 }, { "0", 64 }, { "0", 64 }, { "0", 0 } } },
{ { { "25", 283 }, { "25", 288 }, { "25", 288 }, { "25", 256 } } },
{ { { "50", 502 }, { "50", 512 }, { "50", 512 }, { "50", 512 } } },
{ { { "75", 721 }, { "75", 736 }, { "75", 736 }, { "75", 768 } } },
{ { { "100", 940 }, { "100", 960 }, { "100", 960 }, { "100", 1023 } } },
}

Definition at line 2527 of file vf_waveform.c.

Referenced by config_input().

◆ ire12

const GraticuleLines ire12[]
static
Initial value:
= {
{ { { "0", 256 }, { "0", 256 }, { "0", 256 }, { "0", 0 } } },
{ { { "25", 1132 }, { "25", 1152 }, { "25", 1152 }, { "25", 1024 } } },
{ { { "50", 2008 }, { "50", 2048 }, { "50", 2048 }, { "50", 2048 } } },
{ { { "75", 2884 }, { "75", 2944 }, { "75", 2944 }, { "75", 3072 } } },
{ { { "100", 3760 }, { "100", 3840 }, { "100", 3840 }, { "100", 4095 } } },
}

Definition at line 2535 of file vf_waveform.c.

Referenced by config_input().

◆ chroma_digital8

const GraticuleLines chroma_digital8[]
static
Initial value:
= {
{ { { "50", 50 }, { "50", 50 }, { "50", 50 }, { "50", 50 } } },
{ { { "100", 100 }, { "100", 100 }, { "100", 100 }, { "100", 100 } } },
{ { { "150", 150 }, { "150", 150 }, { "150", 150 }, { "150", 150 } } },
{ { { "200", 200 }, { "200", 200 }, { "200", 200 }, { "200", 200 } } },
{ { { "255", 255 }, { "255", 255 }, { "255", 255 }, { "255", 255 } } },
}

Definition at line 2543 of file vf_waveform.c.

Referenced by config_input().

◆ chroma_digital9

const GraticuleLines chroma_digital9[]
static
Initial value:
= {
{ { { "100", 100 }, { "100", 100 }, { "100", 100 }, { "100", 100 } } },
{ { { "200", 200 }, { "200", 200 }, { "200", 200 }, { "200", 200 } } },
{ { { "300", 300 }, { "300", 300 }, { "300", 300 }, { "300", 300 } } },
{ { { "400", 400 }, { "400", 400 }, { "400", 400 }, { "400", 400 } } },
{ { { "500", 500 }, { "500", 500 }, { "500", 500 }, { "500", 500 } } },
}

Definition at line 2551 of file vf_waveform.c.

Referenced by config_input().

◆ chroma_digital10

const GraticuleLines chroma_digital10[]
static
Initial value:
= {
{ { { "200", 200 }, { "200", 200 }, { "200", 200 }, { "200", 200 } } },
{ { { "400", 400 }, { "400", 400 }, { "400", 400 }, { "400", 400 } } },
{ { { "600", 600 }, { "600", 600 }, { "600", 600 }, { "600", 600 } } },
{ { { "800", 800 }, { "800", 800 }, { "800", 800 }, { "800", 800 } } },
{ { {"1000",1000 }, {"1000",1000 }, {"1000",1000 }, {"1000",1000 } } },
}

Definition at line 2559 of file vf_waveform.c.

Referenced by config_input().

◆ chroma_digital12

const GraticuleLines chroma_digital12[]
static
Initial value:
= {
{ { { "800", 800 }, { "800", 800 }, { "800", 800 }, { "800", 800 } } },
{ { { "1600", 1600 }, { "1600", 1600 }, { "1600", 1600 }, { "1600", 1600 } } },
{ { { "2400", 2400 }, { "2400", 2400 }, { "2400", 2400 }, { "2400", 2400 } } },
{ { { "3200", 3200 }, { "3200", 3200 }, { "3200", 3200 }, { "3200", 3200 } } },
{ { { "4000", 4000 }, { "4000", 4000 }, { "4000", 4000 }, { "4000", 4000 } } },
}

Definition at line 2567 of file vf_waveform.c.

Referenced by config_input().

◆ inputs

const AVFilterPad inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = filter_frame,
.config_props = config_input,
},
{ NULL }
}

Definition at line 3474 of file vf_waveform.c.

◆ outputs

const AVFilterPad outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_output,
},
{ NULL }
}

Definition at line 3484 of file vf_waveform.c.

◆ ff_vf_waveform

AVFilter ff_vf_waveform
Initial value:
= {
.name = "waveform",
.description = NULL_IF_CONFIG_SMALL("Video waveform monitor."),
.priv_size = sizeof(WaveformContext),
.priv_class = &waveform_class,
}

Definition at line 3493 of file vf_waveform.c.

acolor16
static av_always_inline void acolor16(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1993
td
#define td
Definition: regdef.h:70
name
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf default minimum maximum flags name is the option name
Definition: writing_filters.txt:88
color
static av_always_inline void color(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1861
out
FILE * out
Definition: movenc.c:54
lowpass
static av_always_inline void lowpass(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:813
AV_PIX_FMT_YUVA422P9
#define AV_PIX_FMT_YUVA422P9
Definition: pixfmt.h:434
AV_PIX_FMT_YUVA420P10
#define AV_PIX_FMT_YUVA420P10
Definition: pixfmt.h:436
chroma
static av_always_inline void chroma(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1624
AV_PIX_FMT_YUV420P10
#define AV_PIX_FMT_YUV420P10
Definition: pixfmt.h:399
AV_PIX_FMT_YUV440P
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
Definition: pixfmt.h:99
AV_PIX_FMT_YUVA422P10
#define AV_PIX_FMT_YUVA422P10
Definition: pixfmt.h:437
AV_PIX_FMT_GRAY9
#define AV_PIX_FMT_GRAY9
Definition: pixfmt.h:379
AV_PIX_FMT_YUVA420P9
#define AV_PIX_FMT_YUVA420P9
Definition: pixfmt.h:433
query_formats
static int query_formats(AVFilterContext *ctx)
Definition: vf_waveform.c:306
AV_PIX_FMT_GBRAP
@ AV_PIX_FMT_GBRAP
planar GBRA 4:4:4:4 32bpp
Definition: pixfmt.h:215
inputs
static const AVFilterPad inputs[]
Definition: vf_waveform.c:3474
AV_PIX_FMT_GBRP10
#define AV_PIX_FMT_GBRP10
Definition: pixfmt.h:415
AV_PIX_FMT_YUV422P9
#define AV_PIX_FMT_YUV422P9
Definition: pixfmt.h:397
AV_PIX_FMT_YUV444P10
#define AV_PIX_FMT_YUV444P10
Definition: pixfmt.h:402
AV_PIX_FMT_YUVJ411P
@ AV_PIX_FMT_YUVJ411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor ...
Definition: pixfmt.h:258
AV_PIX_FMT_YUVJ422P
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
Definition: pixfmt.h:79
AV_PIX_FMT_GBRAP10
#define AV_PIX_FMT_GBRAP10
Definition: pixfmt.h:419
flat16
static av_always_inline void flat16(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:950
s
#define s(width, name)
Definition: cbs_vp9.c:257
AV_PIX_FMT_GBRAP12
#define AV_PIX_FMT_GBRAP12
Definition: pixfmt.h:420
AV_PIX_FMT_YUVA420P
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
Definition: pixfmt.h:101
color16
static av_always_inline void color16(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1728
AV_PIX_FMT_YUVA444P12
#define AV_PIX_FMT_YUVA444P12
Definition: pixfmt.h:440
AV_PIX_FMT_YUV420P9
#define AV_PIX_FMT_YUV420P9
Definition: pixfmt.h:396
ctx
AVFormatContext * ctx
Definition: movenc.c:48
AV_PIX_FMT_YUV420P
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition: pixfmt.h:66
AV_PIX_FMT_YUVJ444P
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
Definition: pixfmt.h:80
arg
const char * arg
Definition: jacosubdec.c:66
AV_PIX_FMT_GRAY10
#define AV_PIX_FMT_GRAY10
Definition: pixfmt.h:380
NULL
#define NULL
Definition: coverity.c:32
WaveformContext
Definition: vf_waveform.c:83
AV_PIX_FMT_YUVJ420P
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
Definition: pixfmt.h:78
AV_PIX_FMT_YUV422P10
#define AV_PIX_FMT_YUV422P10
Definition: pixfmt.h:400
AV_PIX_FMT_GRAY8
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition: pixfmt.h:74
AV_PIX_FMT_GBRP9
#define AV_PIX_FMT_GBRP9
Definition: pixfmt.h:414
mirror
static void mirror(const float *modifier, float *vec)
Definition: vf_v360.c:3945
NULL_IF_CONFIG_SMALL
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition: internal.h:117
config_output
static int config_output(AVFilterLink *outlink)
Definition: vf_waveform.c:3304
AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV422P12
Definition: pixfmt.h:404
outputs
static const AVFilterPad outputs[]
Definition: vf_waveform.c:3484
AV_PIX_FMT_YUV444P12
#define AV_PIX_FMT_YUV444P12
Definition: pixfmt.h:406
chroma16
static av_always_inline void chroma16(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1518
AV_PIX_FMT_YUVA444P
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
Definition: pixfmt.h:177
AV_PIX_FMT_YUVA444P10
#define AV_PIX_FMT_YUVA444P10
Definition: pixfmt.h:438
in
uint8_t pi<< 24) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_U8, uint8_t,(*(const uint8_t *) pi - 0x80) *(1.0f/(1<< 7))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_U8, uint8_t,(*(const uint8_t *) pi - 0x80) *(1.0/(1<< 7))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_S16, int16_t,(*(const int16_t *) pi >> 8)+0x80) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_S16, int16_t, *(const int16_t *) pi *(1.0f/(1<< 15))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_S16, int16_t, *(const int16_t *) pi *(1.0/(1<< 15))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_S32, int32_t,(*(const int32_t *) pi >> 24)+0x80) CONV_FUNC_GROUP(AV_SAMPLE_FMT_FLT, float, AV_SAMPLE_FMT_S32, int32_t, *(const int32_t *) pi *(1.0f/(1U<< 31))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_DBL, double, AV_SAMPLE_FMT_S32, int32_t, *(const int32_t *) pi *(1.0/(1U<< 31))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_FLT, float, av_clip_uint8(lrintf(*(const float *) pi *(1<< 7))+0x80)) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_FLT, float, av_clip_int16(lrintf(*(const float *) pi *(1<< 15)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_FLT, float, av_clipl_int32(llrintf(*(const float *) pi *(1U<< 31)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_U8, uint8_t, AV_SAMPLE_FMT_DBL, double, av_clip_uint8(lrint(*(const double *) pi *(1<< 7))+0x80)) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S16, int16_t, AV_SAMPLE_FMT_DBL, double, av_clip_int16(lrint(*(const double *) pi *(1<< 15)))) CONV_FUNC_GROUP(AV_SAMPLE_FMT_S32, int32_t, AV_SAMPLE_FMT_DBL, double, av_clipl_int32(llrint(*(const double *) pi *(1U<< 31)))) #define SET_CONV_FUNC_GROUP(ofmt, ifmt) static void set_generic_function(AudioConvert *ac) { } void ff_audio_convert_free(AudioConvert **ac) { if(! *ac) return;ff_dither_free(&(*ac) ->dc);av_freep(ac);} AudioConvert *ff_audio_convert_alloc(AVAudioResampleContext *avr, enum AVSampleFormat out_fmt, enum AVSampleFormat in_fmt, int channels, int sample_rate, int apply_map) { AudioConvert *ac;int in_planar, out_planar;ac=av_mallocz(sizeof(*ac));if(!ac) return NULL;ac->avr=avr;ac->out_fmt=out_fmt;ac->in_fmt=in_fmt;ac->channels=channels;ac->apply_map=apply_map;if(avr->dither_method !=AV_RESAMPLE_DITHER_NONE &&av_get_packed_sample_fmt(out_fmt)==AV_SAMPLE_FMT_S16 &&av_get_bytes_per_sample(in_fmt) > 2) { ac->dc=ff_dither_alloc(avr, out_fmt, in_fmt, channels, sample_rate, apply_map);if(!ac->dc) { av_free(ac);return NULL;} return ac;} in_planar=ff_sample_fmt_is_planar(in_fmt, channels);out_planar=ff_sample_fmt_is_planar(out_fmt, channels);if(in_planar==out_planar) { ac->func_type=CONV_FUNC_TYPE_FLAT;ac->planes=in_planar ? ac->channels :1;} else if(in_planar) ac->func_type=CONV_FUNC_TYPE_INTERLEAVE;else ac->func_type=CONV_FUNC_TYPE_DEINTERLEAVE;set_generic_function(ac);if(ARCH_AARCH64) ff_audio_convert_init_aarch64(ac);if(ARCH_ARM) ff_audio_convert_init_arm(ac);if(ARCH_X86) ff_audio_convert_init_x86(ac);return ac;} int ff_audio_convert(AudioConvert *ac, AudioData *out, AudioData *in) { int use_generic=1;int len=in->nb_samples;int p;if(ac->dc) { av_log(ac->avr, AV_LOG_TRACE, "%d samples - audio_convert: %s to %s (dithered)\n", len, av_get_sample_fmt_name(ac->in_fmt), av_get_sample_fmt_name(ac->out_fmt));return ff_convert_dither(ac-> in
Definition: audio_convert.c:326
AV_PIX_FMT_GBRP12
#define AV_PIX_FMT_GBRP12
Definition: pixfmt.h:416
AV_PIX_FMT_YUVJ440P
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
Definition: pixfmt.h:100
AV_PIX_FMT_YUV444P9
#define AV_PIX_FMT_YUV444P9
Definition: pixfmt.h:398
config_input
static int config_input(AVFilterLink *inlink)
Definition: vf_waveform.c:3033
AV_PIX_FMT_YUVA444P9
#define AV_PIX_FMT_YUVA444P9
Definition: pixfmt.h:435
AV_PIX_FMT_YUV420P12
#define AV_PIX_FMT_YUV420P12
Definition: pixfmt.h:403
filter_frame
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
Definition: vf_waveform.c:3366
AV_PIX_FMT_NONE
@ AV_PIX_FMT_NONE
Definition: pixfmt.h:65
AV_PIX_FMT_YUVA422P12
#define AV_PIX_FMT_YUVA422P12
Definition: pixfmt.h:439
uninit
static av_cold void uninit(AVFilterContext *ctx)
Definition: vf_waveform.c:3467
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:71
AVFilterContext
An instance of a filter.
Definition: avfilter.h:341
AV_PIX_FMT_GBRP
@ AV_PIX_FMT_GBRP
planar GBR 4:4:4 24bpp
Definition: pixfmt.h:168
AVFILTER_FLAG_SLICE_THREADS
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
Definition: avfilter.h:117
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AV_PIX_FMT_YUV422P
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:70
AV_PIX_FMT_YUV411P
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
Definition: pixfmt.h:73
flags
#define flags(name, subs,...)
Definition: cbs_av1.c:561
AV_PIX_FMT_YUV410P
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
Definition: pixfmt.h:72
flat
static av_always_inline void flat(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:1089
AV_PIX_FMT_YUV440P12
#define AV_PIX_FMT_YUV440P12
Definition: pixfmt.h:405
AV_PIX_FMT_GRAY12
#define AV_PIX_FMT_GRAY12
Definition: pixfmt.h:381
lowpass16
static av_always_inline void lowpass16(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:675
acolor
static av_always_inline void acolor(WaveformContext *s, AVFrame *in, AVFrame *out, int component, int intensity, int offset_y, int offset_x, int column, int mirror, int jobnr, int nb_jobs)
Definition: vf_waveform.c:2127
AV_PIX_FMT_YUVA422P
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
Definition: pixfmt.h:176