Commit 974eb4aa authored by Paul B Mahol's avatar Paul B Mahol

avfilter: add fftdnoiz filter

Signed-off-by: 's avatarPaul B Mahol <onemda@gmail.com>
parent 74a7ddd9
......@@ -5,6 +5,7 @@ version <next>:
- deblock filter
- tmix filter
- amplify filter
- fftdnoiz filter
version 4.0:
......
......@@ -3325,6 +3325,8 @@ elbg_filter_deps="avcodec"
eq_filter_deps="gpl"
fftfilt_filter_deps="avcodec"
fftfilt_filter_select="rdft"
fftdnoiz_filter_deps="avcodec"
fftdnoiz_filter_select="fft"
find_rect_filter_deps="avcodec avformat gpl"
firequalizer_filter_deps="avcodec"
firequalizer_filter_select="rdft"
......
......@@ -8696,6 +8696,40 @@ fftfilt=dc_Y=0:weight_Y='exp(-4 * ((Y+X)/(W+H)))'
@end itemize
@section fftdnoiz
Denoise frames using 3D FFT (frequency domain filtering).
The filter accepts the following options:
@table @option
@item sigma
Set the noise sigma constant. This sets denoising strength.
Default value is 1. Allowed range is from 0 to 30.
Using very high sigma with low overlap may give blocking artifacts.
@item amount
Set amount of denoising. By default all detected noise is reduced.
Default value is 1. Allowed range is from 0 to 1.
@item block
Set size of block, Default is 4, can be 3, 4, 5 or 6.
Actual size of block in pixels is 2 to power of @var{block}, so by default
block size in pixels is 2^4 which is 16.
@item overlap
Set block overlap. Default is 0.5. Allowed range is from 0.2 to 0.8.
@item prev
Set number of previous frames to use for denoising. By default is set to 0.
@item next
Set number of next frames to to use for denoising. By default is set to 0.
@item planes
Set planes which will be filtered, by default are all available filtered
except alpha.
@end table
@section field
Extract a single field from an interlaced image using stride
......
......@@ -201,6 +201,7 @@ OBJS-$(CONFIG_EQ_FILTER) += vf_eq.o
OBJS-$(CONFIG_EROSION_FILTER) += vf_neighbor.o
OBJS-$(CONFIG_EXTRACTPLANES_FILTER) += vf_extractplanes.o
OBJS-$(CONFIG_FADE_FILTER) += vf_fade.o
OBJS-$(CONFIG_FFTDNOIZ_FILTER) += vf_fftdnoiz.o
OBJS-$(CONFIG_FFTFILT_FILTER) += vf_fftfilt.o
OBJS-$(CONFIG_FIELD_FILTER) += vf_field.o
OBJS-$(CONFIG_FIELDHINT_FILTER) += vf_fieldhint.o
......
......@@ -193,6 +193,7 @@ extern AVFilter ff_vf_eq;
extern AVFilter ff_vf_erosion;
extern AVFilter ff_vf_extractplanes;
extern AVFilter ff_vf_fade;
extern AVFilter ff_vf_fftdnoiz;
extern AVFilter ff_vf_fftfilt;
extern AVFilter ff_vf_field;
extern AVFilter ff_vf_fieldhint;
......
......@@ -30,8 +30,8 @@
#include "libavutil/version.h"
#define LIBAVFILTER_VERSION_MAJOR 7
#define LIBAVFILTER_VERSION_MINOR 21
#define LIBAVFILTER_VERSION_MICRO 101
#define LIBAVFILTER_VERSION_MINOR 22
#define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
LIBAVFILTER_VERSION_MINOR, \
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment