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.
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:
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 02: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, 02:01 -
QTGMC/IVTC issues on AVISynth/AvspMod
By Fraugster in forum RestorationReplies: 33Last Post: 7th Aug 2019, 07:55 -
Multithreading QTGMC with AviSynth+
By ZetaStax in forum Video ConversionReplies: 5Last Post: 16th May 2019, 07:23 -
Aliasing issues from QTGMC or source?
By Ish Kabibble in forum Video ConversionReplies: 6Last Post: 21st Jun 2017, 09:49 -
A/V sync issues: MeGUI + AVISynth - PAL to 23.976 w/ QTGMC + Srestore
By U2Joshua in forum Video ConversionReplies: 6Last Post: 17th Dec 2016, 11:29