ReduceFlicker

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Syntax and Parameters)
(update page to v0.0.1)
Line 2: Line 2:
 
{{Filter3
 
{{Filter3
 
| {{Author/Chikuzen}}
 
| {{Author/Chikuzen}}
| v0.0.0
+
| v0.0.1
| [https://github.com/chikuzen/ReduceFlicker/releases ReduceFlicker_26-0.0.0.zip]
+
| [https://github.com/Asd-g/ReduceFlicker/releases ReduceFlicker-0.0.1.7z]
 
| Luma Equalization   
 
| Luma Equalization   
 
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
 
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]
Line 10: Line 10:
 
== Description ==
 
== Description ==
 
AviSynth 2.6 / AviSynth+ plugin to reduces temporal oscillations. This is a rewite of [[ReduceFlicker_v0.5|ReduceFlicker v0.5]] which written by Rainer Wittmann.
 
AviSynth 2.6 / AviSynth+ plugin to reduces temporal oscillations. This is a rewite of [[ReduceFlicker_v0.5|ReduceFlicker v0.5]] which written by Rainer Wittmann.
This plugin has only ReduceFlicker(). ReduceFluctuation() and LockClense() are not implemented.
+
This plugin has only <code>ReduceFlicker()</code>. <code>ReduceFluctuation()</code> and <code>LockClense()</code> 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 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.
Line 24: Line 24:
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
 
* Supported color formats: [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]
  
* Microsoft VisualC++ Redistributable Package 2015
+
* [https://support.microsoft.com/en-us/help/2977003/the-latest-supported-visual-c-downloads Microsoft Visual C++ 2015 Redistributable Package (x86 / x64)]
 +
:<span style="color:red">***</span> <tt>vcredist_x86.exe</tt> is required for <tt>ReduceFlicker-x86</tt>
 +
:<span style="color:red">***</span> <tt>vcredist_x64.exe</tt> is required for <tt>ReduceFlicker-x64</tt>
 
<br>
 
<br>
 
== [[Script variables|Syntax and Parameters]] ==
 
== [[Script variables|Syntax and Parameters]] ==
Line 55: Line 57:
 
:::Undocumented.  
 
:::Undocumented.  
 
<br>
 
<br>
 +
==Examples==
 +
ReduceFlicker with default settings:
  
 +
ReduceFlicker(strength=2, aggressive=false, grey=false)
 +
<br>
 +
== Changelog ==
 +
Version      Date            Changes<br>
 +
v0.0.1      2020/05/13      - Changes by asd-g
 +
                              - Use AviSynth+ v8 interface
 +
v0.0.0      2016/05/05      - Initial release
 +
<br>
 
== External Links ==
 
== External Links ==
 
*[https://github.com/chikuzen/ReduceFlicker/tree/master/avisynth GitHub] - Source code repository.
 
*[https://github.com/chikuzen/ReduceFlicker/tree/master/avisynth GitHub] - Source code repository.
 +
*[https://github.com/Asd-g/ReduceFlicker/tree/v8_interface/avisynth GitHub] - Source code repository (updated).
 
<br>
 
<br>
 
<br>
 
<br>
 
-----------------------------------------------
 
-----------------------------------------------
 
'''Back to [[External_filters#Luma_Equalization|External Filters]] &larr;'''
 
'''Back to [[External_filters#Luma_Equalization|External Filters]] &larr;'''

Revision as of 16:27, 14 May 2020

Abstract
Author Chikuzen
Version v0.0.1
Download ReduceFlicker-0.0.1.7z
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

*** vcredist_x86.exe is required for ReduceFlicker-x86
*** vcredist_x64.exe is required for ReduceFlicker-x64


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.


Examples

ReduceFlicker with default settings:

ReduceFlicker(strength=2, aggressive=false, grey=false)


Changelog

Version      Date            Changes
v0.0.1 2020/05/13 - Changes by asd-g - Use AviSynth+ v8 interface v0.0.0 2016/05/05 - Initial release


External Links

  • GitHub - Source code repository.
  • GitHub - Source code repository (updated).




Back to External Filters

Personal tools