Log in

View Full Version : New Sharpening Function from Didée -'SeeSaw'


Pages : [1] 2 3 4 5

Pookie
27th December 2005, 18:47
Per the file - " 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 "

More of a detail enhancer than a regular sharpener. Also lets you really turn up the denoising without the typical ringing and haloing. I've had very nice results using DegrainMedian as the function's denoiser. VagueDenoiser also seems to work well.

Requirements -

http://home.arcor.de/kassandro/RemoveGrain/RemoveGrain.rar

http://manao4.free.fr/MaskTools-v1.5.8.zip

http://home.arcor.de/dhanselmann/_stuff/SeeSaw_2006.01.02.rar

Call it from your script like this:

a= last

b=a.yourfavoritedenoiser()

SeeSaw(a,b, NRlimit=3, NRlimit2=4, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16)

Several additional parameters documented in the SeeSaw.avs file.


Good Stuff, Didée. Thanks.

(Examples)

Original
http://img506.imageshack.us/img506/806/4769fn.png (http://imageshack.us)

SeeSaw
http://img506.imageshack.us/img506/6889/476s1gc.png (http://imageshack.us)

6MB XVID Example ftp://tempclips%40avisynth.org:QfJY(86m@avisynth.org/c3x.avi

(Thanks to Richard Berg for the hosting space)

Chainmax
27th December 2005, 20:06
I experimented with SeeSaw on a crappy source that had little detail and needed deblocking and it didn't give me too good results. Could you post a few suggested usages, like your alternative with DeGrainMedian as denoiser?

Pookie
27th December 2005, 20:16
I experimented with SeeSaw on a crappy source that had little detail and needed deblocking and it didn't give me too good results. Could you post a few suggested usages, like your alternative with DeGrainMedian as denoiser?

You bet. As a 'detail enhancer', the SeeSaw function seems well suited for clarifying already decent looking video. A friend who saw the examples likened it to "putting the fuzz back on the peach". So, a blocky source is going to look like a pronounced blocky target. Here are the settings I used on the above examples:

a = last

b=a.degrainmedian(mode=2).VagueDenoiser(threshold=0.8, method=1, nsteps=6, chromaT=0.8)

SeeSaw(a,b, NRlimit=6, NRlimit2=7, Sstr=1.5, Slimit=5, Spower=5, Sdamplo=6, Szp=16)


Here's an example of a noisier source, using FFT3Dfilter in place of DegrainMedian and VagueDenoiser. This one has been pushed to demonstrate the effect. There's a huge amount of chroma cleaning/stripping applied (look at the eyes), but the target looks clean and sharp.

ftp://tempclips%40avisynth%2Eorg:QfJY(86m@avisynth.org/SeeSaw-3d-CGX.avi

morsa
28th December 2005, 11:39
Big Question:
Only way to use SeeSaw is having a denoised video or can it be used alone?

Pookie
28th December 2005, 12:18
Big Question:
Only way to use SeeSaw is having a denoised video or can it be used alone?

Even if you don't invoke your own denoising, there's a light RemoveGrain call in there that runs. That's part of the way Didee's function gets the target video looking as clean as it does. Try it out so you can understand how the denoising portion of the function works. Just as any processing tool, you'll want to use it in certain cases, and in other cases, another function will be more appropriate.

Look at the source video still in the original post and see what can be done.

http://img508.imageshack.us/my.php?image=ozzy2iv.png

http://img231.imageshack.us/my.php?image=ozzy210seesawmcnr2sq.png

Chainmax
28th December 2005, 22:35
Take a look at a before/after comparison with my current filterchain:

http://img227.imageshack.us/img227/7250/before8fg.th.png (http://img227.imageshack.us/my.php?image=before8fg.png)http://img227.imageshack.us/img227/9864/after1xx.th.png (http://img227.imageshack.us/my.php?image=after1xx.png)

Do you think using SeeSaw could yield better results?

Pookie
29th December 2005, 05:13
Try it out, Chainmax. It's an easy function to test.

FredThompson
29th December 2005, 11:59
Look at the source video still in the original post and see what can be done.

http://img508.imageshack.us/my.php?image=ozzy2iv.png

