I'm trying to encode one of my DVDs to x264 using MeGUI and I need some help. The image appears to be interlaced but only noticeable on scene changes.
MeGUI analyser says the source is progressive but this is clearly not true. I don't think it's interlaced but maybe field blended? I have tried TFM() and TFM(source=1) but neither looks quite right. There's also something strange going on with the text in the second sample.
I've attached 2 samples - please can someone advise?
+ Reply to Thread
Results 1 to 14 of 14
-
-
The videos are encoded interlaced. Most of the frames are progressive. Yes, there are comb artifacts on the scene changes where one field comes from one shot, one from the next. The text overlay in the second clip is interlaced, overlayed onto progressive frames.
You could smart bob to 50 fps and get smooth motion with the text overlay. Or just use TFM() to clean up the scene changes, followed by vInverse() if you want to remove the remaining comb artifacts caused by compression artifacts. The moving text will be deinterlaced to 25 fps by TFM(). -
What is a smart bob? I've googled it but I still don't know if it's a filter I need or what?
Last edited by duffbeer; 6th Sep 2016 at 16:27.
-
OK, I've tested a few scripts - thank for all your help. TFM() doesn't look great and if I add vInverse() it makes zero difference.
QTGMC looks great and I use it all the time so I think this is the best way to go. One last question - I want to keep the original frame rate for this video. Given that this is a PAL source, is it best to use SelectEven or SelectOdd? -
You can't keep the original frame rate AND have smooth scrolling titles. The titles are moving ever 1/50 second. If you don't mind 25 fps titles (and, other than the person who made them, who cares?) then you can use SelectEven ()or SelectOdd() after QTGMC().
I don't know why TFM() didn't work for you. Maybe add AssumeTFF() before it. That would be much faster and create fewer artifacts than QTGMC().SelectEven(). Though you would miss out on the other cleanup QTGMC() performs. -
Don't get me wrong - TFM() worked fine it just didn't look great. It leaves lots of jaggies around the on screen text. I tried adding vInverse() but it made absolutely no visible difference.
QTGMC wins again - even at 25fps it looks best. -
-
TFM's post-processor (its deinterlacer) is TDeint which is okay, but not all that good under certain circumstances, as you discovered. You can still use TFM to field match and at the same time have it use QTGMC to do the deinterlacing when needed, like so:
tdeintted = QTGMC().SelectEven()
tfm(clip2=tdeintted)
You can put on 'Display=True' to discover when the deinterlacer is kicking in and adjust the CThresh if necessary (if too much or too little is being deinterlaced).
tdeintted = QTGMC().SelectEven()
tfm(clip2=tdeintted,display=true) -
Thanks manono - I had no idea you could do anything like this. What's the advantage of this script? Why would I not just use QTGMC?
-
I was going to suggest TFM(clip2=QTGMC().SelectEven()) too but I suspected you want all the other cleanup QTGMC does (sharpening, noise reduction, edge smoothing...). The advantage of using the second clip is that only frames with interlaced elements will be processed by QTGMC (presumably only a small fraction of the video) leading to much faster processing. The disadvantage is that some frames will get the QTGMC cleanup and others won't.
-
The advantage is that you get a better deinterlacer than TDeint to handle the parts that need deinterlacing. With variations of that script you can use any post-processor you like.
Why would I not just use QTGMC?
QTGMC( InputType=0 ) #for deinterlacing and cleanup, or InputType=1 for cleanup alone of a progressive video
With that script, everything gets the QTGMC treatment. It's all well explained in the doc. -
Thanks again both of you. I've run a couple of tests using:
tdeintted = QTGMC().SelectEven()
tfm(clip2=tdeintted)
This seems to work OK but I wanted to try a double framerate test but if I remove SelectEven() the script fails. Can you tell me why? -
TFM creates one frame for each frame of the source. So clip2 must also have one frame for each frame of the source. You can use something like this for double frame rate with TFM():
Code:Mpeg2Source("sample1.d2v") AssumeTFF() q=QTGMC() even2 = q.SelectEven() odd2 = q.SelectOdd() Interleave(TFM(field=1, clip2=even2), TFM(field=0, clip2=odd2))
Last edited by jagabo; 8th Sep 2016 at 16:12.
Similar Threads
-
Avisynth script help?
By PeterNL in forum Newbie / General discussionsReplies: 6Last Post: 10th Dec 2014, 11:35 -
Help with the AVISynth script
By Tri P in forum Newbie / General discussionsReplies: 0Last Post: 24th May 2014, 06:22 -
avisynth - How to write avisynth script for rgba overlay
By moelover in forum EditingReplies: 3Last Post: 13th Apr 2014, 12:24 -
How can i Use VDub Script[.vcf] into Avisynth Script[.avs] ( Megui )
By Maskoff in forum EditingReplies: 1Last Post: 25th Jun 2013, 15:30 -
avisynth script
By mmbwdpnz in forum Newbie / General discussionsReplies: 6Last Post: 24th Feb 2013, 00:01