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
Register FAQ Calendar Today's Posts Search

Closed Thread
 
Thread Tools Search this Thread Display Modes
Old 4th March 2012, 21:23   #1081  |  Link
canuckerfan
Registered User
 
Join Date: Jul 2005
Posts: 317
Quote:
Originally Posted by -Vit- View Post
From the docs:

Your EdiMode setting is not recognized so it uses "Bob", which will be fast.

However, what you're trying to do wouldn't make sense for QTGMC anyway. EdiMode is used to create a first attempt at a bob, which is then deshimmered (and slightly super-resolutioned) by the remainder of the algorithm. All the EdiModes output double rate. A single rate EdiMode like NNEDI3(field=1) wouldn't have shimmer because all the frames would are derived from the same fields (top or bottom). That would make the remainder of QTGMC rather redundant - you'd get some temporal processing, but of what use I dunno. I.e. Even if QTGMC supported this it may be little different than NNEDI3(field=1) on its own.
So it's safe to say QTGMC won't provide any additional benefits when used in conjunction with an IVTC?
canuckerfan is offline  
Old 7th March 2012, 11:03   #1082  |  Link
Thranduilion
Registered User
 
Join Date: Oct 2011
Posts: 6
Quote:
Originally Posted by canuckerfan View Post
So it's safe to say QTGMC won't provide any additional benefits when used in conjunction with an IVTC?
Hi! I really like the results when I use QTGMC as my "replacement bobber" when using SmartDecimate (note: Be sure to read the accompanying help file for SmartDecimate since it functions differently from most other IVTCs). Using QTGMC as the bobber should improve your results.

My script:

LoadCPlugin("SmartDecimate.dll")
SourceFile("SourceFile")
b = QTGMC()
SmartDecimate(Bob=b)

I'm not sophisticated enough of a user to explain the technical aspects of why this script stands up to challenging telecined video, but it seems to. Plus, it holds up nicely under the scrutiny of a 52 inch plasma television (which usually highlights conversion flaws regarding deinterlacing and IVTC).

Hope that helps!
Alwyn
Thranduilion is offline  
Old 7th March 2012, 12:25   #1083  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Due to the way of temporal preprocessing, the motion search engine of Q/TGMC is not valid for inherently progressive content.
__________________
- 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!)
Didée is offline  
Old 16th March 2012, 10:15   #1084  |  Link
eddmy1
Registered User
 
Join Date: Mar 2012
Posts: 4
help with deinterlacing

Hi all,
i'm very new to this and would really appreciate some help with deinterlacing this video shot in 1080/60i using a shutter speed of 1/500s (or was it 1/250s).

The following script was used,
FFmpegSource2("DSC_0515.MOV",colorspace = "yv12", atrack=-1,threads=1)
AssumeTFF
QTGMC(Preset="Slow", FPSDivisor=2)

Here is the picture of the problem (somehow i can't seem to attach it as a file here), http://www.flickr.com/photos/eddielow/6986791299/

There are leftover lines especially at the wing, tail fin and nose. The video can be seen here,

i have tried a variety of settings but none worked

Thanks for any help or advise on this
eddmy1 is offline  
Old 16th March 2012, 12:41   #1085  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
Without a short sample of the original clip there is not much hope
anybody can help you.
I'm using (Q)TGMC quite often, mainly TGMC because it has less knobs to fiddle
So post a link to a few seconds of the flyby and I will surely take a look.
Taurus is offline  
Old 17th March 2012, 13:45   #1086  |  Link
TheSkiller
Registered User
 
Join Date: Dec 2007
Location: Germany
Posts: 632
@eddmy1 This problem might be the same as this one.

Maybe try if rep0=12 helps and see the suggestions by Didée.

Last edited by TheSkiller; 17th March 2012 at 13:47.
TheSkiller is offline  
Old 17th March 2012, 19:07   #1087  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Maybe that. And/or: lower "tr0" to "1" (default is 2 which is not necessarily a good thing), and set search=5,searchparam=6,DCT=5.

If that doesn't suffice, activate SourceMatch.

As mighty as QTGMC is, it has too much parameters, which is why everyone is merely relying on the presets ...
__________________
- 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!)
Didée is offline  
Old 19th March 2012, 13:45   #1088  |  Link
eddmy1
Registered User
 
Join Date: Mar 2012
Posts: 4
Many thanks for all the advise, i will check and try out some of those settings.

Have also uploaded the original video here which can be downloaded,
eddmy1 is offline  
Old 19th March 2012, 20:48   #1089  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
Hmmh, I have to join Vimeo to download your 1080/60i mov sample.
But Vimeo seems to be down at login/signup..
Will try again later.
Taurus is offline  
Old 23rd March 2012, 10:09   #1090  |  Link
eddmy1
Registered User
 
