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. |
11th May 2012, 07:23 | #1221 | Link | |
Acid fr0g
Join Date: May 2002
Location: Italy
Posts: 2,580
|
I simply can't find out what the "new interface" is. I have googled a bit and find nowhere.
Quote:
CUDA should be used even for egg cooking. JK. I thought there should be some speed improvements using it.
__________________
@turment on Telegram |
|
11th May 2012, 11:12 | #1222 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Here's the relevant post about the latest Avisynth 2.6 interface. The different versions of the plugins use the same optimizations.
|
11th May 2012, 12:23 | #1223 | Link | |
Registered User
Join Date: Oct 2011
Posts: 275
|
Quote:
I will look more into the Nnedi3 and make more tests when i'll have some free time. Thx a lot for the help guys, i will post in the appropriate threads if needed and not pollute more this one with my upscaling problems. |
|
12th May 2012, 09:12 | #1225 | Link |
The speed of stupid
Join Date: Sep 2011
Posts: 317
|
Talking about NNEDI3 upscaling, applying >nnedi3< (not nnedi3_rpow2) with (dh=true) once, TurnLeft(), and once again - while only working on luma. (u=false,v=false)
Then turning the video back (obviously), make a BilinearResize of the original video, then MergeChroma() using the color information from that new bilinearly resized video. Goes faster than just making it upscale all three planes, without too much bad stuff happening AFAIR. |
15th May 2012, 16:18 | #1226 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,733
|
Would the precleaning part of QTGMC possibly be usable in other applications than deinterlacing as well? I mean, is it generally good for cleaning the clip for motion analysis? It seems to make the edges to have a lot lower SAD at least when comparing its effect in MDegrain.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
1st June 2012, 13:07 | #1228 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Yes I have been working a few new features, but the only speed-up is the addition of the SVP motion analysis. The speed of QTGMC is directly connected to the speed of NNEDI3 and MVTools2. So speed comes from improvements in those filters, or using them less often/more simply. Presets are there for that second point. SVP hits the first point. I added SVP to TGMC here, that script is almost the same as QTGMC("Slower").
Of course the other way to speed up QTGMC is threading, and a major problem with HD is that we cannot run enough threads to use up the CPU before running out of memory. So HD is slow because your CPU is not working at capacity, not particularly because QTGMC is extra-slow at those resolutions. I have been using a multi-process + multi-threaded approach for a long time now and that is a good way to improve extreme HD processing speeds. However, the method to do that depends on your encoding process, e.g. batch files for command-line x264, or workers in MeGUI. [Edit] Boulder: Only the first part of the QTGMC prefilter makes sense in the general case (the second part recovers some detail lost in the TGMC deshimmering step). But yes, it is a fairly useful general prefilter, a Gaussian blur with a little back-blend: Code:
w = clip.Width() h = clip.Height() srchClip = clip.RemoveGrain(12,12).GaussResize(w,h, 0,0, w+0.0001,h+0.0001, p=2).MergeLuma(clip, 0.1) Last edited by -Vit-; 1st June 2012 at 13:22. |
1st June 2012, 14:11 | #1229 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,843
|
Quote:
I don't do any encodes- it's coming from intermediate file and going to lossless file for further processing. QTGMC is the only process going on. |
|
1st June 2012, 15:30 | #1230 | Link | |
Registered User
Join Date: Jul 2010
Posts: 448
|
Quote:
I came late to the deinterlacing party; I started out with TGMC, never used Yadif or TDeint for a real encode. So I'm tolerant to "slow" encoding. I think 30fps is a good speed for high quality HD deinterlacing. Last edited by -Vit-; 1st June 2012 at 15:38. |
|
1st June 2012, 19:07 | #1231 | Link |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,843
|
Hmmm- if I could get 30fps for HD I would be happy
Don't see much difference, except number of cores and EdiThreads=1, which I don't have in my script. Will try to use it and increase number of cores. Just to prove that HDDs are not bottleneck ( I have 8x HDDs in RAID 5 over Areca controller) I can downscale same file to SD at 200fps using MT. Can it be due to not using tweaked plugins for avisynth 2.6MT? Last edited by kolak; 1st June 2012 at 20:44. |
1st June 2012, 19:23 | #1232 | Link |
Pig on the wing
Join Date: Mar 2002
Location: Finland
Posts: 5,733
|
You could also try cretindesalpes's version of MVTools2 which is included in the Dither package. He has implemented internal multithreading in the functions, which could prove to be useful. It seems that now with avstp v1.01, there are no more lockups so be sure to download and install that one as well.
__________________
And if the band you're in starts playing different tunes I'll see you on the dark side of the Moon... |
3rd June 2012, 21:17 | #1234 | Link |
Registered User
Join Date: Jul 2011
Posts: 1,121
|
What are the best settings for QTGMC?
I donīt care if it goes like 5 fps, i just want to know the Highets Qualitys Settings overall. Itīs for VHS Tapes, PAL and quite noisy, but donīt want some super smooth settings, just want the best settings the QTGMC can offer, and then if i want to sharpen or smooth i can change those settings. thanks |
3rd June 2012, 21:50 | #1235 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Everyone's opinion about "best" is different. Every source has different "best" settings. Don't ask for "best", find out what's best for yourself.
This is one place to start if you don't care about speed: QTGMC(Preset="Very Slow", SourceMatch=2, Lossless=2, EZKeepGrain=0.5, Sharpness=0.1, Sbb=0) But that's for good quality footage that has fine detail, noisy VHS tapes probably aren't worth that kind of processing - but you asked... You will likely want to change that EZKeepGrain value (increase it to keep more noise, decrease if you don't care about preserving noise. Change it to EZDenoise and increase the value if you want QTGMC to denoise for you.) You'll need to run that multi-threaded or it could be very slow, depends on your machine. See the first post. Last edited by -Vit-; 3rd June 2012 at 21:56. |
3rd June 2012, 22:08 | #1236 | Link |
Registered User
Join Date: Mar 2012
Location: Saint-Petersburg
Posts: 239
|
-Vit-
a major problem with HD is that we cannot run enough threads to use up the CPU before running out of memory It was the first real problem we faced with SVP The current solution (modified Avisynth version) is good for SVP, may be it can be good for you too. There're two mods in it: 1. distributor code is sometimes more effective (= needs less threads for the same processing speed for FRC) 2. sizes of internal caches between filters are limited by exact number of frames, not by global SetMemoryMax value and it's working great with linear video processing. For example one can use pel=4 with 1080p clip in MVTools with this mod. So the total memory consumed depends on <number of filters>*<size of each cache>. In case you're interested: - global script value "svp_scheduler=true" turns on both mods, cache size is something like <num of threads>*2 - "svp_cache_fwd=<num_of_frames>" - set the exact cache size And don't forget about "4gb patch"
__________________
SVPflow motion interpolation Last edited by chainik_svp; 3rd June 2012 at 22:18. |
3rd June 2012, 22:33 | #1237 | Link | |
Registered User
Join Date: Jul 2011
Posts: 1,121
|
Quote:
Well i am currently trying QTGMC(preset="placebo",SourceMatch=3, Lossless=2) Not really sure about the sourcematch and lossless, but it seems to be placebo things, that is good, but maybe isnīt necessary, but better safe than sorry right? But i think i need to learn about the Sharpness and keepgrain, as i pretty much go by the default there, as i donīt know if itīs over sharpening or denoising to much. Itīs pretty delicate on noisy source as you may know. |
|
4th June 2012, 09:04 | #1238 | Link |
Registered User
Join Date: Feb 2003
Location: Russia, Moscow
Posts: 854
|
zerowalker!
try Code:
SetmtMode(3,4) AVISource("tape1.avi").Trim(0,129057) AssumeTFF() SetmtMode(2,4) source=ConvertToYV12(interlaced=true).Crop(16,12,-16,-12) bob=source.nnedi3(field=-2,threads=1) super = bob.MSuper(pel=2, sharp=1) backward_vec2 = MAnalyse(super, isb = true, delta = 4, blksize=16, overlap=8, chroma=false) backward_vec1 = MAnalyse(super, isb = true, delta = 2, blksize=16, overlap=8, chroma=false) forward_vec1 = MAnalyse(super, isb = false, delta = 2, blksize=16, overlap=8, chroma=false) forward_vec2 = MAnalyse(super, isb = false, delta = 4, blksize=16, overlap=8, chroma=false) bc2 = bob.MCompensate(super, backward_vec2) bc1 = bob.MCompensate(super, backward_vec1) fc1 = bob.MCompensate(super, forward_vec1) fc2 = bob.MCompensate(super, forward_vec2) Interleave(bc2,bc1,bob,fc1,fc2) dfttest(sigma=100.0,tbsize=5,sbsize=16,sosize=12,threads=1) Edibob=SelectEvery(5,2).nnedi3_rpow2(2,nsize=4,cshift="Spline36Resize",fwidth=720,fheight=576,threads=1) Edibob.SeparateFields().SelectEvery(4,0,3).Weave().AssumeTFF() QTGMC( Preset="fast", FPSDivisor=2, Ediext=Edibob,EdiThreads=1 ) -Vit- This script better denoise than QTGMC. I remember Your suggestion, but for analog capture need external prefilter. Also filtering on bobbed give better result than on fields. Work slow 1.5-2 fps on Quad Core. yup. |
4th June 2012, 13:43 | #1239 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Yes, I noticed that too - the QTGMC 3.33 I posted earlier switched to denoising the bob.
But I don't work with analogue or noisy sources, so I'm not surprised that custom denoising works better than QTGMC denoising there. ___ chainik_svp: Thanks for that, I'll try it. I can work out the caching needs of QTGMC precisely, but people might use other filters as well as QTGMC. So it would be the user's responsibility to set the correct cache size, which is potentially a (support) problem. Last edited by -Vit-; 4th June 2012 at 13:53. |
4th June 2012, 15:37 | #1240 | Link |
Registered User
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 805
|
Is it possible to run this on YV16 and YV24?
I fixed nnedi3 by processing luma only, then upscale luma so that the YV16/24 looks like YV12 and process chroma only, and then join these. Is this OK? But there's still something that breaks it. Or maybe I should just nnedi3 the chroma before QTGMC and merge it back after it... Last edited by ajp_anton; 4th June 2012 at 15:56. |
|
|