Skip to content

HomeOfAviSynthPlusEvolution/neo_Vague_Denoiser

Repository files navigation

Neo Vague Denoiser (forked from VapourSynth-VagueDenoiser)

Neo Vague Denoiser Copyright(C) 2020 Xinyue Lu, and previous developers

Vague Denoiser is a wavelet based denoiser.

Basically, it transforms each frame from the video input into the wavelet domain, using Cohen-Daubechies-Feauveau 9/7. Then it applies some filtering to the obtained coefficients. It does an inverse wavelet transform after. Due to wavelet properties, it should give a nice smoothed result, and reduced noise, without blurring picture features.

It was originally written by Lefungus, and later modified by Kurosu and Fizick for further improvement. VapourSynth-VagueDenoiser was ported to VapourSynth interface and refactored by HolyWu. Kudos to them for creating and improving this fantastic tool.

This project backports VapourSynth-VagueDenoiser to AviSynth+. Parameter names follow VapourSynth-VagueDenoiser.

Usage

# AviSynth+
LoadPlugin("neo-vague-denoiser.dll")
neo_vd(clip, threshold=2.0, nsteps=6, y=3, u=3, v=3, ...)
# VapourSynth
core.neo_vd.VagueDenoiser(clip, threshold=2.0, nsteps=6, planes=[0,1,2], ...)

Parameters:

Check original VapourSynth-VagueDenoiser usage documents.

  • y, u, v (AviSynth+ only)

    Whether a plane is to be filtered.

      1 - Do not touch, leaving garbage data
      2 - Copy from origin
      3 - Process
    

    Default: 3.

  • opt

    Sets which CPU optimizations to use.

      0 - Auto detect
      1 - Use C
      2 - Use up to SSE (for core)
      3 - Use up to SSE4.1 (for data copy)
      4 - Use up to AVX (for core)
      5 - Use up to AVX2 (for data copy)
    

License

  • GPLv2.