SeeSaw
Abstract | |
---|---|
Author | Didee |
Version | 0.3e |
Download | SeeSaw.avs |
Category | Sharpeners |
Requirements |
|
License | |
Discussion |
SeeSaw(clip clp, clip "denoised", int "NRlimit",int "NRlimit2", float "Sstr", int "Slimit", float "Spower", float "SdampLo", float "SdampHi", float "Szp", float "bias", int "Smode", int "sootheT", int "sootheS", float "ssx", float "ssy")
Contents |
Abstract
SeeSaw is a function that uses a balance of denoising and sharpening to enhance a clip
Requires Filters
Description
This function provides a (simple) implementation of the "crystality sharpen" principle. In conjunction with a user-specified denoised clip, the aim is to enhance weak detail, hopefully without oversharpening or creating jaggies on strong detail, and produce a result that is temporally stable without detail shimmering, while keeping everything within reasonable bitrate requirements. This is done by intermixing source, denoised source and a modified sharpening process, in a seesaw-like manner.
NRlimit int = 2
Absolute limit for pixel change by denoising
NRLimit2 int = NRlimit+1
Limit for intermediate denoising
Sstr float = 1.5
Sharpening strength (don't touch this too much).
Slimit int = NRlimit+2
positive: absolute limit for pixel change by sharpening
negative: pixel's sharpening difference is reduced to diff=pow(diff,1/abs(limit))
Spower float = 4
Exponent for modified sharpener.
Szp float = 16+2
Zero point - below: overdrive sharpening - above: reduced sharpening.
SdampLo float = Spower+1
Reduces overdrive sharpening for very small changes.
SdampHi float = 24
Further reduces sharpening for big sharpening changes. Try 15~30. "0" disables.
bias float = 49
Bias towards detail ( >= 50 ), or towards calm result ( < 50 ).
Smode int = ssx<1.35 ? 11 : ssx<1.51 ? 20 : 19
Uh?
sootheT int = 49
0=minimum, 100=maximum soothing of sharpener's temporal instability.
(-100 .. -1 : will chain 2 instances of temporal soothing.)
sootheS int = 0
0=minimum, 100=maximum smoothing of sharpener's spatial effect.
ss_x float = 1.5
ss_y float = 1.5
SeeSaw doesn't require supersampling urgently,
if at all, small values ~1.25 seem to be enough.
Examples
avisource("Blah.avi") SeeSaw()
a = TheNoisySource b = a.YourPreferredDenoising() SeeSaw( a, b, [parameters] )
Links
Download: SeeSaw.avs : Current version, using masktools2.
Discussion: Doom9 thread.