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

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 11th May 2012, 07:23   #1221  |  Link
tormento
Acid fr0g
 
tormento's Avatar
 
Join Date: May 2002
Location: Italy
Posts: 1,764
Quote:
Originally Posted by -Vit- View Post
I hope that cretindesalpes will create new-interface-2.6 versions
I simply can't find out what the "new interface" is. I have googled a bit and find nowhere.
Quote:
Originally Posted by -Vit- View Post
You can even mix them up safely on 2.6MT, for example to use cretindesalpes versions.
Are the optimizations included in the 2.6 plugin pack too?
Quote:
Originally Posted by -Vit- View Post
A new CUDA compiler will not help QTGMC because none of the plugins use CUDA.
CUDA should be used even for egg cooking. JK. I thought there should be some speed improvements using it.
__________________
@turment on Telegram
tormento is offline  
Old 11th May 2012, 11:12   #1222  |  Link
-Vit-
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.
-Vit- is offline  
Old 11th May 2012, 12:23   #1223  |  Link
Yanak
Registered User
 
Join Date: Oct 2011
Posts: 275
Quote:
Originally Posted by yup View Post
Yanak!
Try
Code:
 ...
Resizing before QTGMC give better result, but slower. If You use upsizing after QTGMC you can get shimmer. Nnedi3 also better for upsizing than spline.
Script work with Set 2.6 last build.
yup.
Thx Yup, i gave it a quick try but the result was not really good.
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.
Yanak is offline  
Old 11th May 2012, 13:22   #1224  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,554
Quote:
Originally Posted by -Vit- View Post
kolak: Glad DCT=5 worked. Did you still need the higher Rep value or that extra script I posted to stabilize the sections outside the fade?
Yes- rep=6 without extra script fixed issue outside fades (rep=5 still had it). This text is sharp, not very well rendered- it comes from FCP7, which is not that great.
kolak is offline  
Old 12th May 2012, 09:12   #1225  |  Link
Bloax
The speed of stupid
 
Bloax's Avatar
 
Join Date: Sep 2011
Posts: 318
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.
Bloax is offline  
Old 15th May 2012, 16:18   #1226  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,143
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...
Boulder is offline  
Old 31st May 2012, 23:34   #1227  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,554
VIT- is there any development going on?
QTGMC runs more stable with 2.6MT (and 4GB Vdub patch), but still quite slow for HD source
kolak is offline  
Old 1st June 2012, 13:07   #1228  |  Link
-Vit-
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.
-Vit- is offline  
Old 1st June 2012, 14:11   #1229  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,554
Quote:
Originally Posted by -Vit- View Post
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.
I'm using 4 cores (more cores cause instability) of my i7 990X overclocked to 4Ghz and this gives 50-60% CPU usage, but even so I have 10fps on 50i HD source with very fast preset.
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.
kolak is offline  
Old 1st June 2012, 15:30   #1230  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
Quote:
Originally Posted by kolak View Post
I'm using 4 cores (more cores cause instability) of my i7 990X overclocked to 4Ghz and this gives 50-60% CPU usage, but even so I have 10fps on 50i HD source with very fast preset.
Doesn't sound very good. A quick test here on an i7 930 OC@3.8Ghz : QTGMC("Very Fast", EdiThreads=1) =>1080p. I get 27fps with 11 threads, or 30fps with 3 processes x 4 threads (don't much need multi-process for these simple settings). 100% CPU. MemoryMax at 1500 or so. Encoding from dga to huffyuv (different target drive). Edit: Even if I run just 4 threads I get 20fps, single-threaded 7.75fps...

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.
-Vit- is offline  
Old 1st June 2012, 19:07   #1231  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,554
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.
kolak is offline  
Old 1st June 2012, 19:23   #1232  |  Link
Boulder
Pig on the wing
 
Boulder's Avatar
 
Join Date: Mar 2002
Location: Finland
Posts: 5,143
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...
Boulder is offline  
Old 1st June 2012, 21:39   #1233  |  Link
kolak
Registered User
 
Join Date: Nov 2004
Location: Poland
Posts: 2,554
Thanks- will try.
kolak is offline  
Old 3rd June 2012, 21:17   #1234  |  Link
zerowalker
Registered User
 
Join Date: Jul 2011
Posts: 1,116
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
zerowalker is offline  
Old 3rd June 2012, 21:50   #1235  |  Link
-Vit-
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.
-Vit- is offline  
Old 3rd June 2012, 22:08   #1236  |  Link
chainik_svp
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.
chainik_svp is offline  
Old 3rd June 2012, 22:33   #1237  |  Link
zerowalker
Registered User
 
Join Date: Jul 2011
Posts: 1,116
Quote:
Originally Posted by -Vit- View Post
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.
Well i guessed so much, but you never know

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.
zerowalker is offline  
Old 4th June 2012, 09:04   #1238  |  Link
yup
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 )
Tune sigma, 100 good starting point. Script include work with borders.
-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.
yup is offline  
Old 4th June 2012, 13:43   #1239  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
Quote:
Originally Posted by yup View Post
Also filtering on bobbed give better result than on fields.
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.
-Vit- is offline  
Old 4th June 2012, 15:37   #1240  |  Link
ajp_anton
Registered User
 
ajp_anton's Avatar
 
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 792
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.
ajp_anton is offline  
Closed Thread

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 19:19.


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