Commit b1e84efa authored by Clément Bœsch's avatar Clément Bœsch

lavfi: port wavelet denoiser filter from libmpcodecs.

parent 35188e91
...@@ -47,6 +47,7 @@ version <next>: ...@@ -47,6 +47,7 @@ version <next>:
- ADPCM IMA Radical decoder - ADPCM IMA Radical decoder
- zmq filters - zmq filters
- DCT denoiser filter (dctdnoiz) - DCT denoiser filter (dctdnoiz)
- Wavelet denoiser filter ported from libmpcodecs as owdenoise (formerly "ow")
version 1.2: version 1.2:
......
...@@ -37,6 +37,7 @@ Specifically, the GPL parts of FFmpeg are ...@@ -37,6 +37,7 @@ Specifically, the GPL parts of FFmpeg are
- vf_kerndeint.c - vf_kerndeint.c
- vf_mp.c - vf_mp.c
- vf_noise.c - vf_noise.c
- vf_owdenoise.c
- vf_pp.c - vf_pp.c
- vf_smartblur.c - vf_smartblur.c
- vf_stereo3d.c - vf_stereo3d.c
......
...@@ -2154,6 +2154,7 @@ negate_filter_deps="lut_filter" ...@@ -2154,6 +2154,7 @@ negate_filter_deps="lut_filter"
noise_filter_deps="gpl" noise_filter_deps="gpl"
resample_filter_deps="avresample" resample_filter_deps="avresample"
ocv_filter_deps="libopencv" ocv_filter_deps="libopencv"
owdenoise_filter_deps="gpl"
pan_filter_deps="swresample" pan_filter_deps="swresample"
pp_filter_deps="gpl postproc" pp_filter_deps="gpl postproc"
removelogo_filter_deps="avcodec avformat swscale" removelogo_filter_deps="avcodec avformat swscale"
......
...@@ -5214,6 +5214,32 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3]; ...@@ -5214,6 +5214,32 @@ testsrc=s=100x100, split=4 [in0][in1][in2][in3];
@end itemize @end itemize
@section owdenoise
Overcomplete Wavelet denoiser.
The filter accepts the following options:
@table @option
@item depth
Set depth.
Larger depth values will denoise lower frequency components more, but
slow down filtering.
Default is @code{8}.
@item luma_strength
Set luma strength.
Default is @code{1.0}
@item chroma_strength
Set chroma strength.
Default is @code{1.0}
@end table
@section pad @section pad
Add paddings to the input image, and place the original input at the Add paddings to the input image, and place the original input at the
......
...@@ -157,6 +157,7 @@ OBJS-$(CONFIG_NULL_FILTER) += vf_null.o ...@@ -157,6 +157,7 @@ OBJS-$(CONFIG_NULL_FILTER) += vf_null.o
OBJS-$(CONFIG_OCV_FILTER) += vf_libopencv.o OBJS-$(CONFIG_OCV_FILTER) += vf_libopencv.o
OBJS-$(CONFIG_OPENCL) += deshake_opencl.o unsharp_opencl.o OBJS-$(CONFIG_OPENCL) += deshake_opencl.o unsharp_opencl.o
OBJS-$(CONFIG_OVERLAY_FILTER) += vf_overlay.o OBJS-$(CONFIG_OVERLAY_FILTER) += vf_overlay.o
OBJS-$(CONFIG_OWDENOISE_FILTER) += vf_owdenoise.o
OBJS-$(CONFIG_PAD_FILTER) += vf_pad.o OBJS-$(CONFIG_PAD_FILTER) += vf_pad.o
OBJS-$(CONFIG_PERMS_FILTER) += f_perms.o OBJS-$(CONFIG_PERMS_FILTER) += f_perms.o
OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o OBJS-$(CONFIG_PIXDESCTEST_FILTER) += vf_pixdesctest.o
......
...@@ -154,6 +154,7 @@ void avfilter_register_all(void) ...@@ -154,6 +154,7 @@ void avfilter_register_all(void)
REGISTER_FILTER(NULL, null, vf); REGISTER_FILTER(NULL, null, vf);
REGISTER_FILTER(OCV, ocv, vf); REGISTER_FILTER(OCV, ocv, vf);
REGISTER_FILTER(OVERLAY, overlay, vf); REGISTER_FILTER(OVERLAY, overlay, vf);
REGISTER_FILTER(OWDENOISE, owdenoise, vf);
REGISTER_FILTER(PAD, pad, vf); REGISTER_FILTER(PAD, pad, vf);
REGISTER_FILTER(PERMS, perms, vf); REGISTER_FILTER(PERMS, perms, vf);
REGISTER_FILTER(PIXDESCTEST, pixdesctest, vf); REGISTER_FILTER(PIXDESCTEST, pixdesctest, vf);
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
#include "libavutil/avutil.h" #include "libavutil/avutil.h"
#define LIBAVFILTER_VERSION_MAJOR 3 #define LIBAVFILTER_VERSION_MAJOR 3
#define LIBAVFILTER_VERSION_MINOR 67 #define LIBAVFILTER_VERSION_MINOR 68
#define LIBAVFILTER_VERSION_MICRO 100 #define LIBAVFILTER_VERSION_MICRO 100
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \ #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
......
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