I'm still a pretty big newb at video processing, but long story short, I have been using Handbrake for quite a few years to deinterlace/detelecine my videos, and a few months ago I decided to try my hand at avisynth to get better quality out of my encodes. Right now I have an animated source that I am trying to process using QTGMC, but I have encountered an issue with the multithreading feature. Basically, when I go above Prefetch(3) the output jerks on playback, similar to when you set the field order wrong. I am still not sure what is going on after reading up on QTGMC and multithreading, and would like to know if this is a case of user error (heh), a bug, or if my hardware is just limited to 3 threads when multithreading.
Here is my avisynth+ script for reference:
FYI, I've already tried setting AssumeTFF(), but that just results in actual field-order problems, so I'm pretty sure my source is BFF at this point. Also, the output looks fine when I set Prefetch to less than 4, but it is pretty slow and would like to improve my encoding speed if I can, hence my post. CPU usage at Prefetch(3) is around 50-60%, and 70%+ at higher Prefetch numbers. Anywho, thanks for the help! If I need to post more info, just let me know!Code:SetFilterMTMode("QTGMC", 2) FFMPEGSource2("Episode 14.mkv", atrack=-1) #I map the original MKV's audio and subtitle tracks to the output using FFMPEG AssumeBFF() QTGMC(preset="Medium", EdiThreads=3) Prefetch(4)
		
			+ Reply to Thread
			
		
		
		
			
	
	
				Results 1 to 9 of 9
			
		- 
	
- 
	There can be an issue with ffms2 and autothreads and certain prefetch values on some setups, it's not always frame accurate. Try FFMPEGSource2(threads=1) , or use Lsmash instead 
 
 If it's a MPEG2 source (e.g. from a DVD), it's more reliable to use MPEG2Source (demux, index with DGIndex) . Or use DGSource which supports MKV (not free)
 
 Animated sources will rarely be interlaced. Usually you wouldn't deinterlace with QTGMC
- 
	That's got QTGMC running perfectly. Thanks much for the help. 
 
 I've been trying to IVTC with strange results, so I just tried deinterlacing to see what would happen. The source is NTSC but has a PAL colorspace, at least according to MediaInfo, and I'd swear it looks telecined when stepped through in avidemux, but doing an IVTC causes chroma ghosting/combing that I can't seem to find an antidote for. I've wondered if the source could be field-blended, but I don't know enough about this topic yet to be able to say one way or the other. Anyway, I tried deinterlacing on a lark, and what do you know, it looks pretty darned good, and the audio seems more synched up than it did IVTC'd, but that could be the placebo effect. Anyway, if you want to take a look at a sample clip, I can upload one.Animated sources will rarely be interlaced. Usually you wouldn't deinterlace with QTGMC
- 
	Okay, here's a couple of samples, hopefully enough to see what I'm talking about. 
 
 animesample.mkv is a short clip from the original file, and sampleIVTC.mkv is that clip processed with these settings:
 
 It looks like the IVTC'd file has some ghosting and combing artifacts in some frames, and I have no idea how to handle those. Any help would be appreciated, even if it's just to help me understand why this is happening, and how I ought to be handling these files.Code:TFM(order=0, mode=0) TDecimate(mode=1) 
- 
	There is field "ghosting" or blending in the chroma, different than luma 
 
 Use this script with mpeg2source
 https://forum.doom9.org/showthread.php?p=1582950#post1582950
 
 You can add other filters to clean up if you want, but because it relies on srestore, you have to preview or process linearly. You cannot jump around
- 
	Oh wow, I've actually tried that script before, but I didn't realize I needed mpeg2source to make it work. Now, will I be able to use DGIndex with the mkv that I have, or will I need to use another filetype, such as vob? I'm seeing conflicting info (opinion?) on whether its a good idea to use an mkv containing mpeg2 video with DGIndex. 
 
 And when you say I'll need to process the video linearly, does that mean without multithreading? Sorry if that's a dumb question.
- 
	MPEG2 in MKV can be problematic for other source filters, they are less reliable. Certain versions might be ok in certain circumstances with threads=1, but not ok in others. Don't take that chance. Just get it right the 1st time. 
 
 DGIndex does not support MKV container. It requires you to demux the mkv (using mkvextract or one of the GUI's for it). Or you can use it on a VOB directly . DGIndexNV (not free) can work on MKV directly
 
 linearly means don't jump around to preview (you'll get mixed up frames). Go from start to end. Srestore does not work well with multithreading
- 
	Great! I've had to demux/remux MKVs before, so that shouldn't be an issue to figure out. 
 
 Thanks again, poisondeathray, really appreciate the help with this.
 
 Edit: Just wanted to update to say I got the script working, and the output looks great now! (Note to other newbs needing mpeg2source: download DGDecode, and put DGDecode.dll in the appropriate avisynth+ plugin folder) Thanks again, again!  Last edited by yesyesnoyes; 14th Dec 2020 at 03:20. Reason: Update: Issue Resolved 
Similar Threads
- 
  Qtgmc-GUI. A simple encoder for your Qtgmc scripts.By ProWo in forum Video ConversionReplies: 17Last Post: 4th Mar 2023, 03:01
- 
  QTGMC/IVTC issues on AVISynth/AvspModBy Fraugster in forum RestorationReplies: 33Last Post: 7th Aug 2019, 08:55
- 
  Multithreading QTGMC with AviSynth+By ZetaStax in forum Video ConversionReplies: 5Last Post: 16th May 2019, 08:23
- 
  Aliasing issues from QTGMC or source?By Ish Kabibble in forum Video ConversionReplies: 6Last Post: 21st Jun 2017, 10:49
- 
  A/V sync issues: MeGUI + AVISynth - PAL to 23.976 w/ QTGMC + SrestoreBy U2Joshua in forum Video ConversionReplies: 6Last Post: 17th Dec 2016, 12:29


 
		
		 View Profile
				View Profile
			 View Forum Posts
				View Forum Posts
			 Private Message
				Private Message
			 
 
			
			

 Quote
 Quote