Join Date: Mar 2012
Posts: 4
Hi All,
I have tried some of the settings suggested and there is some improvement. However those motion lines still appear in between frames 630 - 700


I am now using the following settings,
QTGMC(Preset="Slow", FPSDivisor=2, rep0=12, TR0=1, search=5,searchparam=6,DCT=5, SourceMatch=2, MatchPreset="Slow")

Maybe this is the best result possible.

Last edited by eddmy1; 23rd March 2012 at 10:11.
eddmy1 is offline  
Old 23rd March 2012, 14:14   #1091  |  Link
TheSkiller
Registered User
 
Join Date: Dec 2007
Location: Germany
Posts: 632
Maybe you can still improve it somewhat by using one of the "Lossless" modes.

Try Lossless=2 (Lossless=1 might help more, but is more likely to leave some minor combing).
TheSkiller is offline  
Old 23rd March 2012, 21:52   #1092  |  Link
Taurus
Registered User
 
Taurus's Avatar
 
Join Date: Mar 2002
Location: Krautland
Posts: 903
Quote:
Originally Posted by eddmy1 View Post
Hi All,
I have tried some of the settings suggested and there is some improvement. However those motion lines still appear in between frames 630 - 700


I am now using the following settings,
QTGMC(Preset="Slow", FPSDivisor=2, rep0=12, TR0=1, search=5,searchparam=6,DCT=5, SourceMatch=2, MatchPreset="Slow")

Maybe this is the best result possible.
I just found the time to fiddle around with your sample.
Using your script there are still some leftovers/artifacts at the wings of the aeroplane.
My simple approach is a little more blurry and jittery, but the artifacts are barely visible.
And it's whole lot faster
Here is the whole script I've used:
Code:
SetMemoryMax(800)
SetMTMode(3,4)
FFmpegSource2("Nikon V1 Mig-29 aerial display 1080 60i ori.mov",colorspace = "yv12", atrack=-1,threads=1)
AssumeTFF
Trim(600,760)
# QTGMC(Preset="Slow", FPSDivisor=2, rep0=12, TR0=1, search=5,searchparam=6,DCT=5, SourceMatch=2, MatchPreset="Slow")
# QTGMC(Preset="Slow", FPSDivisor=2)
SetMTMode(2)
TempGaussMC_beta2u(0,2,3,0,0,0,Edimode="NNEDI3",truemotion=true) 
selecteven()
# Distributor()
Return(last)
Sure, there is much room for improvement, but my time is limited.
Maybe some more suggestions from the "in the know".
As you can see, I'm using TGMC not QTGMC.
But the settings should be transferable.
Hope this helps...
P.,S.: I could upload a small sample if needed.
But my internet connection is so da... slow.
Mostly I avoid this.
Taurus is offline  
Old 26th March 2012, 03:33   #1093  |  Link
eddmy1
Registered User
 
Join Date: Mar 2012
Posts: 4
Hi All,
Thank you so much! for all the help and advise, i think i'm quite happy with the last conversion as the motion artifacts are only noticeable (barely) at certain frames.

I'm going to try convert the other videos from the event, will post updates if any further feedback.
eddmy1 is offline  
Old 27th March 2012, 04:58   #1094  |  Link
D-Dave
Registered User
 
Join Date: Mar 2011
Posts: 8
Problems Deinterlacing HD Material

After failing for countless hours in my attempts to get QTGMC and Avisynth to deinterlace my HD videos, I am in need of some help. QTGMC works marvelous with my DV tapes, however, when I try to deinterlace HDV material everything hits the fan. An overview of my setup: an i7 920 processor clocked at 4.2 GHz, 6 GB of DDR3 Cosair RAM (clocked at 1203 MHz with 7-7-7-24 1N timings), P6T Deluxe V2 motherboard, and two GTX 275 for my GPUs. I’m running Windows 7 Home Premium 64-bit edition and currently have Avisynth 2.6 MT (32-bit) by SET and Avisynth 2.5.8 MT (64-bit) by SET [compiled by JoshyD]. The program I have been working in has been VirtualDub (both 32-bit and 64-bit editions of versions 1.9.11 and 1.10.1).

I have typically used the 64-bit version of Avisynth for my HD footage since the 32-bit version either crashes on me (due to mostly memory violations or “KernalBase”) or is horribly slow (1-2 frames a second on Slow preset). It seems as though the 32-bit version is memory deprived, however, everytime I set a SetMaxMemory that allows me to render at decent speeds, I receive crashes. The current problem I am having with the 64-bit version is that the output file runs at roughly ¼ of the video’s real time speed. The output file is encoded in Lagarith, with a bitrate of about 300 Mbps (or 38 MB/s), and saved on a RAID 0 composed of three hard drives that total over 300 MB/s in sequential speed. Taking a look at my CPU and hard drive usage while playing the video shows no signs of either component having difficulty running the file in real time yet it is having this speed issue.

