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_props (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
◆ DEPTH
◆ SET_META
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_props()
◆ 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 1013 of file vf_signalstats.c.
static int config_props(AVFilterLink *outlink)
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 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[]
const char const char void * val
#define i(width, name, range_min, range_max)
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,...)