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. |
|
|
Thread Tools | Search this Thread | Display Modes |
12th November 2004, 01:54 | #41 | Link |
Registered User
Join Date: Apr 2002
Posts: 134
|
OK, first I have to say, that I'm a cut and paste script writer. Now that I have that off my chest, I'm trying to get MVbob working. I first found out that I needed to upgrade my kerneldeint, which I did. Then I got an undot error and went and found that. Next, I got a tomsmocomp error. I went and got that and put it in. But now I get I get this error: "Script error: motion mask does not have a named argument "thy1" (line 60). I see that joshbm had this error and tried his fix, but that didn't work for me by capitalizing the "Y" in thy. Searching for "thy" obviously produced too many results. I'm sure there is something I'm overlooking, but I don't know what it is.
TIA |
12th November 2004, 02:07 | #43 | Link |
interlace this!
Join Date: Jun 2003
Location: i'm in ur transfers, addin noise
Posts: 4,555
|
hmmm... to be honest i just got home and haven't had a chance to try out Scharfi's latest effort, but i'm thinking maybe you don't have an up-to-date masktools?
there's a thread in avisynth development that will have the latest version in it (if you've got a HyperThreading enabled P4, then read the thread carefully...). http://forum.doom9.org/showthread.ph...0&pagenumber=2 download the one with the binarize fix... it's the latest. get the second one below it if you have a HT P4.
__________________
sucking the life out of your videos since 2004 |
19th January 2005, 03:17 | #47 | Link |
Registered User
Join Date: May 2004
Posts: 288
|
I have tried this script with three versions of MvTools and always get the same error:
Script error" mvanalyse does not have a named argument "compensate" Edit: I think I found the problem had to change a couple "compensate" 's to "mvcompensate" in the script. Nope that did not fix it, now I get Script error" mvanalyse does not have a named argument "mvcompensate" if I try MVCompensate I get: Script error" mvanalyse does not have a named argument "MVCompensate" Figured it out! I had to edit out "compensate=false" from these two lines in the script and it worked! # create motion vectors mvf=bobd.mvanalyse(blksize=blksize,pel=pel,isb=false,compensate=false,search=3,searchparam=10) mvb=bobd.mvanalyse(blksize=blksize,pel=pel,isb=true, compensate=false,search=3,searchparam=10) Ultra freaking slow though, 2936 frames est time 3hrs 55 minutes! Last edited by Socio; 19th January 2005 at 04:07. |
19th January 2005, 05:20 | #48 | Link |
Registered User
Join Date: May 2003
Location: Ann Arbor MI
Posts: 15
|
You were right about the problem. Corrected here:
I've tried scharfis_brain's MVBob and found it to be, simply, the best de-interlacer I've ever seen or used. It's amazing. I almost forget that I'm watching an interlaced source. Here is the original post, with usage instructions: http://forum.doom9.org/showthread.ph...r=2#post566854 I've assembled all the required parts here, hoping that it will be easier for people to use. If you put all the required AVISynth plugin DLLs in your plugins folder and enable auto-loading, you won't have to load any plugins explicitly. http://www.avisynth.org/AviSynthPlugins Attached is scharfis_brain's MVBob, modified to reflect a change in the function name of LeakKernelDeint. Rename it to MVBob.avsi and put it in your plugins folder. These are the other parts you'll need: UnDot v0.0.1.1 and TomsMoComp v0.0.1.7 : http://www.trbarry.com/ or http://www.avisynth.org/warpenterprises/ MVTools 0.9.8.5 and MaskTools 1.5.6: http://manao4.free.fr/ or http://forum.doom9.org/showthread.ph...hlight=mvtools LeakKernelDeint 1.5.3: http://gast3.ssw.uni-linz.ac.at/~kp/...akKernelDeint/ or http://forum.doom9.org/showthread.ph...ak+kerneldeint To use MVBob you'll want to make sure that you have the clip's field parity set correctly before you pass the clip to MVBob. (follow the instructions in the KernelDeint readme) I've encoded several clips and placed them online. They are just the finished product - not before & after or side-by-side comparisons. http://www.eecs.umich.edu/~balazer/mmb_media/ |
19th January 2005, 14:16 | #49 | Link | |
Registered User
Join Date: Feb 2002
Location: Finland
Posts: 275
|
Quote:
"There is no function called "kernelbob" on line 42" Is this error somehow related to changes in kerneldeint, since I have downloaded all the tools you mentioned? Code:
bobx=bobx.kernelbob(order=order,threshold=bobth).undot() Last edited by Valky; 19th January 2005 at 14:20. |
|
19th January 2005, 18:19 | #51 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
One can clearly see the MV-mismatches in the video michiganmarchingband.
especially on patterned textures. I hope to get this knocked out with an updated mvtools.dll of manao. I am waiting for the corrector_double() , as I suggested some time ago If this corrector exists, I can easily integrate the global motion compensation of depan.dll and a better mismatch handling than the one of the current version of mvbob().
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
19th January 2005, 20:36 | #52 | Link | |
ffdshow/AviSynth wrangler
Join Date: Feb 2003
Location: Austria
Posts: 2,441
|
Quote:
np: Zorn - Michelle's Unblockable (The City's Collapsing (But Not Tonight)) |
|
19th January 2005, 20:39 | #53 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
I heard the call, here is a release with Corrector modified to your liking :
MVTools v0.9.9 There are other changes, but still no temporal interpolators ( they are tricky, though results are better ( & slower ) than before ) |
19th January 2005, 21:51 | #54 | Link | |
Registered User
Join Date: Feb 2002
Location: Finland
Posts: 275
|
Quote:
|
|
19th January 2005, 22:15 | #55 | Link |
brainless
Join Date: Mar 2003
Location: Germany
Posts: 3,653
|
@manao: wow. THAT was fast!
many many thanks. @all: if I have some time, I'll take a deeper look into mvbob(). (hopefully this or following weekend) mvbob() will need a complete rebuild. it currently is too much unstructurized. also, I would like to bundle a mvbob-package, like I did with restore24 to avoid major confusion with updated plugins and/or Copy/Paste mistakes.
__________________
Don't forget the 'c'! Don't PM me for technical support, please. |
19th January 2005, 22:25 | #56 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
scharfi : in fact, I had it in my sleeves for two weeks now, but i was trying to finish these damned interpolators. But since waiting for having a fine results with them would have taken too long, here is the new release.
BTW, I take the opportunity here to say that if you're encoutering a strange behavior with the latest version ( not necessarily with Corrector ), don't try too hard to find a bug on your side of the script, the chance is high the issue is on my side ( as always, a lot of changes everywhere... ). |
20th January 2005, 18:59 | #57 | Link |
Registered User
Join Date: May 2003
Location: Ann Arbor MI
Posts: 15
|
Seems attachments are a bit of a pain, as mods don't always approve them quickly (or at all). No disrespect to the mods - just seems silly that a text file attachment would need to be approved.
This MVBob works per my previous post. Use MVTools 0.9.8.5, not the newer 0.9.9. Save the following code into a file MVBob.avsi and put it in your plugins folder. Code:
#LoadPlugin("c:\program files\avisynth 2.5 filters\LeakKernelDeint.dll") #LoadPlugin("C:\Program Files\AVISynth 2.5 Filters\undot.dll") #LoadPlugin("C:\Program Files\AVISynth 2.5 Filters\tomsmocomp.dll") #LoadPlugin("C:\Program Files\AVISynth 2.5 Filters\mvtools.dll") #LoadPlugin("C:\Program Files\AVISynth 2.5 Filters\masktools.dll") #Modified from scharfis_brain's post: #http://forum.doom9.org/showthread.ph...r=2#post566854 #requires UnDot v0.0.1.1, TomsMoComp v0.0.1.7, MVTools 0.9.8.5, MaskTools 1.5.6, and LeakKernelDeint 1.5.3 function MVbob(clip c,int "blksize", int "pel", int "lambda", int "thy", int "thc", int "bobth", bool "predenoise", bool "showmask") { #Helper functions: function tmcstupid(clip c) { input=c.converttoyuy2(interlaced=true).separatefields.tomsmocomp(1,-1,0) a = getparity(input) ? input.selectodd : input.selecteven b = getparity(input) ? input.selecteven : input.selectodd a=stackvertical(a.crop(0,0,0,1-a.height),a.crop(0,0,0,-1)) output = getparity(input) ? interleave(b,a) : interleave(a,b) output.assumeframebased().converttoyv12() } #disable all scene detection, because it is self-correcting sc=255 showmask=default(showmask,false) # luma and chroma thresholds for correcting false detected motion thy=default(thy,20) thc=default(thc,10) # threshold of kerneldeint bobth=default(bobth,8) #denoise the video for kerneldeint (better static areas for noisy video) predenoise=default(predenoise,false) blksize=default(blksize,4) scd=(blksize==8)? 300 : round(300/4) pel=default(pel,2) #I decided lambda=0 being better, cause it stupidly trys to catch everything. errors are corrected afterwards. lambda=default(lambda,0) #determine clip Fieldorder order=(c.getparity==true)? 1:0 # create clip for motion analysis and hole-filling bobx=predenoise ? c.temporalsoften(2,5,7) : c bobx=bobx.leakkernelbob(order=order,threshold=bobth).undot() bobd=bobx.verticalreduceby2() #bobd=bobd.lanczos4resize(bobx.width,bobx.height) bobd=bobd.tomsmocomp(-1,-1,0).undot() # create clip for motion compensation fields=c.tmcstupid().undot() # define clip for hole filling fields1=bobx # create motion vectors mvf=bobd.mvanalyse(blksize=blksize,pel=pel,isb=false,search=3,searchparam=10) mvb=bobd.mvanalyse(blksize=blksize,pel=pel,isb=true, search=3,searchparam=10) # detect mismatched areas of motion compensation bobdf=bobd.mvcompensate(mvf,mode=1,thscd1=scd,thSCD2=sc) bobdb=bobd.mvcompensate(mvb,mode=1,thscd1=scd,thSCD2=sc) difff=interleave(bobdf,bobd).motionmask(thy1=thy,thy2=thy,thc1=thc,thc2=thc,thSD=sc).selectodd() diffb=interleave(bobdb,bobd).motionmask(thy1=thy,thy2=thy,thc1=thc,thc2=thc,thSD=sc).selectodd() diff=logic(difff,diffb,"OR") # do the deinterlacing even1=c.separatefields().selecteven() odd1a=fields.mvcompensate(mvf,mode=1,thscd1=scd,thSCD2=sc) odd1a=maskedmerge(odd1a,fields1,difff,y=3,u=3,v=3).selecteven() odd1b=fields.mvcompensate(mvb,mode=1,thscd1=scd,thSCD2=sc) odd1b=maskedmerge(odd1b,fields1,diffb,y=3,u=3,v=3).selecteven() odd1=mergeluma(odd1a,odd1b,0.5).mergechroma(odd1b,0.5) odd1=(order==1) ? odd1.separatefields().selecteven() : odd1.separatefields().selectodd() even2=c.separatefields().selectodd() odd2a=fields.mvcompensate(mvf,mode=1,thscd1=scd,thSCD2=sc) odd2a=maskedmerge(odd2a,fields1,difff,y=3,u=3,v=3).selectodd() odd2b=fields.mvcompensate(mvb,mode=1,thscd1=scd,thSCD2=sc) odd2b=maskedmerge(odd2b,fields1,diffb,y=3,u=3,v=3).selectodd() odd2=mergeluma(odd2a,odd2b,0.5).mergechroma(odd2b,0.5) odd2=(order==1) ? odd2.separatefields().selectodd() : odd2.separatefields().selecteven() even=interleave(even1,odd1) even=even.weave() odd=interleave(even2,odd2) odd=odd.weave() # output interleave(even,odd) analysis=maskedmerge(last.levels(0,1,255,0,200),diff,diff,y=3,u=3,v=3) showmask ? analysis : last } |
20th January 2005, 20:54 | #58 | Link |
Registered User
Join Date: Feb 2002
Location: Finland
Posts: 275
|
I get this error on line 72 'motionmask does not have argument name thy1'
with this script too. I changed back to MVTools 0.9.8.5 as suggested. Any idea where this error comes from? There were some solutions mentioned before to change to capital letters this 'thy1' but it didn't work with me. I guess this isn't virtualdub error? |
20th January 2005, 21:05 | #60 | Link |
Registered User
Join Date: Jan 2002
Location: France
Posts: 2,856
|
MotionMask is a filter from the masktools, not related at all with MVTools.
However, MotionMask is also a filter present in one of the mpeg2dec ( don't remember which one ). To prevent avisynth to confuse them, replace motionmask by masktoolsdllname_motionmask ( as stated in avisynth's documentation ). |
Thread Tools | Search this Thread |
Display Modes | |
|
|