|
FFmpeg
|
Fieldmatching filter, ported from VFM filter (VapourSynth) by Clément. More...
#include <inttypes.h>#include "libavutil/avassert.h"#include "libavutil/imgutils.h"#include "libavutil/opt.h"#include "libavutil/timestamp.h"#include "avfilter.h"#include "internal.h"Go to the source code of this file.
Data Structures | |
| struct | FieldMatchContext |
Macros | |
| #define | INPUT_MAIN 0 |
| #define | INPUT_CLEANSRC 1 |
| #define | OFFSET(x) offsetof(FieldMatchContext, x) |
| #define | FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
| #define | FILTER(xm2, xm1, xp1, xp2) |
| #define | HAS_FF_AROUND(p, lz) |
| #define | C_ARRAY_ADD(v) |
| #define | VERTICAL_HALF(y_start, y_end) |
| #define | LOAD_COMB(mid) |
| #define | SLIDING_FRAME_WINDOW(prv, src, nxt) |
Enumerations | |
| enum | fieldmatch_parity { FM_PARITY_AUTO = -1, FM_PARITY_BOTTOM = 0, FM_PARITY_TOP = 1 } |
| enum | matching_mode { MODE_PC, MODE_PC_N, MODE_PC_U, MODE_PC_N_UB, MODE_PCN, MODE_PCN_UB, NB_MODE } |
| enum | comb_matching_mode { COMBMATCH_NONE, COMBMATCH_SC, COMBMATCH_FULL, NB_COMBMATCH } |
| enum | comb_dbg { COMBDBG_NONE, COMBDBG_PCN, COMBDBG_PCNUB, NB_COMBDBG } |
| enum | { mP, mC, mN, mB, mU } |
Functions | |
| AVFILTER_DEFINE_CLASS (fieldmatch) | |
| static int | get_width (const FieldMatchContext *fm, const AVFrame *f, int plane) |
| static int | get_height (const FieldMatchContext *fm, const AVFrame *f, int plane) |
| static int64_t | luma_abs_diff (const AVFrame *f1, const AVFrame *f2) |
| static void | fill_buf (uint8_t *data, int w, int h, int linesize, uint8_t v) |
| static int | calc_combed_score (const FieldMatchContext *fm, const AVFrame *src) |
| static void | build_abs_diff_mask (const uint8_t *prvp, int prv_linesize, const uint8_t *nxtp, int nxt_linesize, uint8_t *tbuffer, int tbuf_linesize, int width, int height) |
| static void | build_diff_map (FieldMatchContext *fm, const uint8_t *prvp, int prv_linesize, const uint8_t *nxtp, int nxt_linesize, uint8_t *dstp, int dst_linesize, int height, int width, int plane) |
| Build a map over which pixels differ a lot/a little. | |
| static int | get_field_base (int match, int field) |
| static AVFrame * | select_frame (FieldMatchContext *fm, int match) |
| static int | compare_fields (FieldMatchContext *fm, int match1, int match2, int field) |
| static void | copy_fields (const FieldMatchContext *fm, AVFrame *dst, const AVFrame *src, int field) |
| static AVFrame * | create_weave_frame (AVFilterContext *ctx, int match, int field, const AVFrame *prv, AVFrame *src, const AVFrame *nxt) |
| static int | checkmm (AVFilterContext *ctx, int *combs, int m1, int m2, AVFrame **gen_frames, int field) |
| static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
| static int | request_inlink (AVFilterContext *ctx, int lid) |
| static int | request_frame (AVFilterLink *outlink) |
| static int | query_formats (AVFilterContext *ctx) |
| static int | config_input (AVFilterLink *inlink) |
| static av_cold int | fieldmatch_init (AVFilterContext *ctx) |
| static av_cold void | fieldmatch_uninit (AVFilterContext *ctx) |
| static int | config_output (AVFilterLink *outlink) |
Variables | |
| static const AVOption | fieldmatch_options [] |
| static const int | fxo0m [] = { mP, mC, mN, mB, mU } |
| static const int | fxo1m [] = { mN, mC, mP, mU, mB } |
| static const AVFilterPad | fieldmatch_outputs [] |
| AVFilter | ff_vf_fieldmatch |
Fieldmatching filter, ported from VFM filter (VapourSynth) by Clément.
Fredrik Mellbin is the author of the VIVTC/VFM filter, which is itself a light clone of the TIVTC/TFM (AviSynth) filter written by Kevin Stone (tritical), the original author.
Definition in file vf_fieldmatch.c.
| #define INPUT_MAIN 0 |
Definition at line 42 of file vf_fieldmatch.c.
Referenced by config_output(), fieldmatch_init(), filter_frame(), and request_frame().
| #define INPUT_CLEANSRC 1 |
Definition at line 43 of file vf_fieldmatch.c.
Referenced by config_output(), fieldmatch_init(), filter_frame(), and request_frame().
| #define OFFSET | ( | x | ) | offsetof(FieldMatchContext, x) |
Definition at line 112 of file vf_fieldmatch.c.
| #define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 113 of file vf_fieldmatch.c.
| #define FILTER | ( | xm2, | |
| xm1, | |||
| xp1, | |||
| xp2 | |||
| ) |
| #define HAS_FF_AROUND | ( | p, | |
| lz | |||
| ) |
Referenced by calc_combed_score().
| #define C_ARRAY_ADD | ( | v | ) |
Referenced by calc_combed_score().
| #define VERTICAL_HALF | ( | y_start, | |
| y_end | |||
| ) |
Referenced by calc_combed_score().
| #define LOAD_COMB | ( | mid | ) |
Referenced by checkmm().
| #define SLIDING_FRAME_WINDOW | ( | prv, | |
| src, | |||
| nxt | |||
| ) |
Referenced by filter_frame().
| enum fieldmatch_parity |
Definition at line 45 of file vf_fieldmatch.c.
| enum matching_mode |
Definition at line 51 of file vf_fieldmatch.c.
| enum comb_matching_mode |
Definition at line 61 of file vf_fieldmatch.c.
| enum comb_dbg |
Definition at line 68 of file vf_fieldmatch.c.
| anonymous enum |
Definition at line 471 of file vf_fieldmatch.c.
| AVFILTER_DEFINE_CLASS | ( | fieldmatch | ) |
|
static |
Definition at line 154 of file vf_fieldmatch.c.
Referenced by calc_combed_score(), compare_fields(), and copy_fields().
|
static |
Definition at line 159 of file vf_fieldmatch.c.
Referenced by calc_combed_score(), compare_fields(), and copy_fields().
Definition at line 164 of file vf_fieldmatch.c.
Referenced by filter_frame().
Definition at line 184 of file vf_fieldmatch.c.
Referenced by calc_combed_score(), compare_fields(), and intercept_id3().
|
static |
Definition at line 194 of file vf_fieldmatch.c.
Referenced by filter_frame().
|
static |
Definition at line 392 of file vf_fieldmatch.c.
Referenced by build_diff_map().
|
static |
Build a map over which pixels differ a lot/a little.
Definition at line 413 of file vf_fieldmatch.c.
Referenced by compare_fields().
|
static |
Definition at line 473 of file vf_fieldmatch.c.
Referenced by compare_fields().
|
static |
Definition at line 478 of file vf_fieldmatch.c.
Referenced by compare_fields().
|
static |
Definition at line 485 of file vf_fieldmatch.c.
Referenced by filter_frame().
|
static |
Definition at line 607 of file vf_fieldmatch.c.
Referenced by create_weave_frame().
|
static |
Definition at line 617 of file vf_fieldmatch.c.
Referenced by filter_frame().
|
static |
Definition at line 644 of file vf_fieldmatch.c.
Referenced by filter_frame().
|
static |
Definition at line 671 of file vf_fieldmatch.c.
Referenced by fieldmatch_init(), and request_inlink().
|
static |
Definition at line 818 of file vf_fieldmatch.c.
Referenced by request_frame().
|
static |
Definition at line 834 of file vf_fieldmatch.c.
|
static |
Definition at line 850 of file vf_fieldmatch.c.
|
static |
Definition at line 862 of file vf_fieldmatch.c.
Referenced by fieldmatch_init().
|
static |
Definition at line 893 of file vf_fieldmatch.c.
|
static |
Definition at line 929 of file vf_fieldmatch.c.
|
static |
Definition at line 947 of file vf_fieldmatch.c.
|
static |
Definition at line 115 of file vf_fieldmatch.c.
Definition at line 668 of file vf_fieldmatch.c.
Referenced by filter_frame().
Definition at line 669 of file vf_fieldmatch.c.
Referenced by filter_frame().
|
static |
Definition at line 963 of file vf_fieldmatch.c.
| AVFilter ff_vf_fieldmatch |
Definition at line 973 of file vf_fieldmatch.c.
1.8.2