Go to the source code of this file.
|
| AVFILTER_DEFINE_CLASS (vaguedenoiser) |
|
static int | config_input (AVFilterLink *inlink) |
|
static void | copy (const float *p1, float *p2, const int length) |
|
static void | copyv (const float *p1, const int stride1, float *p2, const int length) |
|
static void | copyh (const float *p1, float *p2, const int stride2, const int length) |
|
static void | symmetric_extension (float *output, const int size, const int left_ext, const int right_ext) |
|
static void | transform_step (float *input, float *output, const int size, const int low_size, VagueDenoiserContext *s) |
|
static void | invert_step (const float *input, float *output, float *temp, const int size, VagueDenoiserContext *s) |
|
static void | hard_thresholding (float *block, const int width, const int height, const int stride, const float threshold, const float percent) |
|
static void | soft_thresholding (float *block, const int width, const int height, const int stride, const float threshold, const float percent) |
|
static void | qian_thresholding (float *block, const int width, const int height, const int stride, const float threshold, const float percent) |
|
static float | bayes_threshold (float *block, const int width, const int height, const int stride, const float threshold) |
|
static void | filter (VagueDenoiserContext *s, AVFrame *in, AVFrame *out) |
|
static int | filter_frame (AVFilterLink *inlink, AVFrame *in) |
|
static av_cold int | init (AVFilterContext *ctx) |
|
static av_cold void | uninit (AVFilterContext *ctx) |
|
◆ OFFSET
◆ FLAGS
◆ NPAD
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
vaguedenoiser |
| ) |
|
◆ config_input()
◆ copy()
static void copy |
( |
const float * |
p1, |
|
|
float * |
p2, |
|
|
const int |
length |
|
) |
| |
|
inlinestatic |
Definition at line 187 of file vf_vaguedenoiser.c.
Referenced by av_buffersrc_add_frame_flags(), av_fifo_grow2(), av_fifo_realloc2(), avpriv_packet_list_put(), bayer_to_rgb24_wrapper(), bayer_to_rgb48_wrapper(), bayer_to_yv12_wrapper(), cbs_clone_internal_refs_unit_content(), count_or_copy(), decode_tdlt(), do_morpho(), ff_jni_jstring_to_utf_chars(), filter(), filter_frame(), flac_fifo_grow(), init_thread(), intra_predict(), qpeg_decode_intra(), rl2_rle_decode(), rle_compress(), rle_uncompress(), roq_decode_frame(), rtmp_write(), run_encryption_info_test(), run_encryption_init_info_test(), and shuffleplanes_filter_frame().
◆ copyv()
static void copyv |
( |
const float * |
p1, |
|
|
const int |
stride1, |
|
|
float * |
p2, |
|
|
const int |
length |
|
) |
| |
|
inlinestatic |
◆ copyh()
static void copyh |
( |
const float * |
p1, |
|
|
float * |
p2, |
|
|
const int |
stride2, |
|
|
const int |
length |
|
) |
| |
|
inlinestatic |
◆ symmetric_extension()
static void symmetric_extension |
( |
float * |
output, |
|
|
const int |
size, |
|
|
const int |
left_ext, |
|
|
const int |
right_ext |
|
) |
| |
|
static |
◆ transform_step()
◆ invert_step()
◆ hard_thresholding()
static void hard_thresholding |
( |
float * |
block, |
|
|
const int |
width, |
|
|
const int |
height, |
|
|
const int |
stride, |
|
|
const float |
threshold, |
|
|
const float |
percent |
|
) |
| |
|
static |
◆ soft_thresholding()
static void soft_thresholding |
( |
float * |
block, |
|
|
const int |
width, |
|
|
const int |
height, |
|
|
const int |
stride, |
|
|
const float |
threshold, |
|
|
const float |
percent |
|
) |
| |
|
static |
◆ qian_thresholding()
static void qian_thresholding |
( |
float * |
block, |
|
|
const int |
width, |
|
|
const int |
height, |
|
|
const int |
stride, |
|
|
const float |
threshold, |
|
|
const float |
percent |
|
) |
| |
|
static |
◆ bayes_threshold()
static float bayes_threshold |
( |
float * |
block, |
|
|
const int |
width, |
|
|
const int |
height, |
|
|
const int |
stride, |
|
|
const float |
threshold |
|
) |
| |
|
static |
◆ filter()
◆ filter_frame()
◆ init()
◆ uninit()
◆ vaguedenoiser_options
◆ analysis_low
const float analysis_low[9] |
|
static |
Initial value:= {
0.037828455506995f, -0.023849465019380f, -0.110624404418423f, 0.377402855612654f,
0.852698679009403f, 0.377402855612654f, -0.110624404418423f, -0.023849465019380f, 0.037828455506995f
}
Definition at line 88 of file vf_vaguedenoiser.c.
Referenced by transform_step().
◆ analysis_high
const float analysis_high[7] |
|
static |
Initial value:= {
-0.064538882628938f, 0.040689417609558f, 0.418092273222212f, -0.788485616405664f,
0.418092273222212f, 0.040689417609558f, -0.064538882628938f
}
Definition at line 93 of file vf_vaguedenoiser.c.
Referenced by transform_step().
◆ synthesis_low
const float synthesis_low[7] |
|
static |
Initial value:= {
-0.064538882628938f, -0.040689417609558f, 0.418092273222212f, 0.788485616405664f,
0.418092273222212f, -0.040689417609558f, -0.064538882628938f
}
Definition at line 98 of file vf_vaguedenoiser.c.
Referenced by invert_step().
◆ synthesis_high
const float synthesis_high[9] |
|
static |
Initial value:= {
-0.037828455506995f, -0.023849465019380f, 0.110624404418423f, 0.377402855612654f,
-0.852698679009403f, 0.377402855612654f, 0.110624404418423f, -0.023849465019380f, -0.037828455506995f
}
Definition at line 103 of file vf_vaguedenoiser.c.
Referenced by invert_step().
◆ pix_fmts
◆ vaguedenoiser_inputs
◆ vaguedenoiser_outputs
◆ ff_vf_vaguedenoiser
Initial value:= {
.name = "vaguedenoiser",
.priv_class = &vaguedenoiser_class,
}
Definition at line 604 of file vf_vaguedenoiser.c.
#define AV_PIX_FMT_YUVA422P16
#define AV_PIX_FMT_GBRAP16
static const struct @346 planes[]
#define FILTER_PIXFMTS_ARRAY(array)
#define AV_PIX_FMT_YUVA422P9
#define AV_PIX_FMT_YUVA420P16
static const AVFilterPad vaguedenoiser_outputs[]
#define AV_PIX_FMT_YUVA420P10
#define AV_PIX_FMT_YUV420P10
@ AV_PIX_FMT_YUV440P
planar YUV 4:4:0 (1 Cr & Cb sample per 1x2 Y samples)
#define AV_PIX_FMT_YUVA422P10
#define AV_PIX_FMT_YUVA420P9
#define AV_PIX_FMT_GBRP14
@ AV_PIX_FMT_GBRAP
planar GBRA 4:4:4:4 32bpp
#define AV_PIX_FMT_GBRP10
#define AV_PIX_FMT_YUVA444P16
#define AV_PIX_FMT_YUV422P9
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
#define AV_PIX_FMT_GRAY16
#define AV_PIX_FMT_YUV444P10
@ AV_PIX_FMT_YUVJ411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples) full scale (JPEG), deprecated in favor ...
#define AV_PIX_FMT_YUV422P16
@ AV_PIX_FMT_YUVJ422P
planar YUV 4:2:2, 16bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV422P and setting col...
#define AV_PIX_FMT_GBRAP10
#define AV_PIX_FMT_GBRAP12
@ AV_PIX_FMT_YUVA420P
planar YUV 4:2:0, 20bpp, (1 Cr & Cb sample per 2x2 Y & A samples)
#define AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUVA444P12
#define AV_PIX_FMT_YUV420P9
#define AV_PIX_FMT_YUV420P16
#define AV_PIX_FMT_GRAY14
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define FILTER_INPUTS(array)
@ AV_PIX_FMT_YUVJ444P
planar YUV 4:4:4, 24bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV444P and setting col...
#define AV_PIX_FMT_GRAY10
#define AV_PIX_FMT_GBRP16
static int filter_frame(AVFilterLink *inlink, AVFrame *in)
@ AV_PIX_FMT_YUVJ420P
planar YUV 4:2:0, 12bpp, full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV420P and setting col...
#define AV_PIX_FMT_YUV440P10
static const AVFilterPad vaguedenoiser_inputs[]
#define AV_PIX_FMT_YUV422P10
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
static av_cold int init(AVFilterContext *ctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV444P12
static av_cold void uninit(AVFilterContext *ctx)
static int config_input(AVFilterLink *inlink)
@ AV_PIX_FMT_YUVA444P
planar YUV 4:4:4 32bpp, (1 Cr & Cb sample per 1x1 Y & A samples)
#define AV_PIX_FMT_YUVA444P10
#define AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC
Some filters support a generic "enable" expression option that can be used to enable or disable a fil...
#define AV_PIX_FMT_GBRP12
@ AV_PIX_FMT_YUVJ440P
planar YUV 4:4:0 full scale (JPEG), deprecated in favor of AV_PIX_FMT_YUV440P and setting color_range
#define AV_PIX_FMT_YUV444P9
#define AV_PIX_FMT_YUVA444P9
#define AV_PIX_FMT_YUV420P12
#define AV_PIX_FMT_YUV422P14
#define AV_PIX_FMT_YUVA422P12
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
@ AV_PIX_FMT_GBRP
planar GBR 4:4:4 24bpp
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
#define FILTER_OUTPUTS(array)
@ AV_PIX_FMT_YUV411P
planar YUV 4:1:1, 12bpp, (1 Cr & Cb sample per 4x1 Y samples)
@ AV_PIX_FMT_YUV410P
planar YUV 4:1:0, 9bpp, (1 Cr & Cb sample per 4x4 Y samples)
#define AV_PIX_FMT_YUV440P12
#define AV_PIX_FMT_YUV444P14
#define AV_PIX_FMT_GRAY12
@ AV_PIX_FMT_YUVA422P
planar YUV 4:2:2 24bpp, (1 Cr & Cb sample per 2x1 Y & A samples)
#define AV_PIX_FMT_YUV420P14
static enum AVPixelFormat pix_fmts[]