The current script that I have been using is below (the file is in the NVIDIA folder since I have a boot drive that is separate from my RAID array):

Quote:
SetMemoryMax(1800)
SetMTMode(3,8)
DirectShowSource("C:\NVIDIA\Deinterlace Test.m2t")
ConverttoYV12()
SetMTMode(2)
AssumeTFF()
Lanczos4Resize(1920,1080)
QTGMC("Slower", EdiThreads=1)
Distributor()
I’m aware that there are other alternatives to VirtualDub,however, in the past I have had problems getting a few of those programs to actually render my video with my scripts (for example, MeGUI). I am not against using these other programs, in fact I would gladly migrate away from VirtualDub if it might help with my stability, I just need a bit of guidance in finding and operating the program. Another thing, even though the first post mentions the ability to operate with YUY2 color space, however, everytime I attempt to remove the “ConverttoYV12()” line I get this message:

Avisynth open failure:
Script error: there is no function named “Interleaved2Planar”
(QTGMC-3.32.avsi, line 350)
(B:\Users\Dave\Documents\Deinterlace Test (x64).avs, line 7)


I have followed the directions in the first post which was to replace the mt_masktools26.dll with the mt_masktools25.dll, both version led to the same results.

If there is anything I didn’t mention that could help solve my problem(s), feel free to ask. I hope that someone out there can help me tackle this beast. I hope that someone out there can help me tackle this beast so that my HD footage can embrace the “miracles” bestowed by this wonderful deinterlacer.
D-Dave is offline  
Old 27th March 2012, 09:10   #1095  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
Regarding 64bit Avisynth ... without debating the whole shebang over again, the bottom line is this: it is not stable. Period. Especially with complex scripts like Q/TGMC (including *MVTools*), *plus* multi-threading, you most definetly *will* get crashes.


For the workflow you're doing there, do it in 32bit.

An when your host application is VirtualDub, then do

N O T

include "distributor()" at the end of the script.
(For VfW-applications it gets automatically inserted anyway. If you then specify it manually, the distributor is getting distributor'ed, the number of spawned threads thereby gets manifolded, the ressources accordingly, and that's why+where it goes BOOM! for you.)

Oh, and your colorspace conversion must be ConvertToYV12( interlaced=true) .
Better, use " pixel_type="YV12" " in the DSS call.
Even better, don't use DirectShowSource.
__________________
- 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!)
Didée is offline  
Old 27th March 2012, 10:27   #1096  |  Link
Weirdo
Registered User
 
Join Date: Aug 2005
Posts: 231
@D-Dave: To avoid crashes I'd suggest 32-bit only of course, and to not use MT plugin versions and AviSynth 2.6. Stick to 2.5 standard and just run multiple (4-5?) jobs at the same time. If it's a single file, split it. It's not the fastest method, but probably the safest. I've recently experienced crashes with QTGMC and switching to 2.5 / non-MT solved the problem.
For even better results (and slower speed) you can use the 10-bit version of x264, never had problems with it.

Last edited by Weirdo; 27th March 2012 at 10:38.
Weirdo is offline  
Old 27th March 2012, 14:56   #1097  |  Link
-Vit-
Registered User
 
Join Date: Jul 2010
Posts: 448
Yes, run in 32-bit. Not only is 64-bit very unstable, but there is a lack of plugin support - maybe why you can't get YUY2 to work.
Make sure you're following all these MT pre-requisites:

- Use SET's MT 2.6 only
- Use the modded plugins from the pack in the first post. Although you can safely use cretindesalpe's more recent MVTools in dither tools as well (good idea in fact)
- Use this tool (or similar) to make your encoding application is "Large Address Aware" if it isn't already. Doing this will allow you to use a larger SetMemoryMax values safely
- Don't run too many threads or you'll run out of memory. Try a lower value if you hit problems.
- SetMemoryMax should increase by threads, although good values depend on your settings and source resolution
- Don't run excessive settings. IMO "Slower" is too much for HD. A good HQ preset for 1080i is ("Medium", SourceMatch=1), which is a lot faster than "Slower".
- Watch your OC. MT QTGMC is in many ways more demanding than Prime95. I have had multiple reports that lowering a seemingly stable, but actually over-ambitious OC has resolved issues.

Splitting into multiple single threaded processes as suggested by Weirdo works well if you are having problems, but won't be as fast and can be rather more manual. I usually do both, typically for 1080i I use 2-4 processes of 3-5 threads each.

~~~

Edit: On a different point, does anyone have an opinion on QTGMC using GScript throughout? Obviously that's one extra plugin required - but it will help me add more flexible functionality, break it down into modules, simplify settings, more robust validation/error messages etc.. I've started to make the changes and all is well, but interested in opinions / issues (Gavino?)

