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
} |
|
enum | { DIRECTION_45UP,
DIRECTION_45DOWN,
DIRECTION_HORIZONTAL,
DIRECTION_VERTICAL
} |
|
|
| AVFILTER_DEFINE_CLASS (edgedetect) |
|
static av_cold int | init (AVFilterContext *ctx) |
|
static int | query_formats (AVFilterContext *ctx) |
|
static int | config_props (AVFilterLink *inlink) |
|
static void | gaussian_blur (AVFilterContext *ctx, int w, int h, uint8_t *dst, int dst_linesize, const uint8_t *src, int src_linesize) |
|
static int | get_rounded_direction (int gx, int gy) |
|
static void | sobel (int w, int h, uint16_t *dst, int dst_linesize, int8_t *dir, int dir_linesize, const uint8_t *src, int src_linesize) |
|
static void | non_maximum_suppression (int w, int h, uint8_t *dst, int dst_linesize, const int8_t *dir, int dir_linesize, const uint16_t *src, int src_linesize) |
|
static void | double_threshold (int low, int high, int w, int h, uint8_t *dst, int dst_linesize, const uint8_t *src, int src_linesize) |
|
static void | color_mix (int w, int h, uint8_t *dst, int dst_linesize, const uint8_t *src, int src_linesize) |
|
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
|
static av_cold void | uninit (AVFilterContext *ctx) |
|
◆ PLANE_R
◆ PLANE_G
◆ PLANE_B
◆ PLANE_Y
◆ PLANE_U
◆ PLANE_V
◆ PLANE_A
◆ OFFSET
◆ FLAGS
◆ COPY_MAXIMA
#define COPY_MAXIMA |
( |
|
ay, |
|
|
|
ax, |
|
|
|
by, |
|
|
|
bx |
|
) |
| |
Value: do { \
if (
src[
i] >
src[(ay)*src_linesize +
i+(ax)] && \
src[
i] >
src[(by)*src_linesize +
i+(bx)]) \
dst[
i] = av_clip_uint8(
src[
i]); \
} 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 44 of file vf_edgedetect.c.
◆ anonymous enum
Enumerator |
---|
DIRECTION_45UP | |
DIRECTION_45DOWN | |
DIRECTION_HORIZONTAL | |
DIRECTION_VERTICAL | |
Definition at line 195 of file vf_edgedetect.c.
◆ AVFILTER_DEFINE_CLASS()
◆ init()
◆ query_formats()
◆ config_props()
◆ gaussian_blur()
◆ get_rounded_direction()
static int get_rounded_direction |
( |
int |
gx, |
|
|
int |
gy |
|
) |
| |
|
static |
◆ sobel()
static void sobel |
( |
int |
w, |
|
|
int |
h, |
|
|
uint16_t * |
dst, |
|
|
int |
dst_linesize, |
|
|
int8_t * |
dir, |
|
|
int |
dir_linesize, |
|
|
const uint8_t * |
src, |
|
|
int |
src_linesize |
|
) |
| |
|
static |
◆ non_maximum_suppression()
static void non_maximum_suppression |
( |
int |
w, |
|
|
int |
h, |
|
|
uint8_t * |
dst, |
|
|
int |
dst_linesize, |
|
|
const int8_t * |
dir, |
|
|
int |
dir_linesize, |
|
|
const uint16_t * |
src, |
|
|
int |
src_linesize |
|
) |
| |
|
static |
◆ double_threshold()
◆ color_mix()
◆ filter_frame()
◆ uninit()
◆ edgedetect_options
◆ edgedetect_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 416 of file vf_edgedetect.c.
◆ edgedetect_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 426 of file vf_edgedetect.c.
◆ ff_vf_edgedetect
Initial value:= {
.name = "edgedetect",
.priv_class = &edgedetect_class,
}
Definition at line 434 of file vf_edgedetect.c.