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. |
22nd January 2009, 07:58 | #41 | Link | |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
Quote:
There's a "SetMTMode=5" call in my script that can be removed when using MVMulti.. Perhaps MVMulti needs the special "Avisynth-MT" dll ? I have done so many tests.. I do not remember some details any more. 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; 22nd January 2009 at 09:44. |
|
22nd January 2009, 10:23 | #43 | Link | |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
Quote:
This also removes a lot of (small) dirt spots on the film PS: the multi version works fine on old computers to. But insane slow of cource (1fps). 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; 22nd January 2009 at 10:25. |
|
22nd January 2009, 10:49 | #44 | Link | |
likes to tinker
Join Date: Jan 2004
Location: girt by sea
Posts: 635
|
Oh. Thanks anyway. I wanted to stick with Fizick's stuff rather than the "multi" side-branch. I wonder what that means for Ted :-
Quote:
I must see if I can find an appropriate thread to ask the question "Just wondering... with setmtmode(mode=2,threads=4) which splits up consecutive frames and farms them off to separate threads - does that then muck up any mvanalyses and degrains which are suppose to compare frames in sequence ? MT() could be the workable alternative I guess ?" |
|
22nd January 2009, 11:12 | #45 | Link | ||
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
Quote:
I bet the MVDegrain() engine is the same... Quote:
I hope someone else can answer this. 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 |
||
22nd January 2009, 12:10 | #46 | Link |
Learning
Join Date: Nov 2006
Location: Earth
Posts: 88
|
brilliant
@videoFred: This is simply amazing.. Thank you very much for sharing your script with us.
I'm going to try this magic of yours with my precious Louis Malle docus that he made in 70's Regards Salehin Last edited by salehin; 22nd January 2009 at 12:17. |
22nd January 2009, 12:40 | #47 | Link |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
You are most welcome, Salehin.
Perhaps you can show us some of your results later? 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 |
22nd January 2009, 16:09 | #49 | Link | |
Potentate
Join Date: Mar 2003
Posts: 219
|
Quote:
I played with it last night and found that reducing the blocksize to 8 (from 16) took care of losing the colors - color was lost in much of the image, just remaining in some locations around the perimeter. I have not tried MVDegrainMulti with the non-MT version of avisynth.dll yet - I'll give that a try next. But based on some initial testing, the MDegrain3 in MVTools 2.x does a really nice job and is faster than MVDegrainMulti using 3 frames - it may be a wash..... One thing I have found is that I NEED a new computer!!!! @ 1-2fps rendering rate and several hours of footage to process, this will take forever!!! Have been looking at the AMD Quad cores... specifically the AMD Phenom II 3Gig 940, anyone have any experience with these? Ted |
|
22nd January 2009, 16:36 | #50 | Link | |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
Quote:
The script runs 3-4 fps on my Dell Inspiron.. Nothing special, just a standard and cheap Dell machine. 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 |
|
22nd January 2009, 18:08 | #51 | Link | |
Potentate
Join Date: Mar 2003
Posts: 219
|
Quote:
Thank, Ted |
|
22nd January 2009, 21:02 | #52 | Link |
Derek Prestegard IRL
Join Date: Nov 2003
Location: Los Angeles
Posts: 5,989
|
AMD Phenom II processors aren't too bad, especially if you already have an AM2+ motherboard that can take a drop-in replacement.
But, from the sounds of it, you have an older system. In this case, you're probably better off buying an Intel setup, as their chips tend to be faster, and have similar entry costs ~MiSfit
__________________
These are all my personal statements, not those of my employer :) |
4th February 2009, 01:48 | #53 | Link |
Registered User
Join Date: Nov 2006
Posts: 660
|
@ VideoFred & others...I'm just now testing your script on page 1 (but using a replacement script for 2 lines vis a vis MVTools2 optimisation found on page 2 of this thread). I am trying to understand what is going on...but obviously there are things that I just don't understand. Would it be okay guys if I went line by line and asked what is going on and hopefully get answers that are simple enough to understand? Thanks again in advance as I'd really like to understand the thought process behind this.
I was scrolling through the video in VDM and wondered why I got blocking when there wasn't any in the video to begin with? source (Lagaan, R5, DVD9 PAL Disc 1/3) settings used were exactly from script (except for output rez) Last edited by EuropeanMan; 4th February 2009 at 01:54. |
7th February 2009, 05:46 | #54 | Link | |
Registered User
Join Date: Oct 2008
Posts: 42
|
Quote:
hi WOW!!! FANTASTIC WORK!!! REALLY AMAZING. now i can work on some of my footage to restore some videos. but im still new to avisynth so im confused on your script,it doesnt show what plugins to load etc, please can you show me an exact script exactly how it is like for example load video eg: avi, and the load plugins and adjust filters. or upload your editing script. so a sample full script please just to give me an idea thanks. then i can then adjust settings how i like but i just need the base. if anyone is king enough please show the script thanks again. |
|
7th February 2009, 10:49 | #55 | Link | |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
Quote:
This script was special made for restoring old and very grainy 8mm film capturings. Settings are way to heavy for your source. Please reduce degraining and sharpening to begin with. What do you want to improve anyhow? 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 |
|
7th February 2009, 10:53 | #56 | Link | |
Registered User
Join Date: Dec 2004
Location: Terneuzen, Zeeland, the Netherlands, Europe, Earth, Milky Way,Universe
Posts: 689
|
It will not work the same on old videos....
It is made for film. Quote:
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 |
|
8th February 2009, 01:50 | #57 | Link |
Registered User
Join Date: Jan 2009
Posts: 11
|
Getting serveral errors
Hi When i trie to load the script i get serveral errors like:
depanstabilize There's no function named "methode" There's no function named "vector" There's no function named "mvdegrainmulti" And a few more.Al the dll files are in the map. Can someone help me please |
8th February 2009, 11:32 | #58 | Link |
Registered User
Join Date: Oct 2008
Posts: 42
|
ok i had a go at this but now it says error in line 154 heres my scipt can you tell me what i have done wrong?
or show me a fixed script thanks. SetMemoryMax(1024) LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DePan.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DePanEstimate.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\RemoveGrain.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\HDRAGC.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mvtools.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\mt_masktools.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MaskTools.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\WarpSharp.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\LimitedSupport_09Jan06B.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MT.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\autolevels.dll") LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\AddGrainC.dll") Import("C:\Program Files\AviSynth 2.5\Plugins\LimitedSharpenFaster.avs") SetMTMode(5) AVISource("C:\Documents and Settings\king\Desktop\New Folder\mymovie.avi.avi") converttoYV12 end= source1.framecount() end2= end-trim_end frames=end+trim_begin skip= end2/5 skip0=skip+3 skipend= 3 skipend1= skip0+3 skip2= skipend1+skip skipend2= skip2+3 skip3= skipend2+skip skipend3= skip3+3 skip4= skipend3+skip skipend4= skip4+3 skip5= end2-3 L= trim(source1,0,end2) LS= trim(source1,0,end2).scriptclip("""subtitle("frame "+string(trim_begin+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"\ +string(trim_end),x=100,y=60,size=32)""") sourceT1= trim(source1,0,skipend).scriptclip("""subtitle("frame "+string(trim_begin+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)\ +" steps: "+string(skip),x=100,y=60,size=32)""") sourceT2= trim(source1,skip0,skipend1).scriptclip("""subtitle("frame "+string(trim_begin+skip0+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)+" steps: "\ +string(skip),x=100,y=60,size=32)""") sourceT3= trim(source1,skip2,skipend2).scriptclip("""subtitle("frame "+string(trim_begin+skip2+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)+" steps:\ "+string(skip),x=100,y=60,size=32)""") sourceT4= trim(source1,skip3,skipend3).scriptclip("""subtitle("frame "+string(trim_begin+skip3+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)+\ " steps: "+string(skip),x=100,y=60,size=32)""") sourceT5= trim(source1,skip4,skipend4).scriptclip("""subtitle("frame "+string(trim_begin+skip4+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)+\ " steps: "+string(skip),x=100,y=60,size=32)""") sourceT6= trim(source1,skip5,end2).scriptclip("""subtitle("frame "+string(trim_begin+skip5+current_frame)\ +" from "+string(frames)+" trim_begin-"+string(trim_begin)+" trim_end-"+string(trim_end)+\ " steps: "+string(skip),x=100,y=60,size=32)""") SS= sourceT1+sourceT2+sourceT3+sourceT4+sourceT5+sourceT6 sourceT10= trim(source1,0,skipend) sourceT20= trim(source1,skip0,skipend1) sourceT30= trim(source1,skip2,skipend2) sourceT40= trim(source1,skip3,skipend3) sourceT50= trim(source1,skip4,skipend4) sourceT60= trim(source1,skip5,end2) S= sourceT10+sourceT20+sourceT30+sourceT40+sourceT50+sourceT60 stab_reference= eval(short).crop(est_left,est_top,-est_right,-est_bottom)\ .tweak(cont=est_cont).binarize(threshold=80).greyscale().invert() mdata=DePanEstimate(stab_reference,trust=1.0,dxmax=maxstab,dymax=maxstab) stab=DePanStabilize(eval(short),data=mdata,cutoff=0.5,dxmax=maxstab,dymax=maxstab,method=1,mirror=15) stab2= stab.crop(CLeft,CTop,-CRight,-CBottom).tweak(sat=saturation) stab3=DePanStabilize(eval(short),data=mdata,cutoff=0.5,dxmax=maxstab,dymax=maxstab,method=1,info=true) WS= width(stab) HS= height(stab) stab4= stab3.addborders(10,10,10,10,$B1B1B1).Lanczos4Resize(WS,HS) vectors= stab2.MVAnalyseMulti(refframes=denoising_frames, pel=2, blksize=block_size, overlap=block_over, idx=1) denoised= stab2.MVDegrainMulti(vectors, thSAD=denoising_strenght, SadMode=1, idx=1).tweak(sat=saturation) leveled= denoised.HDRAGC(coef_gain=2.0,max_gain=AGC_max_gain,min_gain=0.5,max_sat=AGC_max_sat,shadows=true) sharp1=limitedSharpenFaster(leveled,smode=1,strength=LSF_sharp_ness,overshoot=50,\ radius=LSF_radi_us, ss_X=LSF_sub, SS_Y=LSF_sub, dest_x=W,dest_y=H) sharp2= unsharpmask(sharp1,USM_sharp_ness,USM_radi_us,USM_thres_hold) sharpX= unsharpmask(sharp2,USM_sharp_ness2,USM_radi_us2,USM_thres_hold2) sharp3= sharpX.TemporalSoften(temp_radius,temp_luma,temp_chroma,15,2).addgrainC(grain_luma,grain_chroma,0.2,0.2,5) #backward_vectors = sharp3.MVAnalyse(isb = true,truemotion=true,idx=2) #forward_vectors = sharp3.MVAnalyse(isb = false,truemotion=true,idx=2) #frameclip=MVFlowFps(sharp3,backward_vectors, forward_vectors, num=25, den=1, ml=100, idx=2) result1= sharp3.addborders(X,0,0,0,$FFFFFF).levels(0,gamma,255,0,255).autolevels().coloryuv(autowhite=true)\ .crop(X,0,-0,-0).addborders(bord_left, bord_top, bord_right, bord_bot) result2= sharp3.levels(black_level,gamma,white_level,0,255).coloryuv(autowhite=true)\ .addborders(bord_left, bord_top, bord_right, bord_bot) result3= sharp3.coloryuv(off_U=blue,off_V=red).levels(0,gamma,255,0,255).addborders(X,0,0,0,$FFFFFF)\ .autolevels().crop(X,0,-0,-0).addborders(bord_left, bord_top, bord_right, bord_bot) result4= sharp3.coloryuv(off_U=blue,off_V=red).levels(black_level,gamma,white_level,0,255)\ .addborders(bord_left, bord_top, bord_right, bord_bot) result5= overlay(eval(short),stab_reference,x=est_left,y=est_top).addborders(2,2,2,2,$FFFFFF).Lanczos4Resize(WS,HS) W2= W+bord_left+bord_right H2= H+bord_top+bord_bot short2=short+"S" source2=Lanczos4Resize(eval(short2),W2,H2) source3=Lanczos4Resize(eval(short2),W,H) resultS1= stackhorizontal(subtitle(source2,"original",size=32,align=2)\ ,subtitle(result1,"autolevels, autowhite",size=28,align=2)) resultS2= stackhorizontal(subtitle(source2,"original",size=32,align=2)\ ,subtitle(result2,"autowhite, manual levels correction",size=28,align=2)) resultS3= stackhorizontal(subtitle(source2,"original",size=32,align=2)\ ,subtitle(result3,"autolevels + manual color correction",size=28,align=2)) resultS4= stackhorizontal(subtitle(source2,"original",size=32,align=2)\ ,subtitle(result4,"manual colors and levels correction",size=28,align=2)) resultS2H= stackhorizontal(subtitle(source2,"original",size=32,align=2) ,subtitle(result2,"autowhite, manual levels\ correction",size=28,align=2).histogram(mode="levels")) resultS3H= stackhorizontal(subtitle(source2,"original",size=32,align=2),subtitle(result3,"autolevels + manual color\ correction",size=28,align=2).histogram(mode="levels")) resultS4H= stackhorizontal(subtitle(source2,"original",size=32,align=2),subtitle(result4,"manual colors and levels\ correction",size=28,align=2).histogram(mode="levels")) result6= stackhorizontal(subtitle(result5,"baseclip for stabiliser -only the B/W clip is used",size=32,align=2)\ ,subtitle(stab4,"test stabiliser: dx=horizontal, dy=vertical",size=32,align=5)) |
8th February 2009, 13:32 | #60 | Link |
Avisynth language lover
Join Date: Dec 2007
Location: Spain
Posts: 3,431
|
It's missing in the original script posted by videoFred, probably because he reformatted it for posting. It also contains wrongly split string literals. So the lines
Code:
resultS2H= stackhorizontal(subtitle(source2,"original",size=32,align=2) ,subtitle(result2,"autowhite, manual levels\ correction",size=28,align=2).histogram(mode="levels")) resultS3H= stackhorizontal(subtitle(source2,"original",size=32,align=2),subtitle(result3,"autolevels + manual color\ correction",size=28,align=2).histogram(mode="levels")) resultS4H= stackhorizontal(subtitle(source2,"original",size=32,align=2),subtitle(result4,"manual colors and levels\ correction",size=28,align=2).histogram(mode="levels")) Code:
resultS2H= stackhorizontal(subtitle(source2,"original",size=32,align=2)\ ,subtitle(result2,"autowhite, manual levels correction",\ size=28,align=2).histogram(mode="levels")) resultS3H= stackhorizontal(subtitle(source2,"original",size=32,align=2),\ subtitle(result3,"autolevels + manual color correction",\ size=28,align=2).histogram(mode="levels")) resultS4H= stackhorizontal(subtitle(source2,"original",size=32,align=2),\ subtitle(result4,"manual colors and levels correction",\ size=28,align=2).histogram(mode="levels")) |
|
|