http://img231.imageshack.us/my.php?image=ozzy210seesawmcnr2sq.pngThose are not the same frame.

Pookie
31st December 2005, 14:29
Those are not the same frame.

Sorry, Fred. Just trying to show more examples of the general effect.

Here's another one, and this one IS the same frame :)

http://img432.imageshack.us/img432/8585/lostin5lh.th.png (http://img432.imageshack.us/my.php?image=lostin5lh.png)

Dark Alchemist
31st December 2005, 16:05
Where exactly do I get SCSelect from that this is calling for?

FredThompson
2nd January 2006, 02:21
Pookie, your video is smoothing way too much. Look at frame 266. Does the filter also remove stains and fill in cracks? Apparently, it does.

Besides, where's the fun in a clean Ozzy? It's just...wrong.

Pookie
2nd January 2006, 04:31
Which video are you refering to ? SeeSaw works with the filter of your choice, so Deen() is going to have a different result than using Undot(). Plus, you can tune the ratio of cleaning to sharpening in order to limit artifacts.

FredThompson
2nd January 2006, 04:36
Look at the video in the top post. Go to the frame I mentioned, or one near it, and look at the guy's shoulder. There's too much smoothing.

What is this from? It looks very interesting.

Pookie
2nd January 2006, 06:00
This frame -

http://img400.imageshack.us/img400/826/3danime5pk.png (http://imageshack.us)

Yeah, the shoulder is overly smoothed, but as I mentioned I was posting some obvious examples of SeeSaw on different media. It would be easy to back off on the smoothing strength.

foxyshadis
2nd January 2006, 06:41
That's FF7: Advent Children. ;) Seesaw gave me decent results on something I was having trouble with, but I ended up going with degrainmedian+limitedsharpen until I can figure out just how it can be tweaked best.

FredThompson
2nd January 2006, 07:03
Hmm...I'll have to add that to my NetFlix or Blockbuster queue. Thanks for the info.

I'm wondering if SeeSaw+DeGrainMedian would give better results than:

LRemoveDust_YV12(17,2)
Soothe(LimitedSharpen(ss_x=1.0,ss_y=1.0,Smode=4),last,24)

It should, given DeGrainMedian is spatio-temporal. I've been fiddling with Heavy Metal (I'm an old fart, not into Manga...ok...young women with abnormally large...attributes...would interest me...but I digress) and the biggest annoyance I'm finding with dirty transfers is the MPEG artifacting that's left after cleaning. Blech!!! Some of that should go away with a move to SeeSaw and DeGrainMedian but some is going to require dedicated hunting and killing...

Dark Alchemist
2nd January 2006, 12:50
Hmmm, filter looks nice for those who can even run it.

Didée
2nd January 2006, 16:39
Oh, here's a SeeSaw thread ... should I drop a comment? :)

First of all, I consider SeeSaw only as an intermediate step to a more complete solution. That's why I didn't post about it, and also didn't make an in-depth description of it, yet. Posting a "new incredible enhancement function" every few weeks is not such a smart idea, especially if the incredibleness is only half-finished.

The general aim of SeeSaw is to dig out weak detail from below, while not amplifying noise. The internal sharpening process enhances weak pixel differences much stronger, and strong pixel differences much weaker than a normal "linear" sharpener. This produces the wished effect, but on its own it will also bring up noise and artefacts into ugly presence. (Anyone remembering the "unsmooth" script of mf? ;) )

To get a stable result, usually one applies some smoothing before or after sharpening ... but however you turn it, the coin has always two sides:

a) first sharpen, then smoothe:
the sharpener has full detail to work with, but will also enhance noise. For a stable result, because of the sharpener's enhancement the smoother will need wider thresholds and/or more aggressive settings, thereby taking away much of the sharpening effect again, and also cutting deeper into the original source because of the stronger settings.

b) first smoothe, then sharpen:
result might be more stable, but most probably the smoother has already taken away much of the weak detail. Detail that has been killed can't be enhanced anymore, so there's always danger to end up with "sharp soup" (already prominent features have been enhanced, but the overall appearance is "empty").

