ReduceFlicker

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m
m (Syntax and Parameters)
Line 27: Line 27:
 
<br>
 
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
<br>
 
<br>
 
 
:{{Template:FuncDef|ReduceFlicker (clip, int "strength", bool "aggressive", bool "grey", int "opt", bool "raccess")}}
 
:{{Template:FuncDef|ReduceFlicker (clip, int "strength", bool "aggressive", bool "grey", int "opt", bool "raccess")}}
 
<br>
 
<br>

Revision as of 18:10, 10 April 2020

Abstract
Author Chikuzen
Version v0.0.0
Download ReduceFlicker_26-0.0.0.zip
Category Luma Equalization
License GPLv2
Discussion

Contents

Description

AviSynth 2.6 / AviSynth+ plugin to reduces temporal oscillations. This is a rewite of ReduceFlicker v0.5 which written by Rainer Wittmann. This plugin has only ReduceFlicker(). ReduceFluctuation() and LockClense() are not implemented.

ReduceFlicker performs controlled averaging of a frame with its two adjacent temporal neighbors. Controlled means that averaging only takes place in the presence of oscillations. Without such a restraint the filter would create massive ghosts.

ReduceFlicker is purely a temporal filter that can be used for all kinds of material, but it is are particularly useful for interlaced footage or progressive videos from digicams like my Canon Powershot S1 IS. It should be applied before deinterlacing. If done so, the motion detection of the deinterlacer is fooled less by flicker, whence more detail is preserved.

The type of flicker, which can be removed or at least reduced with ReduceFlicker, is more prevalent in camcorder material and the chroma of analog clips, especially clips captured from VHS tapes. In other words ReduceFlicker is suited for removing or reducing certain kinds of electronic noise, but it has virtually no effect on dust and film grain.

Requirements

  • Microsoft VisualC++ Redistributable Package 2015


Syntax and Parameters

ReduceFlicker (clip, int "strength", bool "aggressive", bool "grey", int "opt", bool "raccess")


clip   =
Input clip.


int  strength = 2
Specify the strength of ReduceFlicker. Higher values mean more aggressive operation.
  • 1 : makes use of 4(current + 2*previous + 1*next) frames.
  • 2 : makes use of 5(current + 2*previous + 2*next) frames. (default)
  • 3 : makes use of 7(current + 3*previous + 3*next) frames.


bool  aggressive = false
If set to true, then a significantly more aggressive variant of the algorithm is selected.


bool  grey = false
Whether chroma planes will be processed or not. If set to true, chroma planes will be garbage.


int  opt =
Controls which cpu optimizations are used.
Currently, this filter has three(C++, SSE2 and AVX2) routines.
  • 0 : Use C++ routine.
  • 1 : Use SSE2 routine.
  • Others (default) : Use AVX2 routine if possible.
  • If your machine does not have AVX2 or you are using AviSynth 2.6, fallback to 1.


bool  raccess = true
Undocumented.


External Links

  • GitHub - Source code repository.




Back to External Filters

Personal tools