Go to the source code of this file.
|
#define | CHECK(j) |
|
#define | FILTER(start, end, is_not_edge) |
|
#define | MAX_ALIGN 8 |
|
#define | OFFSET(x) offsetof(YADIFContext, x) |
|
#define | FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
|
#define | CONST(name, help, val, unit) { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, INT_MIN, INT_MAX, FLAGS, unit } |
|
|
static void | filter_line_c (void *dst1, void *prev1, void *cur1, void *next1, int w, int prefs, int mrefs, int parity, int mode) |
|
static void | filter_edges (void *dst1, void *prev1, void *cur1, void *next1, int w, int prefs, int mrefs, int parity, int mode) |
|
static void | filter_line_c_16bit (void *dst1, void *prev1, void *cur1, void *next1, int w, int prefs, int mrefs, int parity, int mode) |
|
static void | filter_edges_16bit (void *dst1, void *prev1, void *cur1, void *next1, int w, int prefs, int mrefs, int parity, int mode) |
|
static int | filter_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
|
static void | filter (AVFilterContext *ctx, AVFrame *dstpic, int parity, int tff) |
|
static int | return_frame (AVFilterContext *ctx, int is_second) |
|
static int | checkstride (YADIFContext *yadif, const AVFrame *a, const AVFrame *b) |
|
static void | fixstride (AVFilterLink *link, AVFrame *f) |
|
static int | filter_frame (AVFilterLink *link, AVFrame *frame) |
|
static int | request_frame (AVFilterLink *link) |
|
static av_cold void | uninit (AVFilterContext *ctx) |
|
static int | query_formats (AVFilterContext *ctx) |
|
static int | config_props (AVFilterLink *link) |
|
| AVFILTER_DEFINE_CLASS (yadif) |
|
Value:{
int score =
FFABS(cur[mrefs - 1 + (j)] - cur[prefs - 1 - (j)])\
+
FFABS(cur[mrefs +(j)] - cur[prefs -(j)])\
+
FFABS(cur[mrefs + 1 + (j)] - cur[prefs + 1 - (j)]);
\
spatial_pred= (cur[mrefs +(j)] + cur[prefs -(j)])>>1;\
#define FFABS(a)
Absolute value, Note, INT_MIN / INT64_MIN result in undefined behavior as they are not representable ...
Definition at line 42 of file vf_yadif.c.
#define FILTER |
( |
|
start, |
|
|
|
end, |
|
|
|
is_not_edge |
|
) |
| |
#define CONST |
( |
|
name, |
|
|
|
help, |
|
|
|
val, |
|
|
|
unit |
|
) |
| { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, INT_MIN, INT_MAX, FLAGS, unit } |
AVFILTER_DEFINE_CLASS |
( |
yadif |
| ) |
|
Initial value:= {
}
send 1 frame for each frame but skips spatial interlacing check
send 1 frame for each field
send 1 frame for each field but skips spatial interlacing check
send 1 frame for each frame
#define CONST(name, help, val, unit)
only deinterlace frames marked as interlaced
mode
Use these values in ebur128_init (or'ed).
Definition at line 515 of file vf_yadif.c.
Initial value:= {
{
.name = "default",
},
}
static int filter_frame(AVFilterLink *link, AVFrame *frame)
Definition at line 536 of file vf_yadif.c.
Initial value:= {
{
.name = "default",
},
}
static int request_frame(AVFilterLink *link)
static int config_props(AVFilterLink *link)
Definition at line 545 of file vf_yadif.c.
Initial value:= {
.name = "yadif",
.priv_class = &yadif_class,
}
static const AVFilterPad avfilter_vf_yadif_inputs[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
#define AVFILTER_FLAG_SLICE_THREADS
The filter supports multithreading by splitting frames into multiple parts and processing them concur...
static int query_formats(AVFilterContext *ctx)
static const AVFilterPad avfilter_vf_yadif_outputs[]
static const AVFilterPad inputs[]
static const AVFilterPad outputs[]
#define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() c...
static av_cold void uninit(AVFilterContext *ctx)
Definition at line 555 of file vf_yadif.c.