LSFmod

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
 
(External Links)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{FilterCat|External_filters|Adjustment_filters|Sharpeners}}
+
{{FilterCat4|External_filters|Scripts|Adjustment_filters|Sharpeners}}
{{Filter|{{Author/LaTo}}|v1.9 - Update 2009/10/05|[http://latoninf.free.fr/d9/LM/LSFmod.v1.9.avsi LSFmod]|Sharpeners|
+
{{Filter3
[[YV12]]
+
|{{Author/LaTo}}
|}}
+
|v1.9 - Update 2009/10/05
 +
|[http://latoninf.free.fr/d9/LM/LSFmod.v1.9.avsi LSFmod.v1.9.avsi]
 +
|Sharpeners
 +
|
 +
|6=[http://forum.doom9.org/showthread.php?t=142706 Doom9 Thread]}}
  
{{Template:FuncDef| LSFmod( clip  clp,        int  "strength",
+
== Description ==
int    "Smode",    int  "Smethod",  int  "Skernel", 
+
int    "Szrp",    int  "Spwr",      int  "SdmpLo",    int "SdmpHi",
+
int    "Lmode",    int  "overshoot", int  "undershoot", int "overshoot2", int "undershoot2",
+
int    "soft",    bool  "soothe",    int  "keep",
+
int    "edgemode", bool  "edgemaskHQ",
+
float  "ss_x",    float "ss_y",      int  "dest_x",    int "dest_y",
+
string "defaults" )}}
+
 
+
 
+
== Abstract ==
+
 
A [[LimitedSharpen|LimitedSharpenFaster]] mod with a lot of new features and optimizations.
 
A [[LimitedSharpen|LimitedSharpenFaster]] mod with a lot of new features and optimizations.
 +
<br>
 +
<br>
 +
== Requirements ==
 +
* AviSynth 2.5.8 or [http://sourceforge.net/projects/avisynth2/ greater]
 +
* [[FAQ_different_types_content#How_do_I_recognize_progressive.2C_interlaced.2C_telecined.2C_hybrid_and_blended_content.3F|Progressive]] input only
 +
* Supported color formats: [[YV12]]
  
 +
=== Required Plugins ===
 +
Latest versions of the following filters are recommended unless stated otherwise.<br>
 +
* [[MaskTools2]]
 +
*<strike>RemoveGrain and Repair - part of the [[RemoveGrain v1.0b]] package.</strike>
 +
*[[RgTools]] - recommended drop-in replacement for RemoveGrain & Repair!
 +
* [[VariableBlur]] - only required when <code>{{FuncDef3|Smode}}=2</code>
 +
*[[WarpSharp]] - only required when <code>{{FuncDef3|Smode}}=1</code>
 +
<br>
  
== Description ==
+
== [[Script variables|Syntax and Parameters]] ==
Some of these informations may be outdated and/or incomplete, check the [http://forum.doom9.org/showthread.php?t=142706 Doom9 Thread] for up-to-date version !!!
+
{{Template:FuncDef| LSFmod (clip input, int "strength", int "Smode", int "Smethod", int "kernel", string "preblur", bool "secure", clip "source", int "Szrp", int "Spwr", int "SdmpLo", int "SdmpHi", int "Lmode", int "overshoot", int "undershoot", int "overshoot2", int "undershoot2", int "soft", bool "soothe", int "keep", int "edgemode", bool "edgemaskHQ", float "ss_x", float "ss_y", int "dest_x", int "dest_y", bool "show", int "screenW", int "screenH", string "defaults")}}
 +
<br>
 +
<br>
 +
===General===
 +
:{{Par2|input|clip| }}
 +
::Input clip.
  
 +
:{{Par2|strength|int|100}}
 +
::Sharpening strength.
  
== Required Filters ==
+
:{{Par2|Smode|int|3}}
* Masktools (v2a35) http://manao4.free.fr/?M=D
+
::Sharpening mode:
* [[Removegrain]] (v1.0pre)  
+
::*1 : Unsharp masking (from WarpSharp)
* Warpsharp (2003.11.03) http://niiyan.net/?WarpSharpPackage
+
::*2 : Unsharp masking (from VariableBlur)
* Variableblur (v0.40) http://forum.doom9.org/showthread.php?t=88645
+
::*3 : Range sharpening
 +
::*4 : Nonlinear sharpening (original version)
 +
::*5 : Nonlinear sharpening (corrected version)
  
 +
:{{Par2|Smethod|int|2}}
 +
::Sharpening method: (not used for Smode=1&2)
 +
::*1 : 3x3 Kernel
 +
::*2 : Min/Max (original)
 +
::*3 : Min/Max (enhanced)
 +
::*4 : Min/Max (original) + 3x3 Kernel
 +
::*5 : Min/Max (enhanced) + 3x3 Kernel
  
== Parameters ==
+
:{{Par2|Skernel|int|11}}
;strength (int)
+
::Kernel used for Smethod=1,4,5
:Strength of the sharpening
+
::In strength order: + 19 > 12 >> 20 > 11 -
  
;Smode (int)
+
===Special===
:Sharpen mode:
+
:{{Par2|preblur|string|"OFF"}}
:: 1 : Unsharp masking (from warpsharp)
+
::Mode to avoid noise sharpening & ringing (only used in Smode=3,4,5).
:: 2 : Unsharp masking (from variableblur)
+
::"ON" is sufficient to prevent ringing, but to prevent noise sharpening you should set your own denoiser.
:: 3 : Range sharpening
+
::*Usage:   <code>LSFmod(preblur="YourFavoriteDenoiser()")</code>
:: 4 : Nonlinear sharpening (original version)
+
::*Example: <code>LSFmod(preblur="FFT3Dfilter(sigma=4,plane=0)")</code>
:: 5 : Nonlinear sharpening (corrected version)
+
  
;Smethod (int)
+
:{{Par2|secure|bool|true}}
:Sharpen method: (not used for Smode=1&2)
+
::Mode to avoid banding & oil painting (or face wax) effect of sharpening (only used in Smode=3,4,5).
:: 1 : 3x3 Kernel
+
:: 2 : Min/Max (original)
+
:: 3 : Min/Max (enhanced)
+
:: 4 : Min/Max (original) + 3x3 Kernel
+
:: 5 : Min/Max (enhanced) + 3x3 Kernel
+
  
;Skernel (int)
+
:{{Par2|source|clip|undefined}}
:Kernel used for Smethod=1,4,5
+
::If source is defined, LSFmod doesn't sharp more a denoised clip than this source clip.
:In strength order: + 19 > 12 >> 20 > 11 -
+
::In this mode, you can safely set Lmode=0 & PP=off
 +
::*Usage:  <code>denoised.LSFmod(source=source)</code>
 +
::*Example: <code>last.FFT3Dfilter().LSFmod(source=last,Lmode=0,soft=0)</code>
  
  
 
===Nonlinear Sharpening===
 
===Nonlinear Sharpening===
 +
:{{Par2|Szrp|int|16}}
 +
::Zero Point:
 +
::*differences below Szrp are amplified (overdrive sharpening)
 +
::*differences above Szrp are reduced (reduced sharpening)
  
;Szrp (int)
+
:{{Par2|Spwr|int|4}}
:Zero Point:
+
::Power: exponent for sharpener.
:: differences below Szrp are amplified (overdrive sharpening)
+
:: differences above Szrp are reduced (reduced sharpening)
+
  
;Spwr (int)
+
:{{Par2|SdmpLo|int|4}}
:Power: exponent for sharpener
+
::Damp Low: reduce sharpening for small changes (0:disable).
  
;SdmpLo (int)
+
:{{Par2|SdmpHi|int|48}}
:Damp Low: reduce sharpening for small changes (0:disable)
+
::Damp High: reduce sharpening for big changes (0:disable).
 
+
;SdmpHi (int)
+
:Damp High: reduce sharpening for big changes (0:disable)
+
  
  
 
===Limiting===
 
===Limiting===
  
;Lmode (int)
+
:{{Par2|Lmode|int|1}}
:Limit mode:
+
::Limit mode:
:: <0 : Limit with repair (ex: Lmode=-1 --> repair (1), Lmode=-5 --> repair (5)...)
+
::*<0 : Limit with [[RgTools/Repair|Repair]] (ex: Lmode=-1 --> Repair (1), Lmode=-5 --> Repair (5)...)
:: 0 : No limit
+
::*0 : No limit
:: 1 : Limit to over/undershoot
+
::*1 : Limit to over/undershoot
:: 2 : Limit to over/undershoot on edges and no limit on not-edges
+
::*2 : Limit to over/undershoot on edges and no limit on not-edges
:: 3 : Limit to zero on edges and to over/undershoot on not-edges
+
::*3 : Limit to zero on edges and to over/undershoot on not-edges
:: 4 : Limit to over/undershoot on edges and to over/undershoot2 on not-edges
+
::*4 : Limit to over/undershoot on edges and to over/undershoot2 on not-edges
  
;overshoot (int)
+
:{{Par2|overshoot|int|strength/100}}
:Limit for pixels that get brighter during sharpening
+
::Limit for pixels that get brighter during sharpening.
  
;undershoot (int)
+
:{{Par2|undershoot|int|overshoot}}
:Limit for pixels that get darker during sharpening
+
::Limit for pixels that get darker during sharpening.
  
;overshoot2 (int)
+
:{{Par2|overshoot2|int|overshoot*2}}
:Same as overshoot, only for Lmode=4
+
::Same as overshoot, only for Lmode=4.
  
;undershoot2 (int)
+
:{{Par2|undershoot2|int|overshoot2}}
:Same as undershoot, only for Lmode=4
+
::Same as undershoot, only for Lmode=4.
  
  
 
===Post-Processing===
 
===Post-Processing===
 +
:{{Par2|soft|int|0}}
 +
::Soften the sharpening effect:
 +
::* 0-100 : amount of softening
 +
::* -1 : old auto calculate
 +
::* -2 : new auto calculate
 +
 +
:{{Par2|soothe|bool|true}}
 +
::*true : Enable soothe temporal stabilization
 +
::*false : Disable soothe temporal stabilization
 +
 +
:{{Par2|keep|int|20}}
 +
::Minimum percent (0-100) of the original sharpening to keep (only with soothe=true).
 +
 +
 +
===Edges===
 +
:{{Par2|edgemode|int|0}}
 +
::* -1 : Show edgemask
 +
::* 0 : Sharpening all
 +
::* 1 : Sharpening only edges
 +
::* 2 : Sharpening only not-edges
 +
 +
:{{Par2|edgemaskHQ|bool|false}}
 +
::* true : Original edgemask
 +
::* false : Faster edgemask
 +
 +
 +
===Upsampling===
 +
:{{Par2|ss_x|float|1.25}}
 +
:{{Par2|ss_y|float|ss_x}}
 +
::[[Supersampling]] factor (reduce aliasing on edges).
 +
 +
:{{Par2|dest_x|int|[[Clip_properties|Width(input)]]}}
 +
:{{Par2|dest_y|int|[[Clip_properties|Height(input)]]}}
 +
::Output resolution after sharpening (avoids an additional resizing step).
 +
::If not defined it defaults to the dimensions of the input clip.
 +
 +
===Debug===
 +
:{{Par2|show|bool|false}}
 +
::Show debug clip & information [http://latoninf.free.fr/d9/LM/show.png].
 +
 +
:{{Par2|screenW|int|1280}}
 +
:{{Par2|screenH|int|1024}}
 +
::Screen resolution (for show clip).
 +
 +
===Settings===
 +
:{{Par2|defaults|String|"fast"}}
 +
::* "old"  : Reset settings to original version (output will be THE SAME AS [[LimitedSharpen|LSF]])
 +
::* "slow" : Enable SLOW modded version settings
 +
::* "fast" : Enable FAST modded version settings
  
;soft (int)
+
::{| class="wikitable" border="1"; width="500px"
:Soften the sharpening effect
+
|-
:: 0-100 : amount of softening
+
!!width="200px"| 
:: -1 : old autocalculate
+
!!width="200px"| "old"
:: -2 : new autocalculate
+
!!width="300px"| "slow"
 +
!!width="300px"| "fast"
 +
|-
 +
!strength
 +
|100
 +
|100
 +
|100
 +
|-
 +
!Smode
 +
|3
 +
|5
 +
|3
 +
|-
 +
!Smethod
 +
|Smode==3?2:1
 +
|3
 +
|2
 +
|-
 +
!Kernel
 +
|11
 +
|11
 +
|11
 +
|-
 +
!preblur
 +
|"OFF"
 +
|"OFF"
 +
|"OFF"
 +
|-
 +
!secure
 +
|false
 +
|true
 +
|true
 +
|-
 +
!source
 +
|undefined
 +
|undefined
 +
|undefined
 +
|-
 +
!Szrp
 +
|16
 +
|16
 +
|16
 +
|-
 +
!Spwr
 +
|2
 +
|4
 +
|4
 +
|-
 +
!SdmpLo
 +
|strength/25
 +
|4
 +
|4
 +
|-
 +
!SdmpHi
 +
|0
 +
|48
 +
|48
 +
|-
 +
!Lmode
 +
|1
 +
|4
 +
|1
 +
|-
 +
!overshoot
 +
|1
 +
|strength/100
 +
|strength/100
 +
|-
 +
!undershoot
 +
|overshoot
 +
|overshoot
 +
|overshoot
 +
|-
 +
!overshoot2
 +
|overshoot*2
 +
|overshoot*2
 +
|overshoot*2
 +
|-
 +
!undershoot2
 +
|overshoot2
 +
|overshoot2
 +
|overshoot2
 +
|-
 +
!soft
 +
|0
 +
| -2
 +
|0
 +
|-
 +
!soothe
 +
|false
 +
|true
 +
|true
 +
|-
 +
!keep
 +
|25
 +
|20
 +
|20
 +
|-
 +
!edgemode
 +
|0
 +
|0
 +
|0
 +
|-
 +
!edgemaskHQ
 +
|true
 +
|true
 +
|false
 +
|-
 +
!ss_x
 +
|Smode==3?1.50:1.25
 +
|1.50
 +
|1.25
 +
|-
 +
!ss_y
 +
|ss_x
 +
|ss_x
 +
|ss_x
 +
|-
 +
!dest_x
 +
|Width(input)
 +
|Width(input)
 +
|Width(input)
 +
|-
 +
!dest_y
 +
|Height(input)
 +
|Height(input)
 +
|Height(input)
 +
|-
 +
!show
 +
|false
 +
|false
 +
|false
 +
|-
 +
!screenW
 +
|1280
 +
|1280
 +
|1280
 +
|-
 +
!screenH
 +
|1024
 +
|1024
 +
|1024
 +
|}
  
;soothe (bool)
 
:: true : Enable soothe temporal stabilization
 
:: false : Disable soothe temporal stabilization
 
  
;keep (int)
+
==Examples==
: Minimum percent (0-100) of the original sharpening to keep (only with soothe=true)
+
LSFmod with default settings:
 +
[[AviSource]]("blah.avi")
 +
LSFmod(strength=100, Smode=3, Smethod=2, kernel=11,
 +
\      preblur="OFF", secure=true,
 +
\      Szrp= 16, Spwr= 4, SdmpLo= 4, SdmpHi= 48,
 +
\      Lmode=1, overshoot=strength/100, undershoot=overshoot, overshoot2=overshoot*2, undershoot2=overshoot2,
 +
\      soft=0, soothe=true, keep=20,
 +
\      edgemode=0, edgemaskHQ=false,
 +
\      ss_x= 1.25, ss_y= ss_x, dest_x= ox, dest_y= oy,
 +
\      show=false, screenW=1280, screenH=1024, defaults="fast")
  
  
===Others===
+
==Changelog==
 +
<pre>
 +
v1.9 : - tweaked settings
 +
        - default preset is now defaults="fast" /!\
  
;edgemode (int)
+
v1.8 : - changed preblur to allow more tweaking (bool->string)
:: -1 : Show edgemask
+
        - tweaked settings
:: 0 : Sharpening all
+
        - cleaned the code
:: 1 : Sharpening only edges
+
        - updated documentation
:: 2 : Sharpening only not-edges
+
  
;edgemaskHQ (bool)
+
v1.7 : - changed Smethod=4 to "source"
:: true : Original edgemask
+
:: false : Faster edgemask
+
  
; ss_x ; ss_y (float)
+
v1.6 : - added preblur option
: Supersampling factor (reduce aliasing on edges)
+
        - added new Smethod=4
  
;dest_x ; dest_y (int)
+
v1.5 : - fixed LUT expression (thanks to Didée)
:Output resolution after sharpening (avoid a resizing step)
+
        - changed Smethod to Smethod+secure
  
 +
v1.4 : - changed defaults="new" to defaults="slow" & defaults="fast"
 +
        - added show parameter
 +
        - cleaned a little the code
  
;defaults (string)
+
v1.3 : - changed a little Smethod=3&5 (same effect, but more precise)
:: "old" : Reset settings to original version
+
        - added new calculation for soft (soft=-2) [default on]
:: "new" : Enable modded version settings (default)
+
        - added warning about bad settings (no more silent)
 +
        - updated the documentation
  
 +
v1.2 : - added new Lmode<0 (limit with repair)
 +
        - added 2 new Smode (unsharp masking)
 +
        - changed Smode order: now old Smode3-4 is new Smode3-4 to avoid mistake
  
== Defaults ==
+
  v1.1 : - fixed a bug with dest_x!=ox or dest_y!=oy
  defaults="old" : - strength    = 100
+
        - replaced Lfactor by over/undershoot2
---------------- - Smode      = 1
+
                  - Smethod    = Smode==3?2:1
+
                  - Skernel    = 11
+
                  - Szrp        = 16
+
                  - Spwr        = 2
+
                  - SdmpLo      = strength/25
+
                  - SdmpHi      = 0
+
                  - Lmode      = 1
+
                  - overshoot  = 1
+
                  - undershoot  = overshoot
+
                  - overshoot2  = overshoot*2
+
                  - undershoot2 = overshoot2
+
                  - soft        = 0
+
                  - edgemode    = 0
+
                  - edgemaskHQ  = true
+
                  - soothe      = false
+
                  - keep        = 25
+
                  - ss_x        = 1.50
+
                  - ss_y        = ss_x
+
                  - dest_x      = ox
+
                  - dest_y      = oy
+
  
  defaults="new" : - strength    = 100
+
  v1.0 : - deleted old Smode(1-4), added new Smode(1-3) & Smethod(1-5)
---------------- - Smode      = 3
+
        - added parameters for nonlinear sharpening (S2zp,S2pwr,S2dmpLo,S2dmpHi)
                  - Smethod    = Smode==3?5:3
+
        - corrected the nonlinear formula
                  - Skernel    = 11
+
        - added new Lmode 2 & 4 + fixed Lmode 0
                  - Szrp        = 16
+
        - added faster edgemask
                  - Spwr        = 4
+
        - added soothe temporal stabilization, 2 parameters: soothe & keep
                  - SdmpLo      = 4
+
        - replaced lanczosresize by spline36resize
                  - SdmpHi      = 24
+
        - moved "strength" parameter (first place)
                  - Lmode       = 4
+
        - deleted wide, special and exborder
                  - overshoot  = strength/100
+
        - changed some code (cosmetic)
                  - undershoot  = overshoot
+
        - added "defaults" parameter (to switch between original and modded version)
                  - overshoot2  = overshoot*2
+
        - added documentation
                  - undershoot2 = overshoot2
+
</pre>
                  - soft        = -2
+
                  - edgemode    = 0
+
                  - edgemaskHQ  = false
+
                  - soothe      = true
+
                  - keep        = 50
+
                  - ss_x        = 1.25
+
                  - ss_y        = ss_x
+
                  - dest_x      = ox
+
                  - dest_y      = oy
+
  
  
== Links ==
+
==External Links ==
[http://forum.doom9.org/showthread.php?t=142706 Doom9 Thread]
+
*[http://forum.doom9.org/showthread.php?t=142706 Doom9 Forum] - LSFmod discussion
 +
*[http://blog.naver.com/PostView.nhn?blogId=jongsbee&logNo=20066559528] - Korean documentation.
 +
<br>
 +
<br>
 +
-----------------------------------------------
 +
'''Back to [[External_filters#Sharpeners|External Filters]] &larr;'''

Latest revision as of 12:58, 5 June 2017

Abstract
Author LaTo
Version v1.9 - Update 2009/10/05
Download LSFmod.v1.9.avsi
Category Sharpeners
License
Discussion Doom9 Thread

Contents

[edit] Description

A LimitedSharpenFaster mod with a lot of new features and optimizations.

[edit] Requirements

[edit] Required Plugins

Latest versions of the following filters are recommended unless stated otherwise.


[edit] Syntax and Parameters

LSFmod (clip input, int "strength", int "Smode", int "Smethod", int "kernel", string "preblur", bool "secure", clip "source", int "Szrp", int "Spwr", int "SdmpLo", int "SdmpHi", int "Lmode", int "overshoot", int "undershoot", int "overshoot2", int "undershoot2", int "soft", bool "soothe", int "keep", int "edgemode", bool "edgemaskHQ", float "ss_x", float "ss_y", int "dest_x", int "dest_y", bool "show", int "screenW", int "screenH", string "defaults")

[edit] General

clip  input =
Input clip.
int  strength = 100
Sharpening strength.
int  Smode = 3
Sharpening mode:
  • 1 : Unsharp masking (from WarpSharp)
  • 2 : Unsharp masking (from VariableBlur)
  • 3 : Range sharpening
  • 4 : Nonlinear sharpening (original version)
  • 5 : Nonlinear sharpening (corrected version)
int  Smethod = 2
Sharpening method: (not used for Smode=1&2)
  • 1 : 3x3 Kernel
  • 2 : Min/Max (original)
  • 3 : Min/Max (enhanced)
  • 4 : Min/Max (original) + 3x3 Kernel
  • 5 : Min/Max (enhanced) + 3x3 Kernel
int  Skernel = 11
Kernel used for Smethod=1,4,5
In strength order: + 19 > 12 >> 20 > 11 -

[edit] Special

string  preblur = "OFF"
Mode to avoid noise sharpening & ringing (only used in Smode=3,4,5).
"ON" is sufficient to prevent ringing, but to prevent noise sharpening you should set your own denoiser.
  • Usage: LSFmod(preblur="YourFavoriteDenoiser()")
  • Example: LSFmod(preblur="FFT3Dfilter(sigma=4,plane=0)")
bool  secure = true
Mode to avoid banding & oil painting (or face wax) effect of sharpening (only used in Smode=3,4,5).
clip  source = undefined
If source is defined, LSFmod doesn't sharp more a denoised clip than this source clip.
In this mode, you can safely set Lmode=0 & PP=off
  • Usage: denoised.LSFmod(source=source)
  • Example: last.FFT3Dfilter().LSFmod(source=last,Lmode=0,soft=0)


[edit] Nonlinear Sharpening

int  Szrp = 16
Zero Point:
  • differences below Szrp are amplified (overdrive sharpening)
  • differences above Szrp are reduced (reduced sharpening)
int  Spwr = 4
Power: exponent for sharpener.
int  SdmpLo = 4
Damp Low: reduce sharpening for small changes (0:disable).
int  SdmpHi = 48
Damp High: reduce sharpening for big changes (0:disable).


[edit] Limiting

int  Lmode = 1
Limit mode:
  • <0 : Limit with Repair (ex: Lmode=-1 --> Repair (1), Lmode=-5 --> Repair (5)...)
  • 0 : No limit
  • 1 : Limit to over/undershoot
  • 2 : Limit to over/undershoot on edges and no limit on not-edges
  • 3 : Limit to zero on edges and to over/undershoot on not-edges
  • 4 : Limit to over/undershoot on edges and to over/undershoot2 on not-edges
int  overshoot = strength/100
Limit for pixels that get brighter during sharpening.
int  undershoot = overshoot
Limit for pixels that get darker during sharpening.
int  overshoot2 = overshoot*2
Same as overshoot, only for Lmode=4.
int  undershoot2 = overshoot2
Same as undershoot, only for Lmode=4.


[edit] Post-Processing

int  soft = 0
Soften the sharpening effect:
  • 0-100 : amount of softening
  • -1 : old auto calculate
  • -2 : new auto calculate
bool  soothe = true
  • true : Enable soothe temporal stabilization
  • false : Disable soothe temporal stabilization
int  keep = 20
Minimum percent (0-100) of the original sharpening to keep (only with soothe=true).


[edit] Edges

int  edgemode = 0
  • -1 : Show edgemask
  • 0 : Sharpening all
  • 1 : Sharpening only edges
  • 2 : Sharpening only not-edges
bool  edgemaskHQ = false
  • true : Original edgemask
  • false : Faster edgemask


[edit] Upsampling

float  ss_x = 1.25
float  ss_y = ss_x
Supersampling factor (reduce aliasing on edges).
int  dest_x = Width(input)
int  dest_y = Height(input)
Output resolution after sharpening (avoids an additional resizing step).
If not defined it defaults to the dimensions of the input clip.

[edit] Debug

bool  show = false
Show debug clip & information [1].
int  screenW = 1280
int  screenH = 1024
Screen resolution (for show clip).

[edit] Settings

String  defaults = "fast"
  • "old"  : Reset settings to original version (output will be THE SAME AS LSF)
  • "slow" : Enable SLOW modded version settings
  • "fast" : Enable FAST modded version settings
"old" "slow" "fast"
strength 100 100 100
Smode 3 5 3
Smethod Smode==3?2:1 3 2
Kernel 11 11 11
preblur "OFF" "OFF" "OFF"
secure false true true
source undefined undefined undefined
Szrp 16 16 16
Spwr 2 4 4
SdmpLo strength/25 4 4
SdmpHi 0 48 48
Lmode 1 4 1
overshoot 1 strength/100 strength/100
undershoot overshoot overshoot overshoot
overshoot2 overshoot*2 overshoot*2 overshoot*2
undershoot2 overshoot2 overshoot2 overshoot2
soft 0 -2 0
soothe false true true
keep 25 20 20
edgemode 0 0 0
edgemaskHQ true true false
ss_x Smode==3?1.50:1.25 1.50 1.25
ss_y ss_x ss_x ss_x
dest_x Width(input) Width(input) Width(input)
dest_y Height(input) Height(input) Height(input)
show false false false
screenW 1280 1280 1280
screenH 1024 1024 1024


[edit] Examples

LSFmod with default settings:

AviSource("blah.avi")
LSFmod(strength=100, Smode=3, Smethod=2, kernel=11, 
\      preblur="OFF", secure=true, 
\      Szrp= 16, Spwr= 4, SdmpLo= 4, SdmpHi= 48, 
\      Lmode=1, overshoot=strength/100, undershoot=overshoot, overshoot2=overshoot*2, undershoot2=overshoot2, 
\      soft=0, soothe=true, keep=20, 
\      edgemode=0, edgemaskHQ=false, 
\      ss_x= 1.25, ss_y= ss_x, dest_x= ox, dest_y= oy, 
\      show=false, screenW=1280, screenH=1024, defaults="fast")


[edit] Changelog

 v1.9 : - tweaked settings
        - default preset is now defaults="fast" /!\

 v1.8 : - changed preblur to allow more tweaking (bool->string)
        - tweaked settings
        - cleaned the code
        - updated documentation

 v1.7 : - changed Smethod=4 to "source"

 v1.6 : - added preblur option
        - added new Smethod=4

 v1.5 : - fixed LUT expression (thanks to Didée)
        - changed Smethod to Smethod+secure

 v1.4 : - changed defaults="new" to defaults="slow" & defaults="fast"
        - added show parameter
        - cleaned a little the code

 v1.3 : - changed a little Smethod=3&5 (same effect, but more precise)
        - added new calculation for soft (soft=-2) [default on]
        - added warning about bad settings (no more silent)
        - updated the documentation

 v1.2 : - added new Lmode<0 (limit with repair)
        - added 2 new Smode (unsharp masking)
        - changed Smode order: now old Smode3-4 is new Smode3-4 to avoid mistake

 v1.1 : - fixed a bug with dest_x!=ox or dest_y!=oy
        - replaced Lfactor by over/undershoot2

 v1.0 : - deleted old Smode(1-4), added new Smode(1-3) & Smethod(1-5)
        - added parameters for nonlinear sharpening (S2zp,S2pwr,S2dmpLo,S2dmpHi)
        - corrected the nonlinear formula
        - added new Lmode 2 & 4 + fixed Lmode 0
        - added faster edgemask
        - added soothe temporal stabilization, 2 parameters: soothe & keep
        - replaced lanczosresize by spline36resize
        - moved "strength" parameter (first place)
        - deleted wide, special and exborder
        - changed some code (cosmetic)
        - added "defaults" parameter (to switch between original and modded version)
        - added documentation


[edit] External Links




Back to External Filters

Personal tools