DeFlicker
Abstract | |
---|---|
Author | Fizick, pinterf |
Version | v0.6 |
Download | Deflicker-v0.6.7z |
Category | Luma Equalization |
License | GPLv2 |
Discussion | Doom9 Thread |
Contents |
Description
DeFlicker plugin can remove old film intensity flicker by temporal mean luma smoothing. Also it can correct blinding of automatic gain control after flashes.
The luma stabilizing not only improves visual impression, but can help to following noise reduction. See included details documentation for technical details.
Requirements
- [x86]: AviSynth+ or AviSynth 2.6.0
- [x64]: AviSynth+
- Supported color formats: Y8, YV12, YV16, YV24, YV411
Syntax and Parameters
Deflicker (clip, float "percent", int "lag", float "noise", int "scene", int "lmin", int "lmax", int "border", bool "info", bool "debug, int "opt")
- clip =
- Input clip
- clip =
- float percent = 85.0
- Influence of previous frame mean luma (in percent) for temporal luma smoothing.
- Range: 0.0 to 100.0
- float percent = 85.0
- int lag = 25
- Max distance to base frame for process of mean luma estimation and compensation.
- int lag = 25
- float noise = 10.0
- Luma noise std deviation (due to motion etc).
- Range: 0.0 to 255.0
- float noise = 10.0
- int scence = 40
- Threshold for new scene (mean luma difference, or std variations doubled difference).
- Range: 0 to 255
- int scence = 40
- int lmin = 0
- int lmax = 255
- Output luma min and max.
- Range: 0 to 255
- int lmin = 0
- int border = 0
- Border width at all edges (in pixels), which not used for estimation.
- Range: 0 to ?
- int border = 0
- bool info = false
- Show info and borders on frame.
- bool info = false
- bool debug = false
- Produce debug info for debugview utility.
- bool debug = false
- int opt = -1
- opt. for testing slower processor code paths.
- -1: auto
- 0 : C
- 1 : SSE
- 2 : SSE2
- 3 : AVX2
- opt. for testing slower processor code paths.
- int opt = -1
Examples
Using for flicker removing
When amateur film (16 or 18 or 24 fps) is transferred to video (25 or 30 fps) by simple projection method, the very big intensity flicker is produced. Even if special (per-frame) transfer apparatus is used, some flicker also exists due to non-steady (old !) film optical properties.
The default parameters set must be quite good. But you may tune its. Load video clip, set "info" parameter to true, analyze info (frames luma difference etc), and set appropriate scene parameter (or others).
Simple sample script:
Avisource("blah.avi") DeFlicker(scene=30)
Changelog
Version Date Changes
v0.6 2019/05/23 - by pinterf - AVX2 and SSE2 support (was: ISSE in win32, plain C in x64) - does not overflow over 8Mpix - uses all pixels for non-YUY2 colorspaces in correction calculation (was: only even rows were summed up in calculating internal average luma and dev) v0.5 2019/05/22 - by pinterf - project move to Visual Studio 2019 - Avisynth 2.6 interface, using headers from Avisynth+ project - Allow all 8 bit Y and YUV formats - x64 version (although C only) v0.4 2004/08/16 - add YUY2 support (still beta!), some speed increase (ISSE optimized). v0.3 2004/06/06 - add show border in info mode (still beta!). v0.2 2004/06/05 - add reverse mode, info (still beta!). v0.1 2004/06/03 - not public (beta!).
Archived Downloads
Version | Download | Source Code |
---|---|---|
v0.4 | deflicker04.zip | deflicker04.zip |
External Links
- GitHub - Source code repository.
Back to External Filters ←