FFmpeg
|
#include "libavutil/avassert.h"
#include "libavutil/eval.h"
#include "libavutil/opt.h"
#include "internal.h"
Go to the source code of this file.
Data Structures | |
struct | DCTdnoizContext |
struct | ThreadData |
Used for passing data between threads. More... | |
Macros | |
#define | MAX_THREADS 8 |
#define | MIN_NBITS 3 /* blocksize = 1<<3 = 8 */ |
#define | MAX_NBITS 4 /* blocksize = 1<<4 = 16 */ |
#define | DEFAULT_NBITS 3 |
#define | OFFSET(x) offsetof(DCTdnoizContext, x) |
#define | FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
#define | DEF_FILTER_FREQ_FUNCS(bsize) |
#define | DCT3X3_0_0 0.5773502691896258f /* 1/sqrt(3) */ |
#define | DCT3X3_0_1 0.5773502691896258f /* 1/sqrt(3) */ |
#define | DCT3X3_0_2 0.5773502691896258f /* 1/sqrt(3) */ |
#define | DCT3X3_1_0 0.7071067811865475f /* 1/sqrt(2) */ |
#define | DCT3X3_1_2 -0.7071067811865475f /* -1/sqrt(2) */ |
#define | DCT3X3_2_0 0.4082482904638631f /* 1/sqrt(6) */ |
#define | DCT3X3_2_1 -0.8164965809277261f /* -2/sqrt(6) */ |
#define | DCT3X3_2_2 0.4082482904638631f /* 1/sqrt(6) */ |
#define | DECLARE_COLOR_FUNCS(name, r, g, b) |
Enumerations | |
enum | { VAR_C, VAR_VARS_NB } |
Functions | |
AVFILTER_DEFINE_CLASS (dctdnoiz) | |
static void av_always_inline | fdct8_1d (float *dst, const float *src, int dst_stridea, int dst_strideb, int src_stridea, int src_strideb) |
static void av_always_inline | idct8_1d (float *dst, const float *src, int dst_stridea, int dst_strideb, int src_stridea, int src_strideb, int add) |
static void av_always_inline | fdct16_1d (float *dst, const float *src, int dst_stridea, int dst_strideb, int src_stridea, int src_strideb) |
static void av_always_inline | idct16_1d (float *dst, const float *src, int dst_stridea, int dst_strideb, int src_stridea, int src_strideb, int add) |
static av_always_inline void | color_decorrelation (float **dst, int dst_linesize, const uint8_t **src, int src_linesize, int w, int h, int r, int g, int b) |
static av_always_inline void | color_correlation (uint8_t **dst, int dst_linesize, float **src, int src_linesize, int w, int h, int r, int g, int b) |
static av_always_inline void | color_decorrelation_gbrp (float **dst, int dst_linesize, const uint8_t **src, int src_linesize, int w, int h) |
static av_always_inline void | color_correlation_gbrp (uint8_t **dst, int dst_linesize, float **src, int src_linesize, int w, int h) |
static int | config_input (AVFilterLink *inlink) |
static av_cold int | init (AVFilterContext *ctx) |
static int | query_formats (AVFilterContext *ctx) |
static int | filter_slice (AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs) |
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
static av_cold void | uninit (AVFilterContext *ctx) |
Variables | |
static const char *const | var_names [] = { "c", NULL } |
A simple, relatively efficient and slow DCT image denoiser. More... | |
static const AVOption | dctdnoiz_options [] |
static const AVFilterPad | dctdnoiz_inputs [] |
static const AVFilterPad | dctdnoiz_outputs [] |
AVFilter | ff_vf_dctdnoiz |
#define MAX_THREADS 8 |
Definition at line 39 of file vf_dctdnoiz.c.
#define MIN_NBITS 3 /* blocksize = 1<<3 = 8 */ |
Definition at line 73 of file vf_dctdnoiz.c.
#define MAX_NBITS 4 /* blocksize = 1<<4 = 16 */ |
Definition at line 74 of file vf_dctdnoiz.c.
#define DEFAULT_NBITS 3 |
Definition at line 75 of file vf_dctdnoiz.c.
#define OFFSET | ( | x | ) | offsetof(DCTdnoizContext, x) |
Definition at line 77 of file vf_dctdnoiz.c.
#define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM |
Definition at line 78 of file vf_dctdnoiz.c.
#define DEF_FILTER_FREQ_FUNCS | ( | bsize | ) |
Definition at line 352 of file vf_dctdnoiz.c.
#define DCT3X3_0_0 0.5773502691896258f /* 1/sqrt(3) */ |
Definition at line 401 of file vf_dctdnoiz.c.
#define DCT3X3_0_1 0.5773502691896258f /* 1/sqrt(3) */ |
Definition at line 402 of file vf_dctdnoiz.c.
#define DCT3X3_0_2 0.5773502691896258f /* 1/sqrt(3) */ |
Definition at line 403 of file vf_dctdnoiz.c.
#define DCT3X3_1_0 0.7071067811865475f /* 1/sqrt(2) */ |
Definition at line 404 of file vf_dctdnoiz.c.
#define DCT3X3_1_2 -0.7071067811865475f /* -1/sqrt(2) */ |
Definition at line 405 of file vf_dctdnoiz.c.
#define DCT3X3_2_0 0.4082482904638631f /* 1/sqrt(6) */ |
Definition at line 406 of file vf_dctdnoiz.c.
#define DCT3X3_2_1 -0.8164965809277261f /* -2/sqrt(6) */ |
Definition at line 407 of file vf_dctdnoiz.c.
#define DCT3X3_2_2 0.4082482904638631f /* 1/sqrt(6) */ |
Definition at line 408 of file vf_dctdnoiz.c.
Definition at line 460 of file vf_dctdnoiz.c.
anonymous enum |
Enumerator | |
---|---|
VAR_C | |
VAR_VARS_NB |
Definition at line 37 of file vf_dctdnoiz.c.
AVFILTER_DEFINE_CLASS | ( | dctdnoiz | ) |
|
static |
Definition at line 91 of file vf_dctdnoiz.c.
|
static |
Definition at line 129 of file vf_dctdnoiz.c.
|
static |
Definition at line 173 of file vf_dctdnoiz.c.
|
static |
Definition at line 257 of file vf_dctdnoiz.c.
|
static |
Definition at line 410 of file vf_dctdnoiz.c.
|
static |
Definition at line 435 of file vf_dctdnoiz.c.
|
static |
Definition at line 478 of file vf_dctdnoiz.c.
Referenced by config_input().
|
static |
Definition at line 505 of file vf_dctdnoiz.c.
Referenced by config_input().
|
static |
Definition at line 532 of file vf_dctdnoiz.c.
|
static |
Definition at line 622 of file vf_dctdnoiz.c.
|
static |
Definition at line 656 of file vf_dctdnoiz.c.
|
static |
Definition at line 673 of file vf_dctdnoiz.c.
Referenced by filter_frame().
|
static |
Definition at line 721 of file vf_dctdnoiz.c.
|
static |
Definition at line 792 of file vf_dctdnoiz.c.
|
static |
A simple, relatively efficient and slow DCT image denoiser.
The DCT factorization used is based on "Fast and numerically stable algorithms for discrete cosine transforms" from Gerlind Plonkaa & Manfred Tasche (DOI: 10.1016/j.laa.2004.07.015).
Definition at line 36 of file vf_dctdnoiz.c.
Referenced by config_input().
|
static |
Definition at line 79 of file vf_dctdnoiz.c.
|
static |
Definition at line 809 of file vf_dctdnoiz.c.
|
static |
Definition at line 819 of file vf_dctdnoiz.c.
AVFilter ff_vf_dctdnoiz |
Definition at line 827 of file vf_dctdnoiz.c.