So SeeSaw tries to do something other: to walk on the coin's border. First an intermediate clip is constructed: a version of the provided denoised clip with reduced denoising (reduction is controlled by "NRlimit2" and "bias"). This reduces temporal jitter of the source, but retains most of the present pixel differences (not all, but most). This calmed version then is sharpened with the mentioned non-linear sharpener, limited by the result of a (also non-linear)median sharpener to avoid halo'ing, and soothe'd against the calmed clip for even more temporal stableness of the effect-of-sharpening. Finally, the difference [calm]-[calm+sharp] is applied to the denoised input clip, with optional limiting of the original denoising effect.


BTW, for rather clean sources it's perfectly possible to not denoise/smoothe the source at all, but still use some denoising for a stable sharpening result: Just set NRlimit=0 and NRlimit2=1~8. This will let the original source fully unaffected, only the sharpening effect will be created on the reduce-denoised intermediate clip.

For low-bitrate artefact feasts, using SeeSaw is like digging for oil on Mount Everest: senseless.

There are lots of possible ways how SeeSaw can be set up, according to the source's characteristics. And of course the kind of used denoising should fit to that, too. Moreover, if the source contains noticeable blocking artefacts, these should be filtered out beforehand - we surely don't want to sharpen mpeg blocking at all. (Deblock_QED might be indicated, since it mostly keeps more detail than plain Deblock() or BlindPP().) Also, if the source contains halos, these should be removed beforehand. Although SeeSaw by itself will hardly create any edge halos, it will happily enhance them if they're already present in the source ...


Update with some small changes: today's version (http://home.arcor.de/dhanselmann/_stuff/SeeSaw_2006.01.02.rar)

- renamed "Sdamp" to "SdampLo"
- "SdampHi" (new) will further reduce sharpening on detail that's already strong (even less aliasing, hopefully)
- "SootheT=0" and "NRlimit=0" now are really NOPs (formerly these cases applied YV12Lutxy, with zero effect.)

Todo: replace [additive] sharpening with [multiplication] sharpening - but not today. ;)

Didée
2nd January 2006, 16:44
@ Dark Alchemist

What's the actual problem? In the first post, Pookie noted all needed plugins: MaskTools and RemoveGrain (1.0 pre-release). That's all.
Oh, you mentioned something about "SCSelect" ("that this is asking for") - now you see me :confused: - where does this appear? Never heard, never seen ...

anton_foy
2nd January 2006, 17:21
thats an amazing sharpener! Do you think it gives better sharpening than Limitedsharpen on a clip with low noise?

Dark Alchemist
2nd January 2006, 19:45
Didee:

orig = DirectShowSource("yyy.mpg")
x = mcnr_simple2(orig,frames=3,thY=24,thC=20,thY2=-1,thC2=-1,removdirt=true,LPrad=2.0,LPlosens=1,LPhisens=5)
SeeSaw(orig,denoised=x,NRlimit=15,bias=32,Smode=11,Szp=25,Sdamp=20,sootheT=-49,sootheS=86)

