Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 20th July 2005, 03:20   #161  |  Link
TheKolkster
Registered User
 
Join Date: Apr 2005
Location: Sumner, WA
Posts: 7
lol, sorry, I didnt know what that was. When I was directed to this thread, I was looking for a download link. I didnt realize it was the function. (Even though I read over it a couple of times) Now it makes sense, thanks
TheKolkster is offline   Reply With Quote
Old 20th July 2005, 06:19   #162  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
Quote:
Originally Posted by unskinnyboy
...(it is avsi btw)...import and invoke that.
If he uses it as an avsi he doesn't have to import it. And it can be an avs for manual loading.


/obnioxious nitpicking mode off
Chainmax is offline   Reply With Quote
Old 12th August 2005, 12:07   #163  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Limitedsharpen() Rocks!!

Many old 8mm filmscenes where taken out of focus.
And even good focused 8mm filmframes are not that sharp.
For several reasons a projected film looks a lot sharper.

So for my captured 8mm film files I need a very good and strong sharpener.
It took a while before I realised how good limitedsharpen() realy is!
For my purpose I need smode=1 , and strenght above 500!


Here is a result:
(I also use overlay() with a BW/reversal mask to bright up the dark parts)
Not bad for 8mm film, hug?




Now this looks wonderful both on computer and on TV.
But if I enlarge the picture and if I modify brightness I see these artifacts:




The question is: what are these artifacts and how to prevent/remove them?
The artifacts are not caused by the overlay, I see them on the (sharpened)original, too.
Maybe limitedsharpen() amplifies something that is already in the original?

Thanks!
Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest

Last edited by videoFred; 12th August 2005 at 12:54.
videoFred is offline   Reply With Quote
Old 12th August 2005, 14:04   #164  |  Link
Mug Funky
interlace this!
 
Mug Funky's Avatar
 
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
looks like you're sharpening so much that it's running into quantization noise.

looks to me like you need more than 8 bits to sharpen that hard. there may be an elegant way to prevent sharpening of edges that are 1/255 apart. not sure how much it would complicate and slow down the script though (Didee?).

[edit]

btw, that looks really good. film might need a bit of colour adjustment though - grass looks a bit aqua
__________________
sucking the life out of your videos since 2004
Mug Funky is offline   Reply With Quote
Old 12th August 2005, 14:36   #165  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Mug Funky
looks like you're sharpening so much that it's running into quantization noise.
Thank you for the fast answer!
What is quantization noise, and is there a way to remove it from the original to begin with?

Here's another example of the power of limitedsharpen(),
it also proves of the quality of real film.
The dog Bessy way back in.... 1968!!
Wait a moment... do I hear music?




Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest

Last edited by videoFred; 12th August 2005 at 14:48.
videoFred is offline   Reply With Quote
Old 12th August 2005, 15:27   #166  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
Quote:
not sure how much it would complicate and slow down the script though
For Smode=1, it would require quite some operations .. at least

- one inpand
- one expand
- four yv12lutxy's:
* 1x getting local detail strength (A)
* 1x producing difference(orig, sharpened) (B)
* 1x modifying (A) with (B) --> (C)
* 1x applying (C) to input

Would be rather slow when done on the supersampled source, and not very fast when done at the original resolution ...

The better news is that Smode=3 can be modified to do almost the same, with >zero< speed penalty.
(That "sharpen2"-function surely is floating somewhere on my HD's ... perhaps I'll manage to retrieve it )


@ videoFred:

Did you also try Smode=3? Is it suitable in your case, generally?

And: what's the exact script you used for the B/W reversal? For this operation it is *very* important to blur the mask. This will suppress lots of small fluctuations, which else may lead to artificial amplifications. (Check >>histogram(mode="levels")<< before and after the operation!)
I'd suggest to use at least blur(1.58) (better RemoveGrain(11) or (19) ), or even a small gaussian blur on the B/W mask.

***

There are also some small-but-efficient tricks that can be done by limiting, which turn simple blurring operations into something like "noise downshifters" - especially when linked into the middle of the sharpening chain. But that's rather specific, one has to try a few possibilities to find the one that really bites.
Example: A basic one I use rather frequently (as a preparation for moderately noisy DVB captures, prior to sharpening) is this:
Code:
SmoothLimit   = 3    #    1 to ???  (5? 9? 11?)  #  (Change no pixel by more than +/- this value)

#---------------
o   = last
SL1 = string(SmoothLimit)
SL2 = string(SmoothLimit*1.67)
yv12lutxy(o, o.removegrain(4),
 \        "x "+SL2+" + y < x "+SL1+" + x "+SL2+" - y > x "+SL1+" - x 49 * y 51 * + 100 / ? ?",U=2,V=2)
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 12th August 2005, 15:51   #167  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Didée
Did you also try Smode=3? Is it suitable in your case, generally?

And: what's the exact script you used for the B/W reversal? For this operation it is *very* important to blur the mask.
Hello Didée,
Thank you for supporting this exellent function.

Yes, I tried it.. Smode=3 works also, but Smode=1 is better.

Here is the mask script:
mask2=Greyscale(invert(clipD2)).tweak(bright=-80,cont=1.5)

