Go to the source code of this file.
|
| enum | FilterMode {
FILTER_8TAP_SMOOTH,
FILTER_8TAP_REGULAR,
FILTER_8TAP_SHARP,
FILTER_BILINEAR,
N_FILTERS,
FILTER_SWITCHABLE = N_FILTERS,
MODE_WIRES,
MODE_COLORMIX,
MODE_CANNY,
NB_MODE,
MODE_NONE,
MODE_INTERLEAVE,
MODE_DEINTERLEAVE,
FILTER_NONE = -1,
FILTER_TOUT,
FILTER_VREP,
FILTER_BRNG,
FILT_NUMB
} |
| |
|
| | AVFILTER_DEFINE_CLASS (signalstats) |
| |
| static av_cold int | init (AVFilterContext *ctx) |
| |
| static av_cold void | uninit (AVFilterContext *ctx) |
| |
| static int | query_formats (AVFilterContext *ctx) |
| |
| static AVFrame * | alloc_frame (enum AVPixelFormat pixfmt, int w, int h) |
| |
| static int | config_output (AVFilterLink *outlink) |
| |
| static void | burn_frame8 (const SignalstatsContext *s, AVFrame *f, int x, int y) |
| |
| static void | burn_frame16 (const SignalstatsContext *s, AVFrame *f, int x, int y) |
| |
| static int | filter8_brng (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | filter16_brng (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | filter_tout_outlier (uint8_t x, uint8_t y, uint8_t z) |
| |
| static int | filter8_tout (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | filter16_tout (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | filter8_vrep (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | filter16_vrep (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | compute_sat_hue_metrics8 (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static int | compute_sat_hue_metrics16 (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
| |
| static unsigned | compute_bit_depth (uint16_t mask) |
| |
| static int | filter_frame8 (AVFilterLink *link, AVFrame *in) |
| |
| static int | filter_frame16 (AVFilterLink *link, AVFrame *in) |
| |
| static int | filter_frame (AVFilterLink *link, AVFrame *in) |
| |
◆ OFFSET
◆ FLAGS
◆ FILTER
◆ FILTER3
◆ VREP_START
◆ SET_META
| #define SET_META |
( |
|
key, |
|
|
|
fmt, |
|
|
|
val |
|
) |
| |
Value: do { \
snprintf(metabuf,
sizeof(metabuf), fmt,
val); \
av_dict_set(&
out->metadata,
"lavfi.signalstats." key, metabuf, 0); \
} while (0)
◆ FilterMode
| Enumerator |
|---|
| FILTER_8TAP_SMOOTH | |
| FILTER_8TAP_REGULAR | |
| FILTER_8TAP_SHARP | |
| FILTER_BILINEAR | |
| N_FILTERS | |
| FILTER_SWITCHABLE | |
| MODE_WIRES | |
| MODE_COLORMIX | |
| MODE_CANNY | |
| NB_MODE | |
| MODE_NONE | |
| MODE_INTERLEAVE | |
| MODE_DEINTERLEAVE | |
| FILTER_NONE | |
| FILTER_TOUT | |
| FILTER_VREP | |
| FILTER_BRNG | |
| FILT_NUMB | |
Definition at line 28 of file vf_signalstats.c.
◆ AVFILTER_DEFINE_CLASS()
| AVFILTER_DEFINE_CLASS |
( |
signalstats |
| ) |
|
◆ init()
◆ uninit()
◆ query_formats()
◆ alloc_frame()
◆ config_output()
◆ burn_frame8()
◆ burn_frame16()
◆ filter8_brng()
◆ filter16_brng()
◆ filter_tout_outlier()
◆ filter8_tout()
◆ filter16_tout()
◆ filter8_vrep()
◆ filter16_vrep()
◆ compute_sat_hue_metrics8()
◆ compute_sat_hue_metrics16()
◆ compute_bit_depth()
| static unsigned compute_bit_depth |
( |
uint16_t |
mask | ) |
|
|
static |
◆ filter_frame8()
◆ filter_frame16()
◆ filter_frame()
◆ signalstats_options
◆ name
◆ process8
◆ process16
◆ filters_def
| const { ... } filters_def[] |
◆ signalstats_inputs
◆ signalstats_outputs
◆ ff_vf_signalstats
Initial value:= {
.name = "signalstats",
.description = "Generate statistics from video analysis.",
.priv_class = &signalstats_class,
}
Definition at line 1015 of file vf_signalstats.c.
static av_cold int init(AVFilterContext *ctx)
static const struct PPFilter filters[]
static int filter8_brng(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
static double val(void *priv, double ch)
static int filter16_tout(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
static int filter_tout_outlier(uint8_t x, uint8_t y, uint8_t z)
static av_cold void uninit(AVFilterContext *ctx)
static const AVFilterPad outputs[]
static int filter8_tout(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several inputs
static const AVFilterPad signalstats_inputs[]
static int filter_frame(AVFilterLink *link, AVFrame *in)
static const AVFilterPad signalstats_outputs[]
#define i(width, name, range_min, range_max)
static int config_output(AVFilterLink *outlink)
static int filter16_brng(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
static int filter8_vrep(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
static int query_formats(AVFilterContext *ctx)
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
static int filter16_vrep(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
#define flags(name, subs,...)