|
FFmpeg
|
#include "motion_estimation.h"#include "libavcodec/mathops.h"#include "libavutil/avassert.h"#include "libavutil/common.h"#include "libavutil/motion_vector.h"#include "libavutil/opt.h"#include "libavutil/pixdesc.h"#include "libavutil/pixelutils.h"#include "avfilter.h"#include "formats.h"#include "internal.h"#include "video.h"Go to the source code of this file.
Data Structures | |
| struct | Cluster |
| struct | Block |
| struct | Pixel |
| struct | Frame |
| struct | MIContext |
Macros | |
| #define | ME_MODE_BIDIR 0 |
| Copyright (c) 2014-2015 Michael Niedermayer michaelni@gmx.at Copyright (c) 2016 Davinder Singh (DSM_) <ds.mudhar<.com> More... | |
| #define | ME_MODE_BILAT 1 |
| #define | MC_MODE_OBMC 0 |
| #define | MC_MODE_AOBMC 1 |
| #define | SCD_METHOD_NONE 0 |
| #define | SCD_METHOD_FDIFF 1 |
| #define | NB_FRAMES 4 |
| #define | NB_PIXEL_MVS 32 |
| #define | NB_CLUSTERS 128 |
| #define | ALPHA_MAX 1024 |
| #define | CLUSTER_THRESHOLD 4 |
| #define | PX_WEIGHT_MAX 255 |
| #define | COST_PRED_SCALE 64 |
| #define | OFFSET(x) offsetof(MIContext, 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}, 0, 0, FLAGS, unit } |
| #define | ADD_PRED(preds, px, py) |
| #define | ADD_PIXELS(b_weight, mv_x, mv_y) |
Enumerations | |
| enum | MIMode { MI_MODE_DUP = 0, MI_MODE_BLEND = 1, MI_MODE_MCI = 2 } |
Functions | |
| AVFILTER_DEFINE_CLASS (minterpolate) | |
| static int | query_formats (AVFilterContext *ctx) |
| static uint64_t | get_sbad (AVMotionEstContext *me_ctx, int x, int y, int x_mv, int y_mv) |
| static uint64_t | get_sbad_ob (AVMotionEstContext *me_ctx, int x, int y, int x_mv, int y_mv) |
| static uint64_t | get_sad_ob (AVMotionEstContext *me_ctx, int x, int y, int x_mv, int y_mv) |
| static int | config_input (AVFilterLink *inlink) |
| static int | config_output (AVFilterLink *outlink) |
| static void | search_mv (MIContext *mi_ctx, Block *blocks, int mb_x, int mb_y, int dir) |
| static void | bilateral_me (MIContext *mi_ctx) |
| static int | var_size_bme (MIContext *mi_ctx, Block *block, int x_mb, int y_mb, int n) |
| static int | cluster_mvs (MIContext *mi_ctx) |
| static int | inject_frame (AVFilterLink *inlink, AVFrame *avf_in) |
| static int | detect_scene_change (MIContext *mi_ctx) |
| static void | bidirectional_obmc (MIContext *mi_ctx, int alpha) |
| static void | set_frame_data (MIContext *mi_ctx, int alpha, AVFrame *avf_out) |
| static void | var_size_bmc (MIContext *mi_ctx, Block *block, int x_mb, int y_mb, int n, int alpha) |
| static void | bilateral_obmc (MIContext *mi_ctx, Block *block, int mb_x, int mb_y, int alpha) |
| static void | interpolate (AVFilterLink *inlink, AVFrame *avf_out) |
| static int | filter_frame (AVFilterLink *inlink, AVFrame *avf_in) |
| static av_cold void | free_blocks (Block *block, int sb) |
| static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
| static const uint8_t | obmc_linear32 [1024] |
| static const uint8_t | obmc_linear16 [256] |
| static const uint8_t | obmc_linear8 [64] |
| static const uint8_t | obmc_linear4 [16] |
| static const uint8_t *const | obmc_tab_linear [4] |
| static const AVOption | minterpolate_options [] |
| static const AVFilterPad | minterpolate_inputs [] |
| static const AVFilterPad | minterpolate_outputs [] |
| AVFilter | ff_vf_minterpolate |
| #define ME_MODE_BIDIR 0 |
Copyright (c) 2014-2015 Michael Niedermayer michaelni@gmx.at Copyright (c) 2016 Davinder Singh (DSM_) <ds.mudhar<.com>
This file is part of FFmpeg.
FFmpeg is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
FFmpeg is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with FFmpeg; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Definition at line 35 of file vf_minterpolate.c.
Referenced by config_input(), inject_frame(), and interpolate().
| #define ME_MODE_BILAT 1 |
Definition at line 36 of file vf_minterpolate.c.
Referenced by config_input(), inject_frame(), and interpolate().
| #define MC_MODE_OBMC 0 |
Definition at line 38 of file vf_minterpolate.c.
| #define MC_MODE_AOBMC 1 |
Definition at line 39 of file vf_minterpolate.c.
Referenced by bilateral_obmc(), and inject_frame().
| #define SCD_METHOD_NONE 0 |
Definition at line 41 of file vf_minterpolate.c.
| #define SCD_METHOD_FDIFF 1 |
Definition at line 42 of file vf_minterpolate.c.
Referenced by config_input(), and detect_scene_change().
| #define NB_FRAMES 4 |
Definition at line 44 of file vf_minterpolate.c.
Referenced by config_input(), filter_frame(), inject_frame(), and uninit().
| #define NB_PIXEL_MVS 32 |
Definition at line 45 of file vf_minterpolate.c.
| #define NB_CLUSTERS 128 |
Definition at line 46 of file vf_minterpolate.c.
Referenced by cluster_mvs(), and inject_frame().
| #define ALPHA_MAX 1024 |
Definition at line 48 of file vf_minterpolate.c.
Referenced by bidirectional_obmc(), bilateral_obmc(), interpolate(), and set_frame_data().
| #define CLUSTER_THRESHOLD 4 |
Definition at line 49 of file vf_minterpolate.c.
Referenced by cluster_mvs().
| #define PX_WEIGHT_MAX 255 |
Definition at line 50 of file vf_minterpolate.c.
Referenced by var_size_bmc().
| #define COST_PRED_SCALE 64 |
Definition at line 51 of file vf_minterpolate.c.
Referenced by get_sad_ob(), get_sbad(), and get_sbad_ob().
| #define OFFSET | ( | x | ) | offsetof(MIContext, x) |
Definition at line 192 of file vf_minterpolate.c.
| #define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 193 of file vf_minterpolate.c.
| #define CONST | ( | name, | |
| help, | |||
| val, | |||
| unit | |||
| ) | { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, 0, 0, FLAGS, unit } |
Definition at line 194 of file vf_minterpolate.c.
| #define ADD_PRED | ( | preds, | |
| px, | |||
| py | |||
| ) |
Definition at line 398 of file vf_minterpolate.c.
Referenced by search_mv().
| #define ADD_PIXELS | ( | b_weight, | |
| mv_x, | |||
| mv_y | |||
| ) |
Definition at line 835 of file vf_minterpolate.c.
Referenced by bidirectional_obmc(), bilateral_obmc(), and var_size_bmc().
| enum MIMode |
| Enumerator | |
|---|---|
| MI_MODE_DUP | |
| MI_MODE_BLEND | |
| MI_MODE_MCI | |
Definition at line 129 of file vf_minterpolate.c.
| AVFILTER_DEFINE_CLASS | ( | minterpolate | ) |
|
static |
Definition at line 230 of file vf_minterpolate.c.
|
static |
Definition at line 250 of file vf_minterpolate.c.
Referenced by bilateral_obmc(), and inject_frame().
|
static |
Definition at line 275 of file vf_minterpolate.c.
Referenced by config_input().
|
static |
Definition at line 301 of file vf_minterpolate.c.
Referenced by config_input().
|
static |
Definition at line 327 of file vf_minterpolate.c.
|
static |
Definition at line 388 of file vf_minterpolate.c.
Definition at line 405 of file vf_minterpolate.c.
Referenced by bilateral_me(), and inject_frame().
Definition at line 547 of file vf_minterpolate.c.
Referenced by inject_frame().
Definition at line 568 of file vf_minterpolate.c.
Referenced by cluster_mvs().
|
static |
Definition at line 630 of file vf_minterpolate.c.
Referenced by inject_frame().
|
static |
Definition at line 720 of file vf_minterpolate.c.
Referenced by filter_frame().
|
static |
Definition at line 807 of file vf_minterpolate.c.
Referenced by filter_frame().
Definition at line 851 of file vf_minterpolate.c.
Referenced by interpolate().
Definition at line 899 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 955 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 992 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 1054 of file vf_minterpolate.c.
Referenced by filter_frame().
|
static |
Definition at line 1136 of file vf_minterpolate.c.
Definition at line 1186 of file vf_minterpolate.c.
Referenced by uninit().
|
static |
Definition at line 1194 of file vf_minterpolate.c.
|
static |
Definition at line 53 of file vf_minterpolate.c.
|
static |
Definition at line 88 of file vf_minterpolate.c.
|
static |
Definition at line 107 of file vf_minterpolate.c.
|
static |
Definition at line 118 of file vf_minterpolate.c.
|
static |
Definition at line 125 of file vf_minterpolate.c.
Referenced by bidirectional_obmc(), and bilateral_obmc().
|
static |
Definition at line 196 of file vf_minterpolate.c.
|
static |
Definition at line 1215 of file vf_minterpolate.c.
|
static |
Definition at line 1225 of file vf_minterpolate.c.
| AVFilter ff_vf_minterpolate |
Definition at line 1234 of file vf_minterpolate.c.
1.8.6