FFmpeg
|
#include <float.h>
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "filters.h"
#include "framesync.h"
Go to the source code of this file.
Data Structures | |
struct | VIFContext |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | NUM_DATA_BUFS 13 |
#define | OFFSET(x) offsetof(VIFContext, x) |
#define | offset_fn(type, bits) |
#define | PF(suf) AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf |
Functions | |
FRAMESYNC_DEFINE_CLASS (vif, VIFContext, fs) | |
static void | vif_dec2 (const float *src, float *dst, int w, int h, int src_stride, int dst_stride) |
static void | vif_statistic (const float *mu1_sq, const float *mu2_sq, const float *mu1_mu2, const float *xx_filt, const float *yy_filt, const float *xy_filt, float *num, float *den, int w, int h) |
static void | vif_xx_yy_xy (const float *x, const float *y, float *xx, float *yy, float *xy, int w, int h) |
static int | vif_filter1d (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | compute_vif2 (AVFilterContext *ctx, const float *ref, const float *main, int w, int h, int ref_stride, int main_stride, float *score, float *const data_buf[NUM_DATA_BUFS], float **temp, int gnb_threads) |
offset_fn (uint8_t, 8) | |
static AVFrame * | do_vif (AVFilterContext *ctx, AVFrame *main, const AVFrame *ref) |
static int | config_input_ref (AVFilterLink *inlink) |
static int | process_frame (FFFrameSync *fs) |
static int | config_output (AVFilterLink *outlink) |
static int | activate (AVFilterContext *ctx) |
static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
static const AVOption | vif_options [] |
static const uint8_t | vif_filter1d_width1 [4] = { 17, 9, 5, 3 } |
static const float | vif_filter1d_table [4][17] |
static enum AVPixelFormat | pix_fmts [] |
static const AVFilterPad | vif_inputs [] |
static const AVFilterPad | vif_outputs [] |
const AVFilter | ff_vf_vif |
Calculate VIF between two input videos.
Definition in file vf_vif.c.
#define OFFSET | ( | x | ) | offsetof(VIFContext, x) |
#define PF | ( | suf | ) | AV_PIX_FMT_YUV420##suf, AV_PIX_FMT_YUV422##suf, AV_PIX_FMT_YUV444##suf |
FRAMESYNC_DEFINE_CLASS | ( | vif | , |
VIFContext | , | ||
fs | |||
) |
|
static |
Definition at line 98 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
Definition at line 109 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
Definition at line 182 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
Vertical pass.
Horizontal pass.
Definition at line 206 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
Definition at line 436 of file vf_vif.c.
Referenced by process_frame().
|
static |
|
static |
Definition at line 524 of file vf_vif.c.
Referenced by config_output().
|
static |
|
static |
|
static |
|
static |
|
static |
Definition at line 65 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
Definition at line 67 of file vf_vif.c.
Referenced by compute_vif2().
|
static |
|
static |
|
static |
const AVFilter ff_vf_vif |