FFmpeg
|
high quality 3d video denoiser, ported from MPlayer libmpcodecs/vf_hqdn3d.c. More...
#include "config.h"
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/intreadwrite.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"
#include "vf_hqdn3d.h"
Go to the source code of this file.
Macros | |
#define | LUT_BITS (depth==16 ? 8 : 4) |
#define | LOAD(x) (((depth==8 ? src[x] : AV_RN16A(src+(x)*2)) << (16-depth)) + (((1<<(16-depth))-1)>>1)) |
#define | STORE(x, val) |
#define | denoise(...) |
#define | PARAM1_DEFAULT 4.0 |
#define | PARAM2_DEFAULT 3.0 |
#define | PARAM3_DEFAULT 6.0 |
Functions | |
static av_always_inline uint32_t | lowpass (int prev, int cur, int16_t *coef, int depth) |
static av_always_inline void | denoise_temporal (uint8_t *src, uint8_t *dst, uint16_t *frame_ant, int w, int h, int sstride, int dstride, int16_t *temporal, int depth) |
static av_always_inline void | denoise_spatial (HQDN3DContext *hqdn3d, uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, int w, int h, int sstride, int dstride, int16_t *spatial, int16_t *temporal, int depth) |
static av_always_inline void | denoise_depth (HQDN3DContext *hqdn3d, uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t **frame_ant_ptr, int w, int h, int sstride, int dstride, int16_t *spatial, int16_t *temporal, int depth) |
static int16_t * | precalc_coefs (double dist25, int depth) |
static int | init (AVFilterContext *ctx, const char *args) |
static void | uninit (AVFilterContext *ctx) |
static int | query_formats (AVFilterContext *ctx) |
static int | config_input (AVFilterLink *inlink) |
static int | filter_frame (AVFilterLink *inlink, AVFilterBufferRef *in) |
Variables | |
static const AVFilterPad | avfilter_vf_hqdn3d_inputs [] |
static const AVFilterPad | avfilter_vf_hqdn3d_outputs [] |
AVFilter | avfilter_vf_hqdn3d |
high quality 3d video denoiser, ported from MPlayer libmpcodecs/vf_hqdn3d.c.
Definition in file vf_hqdn3d.c.
#define LUT_BITS (depth==16 ? 8 : 4) |
Definition at line 39 of file vf_hqdn3d.c.
Referenced by denoise_spatial(), denoise_temporal(), lowpass(), and precalc_coefs().
#define LOAD | ( | x | ) | (((depth==8 ? src[x] : AV_RN16A(src+(x)*2)) << (16-depth)) + (((1<<(16-depth))-1)>>1)) |
Definition at line 40 of file vf_hqdn3d.c.
Referenced by denoise_depth(), denoise_spatial(), and denoise_temporal().
#define STORE | ( | x, | |
val | |||
) |
Definition at line 41 of file vf_hqdn3d.c.
Referenced by denoise_spatial(), and denoise_temporal().
#define denoise | ( | ... | ) |
Definition at line 146 of file vf_hqdn3d.c.
Referenced by filter_frame().
#define PARAM1_DEFAULT 4.0 |
Definition at line 175 of file vf_hqdn3d.c.
Referenced by init().
#define PARAM2_DEFAULT 3.0 |
Definition at line 176 of file vf_hqdn3d.c.
Referenced by init().
#define PARAM3_DEFAULT 6.0 |
Definition at line 177 of file vf_hqdn3d.c.
Referenced by init().
|
static |
Definition at line 45 of file vf_hqdn3d.c.
|
static |
Definition at line 52 of file vf_hqdn3d.c.
Referenced by denoise_depth().
|
static |
Definition at line 74 of file vf_hqdn3d.c.
Referenced by denoise_depth().
|
static |
Definition at line 118 of file vf_hqdn3d.c.
|
static |
Definition at line 154 of file vf_hqdn3d.c.
Referenced by config_input().
|
static |
Definition at line 179 of file vf_hqdn3d.c.
|
static |
Definition at line 237 of file vf_hqdn3d.c.
|
static |
Definition at line 251 of file vf_hqdn3d.c.
|
static |
Definition at line 281 of file vf_hqdn3d.c.
|
static |
Definition at line 307 of file vf_hqdn3d.c.
|
static |
Definition at line 342 of file vf_hqdn3d.c.
|
static |
Definition at line 353 of file vf_hqdn3d.c.
AVFilter avfilter_vf_hqdn3d |
Definition at line 361 of file vf_hqdn3d.c.