FFmpeg
|
high quality 3d video denoiser, ported from MPlayer libmpcodecs/vf_hqdn3d.c. More...
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/intreadwrite.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"
Go to the source code of this file.
Data Structures | |
struct | HQDN3DContext |
Macros | |
#define | LUT_BITS (depth==16 ? 8 : 4) |
#define | LOAD(x) |
#define | STORE(x, val) |
#define | denoise(...) |
#define | PARAM1_DEFAULT 4.0 |
#define | PARAM2_DEFAULT 3.0 |
#define | PARAM3_DEFAULT 6.0 |
Functions | |
void | ff_hqdn3d_row_8_x86 (uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal) |
void | ff_hqdn3d_row_9_x86 (uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal) |
void | ff_hqdn3d_row_10_x86 (uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal) |
void | ff_hqdn3d_row_16_x86 (uint8_t *src, uint8_t *dst, uint16_t *line_ant, uint16_t *frame_ant, ptrdiff_t w, int16_t *spatial, int16_t *temporal) |
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 52 of file vf_hqdn3d.c.
Referenced by denoise_spatial(), denoise_temporal(), lowpass(), and precalc_coefs().
#define LOAD | ( | x | ) |
Definition at line 53 of file vf_hqdn3d.c.
Referenced by denoise_depth(), denoise_spatial(), and denoise_temporal().
#define STORE | ( | x, | |
val | |||
) |
Definition at line 55 of file vf_hqdn3d.c.
Referenced by denoise_spatial(), and denoise_temporal().
#define denoise | ( | ... | ) |
Definition at line 160 of file vf_hqdn3d.c.
Referenced by filter_frame().
#define PARAM1_DEFAULT 4.0 |
Definition at line 189 of file vf_hqdn3d.c.
Referenced by init().
#define PARAM2_DEFAULT 3.0 |
Definition at line 190 of file vf_hqdn3d.c.
Referenced by init().
#define PARAM3_DEFAULT 6.0 |
Definition at line 191 of file vf_hqdn3d.c.
Referenced by init().
void ff_hqdn3d_row_8_x86 | ( | uint8_t * | src, |
uint8_t * | dst, | ||
uint16_t * | line_ant, | ||
uint16_t * | frame_ant, | ||
ptrdiff_t | w, | ||
int16_t * | spatial, | ||
int16_t * | temporal | ||
) |
Referenced by config_input().
void ff_hqdn3d_row_9_x86 | ( | uint8_t * | src, |
uint8_t * | dst, | ||
uint16_t * | line_ant, | ||
uint16_t * | frame_ant, | ||
ptrdiff_t | w, | ||
int16_t * | spatial, | ||
int16_t * | temporal | ||
) |
Referenced by config_input().
void ff_hqdn3d_row_10_x86 | ( | uint8_t * | src, |
uint8_t * | dst, | ||
uint16_t * | line_ant, | ||
uint16_t * | frame_ant, | ||
ptrdiff_t | w, | ||
int16_t * | spatial, | ||
int16_t * | temporal | ||
) |
Referenced by config_input().
void ff_hqdn3d_row_16_x86 | ( | uint8_t * | src, |
uint8_t * | dst, | ||
uint16_t * | line_ant, | ||
uint16_t * | frame_ant, | ||
ptrdiff_t | w, | ||
int16_t * | spatial, | ||
int16_t * | temporal | ||
) |
Referenced by config_input().
|
static |
Definition at line 59 of file vf_hqdn3d.c.
Referenced by denoise_spatial(), and denoise_temporal().
|
static |
Definition at line 66 of file vf_hqdn3d.c.
Referenced by denoise_depth().
|
static |
Definition at line 88 of file vf_hqdn3d.c.
Referenced by denoise_depth().
|
static |
Definition at line 132 of file vf_hqdn3d.c.
|
static |
Definition at line 168 of file vf_hqdn3d.c.
Referenced by config_input().
|
static |
Definition at line 193 of file vf_hqdn3d.c.
|
static |
Definition at line 251 of file vf_hqdn3d.c.
|
static |
Definition at line 265 of file vf_hqdn3d.c.
|
static |
Definition at line 295 of file vf_hqdn3d.c.
|
static |
Definition at line 325 of file vf_hqdn3d.c.
|
static |
Definition at line 361 of file vf_hqdn3d.c.
|
static |
Definition at line 372 of file vf_hqdn3d.c.
AVFilter avfilter_vf_hqdn3d |
Definition at line 380 of file vf_hqdn3d.c.