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. |
14th August 2010, 00:46 | #21 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Fair point. I wanted to avoid requirements on the calling script, but I see that leads to other problems. Happy to get rid of that bit of ugly really.
I've put an updated version in the OP that doesn't explicitly load Yadif. Last edited by -Vit-; 14th August 2010 at 01:00. |
17th August 2010, 20:00 | #22 | Link |
Registered User
Join Date: Jul 2010
Posts: 448
|
Found a reproducible MT instability when using Super Fast and Ultra Fast presets, with mt_average throwing an exception. Couldn't say if the problem originated in mt_average or not because the particular setup was complex and unusual. However, replacing mt_average with merge remedied the situation. A quick test seems to show merge to be faster in any case. Updated version in the OP.
Last edited by -Vit-; 17th August 2010 at 20:04. |
20th August 2010, 09:46 | #23 | Link |
Architect
Join Date: May 2010
Posts: 57
|
Great work!
Just a few suggestions:
|
24th August 2010, 15:58 | #24 | Link | |
Registered User
Join Date: Jul 2010
Posts: 448
|
Thank you, and thanks for the feedback.
The EdiExt parameter allows you to use any interpolator: Code:
clip.QTGMC( Preset="Slow", EdiExt=clip.EEDI3(sclip=clip.NNEDI3(field=-2), field=-2) ) ____ I assume this is an observation rather than a suggestion? ____ Quote:
The difference image is quite different in nature to the original source. It's largely gray (the origin, i.e. no difference, is at 128), with the edges made prominent (due to changes from the blur->resharpen tgmc process) and areas of noise (that removed by tgmc). One observation is that interpolator choice is slightly different here. NNEDI2 works OK, but even for naturalistic sources I found EEDI3 to work well, probably because of the prominence of edges in this difference image. Then again changes made to the lossless deinterlacing parameters are much less noticable than in the main script as it is working with small values. I added the parameters to the lossless function out of good practice / coding habit. However, I don't think I want to add so many more parameters to the script itself as I'm reaching the limit. So if necessary I may add a boolean "LosslessDefaults" or similar, which determines whether to use the main deinterlacing parameters for the lossless step too, or whether to use the default lossless settings instead (as it does now). One reason to favor the defaults would be to speed up lossless scripts using high quality settings, which would be overkill if passed to the lossless step. Memory use is currently high when using lossless (especially MT), another reason to use simpler settings on that step. ____ I like it, thanks. I will update to something like this in the next revision. Last edited by -Vit-; 24th August 2010 at 16:01. |
|
25th August 2010, 14:07 | #25 | Link |
Architect
Join Date: May 2010
Posts: 57
|
Yes, I've noticed.
Because my live sources are usually crappy quality, I usually use QTGMC like so: Code:
edi=eedi3(sclip=nnedi3(field=-2,nsize=3,qual=2),field=-2,vcheck=3).raa() QTGMC(ediext=edi,blocksize=8,overlap=4,search=5,searchparam=4).selecteven() # Residual Anti-Aliasing function RAA (clip input) { w=input.width() h=input.height() input.spline64resize(w*2,h*2).eedi3(vcheck=3).spline64resize(w,h) } I haven't tried eedi3/nnedi2, but from my observations eedi3/nnedi3 always gives more accurate interpolation and less artifacts than eedi3 alone when used for deinterlacing. So IMO sclip=nnedi3 should be the default. I use vcheck=3 instead of the default vcheck=2 because it gives a bit less artifacts imo. I use blocksize=8 and overlap=4 because from my observations it gives noticeably better quality than the defaults 16/8. search=5 and searchparam=4 gives slightly more accurate motion vector search. raa() is the super-sampled eedi3, which I use just after deinterlacing to smoothen any remaining jagged edges. raa() could be an optional feature, which could be included in some of the slower presets. With regard to the lossless parameters, I understand now that higher quality settings may not be worthwhile. If anything, you could have a LosslessPreset option, which takes one of the preset values already defined, and uses the parameters it requires from that preset. But is there really a big difference in overall speed if lossless settings are the same as the preset settings, considering it's a difference clip that's being interpolated? On a related note, I would like for a possible way to keep the EdiMode and LosslessEdi values in sync. Currently, if I specify LosslessEdi="nnedi3" then the script still tries to use nnedi2, which is not in my plugin directory. One possible solution is to have LosslessEdi default to EdiMode, and a different LosslessEdi value can be explicitly specified if needed. |
23rd September 2010, 22:54 | #31 | Link | |
Registered User
Join Date: Jul 2010
Posts: 448
|
Quote:
____ I've been a bit busy of late but I have noted the suggestions that people have been making. I will be upping a new version relatively soon - just need to find the time to test. I mainly want to update the use of EEDI3 / NNEDI3 (particularly now NNEDI3 is faster). Last edited by -Vit-; 23rd September 2010 at 22:59. |
|
9th October 2010, 13:11 | #32 | Link | |
23sKiDdOo!
Join Date: May 2010
Location: Germany
Posts: 182
|
Quote:
I've tried it with my old futurama PAL Discs. This Plugin is so f***ing good - it blasts me off the chair. OK Speed is no issue here... . I used it successfully with needi3 and preset "slower" and the result was perfect "placebo" pure progressive output. Didee and ViT: Please keep up the good work - we strongly needed those two (tgmc / qtgmc) plugins. |
|
11th October 2010, 13:12 | #35 | Link |
Registered User
Join Date: Apr 2002
Location: Germany
Posts: 5,391
|
What's the actual problem? Does the additional filter simply have no effect, or does the script crash? If so, what's the error message?
__________________
- We´re at the beginning of the end of mankind´s childhood - My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!) |
11th October 2010, 13:20 | #36 | Link | ||
23sKiDdOo!
Join Date: May 2010
Location: Germany
Posts: 182
|
Quote:
(meanwhile i returned to TGMCBeta2, (w. NNEDI2). This worked just fine.) With that script Virtual Dub crashed with some AccessViolation Error - sometimes i got "AviSynth Failure - Unknown Exception" when i seeked around in the video... @aegisofrime Quote:
Last edited by Hagbard23; 12th October 2010 at 17:06. |
||
19th October 2010, 01:02 | #37 | Link | |
Registered User
Join Date: Jul 2010
Posts: 448
|
Quote:
Only thing that I can think of is memory use. The script shouldn't use more memory than tgmc-b2 when using the "Slower" preset, but I don't know about NNEDI3's memory usage - it's a long shot but maybe that just tipped things over the edge. Try adding a SetMemoryMax at the start of the script... |
|
20th October 2010, 13:18 | #39 | Link | |
Registered User
Join Date: Jul 2010
Posts: 448
|
Quote:
Keep noise: Code:
QTGMC( Preset="Slower", NoiseBypass=1, NoiseRestore=1.0 ) # Mode 1: Remove noise before, add back after. Medium effect #or QTGMC( Preset="Slower", NoiseBypass=2, NoiseRestore=0.4 ) # Mode 2: Get noise at start but don't remove it, add back after # Stronger effect. Increase NoiseRestore for an even stronger # effect (>1 for a very strong effect) #or QTGMC( Preset="Slower", Lossless=1, LosslessTR=3 ) # Lossless modes also retain noise. Combine with noise bypass if you want Code:
QTGMC( Preset="Slower", NoiseBypass=1, NoiseRestore=0.0 ) #or QTGMC( Preset="Slower", Sigma=2.5, NoiseBypass=1, NoiseRestore=0.0 ) # Increase Sigma for noisier source (default is 2.0) Last edited by -Vit-; 20th October 2010 at 13:23. |
|
|
|