FFmpeg
|
#include "motion_estimation.h"
#include "libavcodec/mathops.h"
#include "libavutil/common.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "filters.h"
#include "video.h"
#include "scene_sad.h"
Go to the source code of this file.
Data Structures | |
struct | Cluster |
struct | Block |
struct | PixelMVS |
struct | PixelWeights |
struct | PixelRefs |
struct | Frame |
struct | MIContext |
Macros | |
#define | ME_MODE_BIDIR 0 |
Copyright (c) 2014-2015 Michael Niedermayer micha Copyright (c) 2016 Davinder Singh (DSM_) <ds.mudhar<@gmail.com> elni @gmx. atMore... | |
#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, u) { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, 0, 0, FLAGS, .unit = u } |
#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 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 (AVFilterContext *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 enum AVPixelFormat | pix_fmts [] |
static const AVFilterPad | minterpolate_inputs [] |
static const AVFilterPad | minterpolate_outputs [] |
const AVFilter | ff_vf_minterpolate |
#define ME_MODE_BIDIR 0 |
Copyright (c) 2014-2015 Michael Niedermayer micha Copyright (c) 2016 Davinder Singh (DSM_) <ds.mudhar<@gmail.com> elni @gmx. at
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 33 of file vf_minterpolate.c.
#define ME_MODE_BILAT 1 |
Definition at line 34 of file vf_minterpolate.c.
#define MC_MODE_OBMC 0 |
Definition at line 36 of file vf_minterpolate.c.
#define MC_MODE_AOBMC 1 |
Definition at line 37 of file vf_minterpolate.c.
#define SCD_METHOD_NONE 0 |
Definition at line 39 of file vf_minterpolate.c.
#define SCD_METHOD_FDIFF 1 |
Definition at line 40 of file vf_minterpolate.c.
#define NB_FRAMES 4 |
Definition at line 42 of file vf_minterpolate.c.
#define NB_PIXEL_MVS 32 |
Definition at line 43 of file vf_minterpolate.c.
#define NB_CLUSTERS 128 |
Definition at line 44 of file vf_minterpolate.c.
#define ALPHA_MAX 1024 |
Definition at line 46 of file vf_minterpolate.c.
#define CLUSTER_THRESHOLD 4 |
Definition at line 47 of file vf_minterpolate.c.
#define PX_WEIGHT_MAX 255 |
Definition at line 48 of file vf_minterpolate.c.
#define COST_PRED_SCALE 64 |
Definition at line 49 of file vf_minterpolate.c.
#define OFFSET | ( | x | ) | offsetof(MIContext, x) |
Definition at line 199 of file vf_minterpolate.c.
#define FLAGS AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM |
Definition at line 200 of file vf_minterpolate.c.
#define CONST | ( | name, | |
help, | |||
val, | |||
u | |||
) | { name, help, 0, AV_OPT_TYPE_CONST, {.i64=val}, 0, 0, FLAGS, .unit = u } |
Definition at line 201 of file vf_minterpolate.c.
#define ADD_PRED | ( | preds, | |
px, | |||
py | |||
) |
Definition at line 409 of file vf_minterpolate.c.
#define ADD_PIXELS | ( | b_weight, | |
mv_x, | |||
mv_y | |||
) |
Definition at line 841 of file vf_minterpolate.c.
enum MIMode |
Enumerator | |
---|---|
MI_MODE_DUP | |
MI_MODE_BLEND | |
MI_MODE_MCI |
Definition at line 127 of file vf_minterpolate.c.
AVFILTER_DEFINE_CLASS | ( | minterpolate | ) |
|
static |
Definition at line 249 of file vf_minterpolate.c.
Referenced by bilateral_obmc(), and inject_frame().
|
static |
Definition at line 274 of file vf_minterpolate.c.
Referenced by config_input().
|
static |
Definition at line 300 of file vf_minterpolate.c.
Referenced by config_input().
|
static |
Definition at line 326 of file vf_minterpolate.c.
|
static |
Definition at line 398 of file vf_minterpolate.c.
Definition at line 416 of file vf_minterpolate.c.
Referenced by bilateral_me(), and inject_frame().
|
static |
Definition at line 558 of file vf_minterpolate.c.
Referenced by inject_frame().
Definition at line 579 of file vf_minterpolate.c.
Referenced by cluster_mvs().
|
static |
Definition at line 641 of file vf_minterpolate.c.
Referenced by inject_frame().
|
static |
Definition at line 731 of file vf_minterpolate.c.
Referenced by filter_frame().
|
static |
Definition at line 817 of file vf_minterpolate.c.
Referenced by filter_frame().
|
static |
Definition at line 857 of file vf_minterpolate.c.
Referenced by interpolate().
Definition at line 907 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 965 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 1004 of file vf_minterpolate.c.
Referenced by interpolate().
|
static |
Definition at line 1068 of file vf_minterpolate.c.
Referenced by filter_frame().
|
static |
Definition at line 1156 of file vf_minterpolate.c.
Definition at line 1207 of file vf_minterpolate.c.
Referenced by uninit().
|
static |
Definition at line 1215 of file vf_minterpolate.c.
|
static |
Definition at line 51 of file vf_minterpolate.c.
|
static |
Definition at line 86 of file vf_minterpolate.c.
|
static |
Definition at line 105 of file vf_minterpolate.c.
|
static |
Definition at line 116 of file vf_minterpolate.c.
|
static |
Definition at line 123 of file vf_minterpolate.c.
Referenced by bidirectional_obmc(), and bilateral_obmc().
|
static |
Definition at line 203 of file vf_minterpolate.c.
|
static |
Definition at line 237 of file vf_minterpolate.c.
|
static |
Definition at line 1238 of file vf_minterpolate.c.
|
static |
Definition at line 1247 of file vf_minterpolate.c.
const AVFilter ff_vf_minterpolate |
Definition at line 1255 of file vf_minterpolate.c.