I'm trying to use QTGMC to de-interlace an old dvd movie, Hot Wheels World Race. I ripped the dvd to an .iso using DVDFab and then copied over the first .vob file for the first bit of the movie, VTS_01_1.VOB. Plugged it into avisynth and instead of getting smooth playback with unique frames I get double frames and even instances where it jumps back to a previous frame. Its unwatchable at 60 fps, and the issues still happen at the movie's native fps but less so.
Here's my script:
SetFilterMTMode ("QTGMC", 2)
FFMPEGSource2("VTS_01_1.VOB", atrack=-1)
AssumeTFF()
QTGMC(preset="Slower",FPSDivisor=2,EdiThreads=6)
BilinearResize(720,540)
Prefetch(22)
Here's the mediainfo for the file: https://drive.google.com/file/d/1ZCOIFE0qqu9G2_J4Oh8UQQsPEbhSne7-/view?usp=sharing
And here's the .iso: https://drive.google.com/file/d/13a1eI1asy9mvXimMh126u0QqBeT4SdKh/view?usp=sharing
Thanks!
EDIT: .iso link updated again to googledrive
+ Reply to Thread
Results 1 to 30 of 82
-
Last edited by nikkmann; 25th Jul 2022 at 18:08. Reason: fix link
-
Set the security on that file in Google Drive as follows:
Right-click on file in Google Drive. Choose "Share".
On the Share screen, at General Access, set the dropdown to "anyone with the link". -
Somehow the first post got deleted while I was editing it so here it is again:
I'm trying to use QTGMC to de-interlace an old dvd movie, Hot Wheels World Race. I ripped the dvd to an .iso using DVDFab and then copied over the first .vob file for the first bit of the movie, VTS_01_1.VOB. Plugged it into avisynth and instead of getting smooth playback with unique frames I get double frames and even instances where it jumps back to a previous frame. Its unwatchable at 60 fps, and the issues still happen at the movie's native fps but less so.
Here's my script:
SetFilterMTMode ("QTGMC", 2)
FFMPEGSource2("VTS_01_1.VOB", atrack=-1)
AssumeTFF()
QTGMC(preset="Slower",FPSDivisor=2,EdiThreads=6)
BilinearResize(720,540)
Prefetch(22)
Here's the mediainfo for the file: https://drive.google.com/file/d/1ZCOIFE0qqu9G2_J4Oh8UQQsPEbhSne7-/view?usp=sharing
And here's the .iso: https://drive.google.com/file/d/13a1eI1asy9mvXimMh126u0QqBeT4SdKh/view?usp=sharing
Thanks!
EDIT: .iso link updated again to googledriveLast edited by nikkmann; 8th Jul 2022 at 11:27. Reason: fix stuff again lol
-
Are you sure the video is TFF? Try changing to AssumeBFF(). I'm not going to install Mega's app to download the ISO.
-
oh shoot I forgot mega is dumb like that. Hold on I'll upload somewhere else. And yeah its TFF, going to BFF makes the issues worse
-
I'm downloading from mediafire now. Looks like it's going to take 50 minutes. One thing you can try in the meantime is to use DgMpegDec instead of ffmpegsource2. Build an index file with DgIndex, then open the video via that index file with Mpeg2Source("VTS_01_1.d2v"). That source filter is much more reliable for VOB files.
-
Try this:
Code:FFMPEGSource2("VTS_01_1.VOB", atrack=-1) AssumeTFF() TFM() TDecimate(Cycle=6, CycleR=1) BilinearResize(720,540) Prefetch(22)
Code:Mpeg2Source("VTS_01_1.d2v", CPU2="ooooxx", Info=3) TFM(d2v="VTS_01_1.d2v") TDecimate(Cycle=6, CycleR=1) BilinearResize(720,540) Prefetch(4)
The latter, encoded: -
I'll give it a shot, but I was hoping to use QTGMC since its apparently the (almost) holy grail of de-interlacing. Any idea what the issue was?
Also, updated the links again to google drive for faster downloads -
Looks like that method also produces some light artifacting every few frames, which is what I was hoping to avoid with QTGMC
-
Try adding cthresh=12 (maybe a little higher, the default is 9) to TFM: TFM(d2v="VTS_01_1.d2v", cthresh=12). All those horizontal lines, along with comrpession artifacts, sometimes confuse the post processor.
Basically, that video isn't interlaced, it's telecined film. TFM().TDecimate() restores the original film frames rather than deinterlacing. -
The artifacts still seem to happen with cthresh=12. If you want an example, look at frame 1723. The frames before and after it are fine, but that one is noticeably worse.
Frame 1722 look good
[Attachment 65816 - Click to enlarge]
Frame 1723 has artifacting
[Attachment 65817 - Click to enlarge]
Frame 1724 looks good
[Attachment 65818 - Click to enlarge]
Screenshots are low res, the artifacting is worse looking if you actually watch it. Watching the video without the filters, looks like thats one of the frames thats interlaced. Every interlaced frame thats fixed by TFM has a bit of artifacting, but some are noticeably worse.Last edited by nikkmann; 8th Jul 2022 at 13:00. Reason: fix
-
Seems like it causes some double frames as well
EDIT: double frames were fixed going to mpeg2source, but noticed the fps is cut down from 29.97 to 24.75. Why's that?
EDIT 2: Nvm, I understand why. Its throwing away the duplicate frames that arbitrarily made it 29.97 fps.Last edited by nikkmann; 8th Jul 2022 at 16:16.
-
For me that's frame 1725. Those are compression artifacts in the source. They should be addressed by noise reduction after IVTC. If you like what QTGMC does to the picture you should try using its noise reduction option:
Code:Mpeg2Source("VTS_01_1.d2v", CPU2="ooooxx", Info=3) TFM(d2v="VTS_01_1.d2v") TDecimate(Cycle=6, CycleR=1) QTGMC(InputType=2, EZDenoise=2.0, DenoiseMC=true) # or TemporalDegrain2() BilinearResize(720,540) Prefetch(22)
-
-
[Attachment 65821 - Click to enlarge]
I'm using 64 bit, but I had to remove the cpu2 parameter because it was giving me an error saying it doesnt exist.
Got it from the link here: http://avisynth.nl/index.php/DGDecode/MPEG2SourceLast edited by nikkmann; 8th Jul 2022 at 18:01. Reason: dsds
-
There are several versions of the filter floating around now. Some have removed the parameter, some just ignore the parameter. Only the older 32 bit version actually use it. You can try using other deblocking filters like deblock_qed(). It's not as effective (but also blurs less):
Code:Mpeg2Source("VTS_01_1.d2v", CPU2="ooooxx", Info=3) TFM(d2v="VTS_01_1.d2v") TDecimate(Cycle=6, CycleR=1) deblock_qed(quant1=35, quant2=40) QTGMC(InputType=2, EZDenoise=2.0, DenoiseMC=true) # or TemporalDegrain2() BilinearResize(720,540) Prefetch(22)
-
I was planning run this through an upscaler like video enhance ai so I'll probably just leave the deblocking up to that.
And after jumping back and forth between TFM an QTGMC, TFM produces the better "untouched" output, so I'll stick with that. -
Just to set your expectations; a frame with motion estimation artefacts (not just your usual ringing and blocking), such as the above, will never turn out looking good. There is too much damage.
On top, when it comes to deblocking, there is little one can do before it starts to produce unwanted side-effects, most notably blurring. But MPEG2Source has one advantage over any other filter or software that you may apply afterwards: it knows the MPEG2 video's quantization levels and is able to adjust it's deblocking strength accordingly. That means it is not going to blur the crap out of a scene with low quantization (=good quality).Last edited by Skiller; 19th Jul 2022 at 08:09. Reason: typo
-
hmm, in that case how can I get the cpu2 function to work? Is there a link to a .dll that still has it?
I'll probably still leave it as "raw" as possible for the ai upscale program, but I was also wanting to release just a better "normal" version without any upscaling and that sounds like it would be the best option. -
Here's the 32 bit version that I have. I don't remember where it came from.
In my opinion it deblocks a little too much. Unfortunately, there's no control over the strength, just on/off. -
Parameters moderate_h and moderate_v to control the strength don't work?
-
Last edited by jagabo; 9th Jul 2022 at 22:32.
-
Decided not to go with the de-blocking for the base version, and just encode it as is. This is the script I ended up using from jagabo. Trying to run the vob through ffmpeg caused stuttering that was fixed with mpeg2source.
Mpeg2Source("VTS_Full", Info=3)
TFM(d2v="VTS_Full.d2v")
TDecimate(Cycle=6, CycleR=1)
BilinearResize(720,540)
Prefetch(22)
I stitched all parts of the movie together in the .d2v file with DGindex and named that as VTS_Full. Came out great. -
Maybe, but I am sure I used the two moderate settings as early as when I started using vanilla DGDecode in about 2005. I never bothered with modified versions, so I can't say if they were missing at first in those.
No, never investigated that. Using standard 1.5.8 version.
I would like to note that, contrary to what one might expect, moderate_h and moderate_v control only the deblocking sensitivity, not the deringing. As far as I know there is no way to control deringing strength. I always found the deringing way too strong so I settled with cpu2="xxxxoo" (no deringing, only deblocking), plus less aggressive moderate_h/v settings. -
So Video Enhance AI is not giving me great results. Even with custom tuning their Proteus model over the last few days, its always either too much detail lost or not enough deblocking/denoising. I know its always going to be a trade-off between detail and clarity, but its pretty much either all or none with VEAI.
I decided to use nnedi3 in avisynth to get the video up to 4k (well, 2880x2160), but I haven't been able to find any deblockers/denoisers that remove enough. I've tried a few and even when I crank their respective strengths up to the max, it barely puts a dent in the artifacts present in the movie.
Do you have any filters you recommend?
Here's my current script:
Mpeg2Source("VTS_Full.d2v",Info=3)
TFM(d2v="VTS_Full.d2v")
TDecimate(Cycle=6,CycleR=1)
bilinearresize(720,540)
nnedi3_rpow2(rfactor=2,qual=2,pscrn=4,fapprox=0)
Prefetch(22)Last edited by nikkmann; 19th Jul 2022 at 00:08. Reason: cdcd
Similar Threads
-
Solved: Deinterlacing with QTGMC blends frames together
By PRAGMA in forum Newbie / General discussionsReplies: 6Last Post: 15th Apr 2023, 03:19 -
Blended Frames during QTGMC - 25fps assuming bad authoring to PAL format?
By LaserBones in forum Newbie / General discussionsReplies: 3Last Post: 18th Jul 2020, 06:33 -
QTGMC and stutter
By Barrythecrab in forum Video ConversionReplies: 42Last Post: 19th Sep 2019, 06:42 -
QTGMC Doubling Frames Instead of Interpolating?
By LucasAuraeius in forum Newbie / General discussionsReplies: 15Last Post: 25th May 2019, 14:00 -
Repair Jumping Frames and make a 50p from 50i with QTGMC
By diginoob in forum RestorationReplies: 44Last Post: 13th Aug 2018, 21:53