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 ←