The error I get (http://i3.photobucket.com/albums/y81/GhostOfACPast/SCSelect.jpg)

That is telling me something is borked so I was asking where I would find SCSelect to satisify it.

Didée
2nd January 2006, 20:06
@ anton_foy

"Do you think tomorrow it will rain?"

I'm sure as anything that it'll rain tomorrow ... *where* it will rain, that's the question.

(Sorry, but you asked the "better" question :p )


The biggest strenght of LimitedSharpen - the limiting - is also a shortcoming: it prevents enhancement of detail beyond the local [min,max] range. (But Lmode=3 breaks that rule.)

SeeSaw aims at sharpening beyond the local extrama, to achieve more detail enhancement. In exchange, the limiting method used in SeeSaw is more likely to fail if the original source already shows haloing, may it be even so slight.
(However there's a commented line in the script that might help for that ;) )


@ Dark Alchemist

SCSelect does not occur in my scripts, neither SeeSaw nor MCNR_simple. I don't even know what it is (edit: it is part of RemoveGrain - post link (http://forum.doom9.org/showthread.php?p=650951#post650951))
Do a search where in any of the involved scripts this SCSelect function is called, and figure why. If it's not needed, deactivate it.

Dark Alchemist
2nd January 2006, 20:10
I did Didee on the two scripts but maybe one of them is calling other scripts? I never got that until I tried the scripts for this. I did a search and no SCSelect in either so I wonder where that thing could be at? Hmmmmm.

edit: Really weird. I removed my entire plugins folder and restarted avsynth editor and still I get that error using this. You would think I would get an error about missing plugins instead.

edit #2: I just uninstalled and reinstalled 2.5.6 so now to see what is going on.


On a fresh install only adding the two packages that this requires I get "mvanalyze function can't be found". So, I added the mvtools package and it wants the removedirt package.

So, I added the removedirt.avsi and POW SCSelect.

function RemoveDirt(clip input, bool "_grey", int "repmode")
{
_grey=default(_grey, false)
repmode=default(repmode, 16)
clmode=17
clensed=Clense(input, grey=_grey, cache=4)
sbegin = ForwardClense(input, grey=_grey, cache=-1)
send = BackwardClense(input, grey=_grey, cache=-1)
alt=Repair(SCSelect(input, sbegin, send, clensed, debug=true), input, mode=repmode, modeU = _grey ? -1 : repmode )
restore=Repair(clensed, input, mode=repmode, modeU = _grey ? -1 : repmode)
corrected=RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, gmthreshold=70, dist=1, dmode=2, debug=false, noise=10, noisy=12, grey=_grey)
return RemoveGrain(corrected, mode=clmode, modeU = _grey ? -1 : clmode )
}

JoeBG
2nd January 2006, 20:32
@ Didée

As a member from german doom9 and as a member from movie2digital I opened a german discusiion about this topic http://technik.movie2digital.de/thread.php?postid=304020#post304020

Dark Alchemist
2nd January 2006, 21:38
Well, it is now safe to say that the new removedirt was the problem. When I went back to the old dll way (the author no longer does it the dll way) SeeSaw works.

Thanks again everyone.

Didée
2nd January 2006, 23:27
Yeee, now I see it, too. You used the (new) scripted version of RemoveDirt for usage within MCNR_simple, and that one obviously requires SCSelect(). Looking at the function's header of MCNR_simple, you see that it expects the (old) DLL version. (The new one might work just as well, but I never tested that.)
Sidenote: In MCNR_simple, "removdirt=true" is meant for sources with rather strong noise/grain/dirt. For the average DVD or DVB rip, "removdirt=false" should suffice.


@ JoeBG

It's really nice that you introduce my scripts to folks on other German forums, too, which is a big help for those who are not familiar with the English language. Thank you for that.


However I *did* see all that babbling and whining "Didée is an abnigator at explaining & even he himself admits that" Alas, I have to disappoint you - in single letters: b.u.l.l.s.h.i.t! Like it or not, but what I'm hearing rather frequently is, in contrary, "man, you should have become a teacher" ... but then, in every class there are some pupils where the teacher stands without a chance -- at least not without loosing sight of those pupils learning at normal speed. That's why things like private lessions have been invented.
So, please do not misinterpret my lack of time for private lessons as inability of explaining... In elementary school, a teacher has to assure all pupils can follow. At university, it's the teacher who is setting the pace, and it's up to the student to somehow follow him.

Mind you, I visited both institutions - so this was a description out of practice. Welcome to the real world.

Dark Alchemist
3rd January 2006, 00:15
Didee, yep. I could not find the dll version until today so it works but the original author says the new scripted version is better than the dll version so I wonder if all of this should be upgraded to work with the new way?

It is now considered deprecated and was already hard for me to find the old dll so maybe soon the dll will just go poof.

psme
3rd January 2006, 13:55
Thanks Didée again for the new toys! I just tried this:


a = last

b=a.SPresso()

SeeSaw(a,b, NRlimit=6, NRlimit2=7, Sstr=1.5, Slimit=5, Spower=5, SdampLo=6, Szp=16)



Setup:
WinXP Pro, P4 506, non-HT, 2.66G overclocked to 3.8G (190x20), 1G DDR380 ram, ATI Radeon 9500, ZoomPlayer 4.x, DScaler5 decoder, FFDShow, Avisynth 2.56.

For real-time DVD playback, I think I have around 80% framerate on good flag 24fps film source.

Consider with only decent to great DVD source, is there anyway to slightly speed up the process to get full real-time framerate?

Btw, the stuttering playback already looks great! :D

regards,

Li On

Pookie
4th January 2006, 00:17
RemoveGrain can be loaded with optimized Dlls depending on your Processor. Download CPU-Z from http://www.cpuid.com/cpuz.php On the first page it will tell you if you have SSE, SSE2, and/or SSE3 capabilities. If you do, then load

RemoveGrainSSE2 or RemoveGrainSSE3 instead of RemoveGrain in your script. Doing this should significantly increase performance. I suspect your system supports SSE2 or better.

Another option is just to use

b=a.RemoveGrain(mode=11) for a smooth looking image or (mode=25) for a sharp looking one. Also try DegrainMedian(mode=2) - very fast and it renders a really nice image in SeeSaw.

Dark Alchemist
4th January 2006, 01:37
I noticed on the SeeSaw-3d-CGX.avi clip that the colors are off and/or the saturation needs to be turned backed up a little as some of the chars started to turn white.

http://i3.photobucket.com/albums/y81/GhostOfACPast/compare.jpg

Pookie
4th January 2006, 03:59
Dark - Try it with a different denoiser and see if the colors change.

dbzgundam
4th January 2006, 15:36
Hmm, seems to work well for me! While I don't think the filter is great as a sharpener on its own, I certainly like to use it to preserve or restore sharpness in video that I lose in filtering.

The best results I could gather was that on live action it works best if sharpened first, and then filtered; on animation it seems better to filter first, and then restore that subliminal sharpness with SeeSaw (Anyone here who encodes anime will probably know that though it's not significant, there is a VERY small loss of sharpness after filtering and warpsharping isn't exactly the best way to get it back!). Thanks a lot, Didée!

Dark Alchemist
4th January 2006, 15:47
You bet. As a 'detail enhancer', the SeeSaw function seems well suited for clarifying already decent looking video. A friend who saw the examples likened it to "putting the fuzz back on the peach". So, a blocky source is going to look like a pronounced blocky target. Here are the settings I used on the above examples:

a = last

b=a.degrainmedian(mode=2).VagueDenoiser(threshold=0.8, method=1, nsteps=6, chromaT=0.8)

SeeSaw(a,b, NRlimit=6, NRlimit2=7, Sstr=1.5, Slimit=5, Spower=5, Sdamp=6, Szp=16)


Here's an example of a noisier source, using FFT3Dfilter in place of DegrainMedian and VagueDenoiser. This one has been pushed to demonstrate the effect. There's a huge amount of chroma cleaning/stripping applied (look at the eyes), but the target looks clean and sharp.

ftp://tempclips%40avisynth%2Eorg:QfJY(86m@avisynth.org/SeeSaw-3d-CGX.avi

This is the one I noticed the horrible color shifting/fading in and the one I posted the difference with.

So you say use something different than your example here? I like how sharp everything is but I wish I could figure out how to save the color/chroma values.

Didée
4th January 2006, 17:24
@ Dark Alchemist
You don't need to figure out anything. SeeSaw just takes the chroma from the "denoised" clip for the output. It doesn't do any own processing of chroma (except for limiting the difference [original-denoised] to not go beyond NRlimit).
So:
If the "denoised" clip has intact chroma, so will have the output.
If the "denoised" clip has overprocessed chroma, so will have the output.

Easy as that.


@ psme
Some minor speedups could be possible, but surely nothing that will lift you from 80% RT to 100% RT (perhaps 85%, estimated). Plus I don't worry too much about "realtime" processing generally. If user's CPU cuts it, fine. If not, user has to get a more beefy CPU ...
Also don't forget that sharpen(1) runs very fast :p

Dark Alchemist
4th January 2006, 19:03
Fair enough but why did that clip have the washed out and faded colors? I tried a simple saturation addition but that wasn't quite right.

XadoX
4th January 2006, 19:05
can SeeSaw also resize like LimitedSharpen?

Pookie
5th January 2006, 11:51
I think the color difference is due to my use of FFT3dFilter(plane=3), which cleans luma AND chroma.

http://img216.imageshack.us/img216/5205/ahfftp34bl.png (http://imageshack.us)

If you use a filter that cleans only luma, or back off on the chroma cleaning strength, I suspect you won't see the color change on the target. At least I'm guessing that's the case. Here's FFT3DFilter Using Plane=0 (clean luma only).

http://img216.imageshack.us/img216/9914/ahfftp00ff.png (http://imageshack.us)

DeepDVD
6th January 2006, 19:16
I played around with additional sharpening with LimitedSharpenFaster and got strange broken lines on picture parts with fast keychange:

http://img314.imageshack.us/img314/1215/1112221kt.jpg

My Script:

a=last
b=mcnr_simple2(frames=3,thY=24,thC=20,thY2=-1,thC2=-1,removdirt=true,LPrad=2.0,LPlosens=1,LPhisens=5).LimitedSharpenFaster(ss_x=2.5,ss_y=2.5,strength=100,smode=4)
SeeSaw(a,b,NRlimit=17,bias=18,Smode=11,Szp=18,SdampLo=20)

It doesn't matter if I put LSF before, in, or behind SeeSaw. The lines are always the same. The Source is DVD.

Pookie
6th January 2006, 21:45
What happens when you take MCNR out of the picture ? Dunno if that's the issue, but I don't seem to get the dotted lines, as noted below.

http://img230.imageshack.us/img230/1640/compare3mq.png (http://imageshack.us)

DeepDVD
7th January 2006, 10:35
It's strange. I tried every combination. LSF in the SeeSaw-function (any place there), extern (before and after the function). With or without MCNR, with FFT3 as an other denoiser. The only thing that change, is the color of the broken lines. Sometimes they are white (as in the sample on upper place), sometimes they are black. To get rid of 'em I have to disable LSF, no other way to solve for now. Maybe I got a wrong script? It's allways in scenes the whole picture moves.

Here's my whole one:

LoadPlugIn("F:\Functions\mt_masktools.dll")
LoadPlugIn("F:\fft3dfilter.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\aWarpsharp.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\asharp.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\SSETools.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\RemoveGrainS.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\RepairS.dll")
LoadPlugIn("F:\Functions\MVTools.dll")
LoadPlugIn("C:\Programme\GordianKnot\DGMPGDec\dgdecode.dll")
LoadPlugIn("F:\Functions\RemoveDirt\RemoveDirt.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugin\MaskTools155.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\undot.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\deen.dll")
LoadPlugIn("C:\Programme\AviSynth 2.5\plugins\unfilter.dll")
LoadPlugIn("C:\Programme\Avisynth 2.5\Plugin\warpsharp.dll")
LoadPlugIn("F:\Functions\LimitedSupport_03Dec05.dll")
Mpeg2Source("F:\VIDEO_TS\test.d2v")
crop(0,72,-0,-72)
Import("F:\Functions\LimitedSharpenFaster.avsi")
Import("F:\Functions\DeHalo_alpha.avs")
Import("F:\Functions\SeeSaw.avs")
Import("F:\Functions\MCNR_simple2.avs")
LimitedSharpenFaster(ss_x=2.5,ss_y=2.25,strength=30,smode=4)
a=last
#b=fft3dfilter(plane=0)
b=mcnr_simple2(frames=3,thY=24,thC=20,thY2=-1,thC2=-1,removdirt=true,LPrad=2.0,LPlosens=1,LPhisens=5).DeHalo_alpha()
SeeSaw(a,b,NRlimit=17,bias=18,Smode=11,Szp=18,SdampLo=20)
temporalsoften(2,2,3,23,2)
AddBorders(0,72,0,72)


Before i forget: DeHalo doesn't play any role. It's LSF only, the rest is OK.

bdogg
7th January 2006, 11:59
Originally posted by DeepDVD
I played around with additional sharpening with LimitedSharpenFaster and got strange broken lines on picture parts with fast keychange:


I would get the same effect if I used certain values of super sampling with LimitedSharpenFaster, ie. ss_x=1.2,ss_y=1.2. However, just changing to 1.3 or 1.1 would remove the lines.

Try setting ss_x=1.0,ss_y=1.0 and see if the lines go away.

DeepDVD
7th January 2006, 12:37
Wow... that seems to be the problem. How come the supersampling is to blame for it? I tried 1.1 for both dimensions and it was OK. So I cannot use specific supersampling-figures? Strangely a small change of +0.25 on both dimensions works without lines...

ObeewanVOB
22nd January 2006, 15:57
Really like what I see here, especially the results on Deep DVD's video above since I have a souce that looks just like the original one above I want to clean up. All this is extremely confusing to me though. I have only used regular scripts until now and have no idea how to implement a script funtion. Is there anywhere I can go to try to learn this? Just like to learn rather than just be given the answer. Tried google and it just returned everything imaginable except what I wanted.
Do the scripts have to load all the plugins like Deep listed above or is this just an option? Thanks

Boulder
22nd January 2006, 16:41
Just extract the SeeSaw.avs to your Avisynth plugins directory (by default C:\Program Files\Avisynth 2.5\plugins). Then rename the extension from .avs to .avsi. This way Avisynth will automatically load the function and you can call it in your script.

Another option is to copy-paste the contents of SeeSaw.avs at the end of your script but it's not very convenient. Doing the process above you'll always have the function available.

ObeewanVOB
22nd January 2006, 16:52
Just extract the SeeSaw.avs to your Avisynth plugins directory (by default C:\Program Files\Avisynth 2.5\plugins). Then rename the extension from .avs to .avsi. This way Avisynth will automatically load the function and you can call it in your script.


Always so simple:thanks: :rolleyes:

ObeewanVOB
23rd January 2006, 01:11
OK, this is getting interesting. First I made sure that my script loads up in VirtualDub or MediaPlayer to make sure there are no syntax errors there. Now I'm trying to load up MCNR_Simple2 and LimitedSharpen. With each one I get an error. With MCNR I keep getting mvanalyse does not have argument truemotion. If I take this out of the function it moved on to the next one, chroma. With LimitedSharpen it says there is no function mt_edge. I downloaded and installed the files at the beginning of the post but this has not helped. Any ideas?

foxyshadis
23rd January 2006, 02:27
Well, this thread isn't about MCNR so the requirements in the first post don't fit it. You need masktools 1.5+, mvtools 1.0+, ttempsmooth, removegrain, and removedirt.

And you don't have LimitedSharpen, you have LimitedSharpenFaster. :p http://www.avisynth.com/LimitedSharpen for the latest and its requirements (masktools 2.x).

Didée
23rd January 2006, 02:33
Yee, the usual plugin desease ;)

