VideoHelp Forum

+ Reply to Thread
Page 1 of 3
1 2 3 LastLast
Results 1 to 30 of 82
Thread
  1. 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
    Image Attached Files
    Last edited by nikkmann; 25th Jul 2022 at 18:08. Reason: fix link
    Quote Quote  
  2. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    The iso is not accessible it's asking for the user to login
    Quote Quote  
  3. Member
    Join Date
    May 2005
    Location
    Australia
    Search Comp PM
    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".
    Quote Quote  
  4. 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 googledrive
    Last edited by nikkmann; 8th Jul 2022 at 11:27. Reason: fix stuff again lol
    Quote Quote  
  5. Are you sure the video is TFF? Try changing to AssumeBFF(). I'm not going to install Mega's app to download the ISO.
    Quote Quote  
  6. 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
    Quote Quote  
  7. updated iso link to mediafire
    Quote Quote  
  8. 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.
    Quote Quote  
  9. 50 mins? dang, only takes 8 for me. And the same issue happens when I use DVDFab to convert it to an mkv with passthrough and try to use that instead. The video file becomes a .mpg but all the problems are still there.
    Quote Quote  
  10. Try this:

    Code:
    FFMPEGSource2("VTS_01_1.VOB", atrack=-1)
    AssumeTFF()
    TFM()
    TDecimate(Cycle=6, CycleR=1)
    BilinearResize(720,540)
    Prefetch(22)
    Or this:

    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)
    Those may drop one frame out of every 1001.

    The latter, encoded:
    Image Attached Files
    Quote Quote  
  11. 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
    Quote Quote  
  12. Looks like that method also produces some light artifacting every few frames, which is what I was hoping to avoid with QTGMC
    Quote Quote  
  13. 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.
    Quote Quote  
  14. oh, nice. Also, how do I make an index d2v file with DGIndex? Not seeing an option for it.

    EDIT: nvm, figured it out
    Last edited by nikkmann; 8th Jul 2022 at 13:02. Reason: ffrf
    Quote Quote  
  15. 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
    Image
    [Attachment 65816 - Click to enlarge]


    Frame 1723 has artifacting
    Image
    [Attachment 65817 - Click to enlarge]


    Frame 1724 looks good
    Image
    [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
    Quote Quote  
  16. 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.
    Quote Quote  
  17. Originally Posted by nikkmann View Post
    look at frame 1723
    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)
    I wouldn't go much higher than 2.0 as it will start ghosting and losing detail. Another NR option would be TemporalDegrain2(). Some other shots would benefit from a deblocking filter. If you're using 32 bit AviSynth try changing Mpeg2Source's CPU2="xxxxxx".
    Quote Quote  
  18. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    Originally Posted by nikkmann View Post
    Frame 1723 has artifacting
    Image
    [Attachment 65817 - Click to enlarge]
    Those are MPEG2 compression artefacts and imperfect motion estimation, not related to QTGMC. Not much you can do about it.
    Quote Quote  
  19. Image
    [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/MPEG2Source
    Last edited by nikkmann; 8th Jul 2022 at 18:01. Reason: dsds
    Quote Quote  
  20. Originally Posted by nikkmann View Post
    Image
    [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
    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)
    Quote Quote  
  21. 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.
    Quote Quote  
  22. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    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
    Quote Quote  
  23. 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.
    Quote Quote  
  24. 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.
    Image Attached Files
    Quote Quote  
  25. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    Parameters moderate_h and moderate_v to control the strength don't work?
    Quote Quote  
  26. Originally Posted by Skiller View Post
    Parameters moderate_h and moderate_v to control the strength don't work?
    I didn't even know about those. Maybe they weren't available when I first started using Mpeg2Source()? I'll have to check them out. Thanks.

    Do you know of a 64 bit version with those features working?
    Last edited by jagabo; 9th Jul 2022 at 22:32.
    Quote Quote  
  27. 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.
    Quote Quote  
  28. Member Skiller's Avatar
    Join Date
    Oct 2013
    Location
    Germany
    Search PM
    Originally Posted by jagabo View Post
    Maybe they weren't available when I first started using Mpeg2Source()?
    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.

    Originally Posted by jagabo View Post
    Do you know of a 64 bit version with those features working?
    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.
    Quote Quote  
  29. Originally Posted by jagabo View Post
    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.
    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
    Quote Quote  
  30. Did you try Mpeg2Source's deblocking?
    Quote Quote  



Similar Threads