View Full Version : QTGMC Deinterlacing Script (v3.32)
zerowalker
6th June 2012, 14:54
How can i disable everything in QTGMC except the part that makes shimmering alot smoother?
I am doing a 25 fps (50i) video by filtering with dfttest, then going to qtgmc for the anti shimmering and then reinterlacing.
I think the way sound pretty bad, so if i am doing something stupid here please tell me.
I need to keep it interlaced as DVD only support 50i so can´t keep the 50p qtgmc gives.
AzraelNewtype
9th June 2012, 08:18
How can i disable everything in QTGMC except the part that makes shimmering alot smoother?
I am doing a 25 fps (50i) video by filtering with dfttest, then going to qtgmc for the anti shimmering and then reinterlacing.
I think the way sound pretty bad, so if i am doing something stupid here please tell me.
I need to keep it interlaced as DVD only support 50i so can´t keep the 50p qtgmc gives.
This is an ill-thought out idea and will accomplish nothing. Just separate fields, filter, and then weave.
Boulder
9th June 2012, 08:41
Not that simple if you use temporal filters ;)
kolak
14th June 2012, 12:40
Found some issue- DTC=5 causes problems on scene changes- creates frames with mixed fields.
In the same time it helps a lot with flickering on static text.
-Vit-
14th June 2012, 18:57
May need to tweak thSCD1 (scene change detection setting, same as MVTools setting of same name) for different DCT settings.
kolak
15th June 2012, 12:16
That's what I thought :)
Mole
18th June 2012, 02:22
When using QTGMC(InputType=1), I kinda like the way it smooths out noise such as CCD noise.
What kind of denoiser is it using, and would I be able to use only that particular denoiser in order to get the same effect?
The source is of course progressive.
Betsy25
18th June 2012, 18:10
Although having followed the instructions, simply indexing the .VOB files in MeGUI produces the following error screen.:confused:
Win7 32bit, Avisynth 2.5
http://i.imgur.com/nvkkg.png
-Vit-
18th June 2012, 20:48
Mole: QTGMC uses denoisers as an integral part of the algorithm, not specifically to denoise, but it does have some denoising effect. It uses MDegrain/TemporalSmooth in three stages:
0. A binomially-weighted combination of TemporalSmooths to remove shimmer from the source for motion analysis - this denoise doesn't directly appear in the output.
1. Do the same again, but this time with motion-compensated MDegrains, to produce initial deshimmered output (and to get some super-resolution-like detail-borrowing from neighbor frames)
2. A single MDegrain at the end for a final calming
So it's not just a simple call to a denoiser as you might have thought, it's the core algorithm you need. When you set InputType=1 you switch off all the deinterlacing and you are left with that algorithm alone essentially. I guess there are a few tweaks:
You can can skip stage 0 if your source (progressive, InputType=1) has no shimmer by setting TR0=0 (and some other related settings):
QTGMC(InputType=1,TR0=0,Rep0=0,SrchClipPP=2)
There is some extra processing between stage 1 and 2 - resharpening/repair steps to reduce blur from the MDegrain. If you *really* want the MDegrain only, then:
QTGMC(InputType=1,TR0=0,Rep0=0,SrchClipPP=2, Sharpness=0, Sbb=0,Rep2=0)
You may not want that, it will lose a little detail. Maybe best just to tweak sharpness:
QTGMC(InputType=1,TR0=0,Rep0=0,SrchClipPP=2, Sharpness=0.2)
Source match is a rather strange, overkill setting for progressive but it's possible - will retain the most detail but will only impact the noise very slightly too. I don't exactly recommend it, but you could try it:
QTGMC(InputType=1,TR0=0,Rep0=0,SrchClipPP=2, SourceMatch=2) # Maybe add very low Sharpness too
___
Betsy25: If it's the indexing stage, then maybe it's nothing to do with QTGMC. That missing dll is from Visual Studio 2003, so it's an older app or plugin causing the problem. Not sure where you can get the dll, I don't think it's in any Microsoft redistributable. Could just search for a version, but be careful...
Some of the original versions of the plugins for QTGMC do rely on that dll. The Modded plugin pack from the first post removed the need for that dll from everything except SSE2Tools (for YUY2 input). Maybe try getting that pack first and see if it helps.
Mole
19th June 2012, 01:22
Thanks a bunch for the tips. I've been using QTGMC(InputType=1) with progressive source that are very very grainy such as from many BDs. I of course resize them to whatever resolution I need first (ideally I'd rather like to use it at 1080p, but it'd just be way to slow if I run neat afterwards), I then use QTGMC on it to get rid of the most nasty grains, then when I use Neat Video after, it looks quite good. It's then sufficient to use Neat with minimum settings. Usually on very grainy sources, I had to crank up Neat, but the problem would be that on not so noisy scenes, it would smooth out way too much details.
When using QTGMC(InputType=1) is the preset="whatever" relevant? Would for example QTGMC(InputType=1, preset="fast") speed up some?
-Vit-
19th June 2012, 01:57
When using QTGMC(InputType=1) is the preset="whatever" relevant? Would for example QTGMC(InputType=1, preset="fast") speed up some?
Yes, even in progressive mode the preset affects the quality of the motion estimation (which improves the quality of the MDegrain) and it increases the radius of the MDegrains (for a bit more smoothing). So faster presets will give some speed up, but they were not balanced for progressive input though (i.e. there may be little difference between some adjacent presets in terms of quality or speed). Try it and see as always...
Mole
22nd June 2012, 14:49
Excellent, I tried QTGMC(InputType=1,TR0=0,Rep0=0,SrchClipPP=2) and it's much faster than QTGMC(InputType=1) and I'm getting the same result on progressive source with no shimmer but heavy on CCD noise.
It manage to get rid of most nasty grains, such as in night scenes, which Neat Video would not get, so using QTGMC, then Neat afterwards does the trick.
lblais34
26th June 2012, 14:42
Hi,
I made several test with the following two scripts TempGaussMC_Beta2u and QTGMC.
For my tests I used :
I used a TFF interlaced video with a duration of two minutes compressed to Huffyuv 2.1.1.
I used MeGUI to convert my video to x264 (2 pass - bitrate 5000 - Preset Placebo - Level 5.1 AVC Level - High Profile AVC Profile).
I used the following AviSynth script for my tests:
AVISource("video", audio=false)
assumetff()
ConvertToYV12 (interlaced=true)
TempGaussMC_beta2u (edimode="nnedi3")
SelectEven()
and
AVISource("video",audio=false)
assumetff()
ConvertToYV12(interlaced=true)
QTGMC (preset="Placebo")
SelectEven()
I checked the video quality between the two compressed video and I think that TempGaussMC_Beta2u gives a better quality video. The difference is not huge but there is a difference.
-Vit-
26th June 2012, 16:04
There's not much point comparing QTGMC with TGMC - it's the same algorithm, the same script at it's core.
I deliberately designed the defaults on QTGMC to be about the same as TGMC. So just use QTGMC()
There are QTGMC settings that will give you even more exactly the same result as TGMC, something like this (for NNEDI3):
QTGMC( preset="Slower", border=true, svthin=1.0, lsad=1600, precise=true )
But yes, Placebo smooths too much on clean video. There was some discussion of it many pages back. I won't keep that setting in that form. Try setting TR2=1.
Or use Slower or Very Slow. And use Source Match, that's genuinely new, genuinely accurate, and nicely slow for people who like placebo settings.
The most "accurate" reasonable settings I've measured (measured by best SSIM that doesn't introduce any noticeable artifacts) are:
QTGMC( Preset="Very Slow", EZKeepGrain=0.5, SourceMatch=2, Lossless=2, Sharpness=0.1, Sbb=0 )
Although the exact EZKeepGrain and Sharpness setting depend on noise and motion in the video respectively.
Can get a little more precise with multiple calls to QTGMC or specialized pre-filters, but really it's not worth it.
Weirdo
27th June 2012, 11:15
I'm having trouble deinterlacing 1080i clips from tv recordings, the result is jerky video, you can see it here (http://www.mediafire.com/?gd2c4c7ydk0kh6e). The included interlaced clip is from another video but the source tv channel is the same.
Script:
SetMemoryMax(512)
SetMTMode(3, 6)
LoadPlugin("F:\...DGAVCDecode.dll")
AVCSource("F:...test.dga")
SetMTMode(2)
QTGMC( Preset="Medium", SourceMatch=1, EdiThreads=1 )
Also tried with SelectEven(), thinking that 1080/50p is a bit much to handle, but result is the same. Also tried Fast and Slow presets. Maybe it's an issue related to the 10-bit x264 encoder?
Boulder
27th June 2012, 11:23
Try setting a different field order (AssumeTFF or AssumeBFF) after you load the source.
Didée
27th June 2012, 11:37
AVCSource is outdated, depreciated, and in particular, don't use it on interlaced sources.
Weirdo
27th June 2012, 14:46
Try setting a different field order (AssumeTFF or AssumeBFF) after you load the source.
Tried both but nothing changed.
AVCSource is outdated, depreciated, and in particular, don't use it on interlaced sources.
Tried FFVideoSource, same result.
update: DirectShowSource (ffdshow shows up) + AssumeTFF work perfectly. I thought DSS was the dodgiest one? :confused:
AzraelNewtype
27th June 2012, 20:37
Tried both but nothing changed.
Tried FFVideoSource, same result.
update: DirectShowSource (ffdshow shows up) + AssumeTFF work perfectly. I thought DSS was the dodgiest one? :confused:
FFVideoSource fails spectacularly on interlaced avc, so this is not surprising.
DSS is pretty dodgy, you're fairly lucky here, though you might want to at least switch to DSS2 (still dodgy, slightly less so for these situations).
kalehrl
28th June 2012, 09:06
I'm having trouble deinterlacing 1080i clips from tv recordings, the result is jerky video, you can see it here (http://www.mediafire.com/?gd2c4c7ydk0kh6e). The included interlaced clip is from another video but the source tv channel is the same.
Script:
SetMemoryMax(512)
SetMTMode(3, 6)
LoadPlugin("F:\...DGAVCDecode.dll")
AVCSource("F:...test.dga")
SetMTMode(2)
QTGMC( Preset="Medium", SourceMatch=1, EdiThreads=1 )
Also tried with SelectEven(), thinking that 1080/50p is a bit much to handle, but result is the same. Also tried Fast and Slow presets. Maybe it's an issue related to the 10-bit x264 encoder?
Are you dealing with HD satellite recordings?
I've had the same issue and I find it best to use HD Streams Extractor in MeGUI (which is basically eac3to GUI) to make a MKV file without reencoding. Just make sure you select raw h264 while extracting video stream. Then mux video and audio to make a proper MKV. Then you can use FFVideoSource but with this addition - fpsnum=25, fpsden=1. So the line will look something like this:
FFVideoSource("...\T1_Video1.mkv", threads=1, fpsnum=25, fpsden=1)
Sometimes it is even necessary to use FFIndex before FFVideoSource like this:
FFIndex("...\T1_Video1.mkv", demuxer="lavf")
FFVideoSource("...\T1_Video1.mkv", threads=1, fpsnum=25, fpsden=1)
Weirdo
29th June 2012, 11:40
Yes, they are Sat-HD recordings. Thanks for the info, kalehrl.
Weirdo
8th July 2012, 16:20
I've seen this mentioned before, but is the exact cause known? Using MT, encoding starts at good speed (~29fps),
but gradually slows down almost at non-MT mode levels (~12). Using MeGUI with 10-bit x264.exe on 720x576 video.
Here's a sample script:
SetMTMode(3,7) # Intel Q9650, also tried 3,(4,5,6)
LoadPlugin("F:\...ffms2.dll")
FFVideoSource("E:\video.mkv", threads=1)
SetMTMode(2)
QTGMC( Preset="Fast", EdiThreads=1 )
Encoder settings:
cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0
constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=2 / weightb=1 / open_gop=0 / weightp=2 / keyint=500 / keyint_min=50 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=24.1 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
(Thanks, AzraelNewtype)
-Vit-
8th July 2012, 17:34
Possibly not enough cache memory.
[I mention all this in the first post - please read it in full]
Put this as your first line:
SetMemoryMax(M)
Set M to somewhere from 1000 to 1800 - perhaps start at 1400. Don't set M too high or you will run out of memory (application memory, not your RAM). These large values for M require a large address aware encoder, but x264 is that.
Weirdo
8th July 2012, 18:49
Thanks Vit, I've tried values between 512-2300 (system RAM=4GB) but the speed drop seems inevitable. Also flagged megui.exe as laa (it isn't) and tested the 10-bit x264 (it is). Using the "Modded Plugins Package" files inside "QTGMC 32-bit Plugins [Vit-2.6].zip" in the first page, mirror 2 link.
Boulder
8th July 2012, 19:22
Have you tried some other encoder? Like running VirtualDub's video analysis pass to see if it shows the same issue. x264's performance depends quite a lot on the bitrate.
-Vit-
8th July 2012, 22:25
You don't need to mark MeGUI as laa, only the encoder being used. However, as you're using MeGUI then check "Add pre-rendering job" so it runs in two passes, splitting the resource usage of x264 and QTGMC (both use a lot, and 4GB RAM could be limiting you). You'll need a lot of disk space for the temporary file of the first pass (10s of GB per hour of footage at SD).
Mole
14th July 2012, 04:51
Should we keep the vertical resolution and only crop after QTGMC? (like any other deinterlacers)
For example, QTGMC(Preset="Slow").Crop(0,74,720,428)
However, is it OK to crop horizontally before QTGMC? (again like any other deinterlacers)
Crop(12,0,696,576).QTGMC(Preset="Slow")
When I need to crop both, this is what I usually do to speed things a tiny bit:
Crop(12,0,696,576).QTGMC(Preset="Slow").Crop(0,74,696,428)
Does the same cropping rule apply for QTGMC(InputType=1)?
When cropping before QTGMC, are there any limitations to the horizontal resolution such as mod4 or mod16 etc? (Well, except of course YV12 requires mod4)
Because if it's OK to crop vertically, then there's potentially performance gain if I can crop out the letterbox, especially on 1080p source, leaving only 1920x8XX.
-Vit-
14th July 2012, 12:07
You can crop horizontally and vertically before QTGMC with these restrictions (same for interlaced or progressive)
YV12: horizontal & vertical mod4. YUY2: horizontal mod4, vertical mod2
Cropping will speed things up of course, but if you crop a significant amount of real image for some reason then you lose some motion analysis possibilities and reduce quality at edges.
Of course you should never vertically resize before QTGMC. You can horizontally downscale before QTGMC for a good speed up with only a little ill-effect.
sirt
14th July 2012, 23:18
I want QTGMC not to denoise, sharpen ect so I've been using that configuration lately :
QTGMC(Preset="very slow",TR0=2,TR1=2,TR2=0,SrchClipPP=0,SubPelInterp=1,SubPel=4,Search=5,ChromaMotion=true, \
EdiMode="NNEDI3" ,ChromaEdi="",NNSize=4,NNeurons=3,EdiQual=2,Sharpness=0,SMode=0,SLMode=0,SOvs=0,Sbb=0,\
SLRad=0,SourceMatch=3,MatchPreset="very slow",MatchPreset2="very slow",MatchEnhance=0.4,Lossless=0,EZDenoise=0,\
EZKeepGrain=1.4,NoisePreset="faster",NoiseProcess=0,NoiseTR=0,Sigma=0,GrainRestore=0,NoiseRestore=0)
What do you think of this regarding my needs ? Moreover, it doesn't work with preset="placebo" (wiht same configuration) and I don't really know why.
I'm fed up with constantly cropping a frame (or creating a mask) when only half of it or a small area looks interlaced and that in order to "save" the areas I don't want to be processed by QTGMC. So would you know some configuration or method to avoid me doing this and force this deinterlacer to process only what's needed ? I've repeatedly seen progressive parts of a frame being affected by some kind of flickering or being blurred if I haven't force QTGMC not to perform them
-Vit-
15th July 2012, 21:19
Far too excessive. Do you actually know what all of those settings do? If not then don't use them.
Also conflicting/bad settings. Sigma=0? That's either invalid or it cancels out noise processing (i.e. the EZKeepGrain). SrchClipPP=0 will reduce quality of motion analysis. NNeurons=3 & EdiQual=2 are overkill, but NNSize=4 is a high-speed setting... etc.
Stripping out most of the settings you get this pretty extreme, but usable setting:
QTGMC(Preset="very slow",TR0=2,TR1=2,TR2=0,Sharpness=0.1,SourceMatch=3,EZKeepGrain=1.4,NoisePreset="faster")
- I added a sharpness setting of 0.1, because without it your source will be very slightly softened.
- Tweak the EZKeepGrain up or down for the exact amount of noise in your source
- Try Lossless=2 because it can get closer the source and might cause no visual issues.
- Go "Placebo" if you like, but I don't recommend it. Set MatchPreset if you like, but effects are usually small.
Applying (Q)TGMC to parts of a frame but not others will cause noticeable problems at the boundaries
sirt
15th July 2012, 21:37
Okay, I will try your settings soon and report there the results if necessary. Thank you.
In fact I never managed to use "placebo". I always got tedious messages saying such and such parameter was incorrect. Could you give me a configuration that is likely to work regarding my needs namely ANY PROCESSION at all such as denoising, sharpening, antialiasing ect (I just want QTGMC to deinterlace without doing anything in extra) ?
Indeed, with regard to the boundaries problems - occasionally a form of blending compared to others parts unprocessed around - I've been resorting to some tricks such as applying a mask that maintains unspoiled the rest of the frame and skirt the mod 4 problem. Of course it creates the illusion there are no boundaries. Nonetheless, do you think something else can be done internally by setting QTGMC ?
-Vit-
16th July 2012, 01:14
The SourceMatch, Lossless and EZKeepGrain settings are there to reduce "side-effects". No perfect deinterlacer exists.
There was an idea some pages back from Didee to retain *perfectly* static areas, which has some value (albeit with some boundary issues of it's own) [Edit: here it is (http://forum.doom9.org/showthread.php?p=1573281#post1573281), read the post before too]. However, as soon as there any motion, the idea to not deinterlace areas because they are progressive enough always causes problems. Masking the problems blurs detail.
sirt
16th July 2012, 09:36
Well your command doesn't work for me for some annoying reason :
QTGMC(Preset="very slow",TR0=2,TR1=2,TR2=0,Sharpness=0.1,SourceMatch=3,EZKeepGrain=1.4,NoisePreset="faster")
gives me :
nnedi3: nsize must be in [0,4]!
Although I set NNsize=0 it won't work (but I don't want to set it !)
-Vit-
16th July 2012, 22:07
You are using an old version of NNEDI3 I think. Get the latest versions of the plugins. Use the packages or the links in the first post.
ZZZERO
20th July 2012, 18:08
I've had no problems with QTGMC in the past. I just upgraded my PC to ivybridge and the OS to Windows 7 Professional 64 bit and I can't get QTGMC to work anymore. I use MEGUI and when I load an avs file I now get this error:
Script error: there is no fucntion named "Interleaved2Planar" (QTGMC-3.32.avsi, line 350)
I've searched the forum and found a couple of other references to this problem but I can't get it fixed. I've tried all versions of removegrain I can find. It just keeps giving me that error. Have run out of ideas. Please help. Here's my script:
SetMemoryMax(800)
SetMTMode(3, 6) #
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\ffms\ffms2.dll")
FFVideoSource("H:\Captured\MS2\MS2.avi", threads=1)
SetMTMode(2)
QTGMC( Preset="Slower", EdiThreads=1, NoiseProcess=1, NoiseRestore=0.0, ChromaNoise=true)
#deinterlace
crop(6, 0, -10, -8)
#resize
LanczosResize(576,432) # Lanczos (Sharp)
#denoise
To set up QTGMC I used all the plugins from QTGMC 32-bit Plugins [Vit-2.6] plus Avisynth 2.6 MT (Current version 2012.05.16) and mt_masktools-25.dll from the original QTGMC plugin package.
I will tweak the multi-threading settings after I can get a script loaded.
-Vit-
20th July 2012, 18:44
Interleaved2Planar comes from SSE2Tools. If it needs that then you have a YUY2 source.
Make sure you have deleted any duplicate plugin versions (SSE2, SSE3 etc.). Regress to the modded plugins pack, use the mt_masktools-25.dll against your 2.6MT. Make sure you use the SSE2Tools provided in the pack or in the standalone link from the first post.
Or convert to YV12 :P
ZZZERO
20th July 2012, 21:36
I tried reverting back to the original modded package. I get the same error. I made sure I'm using SSE2Tools from the modded plugins pack. I'm also using mt_masktooks-25.dll. I don't see any duplicate plugins from other sset versions.
This exact script worked fine 2 days ago when I was using Windows XP 32bit. Now even though I've set it up the same I get this error. If this helps, here is the full contents of my AviSynth plugins directory.
AddGrainC.dll 1.5.2.0
colors_rgb.avsi
dfttest.dll
DirectShowSource.dll
EEDI2.dll
eedi3.dll
FFT3DFilter.dll
mt_masktools-25.dll
mvtools2.dll
nnedi.dll
nnedi2.dll
nnedi3.dll
QTGMC-3.32.avsi
RemoveGrainSSE2.dll
RepairSSE2.dll
SSE2Tools.dll
TCPDeliver.dll
TDeint.dll
VerticalCleanerSSE2.dll
yadif.dll
All the plugins from QTGMC 32-bit Plugins [Vit-Mod] are there. I cannot for the life of me figure out what's wrong. It's very frustrating since I was using QTGMC multi-threaded without any problems before switching to 64 bit Windows 7 Professional. No matter what I try I cannot get rid of this error: there is no fucntion named "Interleaved2Planar"
ZZZERO
20th July 2012, 22:02
Or convert to YV12 :P
Well, that works. I add ConvertToYV12() right after SetMTMode (2) and just before the QTGMC line and then I have no error.
-Vit-
20th July 2012, 23:08
The YUY2 support in QTGMC is a little precarious, because the plugin support is only barely there. But I don't use YUY2 often. Maybe those who do have some advice?
kolak
21st July 2012, 00:52
I run QTGMC using YUY2 and have no special issues with it.
As VIT said- you need mt_masktools-25.dll for this, even when you use 2.6MT.
kolak
23rd July 2012, 10:29
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?
Have no idea why, but now I do have 30fps with very fast presets- not sure what have changed- I don't remember changing any plugins, but maybe I did. Strange for me, but it works 3x faster than it use to!
nikosvault
24th July 2012, 21:00
I am struggling to get QTGMC to work, at least outside of the standard preset. When I just use QTGMC(), everything looks great, but when I add SourceMatch or Lossless or Placebo, the videos become absolute pants. :confused:
loadplugin("C:\AviSynth 2.5\plugins\DirectShowSource.dll")
loadplugin("C:\AviSynth 2.5\plugins\mvtools2.dll")
loadplugin("C:\AviSynth 2.5\plugins\mt_masktools-25.dll")
loadplugin("C:\AviSynth 2.5\plugins\nnedi3.dll")
loadplugin("C:\AviSynth 2.5\plugins\RemoveGrainSSE2.dll")
loadplugin("C:\AviSynth 2.5\plugins\RepairSSE2.dll")
loadplugin("C:\AviSynth 2.5\plugins\SSE2Tools.dll")
loadplugin("C:\AviSynth 2.5\plugins\nnedi2.dll")
loadplugin("C:\AviSynth 2.5\plugins\nnedi.dll")
loadplugin("C:\AviSynth 2.5\plugins\EEDI2.dll")
loadplugin("C:\AviSynth 2.5\plugins\TDeint.dll")
loadplugin("C:\AviSynth 2.5\plugins\ColorMatrix.dll")
loadplugin("C:\AviSynth 2.5\plugins\eedi3.dll")
loadplugin("C:\AviSynth 2.5\plugins\VerticalCleanerSSE2.dll")
loadplugin("C:\AviSynth 2.5\plugins\AddGrainC.dll")
loadplugin("C:\AviSynth 2.5\plugins\FFT3DFilter.dll")
loadplugin("C:\AviSynth 2.5\plugins\dfttest.dll")
LoadCPlugin("C:\AviSynth 2.5\plugins\yadif.dll")
import("C:\AviSynth 2.5\plugins\QTGMC.avsi")
DirectShowSource("C:\AviSynth 2.5\plugins\1.mpg")
converttoYv12(interlaced=true)
AssumeTFF()
QTGMC(Preset="Slower", SourceMatch=3, Lossless=2)
ColorMatrix(mode="Rec.601->Rec.709")
QTGMC()
https://rapidshare.com/files/3271469618/QTGMC().mp4
QTGMC(Preset="Slower", SourceMatch=3, Lossless=2)
https://rapidshare.com/files/2333402076/Preset slower_ SourceMatch 3 Lossless 2.mp4
-Vit-
25th July 2012, 11:39
Problem is source filter. Only use DirectShowSource as a last resort.
nikosvault
25th July 2012, 15:29
Problem is source filter. Only use DirectShowSource as a last resort.
Thanks. Work perfect with mpeg2source.
dee23
26th July 2012, 23:46
Script works great, though I'm not sure why I'm getting a slight audio delay (by a second or so).
Everything is left at default:
mpeg2source("video.d2v") # DGDecode_mpeg2source, FFVideoSource, AviSource, whatever your source requires
QTGMC( Preset="Slower" )
SelectEven() # Add this line to keep original frame rate, leave it out for smoother doubled frame rate
Edit: I want to upload my video(s) onto youtube, what do you suggest I use as far as settings go? Double my framerate? resolution, etc?
The media-info for the footage I want to deinterlace:
720x480, Top Field First, Interlaced, 29.97fps.
manono
27th July 2012, 08:36
Script works great, though I'm not sure why I'm getting a slight audio delay (by a second or so).
It's nothing to do with the script. Remove the audio delay using DelayCut.
I want to upload my video(s) onto youtube, what do you suggest I use as far as settings go? Double my framerate?
No, as YouTube will just halve the framerate because they don't support 59.94fps. It'll be better if you do it yourself using the SelectEven line shown above. And that's if it's really interlaced. If it's a movie, for example, it's not interlaced almost by definition. MediaInfo isn't reliable to tell you if the source is interlaced, only if it's been encoded as interlaced, a very different thing. Maybe it really needs to be IVTC'd. If you don't know how to tell the difference, maybe post a 10 second sample so we can have a look.
resolution, etc?
If you want a 480p video made available, then upload it as 480p. You could upload the source 720x480 but you'll then have to set an AR tag:
http://support.google.com/youtube/bin/answer.py?hl=en&answer=146402
Or resize it to some 1:1 resolution, one such as 640x480 or a 4:3 source.
dee23
27th July 2012, 11:31
It's nothing to do with the script. Remove the audio delay using DelayCut.
Thanks. Worked like a charm.
No, as YouTube will just halve the framerate because they don't support 59.94fps. It'll be better if you do it yourself using the SelectEven line shown above. And that's if it's really interlaced. If it's a movie, for example, it's not interlaced almost by definition. MediaInfo isn't reliable to tell you if the source is interlaced, only if it's been encoded as interlaced, a very different thing. Maybe it really needs to be IVTC'd. If you don't know how to tell the difference, maybe post a 10 second sample so we can have a look.
I don't know the difference, so here's a small clip of the footage I'm working with: http://www.sendspace.com/file/ihijs0
manono
27th July 2012, 18:32
Your video has already been deinterlaced (poorly) and then encoded as interlaced. It doesn't need QTGMC at all, unless you want to use its InputType mode (1,2, or 3) for progressive sources to try and control the aliasing/shimmering.
dee23
27th July 2012, 19:28
Your video has already been deinterlaced (poorly) and then encoded as interlaced. It doesn't need QTGMC at all, unless you want to use its InputType mode (1,2, or 3) for progressive sources to try and control the aliasing/shimmering.
Thanks for the info, but are you certain this was already deinterlaced? The original source (before encoding) is from a DVD, and the specs are: 720x480i @ 29fps
When I edit the VOB's in Sony Vegas or TMPGENC, I can clearly see interlace flickering/jagged lines - and when the video is finished re-encoding, I have these weird artifacts that appear. It looks pretty terrible on YouTube. So, to get rid of that stuff, I'm using OTGMC; the results look great. In fact, the script removes the jagged lines and extra noise in my video, and also look better on YouTube.
http://forum.videohelp.com/threads/313797-Best-deinterlace-method?p=1940003&viewfull=1#post1940003; scroll down to post #6: the first picture has similar artifacts to that in my video; the third looks much more clearer (which is what I'm looking for, and get when using QTGMC).
ZZZERO
27th July 2012, 21:04
Can someone tell why or why not one should use selecteven() in the script? I tried it both with and without that line and thought the quality was slightly better without selecteven() but it appears that some media players have a problem with 60fps playback. At least when I playback with vlc player it looks jerky and with poor audio synch. On zoom player and windows media player all is fine. Does that sound right?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.