SeeSaw
Abstract | |
---|---|
Author | Didee |
Version | 0.3e |
Download | SeeSaw.avs |
Category | Sharpeners |
License | |
Discussion | Doom9 Thread |
Contents |
Description
SeeSaw is a function that uses a balance of denoising and sharpening to enhance a clip. 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. (Full Name: "Denoiser-and-Sharpener-are-riding-the-SeeSaw" )
Requirements
- AviSynth 2.5.8 or later
- Progressive input only
- Supported color formats: YV12
Required Plugins
- MaskTools2
RemoveGrain- part of the RemoveGrain v1.0b package.- RgTools - recommended drop-in replacement for RemoveGrain!
Syntax and Parameters
- 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")
- clip clp =
- Input clip; the noisy source.
- clip clp =
- clip denoised =
- Input clip; denoised clip.
- You're very much encouraged to feed your own custom denoised clip into SeeSaw. If the "denoised" clip parameter is omitted, a simple "spatial pressdown" filter is used.
- clip denoised =
- int NRlimit = 2
- Absolute limit for pixel change by denoising
- int NRlimit = 2
- int NRLimit2 = NRlimit+1
- Limit for intermediate denoising
- int NRLimit2 = NRlimit+1
- float Sstr = 1.5
- Sharpening strength (don't touch this too much).
- float Sstr = 1.5
- int Slimit = NRlimit+2
- Positive: absolute limit for pixel change by sharpening negative: pixel's sharpening difference is reduced to
diff = pow(diff,1/abs(limit))
- Positive: absolute limit for pixel change by sharpening negative: pixel's sharpening difference is reduced to
- int Slimit = NRlimit+2
- float Spower = 4
- Exponent for modified sharpener.
- float Spower = 4
- float Szp = 16+2
- Zero point - below: overdrive sharpening - above: reduced sharpening.
- float Szp = 16+2
- float SdampLo = Spower+1
- Reduces overdrive sharpening for very small changes.
- float SdampLo = Spower+1
- float SdampHi = 24
- Further reduces sharpening for big sharpening changes. Try 15~30. "0" disables.
- float SdampHi = 24
- float bias = 49
- Bias towards detail ( >= 50 ), or towards calm result ( < 50 ).
- float bias = 49
- int Smode = ssx<1.35 ? 11 : ssx<1.51 ? 20 : 19
- RemoveGrain mode used in the modified sharpening function (sharpen2).
- int Smode = ssx<1.35 ? 11 : ssx<1.51 ? 20 : 19
- int sootheT = 49
- 0=minimum, 100=maximum soothing of sharpener's temporal instability.
- (-100 .. -1 : will chain 2 instances of temporal soothing.)
- int sootheT = 49
- int sootheS = 0
- 0=minimum, 100=maximum smoothing of sharpener's spatial effect.
- int sootheS = 0
- float ss_x = 1.5
- float ss_y = 1.5
- SeeSaw doesn't require supersampling urgently, if at all, small values ~1.25 seem to be enough.
- float ss_x = 1.5
Examples
avisource("Blah.avi") SeeSaw()
a = TheNoisySource b = a.YourPreferredDenoising() SeeSaw( a, b, [parameters] )
External Links
Download: SeeSaw.avs : Current version, using masktools2.
Discussion: Doom9 thread.
Back to External Filters ←