Regarding MVNR_simple: to use this one, you have to load Fizick's v1.0.3 version of MVTools.dll. Not sure if the packacke is currently on- or offline on Fizick's pages ... in case of doubt, have a look here (http://home.arcor.de/dhanselmann/_stuff/).
Also required is this version (http://home.arcor.de/kassandro/RemoveGrain/RemoveGrain.rar) of RemoveGrain.

Regarding LimitedSharpen: The error message you're getting means that you are using one of the modified scripts (more speedy), not the original one.
Get the new MaskTools v2.0a21 (http://manao4.free.fr/masktools-v2.0a21.zip) package froma Manao. It contains the plugin mt_masktools.dll, which must be loaded, and the latest script modification LimitedSharpenFaster.avsi. Attention: Avisynth v2.56 is needed, it will not run correctly if you're using Avisynth v2.55, or even older.

mg262
23rd January 2006, 12:07
Didée,

PS -- why true motion for denoising? :scared:

Didée
23rd January 2006, 12:37
why true motion for denoising? :scared:
Why not? Is truemotion/warping really *that* bad that a [scared] smiley is indicated ? Makes me wonder, because IIRC there is another motion compensation tool that uses warping, too ... :p

Seriously: Because it seems to fit. The average overall denoising efficiency might be a tad lower with truemotion compared to blockbased, yes. But at least the user will never get the usual MC-denoiser artefacts: there are no "blocking" artefacts with truemotion. In those spots where blockbased compensation would give blocking, the truemotion approach at worst will give some "smearing" - and the included "LPprotect" option will compensate for exactly this.

Now how do we get this on-topic ... ah yes, it already is. MCNR_simple is a valid denoiser for SeeSaw. :)