Thank you also for the hint to blur the mask! I try it.

I should have mentioned I also use degrainmedian() and fft3dfilter() before limitedsharpen(). I use these because otherwise limitedsharpen() amplifies filmgrain too much. I tried several denoisers in the past and these two are the best for my purpose. But I used the others without limitedsharpen(). Maybe I should try them again. MVdenoice() was very good, I remember.

I'm very shure by now the artifacts are not caused by limitedsharpen().

I'm afraid I must do more tests again!! At my age!

Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest

Last edited by videoFred; 12th August 2005 at 16:04.
videoFred is offline   Reply With Quote
Old 12th August 2005, 16:21   #168  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
Another thing you can try is the following tweak inside of LS:

Code:
...
Str=string(float(strength)/100.0)
normsharp = Smode==1 ? unsharpmask(strength,radius,0) 
 \        : Smode==2 ? sharpen(float(strength)/100.0) 
...
Instead of the "0" (zero), try "1" or even "2". This will cause UnsharpMask to not sharpen pixels with differences equal to or below that threshold.
Downside is, that with strong sharpening values a "cutoff" effect may become visible. That's why for LS-EX (which I fear will never get finished...) there's also a custom unsharp mask function implemented, providing a soft threshold of similar kind, almost completely avoiding the ugly cutoff effect.

I'll try to prepare some of the small tweaks & tricks you could try additionally, this WE.
(Cry "no" if I should not )
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 12th August 2005, 17:59   #169  |  Link
Chainmax
Huh?
 
Chainmax's Avatar
 
Join Date: Sep 2003
Location: Uruguay
Posts: 3,103
videoFred, you should probably reduce your strength settings. In the locomotive pictures, I can clearly see aliasing in the red strips or the iron beams that join the wheels. Also, will you be watching your captures enlarged and with modified brightness? Probably not, therefore you shouldn't worry too much about removing those artifacts, whatever they are.

BTW, I concur with Mug Funky. Your results blow the originals out of the water, except for the colors, which look less vibrant.
Chainmax is offline   Reply With Quote
Old 16th August 2005, 08:09   #170  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Didée
I'll try to prepare some of the small tweaks & tricks you could try additionally, this WE.
(Cry "no" if I should not )
YES! Please do so!
And thank you for thinking with me.

It was a long weekend, here in Belgium.
So I had time to do lots of tests.

Remember the artifacts I mentioned above?
It looks like limitedsharpen() not only is the best sharpener I know of, but it is also a very good tester for denoisers, because with (abnormal) high settings, it makes the artifacts of the denoisers visible.

The artifacts mentioned above where caused by fft3dfilter(), but at the same time fft3dfilter() still is the best denoiser for my purpose.
With other denoisers I get strange moving objects, I do not have this effect with fft3dfilter(). Sometimes I even use degrainmedian() before fft3dfilter(), to have even stronger denoising, without too much blurring or artifacts.


Some first results: Fuji Single-8 film, 1972.
Please keep in mind a 8mm filmframe is only 6x4mm,
and film has a different -awesome!- look than digital.
I want to preserve this special film look,
so sharpening must be not too heavy.
And these are very compressed jpeg files also.







a happy Fred
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest

Last edited by videoFred; 16th August 2005 at 10:45.
videoFred is offline   Reply With Quote
Old 16th August 2005, 08:33   #171  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Chainmax
videoFred, you should probably reduce your strength settings. In the locomotive pictures, I can clearly see aliasing in the red strips or the iron beams that join the wheels. Also, will you be watching your captures enlarged and with modified brightness? Probably not, therefore you shouldn't worry too much about removing those artifacts, whatever they are.

BTW, I concur with Mug Funky. Your results blow the originals out of the water, except for the colors, which look less vibrant.
I'm happy you like my results!
Maybe a short explenation of my system for those who are interested in real film. Here we go:

I use a 1024x768 fire wire machine vision camera and a 35mm lens with extention tubes. The camera is looking straight at the 6x4mm filmframe. I capture frame-by-frame: on my projector is a swith connected to an old computer mouse. With special software I create a growing AVI-file, each time the mouse gets a trigger one more frame is added to the file. It runs at 4fps, but the frame rate of the AVI file is taken over by the frame rate of the machine cam: 15fps.


Here is my system:



As you see, there are no settings on the camera, it's just a square box. All settings must be done with software. Normal camcorders have all kinds of things already build-in: DV codec, sharpening etc...

With a machine camera it is possible to change these settings independent from each other and manual : white balance, hue, saturation, contrast, sharpness etc etc... Even the iris of the lens is set manual. So the end result depends strongly on these settings.

But to give you a better idea, here you can download the original bitmap of the lokomotive picture. I agree the artifacts are almost not visible on TV.

http://users.telenet.be/ho-slotcars/testmap/erik3.bmp

As you see, the original was taken very out of focus, limitedsharpen() realy did a miracle, in this case! . Colors are less vibrant because I use a brighter overlay to get back all the info hidden in the darker parts of the picture. I must do this, because there is more contrast in film. A digital camera can not capture this contrast. So maybe I tweaked gamma and offset of this overlay a little too much.

Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest

Last edited by videoFred; 16th August 2005 at 14:26.
videoFred is offline   Reply With Quote
Old 17th August 2005, 11:20   #172  |  Link
JoergS
Registered User
 
Join Date: Aug 2005
Location: Germany, Munich
Posts: 3
Hello, I'm trying to use your LimitedSharpen Filter and downloaded warpsharp_2003_1103.cab as a required component. But they say in http://forum.doom9.org/showthread.ph...451#post188451 that it's only for YUY2 colorspace, and LimitedSharpen uses YV12 only. Can I use warpsharp anyway or should I use a different warpsharp file?

br Joerg
JoergS is offline   Reply With Quote
Old 17th August 2005, 12:42   #173  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
Just use it, it's fine. That post of Sh0dan is from 2002 ...

But be sure to have those msvcr70/msvcr71/msvcp70/msvcp71 DLLs in your system root. (Actually only one DLL pair is needed, but I can never remember which is needed for which version of WarpSharp ... having them all is the paranoid's safety strategy )
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Old 17th August 2005, 14:39   #174  |  Link
JoergS
Registered User
 
Join Date: Aug 2005
Location: Germany, Munich
Posts: 3
Dear Didee, thank you for your answer. So I will go ahead!
JoergS is offline   Reply With Quote
Old 18th August 2005, 12:00   #175  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Didée
Another thing you can try is the following tweak inside of LS:

Code:
...
Str=string(float(strength)/100.0)
normsharp = Smode==1 ? unsharpmask(strength,radius,0) 
 \        : Smode==2 ? sharpen(float(strength)/100.0) 
...
Yes, this works fine.. The artifacts are gone already with a setting of "1".
But then sharpness is not so "crisp" anymore, and this "crispness" is what makes limitedsharpen() so nice...

However, I posted the artifacts in the FFT thread also, maybe someone knows how to tweak FFT3Dfilter().

Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest
videoFred is offline   Reply With Quote
Old 6th September 2005, 14:50   #176  |  Link
communist
Registered User
 
Join Date: Jul 2003
Posts: 1,152
Big thanks from one more happy LS-User
communist is offline   Reply With Quote
Old 6th September 2005, 15:33   #177  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
Always a pleasure

You might try to postprocess LimitedSharpen with Soothe() - should give a more calm and bitrate saving result. Perhaps I'll implant it directly into LimitedSharpen, let's see if there is positive feedback.


@ videoFred: If there are temporal fluctuations in the artefacts you're getting, Soothe() could be helpful, too.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 6th September 2005 at 15:38.
Didée is offline   Reply With Quote
Old 6th September 2005, 15:43   #178  |  Link
buzzqw
HDConvertToX author
 
Join Date: Nov 2003
Location: Cesena,Italy
Posts: 6,552
Hi All !

i have i umble request is possible to post a link (or attachment) to a full working LimitedSharpen (and IIP btw...) package ? Just all dll/script and a mini how to..

a big thanks !

BHH
buzzqw is offline   Reply With Quote
Old 6th September 2005, 16:27   #179  |  Link
videoFred
Registered User
 
videoFred's Avatar
 
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
Quote:
Originally Posted by Didée


@ videoFred: If there are temporal fluctuations in the artefacts you're getting, Soothe() could be helpful, too.
Thank you for the suggestion.. I try it.

In the meantime: here are some first results.
OK, maybe I oversharpened it a bit
And I must learn to configure the WMV files, too.

http://users.telenet.be/ho-slotcars/s8_video3.htm

Fred.
__________________
About 8mm film:
http://www.super-8.be
Film Transfer Tutorial and example clips:
https://www.youtube.com/watch?v=W4QBsWXKuV8
More Example clips:
http://www.vimeo.com/user678523/videos/sort:newest
videoFred is offline   Reply With Quote
Old 6th September 2005, 16:31   #180  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
@ buzzqw

I pretty much dislike the habit to make "packages" or "bundles" for each and every thing. The same plugins are downloaded hundreds & thousands of times, where one download per user is fully sufficient. Moreover, bundling "naked" DLLs in many cases is a violation of licenses - for the case of "script packages" usually this is tolerated, but a violation is a violation nonetheless. And distributing the "full" original DLL archives is even more overhead.

For LimitedSharpen, you need the MaskTools (currently v1.5.8, and the big WarpSharp package.

A basic script could look like this:
Code:
LoadPlugin("path\to\dgdecode.dll")
LoadPlugin("path\to\MaskTools.dll")
LoadPlugin("path\to\warpsharp.dll")

mpeg2source("path\to\yoursource.d2v")

crop( whatever )
orig  = last
sharp = orig.LimitedSharpen()
sharp

# stacked comparison:
# stackvertical( orig.subtitle("orig"), sharp.subtitle("LimitedSharpen") )

# interleaved comparison:
# interleave( orig.subtitle("orig"),sharp.subtitle("LimitedSharpen") )
The how-to's are to find on page 1 of this thread, as is the script itself.

Basic knowledge about AviSynth is simply presumed.
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)
Didée is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 21:14.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.