Last edited by -Vit-; 27th March 2012 at 18:21.
-Vit- is offline  
Old 27th March 2012, 16:55   #1098  |  Link
D-Dave
Registered User
 
Join Date: Mar 2011
Posts: 8
Alright, so I decided to uninstall and remove everything I had of Avisynth up to this point. From there I installed Avisynth 2.5.8 ST and added the pack of plugins included in the first post. I received an error with the RemoveGrain so I proceeded with the instructions in the fist post and replaced my RemoveGrainSSE2.dll with the one provided. I ran a script for the HD video through VirtualDub 1.9.11 32-bit without the Large Address Aware as I didn’t have any instability during my rendering. The results: video is still running at only ¼ of the original speed with no audio playback.

I made a few changes to my script such as using MPEG2Source instead of DirectShowSource, however, all my scripts resulted in a video that ran at ¼ the original speed.
I ran a script using DV material and the results were fine: video ran smoothly at full speed with audio syncing up nicely. Here are my two latest scripts that I have ran (first is HD, second is SD):
Quote:
MPEG2Source("C:\NVIDIA\Deinterlace Test.d2v")
AssumeTFF()
Spline16Resize(1920,1080)
QTGMC (Preset="Slow", EdiThreads=1)
Quote:
DirectShowSource("C:\NVIDIA\Standard Definition.avi")
ConvertToYV12(Interlaced=True)
AssumeTFF()
Spline16Resize(856,480)
QTGMC (Preset="Placebo", EdiThreads=1)
I am still using the lagarith codec for my output file for both videos, could that be the problem for the HD footage?
Quote:
For even better results (and slower speed) you can use the 10-bit version of x264, never had problems with it.
I found this section on avisynth.org when looking for a 10-bit x264 encoder. I wasn’t sure what to use so I was hoping that someone could recommend me what I should use to encode in h.264. My primary goal is to keep the loss of quality from rerendering at a minimum so a lossless h.264 or another lossless codec would be preferred.

About running multiple jobs at the same time, I’ve tried to figure out how to do that (I remember that option most visible in MeGUI), but I haven’t been successful in setting that up. On topic of GUIs for Avisynth: would any of you suggest using something besides VirtualDub? I’ve been using VirtualDub because I haven’t had much luck with other alternatives. However, I’m up for trying anything so long as I can fix these issues of mine.

In concerns to instability from my overclock, I have just completed a stress test using LinX (10 runs using about 5 GB of RAM) and didn’t see temperatures any higher than 45C above ambient. I have ran the DIMMs a few days ago through multiple passes in Memtest86+ without any errors. I haven’t ran Prime95 recently but I will rerun that test. I will also test a lower overclock today to see if that fixes any problems.
Quote:
Oh, and your colorspace conversion must be ConvertToYV12(interlaced=true) .
Yeah, somehow I forgot to reinsert that portion of the line when I typed that line back into the script (thanks for pointing that out).
Quote:
Better, use " pixel_type="YV12" " in the DSS call.
Apologies for my ignorance, but I’m not sure how to implement that line into the script. I’ve attempted to place that line after “ConvertToYV12(interlaced=true)” as well as just by itself (removed the Convert line), but so far I haven’t figured out how to insert that line.
Quote:
Even better, don't use DirectShowSource.
I’ve read that a lot from other forums. Do you have any suggestions for using a .m2t file with avisynth? I decided to try out DGDecode but I haven’t gotten any different results from using MPEG2Source over DirectShowSource.
D-Dave is offline  
Old 27th March 2012, 17:52   #1099  |  Link
TheSkiller
Registered User
 
Join Date: Dec 2007
Location: Germany
Posts: 632
You don't need to worry about that anymore since you are now using MPEG2Source for your HDV source which is the way to go because it delivers the raw YV12 color space of your source without touching it. DirectShowSource is codec dependent and it seems you were getting YUY2 from it, so your HDV video's color space was upsampled to YUY2 and then you downsampled it back to YV12 in AviSynth.
pixel_type is a parameter of DirectShowSource.

Edit: Another possibility is FFVideoSource which doesn't require manual indexing.

Last edited by TheSkiller; 27th March 2012 at 17:57.
TheSkiller is offline  
Old 27th March 2012, 18:05   #1100  |  Link
Weirdo
Registered User
 
Join Date: Aug 2005
Posts: 231
Quote:
Originally Posted by D-Dave View Post
About running multiple jobs at the same time, I’ve tried to figure out how to do that (I remember that option most visible in MeGUI), but I haven’t been successful in setting that up
Right-click on one or more queued jobs and send them to new Workers, or run instantly in temporary Workers. More here.
Weirdo is offline  
Closed Thread


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 16:46.


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