PDA

View Full Version : Can somebody please compare my script using Subtract()


Jeremy Duncan
11th September 2007, 08:01
D2V (http://www.megaupload.com/?d=GT6H5IJ4)

Here's the first script: Seesaw 2
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)

Here's the second script: Seesaw 2.5
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
WarpSharp(depth=20, threshold=20)

I would do it myself, but I've never used to Subtract filter before.
A example would be nice, as well as a picture showing the difference between the two scripts I posted.
The warpsharp is Sh0dan's YV12 version.


MT (http://www.avisynth.org/tsp/MT_07.zip)
Removegrain 0.9 (http://home.pages.at/kassandro/RemoveGrain/RemoveGrain.zip)
Removegrain 1.0 (http://home.arcor.de/kassandro/RemoveGrain/RemoveGrain.rar)
MT_Masktools (http://manao4.free.fr/masktools-v2.0a30.zip)
Masktools (http://manao4.free.fr/MaskTools-v1.5.8.zip)
Colormatrix (http://bengal.missouri.edu/~kes25c/ColorMatrixv22.zip)
Fluxsmooth (http://avisynth.org/warpenterprises/files/fluxsmooth_25_dll_20040729.zip)
TIVTC (http://avisynth.org/warpenterprises/files/tivtc_25_dll_20060508.zip)
Warpsharp (http://avisynth.org/warpenterprises/files/warpsharp_25_dll_20030103.zip)

- List of the Avisynth plugins
SeeSaw.avsi (rename the seesaw extension to .avsi)
MT.dll
MaskTools.dll
mt_masktools.dll
RepairSSE3
RemoveGrainSSE3.dll
ColorMatrix.dll
Fluxsmooth.dll
TIVTC.dll
WarpSharp.dll

# SeeSaw v0.3e (02 Jan 2006)
#
# (Full Name: "Denoiser-and-Sharpener-are-riding-the-SeeSaw" )
#
# 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.
#
# This version is considered alpha.
#
# Usage:
#
# a = TheNoisySource
# b = a.YourPreferredDenoising()
# SeeSaw( a, b, [parameters] )
#
# 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.
#
#
# Fiddled together by Didée, for your pleasure.
#


# ======= Main function =======

function 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")
{
ssx = default( ssx, 1.0 ) # supersampling factor x / SeeSaw doesn't require supersampling urgently.
ssy = default( ssy, ssx ) # supersampling factor y / if at all, small values ~1.25 seem to be enough.
NRlimit = default( NRlimit, 2 ) # absolute limit for pixel change by denoising
NRlimit2 = default( NRlimit2, NRlimit+1) # limit for intermediate denoising
Sstr = default( Sstr, 1.5 ) # Sharpening strength (don't touch this too much)
Slimit = default( 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))
Spower = default( Spower, 4 ) # exponent for modified sharpener
Szp = default( Szp, 16+2 ) # zero point - below: overdrive sharpening - above: reduced sharpening
SdampLo = default( SdampLo, Spower+1 ) # reduces overdrive sharpening for very small changes
SdampHi = default( SdampHi, 24 ) # further reduces sharpening for big sharpening changes. Try 15~30. "0" disables.
bias = default( bias, 49 ) # bias towards detail ( >= 50 ) , or towards calm result ( < 50 )
Smode = default( Smode, ssx<1.35 ? 11 : ssx<1.51 ? 20 : 19 )
sootheT = default( sootheT, 49 ) # 0=minimum, 100=maximum soothing of sharpener's temporal instableness.
# (-100 .. -1 : will chain 2 instances of temporal soothing.)
sootheS = default( sootheS, 0 ) # 0=minimum, 100=maximum smoothing of sharpener's spatial effect.

Szp = Szp / pow(Sstr, 1.0/4.0) / pow( (ssx+ssy)/2.0, 1.0/2.0 )
SdampLo = SdampLo / pow(Sstr, 1.0/4.0) / pow( (ssx+ssy)/2.0, 1.0/2.0 )

ox=clp.width
oy=clp.height
xss = m4(ox*ssx)
yss = m4(oy*ssy)
NRL = string( NRlimit )
NRL2 = string( NRlimit2 )
NRLL = string( int(round( NRlimit2 * 100.0/bias - 1.0 )) )
SLIM = string( abs(Slimit) )
BIAS1 = string( bias )
BIAS2 = string( 100-bias )
#ZRP = string( abs(Szp) )
#PWR = string( abs(Spower) )
#DMP = string( SdampLo )

denoised = defined(denoised) ? denoised : mt_lutxy(clp,clp.removegrain(4,-1),"x "+NRL+" + y < x "+NRL+" + x "+NRL+" - y > x "+NRL+" - y ? ?",chroma="copy first")

NRdiff = mt_makediff(clp,denoised,chroma="process")
tame = mt_lutxy(clp,denoised,"x "+NRLL+" + y < x "+NRL2+" + x "+NRLL+" - y > x "+NRL2+" - x "+BIAS1+" * y "+BIAS2+" * + 100 / ? ?")
head = tame.sharpen2(Sstr,Spower,Szp,SdampLo,SdampHi,4)
# head = head.mt_merge(tame,tame.prewitt(multiplier=1.0).mt_expand().removegrain(20))

(ssx==1.0 && ssy==1.0) ? repair(tame.sharpen2(Sstr,Spower,Szp,SdampLo,SdampHi,Smode),head,1,-1,-1)
\ : repair(tame.lanczosresize(xss,yss).sharpen2(Sstr,Spower,Szp,SdampLo,SdampHi,Smode),head.bicubicresize(xss,yss,-.2,.6),1,-1,-1).lanczosresize(ox,oy)

SootheSS(last,tame,sootheT,sootheS)
sharpdiff= mt_makediff(tame,last)

(NRlimit==0) ? clp : \
mt_lutxy(clp,NRdiff, "y 128 "+NRL+" + > x "+NRL+" - y 128 "+NRL+" - < x "+NRL+" + x y 128 - - ? ?",chroma="process")

Slimit>=0 ? mt_lutxy(last,sharpdiff,"y 128 "+SLIM+" + > x "+SLIM+" - y 128 "+SLIM+" - < x "+SLIM+" + x y 128 - - ? ?",chroma="copy first")
\ : mt_lutxy(last,sharpdiff,"y 128 == x x y 128 - abs 1 "+SlIM+" / ^ y 128 - y 128 - abs / * - ?",chroma="copy first")

return( last )
}


# ======= Modified sharpening function =======

function sharpen2(clip clp, float strength, int power, float zp, float lodmp, float hidmp, int rgmode)
{
STR = string( strength )
PWR = string( 1.0/float(power) )
ZRP = string( ZP )
DMP = string( lodmp )
HDMP = (hidmp==0) ? "1" : "1 x y - abs "+string(hidmp)+" / 4 ^ +"

mt_lutxy( clp, clp.RemoveGrain(rgmode,-1,-1), \
"x y == x x x y - abs "+ZRP+" / "+PWR+" ^ "+ZRP+" * "+STR+" * x y - 2 ^ x y - 2 ^ "+DMP+" + / * x y - x y - abs / * "+HDMP+" / + ?",chroma="copy first")
return( last )
}


# ======= Soothe() function to stabilze sharpening =======

function SootheSS(clip sharp, clip orig, int "sootheT", int "sootheS")
{
sootheT = default(sootheT, 25 )
sootheS = default(sootheS, 0 )
sootheT = (sootheT > 100) ? 100 : (sootheT < -100) ? -100 : sootheT
sootheS = (sootheS > 100) ? 100 : (sootheS < 0) ? 0 : sootheS
ST = string( 100 - abs(sootheT))
SSPT = string( 100 - abs(sootheS))

mt_makediff(orig,sharp)

(sootheS==0) ? last
\ : mt_lutxy( last, last.removegrain(20,-1,-1),
\ "x 128 - y 128 - * 0 < x 128 - 100 / "+SSPT+" * 128 + x 128 - abs y 128 - abs > x "+SSPT+" * y 100 "+SSPT+" - * + 100 / x ? ?", chroma="ignore")

(sootheT==0) ? last
\ : mt_lutxy( last, last.temporalsoften(1,255,0,32,2),
\ "x 128 - y 128 - * 0 < x 128 - 100 / "+ST+" * 128 + x 128 - abs y 128 - abs > x "+ST+" * y 100 "+ST+" - * + 100 / x ? ?", chroma="ignore")

(sootheT > -1) ? last
\ : mt_lutxy( last, last.temporalsoften(1,255,0,32,2),
\ "x 128 - y 128 - * 0 < x 128 - 100 / "+ST+" * 128 + x 128 - abs y 128 - abs > x "+ST+" * y 100 "+ST+" - * + 100 / x ? ?",chroma="ignore")

mt_makediff(orig,last)
# mergechroma(sharp) # not needed in SeeSaw
return( last )
}


# ======= MOD4-and-atleast-16 helper function =======

function m4(float x) {x<16?16:int(round(x/4.0)*4)}

Boulder
11th September 2007, 09:52
As the only difference between the two scripts is the WarpSharp line, you could use
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
ws=WarpSharp(depth=20, threshold=20)
Subtract(last,ws)It will show you the difference between the warpsharpened and non-warpsharpened video.

Jeremy Duncan
11th September 2007, 10:22
Link to Picture showing Subtract (http://fileserver1.jpghosting.com/images/Subtract_c25470e86ac255df4f4c7ce247d7ca30.PNG)

This was the code I used.
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")

clip1=MPEG2Source("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Kill Bill.d2v")
clip2=AVISource("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Seesaw two.avi").Subtitle("No luma mask")
clip3=AVISource("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Seesaw two point five.avi").Subtitle("Luma mask")
clip4=Blankclip(clip1)
# --- special purpose clips below, for comparison ---
clip5 = SUBTRACT(clip1, clip2).LEVELS(107,1,149,0,255)
clip6 = SUBTRACT(clip1, clip3).LEVELS(107,1,149,0,255)
clip7 = SUBTRACT(clip1, clip4).LEVELS(107,1,149,0,255)

desc_clip1 = "Source"
desc_clip2 = "Seesaw two"
desc_clip3 = "Seesaw two point five"
desc_clip4 = "Blankclip"
desc_clip5 = "Difference Source - Seesaw two"
desc_clip6 = "Difference Source - Seesaw two point five"
desc_clip7 = "Difference Source - Blankclip"

# The two lines below will usually call clips 1-2-3-4, but 1-5-6-7 may be inserted
# to see [amplified] mathematical difference between clips
# To put it another way, these are the four clips we want to display
vertclip1 = STACKVERTICAL(clip1.SUBTITLE(desc_clip1), clip5.SUBTITLE(desc_clip5))
vertclip2 = STACKVERTICAL(clip6.SUBTITLE(desc_clip6), clip7.SUBTITLE(desc_clip7))

STACKHORIZONTAL(vertclip1,vertclip2)

I made one Avi using Seesaw 2.5, which uses Warpsharp.
And and another, Seesaw 2 which doesn't use warpsharp.

I then used the script above and opened Virtual dub and made a avi.
I then played the avi using MPC, and took this screen shot.

I don't know why the Seesaw 2.5 picture is different from the Seesaw 2 picture.
The Seesaw 2.5 picture is more detailed.
Is this good or bad ?

Jeremy Duncan
11th September 2007, 10:26
As the only difference between the two scripts is the WarpSharp line, you could use
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
ws=WarpSharp(depth=20, threshold=20)
Subtract(last,ws)It will show you the difference between the warpsharpened and non-warpsharpened video.
Didn't work. But I got it figured out. No worries.
What do you think of the picture I linked too ?

Boulder
11th September 2007, 10:45
I don't know if you can say that the other sharpened image is more detailed, actually it looks like oversharpened to me. I usually use Subtract when dealing with denoisers and use a normal script with Interleave to see the effects of sharpening.

What was the problem with my script?

Jeremy Duncan
11th September 2007, 10:49
Your script showed only one frame, there was nothing to compare.
I tried it in virtual dub and FFDshow.

This is what I tried. I made the script below a avs and opened it with virtualdub.

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")

MPEG2Source("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Kill Bill.d2v")
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
ws=WarpSharp(depth=20, threshold=20)
Subtract(last,ws)

Jeremy Duncan
11th September 2007, 10:51
I don't know if you can say that the other sharpened image is more detailed, actually it looks like oversharpened to me. I usually use Subtract when dealing with denoisers and use a normal script with Interleave to see the effects of sharpening.

What was the problem with my script?

Which one looked over sharpened, Seesaw 2 point 5 ?

Didée
11th September 2007, 11:14
That difference picture of WarpSharp is misleading. This particular Warpsharp version does something very strange: it shifts the whole frame to the upper-left. Check "interleave(clip,clip.WarpSharp())" to confirm. Therefore, those "big differences" you see are not caused by more sharpening; they are caused by the spatial shifting of WarpSharp.

Jeremy Duncan
11th September 2007, 11:48
Ok, So following Didée's advice. I redid the Seesaw 2.5 avi using this script.

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MT.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RepairSSE3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RemoveGrainSSE3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\ColorMatrix.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Fluxsmooth.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\WarpSharp.dll")

MPEG2Source("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Kill Bill.d2v")

SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
interleave(WarpSharp(depth=20, threshold=20))

right now I'm making another comparison using this script, with the New Seesaw 2.5 i just made.

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")

clip1=MPEG2Source("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Kill Bill.d2v")
clip2=AVISource("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Seesaw two.avi").Subtitle("No luma mask")
clip3=AVISource("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Seesaw two point five.avi").Subtitle("Luma mask")
clip4=Blankclip(clip1)
# --- special purpose clips below, for comparison ---
clip5 = SUBTRACT(clip1, clip2).LEVELS(107,1,149,0,255)
clip6 = SUBTRACT(clip1, clip3).LEVELS(107,1,149,0,255)
clip7 = SUBTRACT(clip1, clip4).LEVELS(107,1,149,0,255)

desc_clip1 = "Source"
desc_clip2 = "Seesaw two"
desc_clip3 = "Seesaw two point five"
desc_clip4 = "Blankclip"
desc_clip5 = "Difference Source - Seesaw two"
desc_clip6 = "Difference Source - Seesaw two point five"
desc_clip7 = "Difference Source - Blankclip"

# The two lines below will usually call clips 1-2-3-4, but 1-5-6-7 may be inserted
# to see [amplified] mathematical difference between clips
# To put it another way, these are the four clips we want to display
vertclip1 = STACKVERTICAL(clip1.SUBTITLE(desc_clip1), clip5.SUBTITLE(desc_clip5))
vertclip2 = STACKVERTICAL(clip6.SUBTITLE(desc_clip6), clip7.SUBTITLE(desc_clip7))

STACKHORIZONTAL(vertclip1,vertclip2)

I'll now post a picture that is the same frame as before, and see if you can see a difference.

Jeremy Duncan
11th September 2007, 11:59
Picture 1 (http://fileserver1.jpghosting.com/images/Subtract_c25470e86ac255df4f4c7ce247d7ca30.PNG)

The above picture uses these settings:

SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
WarpSharp(depth=20, threshold=20)

The picture below uses these settings:

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MT.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RepairSSE3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RemoveGrainSSE3.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\ColorMatrix.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\Fluxsmooth.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\WarpSharp.dll")

MPEG2Source("C:\Documents and Settings\Dell\My Documents\My Pictures\Blade d2v\MainMovie\KILL_BILL_VOL1\VIDEO_TS\Kill Bill.d2v")

SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
interleave(WarpSharp(depth=20, threshold=20))

Picture 2 (http://fileserver1.jpghosting.com/images/Didestweak_77537dbb7a8145895ce45649fc2469fb.PNG)

Jeremy Duncan
11th September 2007, 12:05
In MPC when I use Warpsharp, the picture does shift.
But I think that I didn't set interleave up properly.
If I did it wrong, please be specific when I should add the interleve code you posted.

Didée
11th September 2007, 12:11
>> I'll now post a picture that is the same frame as before

What should that be good for? Nothing has changed. The interleave(..) thingy was only to actually show you the problem. In now way it does correct the problem ... it's just a bug of that version of WarpSharp, period.

See:

http://img525.imageshack.us/img525/5876/warpsharpbuget3.th.png (http://img525.imageshack.us/my.php?image=warpsharpbuget3.png)

Considering that WarpSharp(depth=1,threshold=1) does virtually nothing, that's a huge difference between input and output, isn't it.

Didée
11th September 2007, 12:17
Ah ... Jeremy, you hardcore realtimer! ;)

Search your HDD, I'm sure you will find VirtualDub somewhere on it.

Make a mini-script like:

LoadPlugin(...dgdecode.dll)
LoadPlugin(...warpsharp.dll)

Mpeg2source(...your source...)

interleave( last, last.WarpSharp(depth=20,threshold=40) )

Load that into VirtualDub. Step through, frame-by-frame, back-n-forth, if you like. The problem should become very obvious, then.

DarkT
11th September 2007, 12:17
I know this is unrelated to the request, but - whenever I wanna see a difference between two scripts which are very similiar, I make a .png out of the 2 scripts, put them into the same directory, open them in the default windows pic-viewer, and click forward really really fast - and it loops since those are the only 2 pics - and then I can notice the small changes.

Jeremy Duncan
11th September 2007, 12:25
Ah ... Jeremy, you hardcore realtimer! ;)

Search your HDD, I'm sure you will find VirtualDub somewhere on it.

Make a mini-script like:

LoadPlugin(...dgdecode.dll)
LoadPlugin(...warpsharp.dll)

Mpeg2source(...your source...)

interleave( last, last.WarpSharp(depth=20,threshold=40) )

Load that into VirtualDub. Step through, frame-by-frame, back-n-forth, if you like. The problem should become very obvious, then.

That's how I made those pictures I linked to.

And I do compare png's, but I wanted to see it this way too.

Boulder
11th September 2007, 13:12
I know this is unrelated to the request, but - whenever I wanna see a difference between two scripts which are very similiar, I make a .png out of the 2 scripts, put them into the same directory, open them in the default windows pic-viewer, and click forward really really fast - and it loops since those are the only 2 pics - and then I can notice the small changes.That's what Avisynth's Interleave is good for...see Didée's last post;)

midelic
11th September 2007, 15:55
@Jeremy
Try "awarsharp".... and you'll see the diference.The warsharp you use is not suitable for what you intend to obtain.

DarkT
11th September 2007, 16:49
That's what Avisynth's Interleave is good for...see Didée's last post;)


Yes yes - ofcourse, but - you don't actually see the changes... You see a mask of places where something is changed, which is cool - but, knowing something changed, where or even how much isn't usually enought - since changes can be good or bad - you need to see the change itself in comparison to the previous pic, ya know?

Anyway - let's not get offtopic :) - but yeah, the interleave thingy or what's it called is pretty cool :).

Boulder
11th September 2007, 18:07
Yes yes - ofcourse, but - you don't actually see the changes... You see a mask of places where something is changed, which is cool - but, knowing something changed, where or even how much isn't usually enought - since changes can be good or bad - you need to see the change itself in comparison to the previous pic, ya know?No, using Interleave does exactly the same thing you described. You just get to choose any frame of the video. Try it and see for yourself.

Jeremy Duncan
11th September 2007, 23:21
In case anybodies interested in my test results I'm posting them here.

I switched to awarpsharp.

Saide A (http://fileserver1.jpghosting.com/images/CM1_dec30b901910818cea97853abff65444.PNG)
Side B (http://fileserver1.jpghosting.com/images/CM1DiffOrder_144f15913e474218e64cffce9315cbcb.PNG)


Seesaw 2
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)

Seesaw 2.5
SetMemoryMax(1024)
tfm(order=1,chroma=false)
tdecimate(chroma=false)
FluxSmoothT(3)
ColorMatrix(Mode="Rec.601->Rec.709",clamp=false,threads=2)
MT("SeeSaw(NRlimit=0, NRlimit2=5, Sstr=2.22, Szp=1, Slimit=9, Sdamplo=16, Spower=1, sootheT=95, SdampHi=39)",3)
aWarpSharp(depth=20, blurlevel=1, thresh=0.31, cm=1)

Side A and Side b are the same pictures, but I reversed the order Seesaw and seesaw 2.5 appear in the picture, so you could see a before and after.