FFmpeg
|
audio to spectrum (video) transmedia filter, based on ffplay rdft showmode (by Michael Niedermayer) and lavfi/avf_showwaves (by Stefano Sabatini). More...
#include <math.h>
#include "libavcodec/avfft.h"
#include "libavutil/audio_fifo.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/opt.h"
#include "libavutil/xga_font_data.h"
#include "audio.h"
#include "video.h"
#include "avfilter.h"
#include "internal.h"
#include "window_func.h"
Go to the source code of this file.
Data Structures | |
struct | ShowSpectrumContext |
struct | ColorTable |
Macros | |
#define | OFFSET(x) offsetof(ShowSpectrumContext, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define | RE(y, ch) s->fft_data[ch][y].re |
#define | IM(y, ch) s->fft_data[ch][y].im |
#define | MAGNITUDE(y, ch) hypot(RE(y, ch), IM(y, ch)) |
#define | PHASE(y, ch) atan2(IM(y, ch), RE(y, ch)) |
Enumerations | |
enum | DisplayMode { SINGLE, SEPARATE, NB_DMODES, LINE, BAR, DOT, NB_MODES, COMBINED, SEPARATE, NB_MODES } |
enum | DataMode { D_MAGNITUDE, D_PHASE, NB_DMODES } |
enum | DisplayScale { LINEAR, SQRT, CBRT, LOG, RLOG, NB_SCALES, LINEAR, SQRT, CBRT, LOG, FOURTHRT, FIFTHRT, NB_SCALES, LINEAR, LOG, NB_DISPLAY_SCALE } |
enum | ColorMode { CHANNEL, INTENSITY, RAINBOW, MORELAND, NEBULAE, FIRE, FIERY, FRUIT, COOL, NB_CLMODES, COLOR_MODE_NONE = -1, COLOR_MODE_BT709, COLOR_MODE_FCC, COLOR_MODE_BT601, COLOR_MODE_SMPTE240M, COLOR_MODE_BT2020, COLOR_MODE_COUNT } |
enum | SlideMode { REPLACE, SCROLL, NB_SLIDES, REPLACE, SCROLL, FULLFRAME, RSCROLL, NB_SLIDES, REPLACE, SCROLL, FULLFRAME, RSCROLL, NB_SLIDES } |
enum | Orientation { VERTICAL, HORIZONTAL, NB_ORIENTATIONS, VERTICAL, HORIZONTAL, NB_ORIENTATIONS } |
Functions | |
AVFILTER_DEFINE_CLASS (showspectrum) | |
static av_cold void | uninit (AVFilterContext *ctx) |
static int | query_formats (AVFilterContext *ctx) |
static int | config_output (AVFilterLink *outlink) |
static int | run_channel_fft (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | calc_channel_magnitudes (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | calc_channel_phases (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static void | acalc_magnitudes (ShowSpectrumContext *s) |
static void | scale_magnitudes (ShowSpectrumContext *s, float scale) |
static void | color_range (ShowSpectrumContext *s, int ch, float *yf, float *uf, float *vf) |
static void | pick_color (ShowSpectrumContext *s, float yf, float uf, float vf, float a, float *out) |
static void | clear_combine_buffer (ShowSpectrumContext *s, int size) |
static int | plot_channel (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | plot_spectrum_column (AVFilterLink *inlink, AVFrame *insamples) |
Variables | |
static const AVOption | showspectrum_options [] |
static const struct ColorTable | color_table [][8] |
audio to spectrum (video) transmedia filter, based on ffplay rdft showmode (by Michael Niedermayer) and lavfi/avf_showwaves (by Stefano Sabatini).
Definition in file avf_showspectrum.c.
#define OFFSET | ( | x | ) | offsetof(ShowSpectrumContext, x) |
Definition at line 88 of file avf_showspectrum.c.
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Definition at line 89 of file avf_showspectrum.c.
Definition at line 490 of file avf_showspectrum.c.
Referenced by acalc_magnitudes(), and calc_channel_magnitudes().
Definition at line 491 of file avf_showspectrum.c.
Referenced by calc_channel_phases().
enum DisplayMode |
Enumerator | |
---|---|
SINGLE | |
SEPARATE | |
NB_DMODES | |
LINE | |
BAR | |
DOT | |
NB_MODES | |
COMBINED | |
SEPARATE | |
NB_MODES |
Definition at line 44 of file avf_showspectrum.c.
enum DataMode |
Enumerator | |
---|---|
D_MAGNITUDE | |
D_PHASE | |
NB_DMODES |
Definition at line 45 of file avf_showspectrum.c.
enum DisplayScale |
Enumerator | |
---|---|
LINEAR | |
SQRT | |
CBRT | |
LOG | |
RLOG | |
NB_SCALES | |
LINEAR | |
SQRT | |
CBRT | |
LOG | |
FOURTHRT | |
FIFTHRT | |
NB_SCALES | |
LINEAR | |
LOG | |
NB_DISPLAY_SCALE |
Definition at line 46 of file avf_showspectrum.c.
enum ColorMode |
Definition at line 47 of file avf_showspectrum.c.
enum SlideMode |
Enumerator | |
---|---|
REPLACE | |
SCROLL | |
NB_SLIDES | |
REPLACE | |
SCROLL | |
FULLFRAME | |
RSCROLL | |
NB_SLIDES | |
REPLACE | |
SCROLL | |
FULLFRAME | |
RSCROLL | |
NB_SLIDES |
Definition at line 48 of file avf_showspectrum.c.
enum Orientation |
Enumerator | |
---|---|
VERTICAL | |
HORIZONTAL | |
NB_ORIENTATIONS | |
VERTICAL | |
HORIZONTAL | |
NB_ORIENTATIONS |
Definition at line 49 of file avf_showspectrum.c.
AVFILTER_DEFINE_CLASS | ( | showspectrum | ) |
|
static |
Definition at line 227 of file avf_showspectrum.c.
|
static |
Definition at line 263 of file avf_showspectrum.c.
|
static |
Definition at line 294 of file avf_showspectrum.c.
|
static |
Definition at line 465 of file avf_showspectrum.c.
|
static |
Definition at line 493 of file avf_showspectrum.c.
|
static |
Definition at line 508 of file avf_showspectrum.c.
|
static |
Definition at line 522 of file avf_showspectrum.c.
|
static |
Definition at line 536 of file avf_showspectrum.c.
|
static |
Definition at line 548 of file avf_showspectrum.c.
Referenced by plot_channel().
|
static |
Definition at line 604 of file avf_showspectrum.c.
Referenced by plot_channel().
|
static |
Definition at line 648 of file avf_showspectrum.c.
Referenced by plot_spectrum_column().
|
static |
Definition at line 659 of file avf_showspectrum.c.
Referenced by plot_spectrum_column().
|
static |
Definition at line 721 of file avf_showspectrum.c.
|
static |
Definition at line 91 of file avf_showspectrum.c.
|
static |
Referenced by pick_color().