This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

[HELP] QTGMC appears to not be deinterlacing footage (or not doing so correctly)
#11
It is a great feeling to work with devs who are so responsive.  I'm looking forward to what you come up with!
Reply
#12
Okay, the source is 'telecined', not 'telecined (soft)' what I expected first.
Wrote a workaround which specifically handles MPEG-2 content from MakeMKV which is indicated as 29.97fps for the stream and vfr as normal telecined 29.97fps content.
Send you a new link via pm for testing.

Cu Selur
Reply
#13
You're fast!  I'm downloading the new dev version you sent now.  I'll run the file through it and report back.
Reply
#14
Thanks very much!  It appears to have deinterlaced perfectly.

The result with QTGMC does a much better job of retaining detail than Handbrake's best algorithm, but it does appear to have applied denoising.  Just to make sure... I'm not behind the times am I?  QTGMC is still the highest-quality deinterlacer available in Hybrid, right? If you have any recommendations on how to deinterlace without doing any other additional processing on the video (like denoising), I would really appreciate your advice.

I've attached a comparison of the deinterlacing and a log just in case you wanted to check for any unexpected results.
Reply
#15
Happy that worked for you, but why are you using QTGMC?
You should use a ivtc method like TIVTC otherwise you will end up with additional unnecessary duplicate frames.
Given that even with IVTC you have tons of duplicates, it doesn't really matter with this source.
The original progressive frame rate seems to be 11.988fps.

Cu Selur

Ps.: btw. https://imgsli.com/MjE2NjQ4 is a nice side for image comparison. Smile
Reply
#16
I know a lot about ripping/transcoding/multiplexing, but when it gets down to the very technical aspects of different types of media and details around the best way to handle specific source types, that's where my knowledge falls off a bit, so the short answer is that QTGMC is what everyone appears to recommend as the best method for deinterlacing, which is what led me to your product.  Since the source was broadcast at NTSC 29.970 FPS I don't understand how 11.988 FPS would be preferable, but I will mess around with TIVTC.  ...but I don't know what I'm doing or why TIVTC might be more appropriate...

I'm sponge for knowledge, so anything and everything you're willing to share about these things would be much appreciated.  I would like to understand deinterlacing in particular more deeply.
Reply
#17
Okay.
Deinterlacing and telecine (<>3:2 pull-down <- which most commercial NTSC content uses) are different things.
QTGMC is meant for interlaced content, not telecined, but one can combine these two. Wink
If you look at your source bobbed (= double frame rate deinterlacing) or same frame rate deinterlaced, you see tons of duplicates.
That is because, the original cartoon does not have 29.97 or 23.976 frames.
Most older cartoons were created with 11.976 fps or 18 fps and then they added duplicates to get to whatever frame rate they needed. In your case. it looks like they captured/painted 11.976 fps then added 12 duplicated (per second) to get to 23.976 and then used telecine (3:2 pulldown) to get to 29.97 which they needed for DVD/TV compliance. Smile

Content can be progressive, interlaced (tff/bff), field shifted, telecine, using some pulldown method and a wild mix of them (<- this is the worst; because someone didn't care).

So what you can do is:
a. bob deinterlace your content (end up with tons of duplicates)
b. (same frame rate) deinterlace (end up with tons of duplicates, but less than 1)
c. use a ivtc (=inverse telecine = 3:2 pullup) (end up with 'just' 12 additional frames per second)
if you don't mind the duplicate frames each of these is fine.
Usually, one tries to get down to the real (=unique) frames and then adds the frames back that you want to end up with.
To get to the original frames you look at the frames you get from the methods above (a.-c.) and look for patterns. (see the link I posted before)
In your case when using c. you clearly see that for each unique frame there is one duplicate, so instead of 24000/1001 your source has 12000/1001 unique frames.
To remove the duplicate frames one usually uses filters like TIVTC (if you got a clear pattern and adjust the settings this is fine) or something like sRestore. Smile

Quote:I know a lot about ripping/transcoding/multiplexing,...
transcoding = converting a content in format A to format A while staying in the same format, meaning no decoding Wink
You are re-encoding (encoded content get decoded and then encoded again). Wink

To get good encodes while not doing lossless encoding, you need filtering and that requires some understanding or video/image processing and how stuff is saved (compression formats, color formats, color matrices,...).

Cu Selur
Reply
#18
Thank you for writing that out.  I can't say I perfect understand everything, but I think I understand most of the general concepts of what you've explained.  Am I understanding correctly that the main benefit of IVTC would primarily be more compact files (due to the removal of unnecessary frames), but wouldn't yield a benefit in image quality?

If so, given the enormous variety of content I have to get through, and how much analysis time it would take to assess all of it, I might just stick with the more broad-brush approach of using QTGMC and accept I will be unnecessarily storing extra frames.

If I take the QTGMC approach, is the best way to have the "lightest touch" on the media to choose veryslow/placebo and check the "show noise" box to prevent noise reduction?  My goal is to deinterlace at the best quality, but not do any additional processing beyond that, because the trained AI upscaling models I will be using afterward will probably take care of noise removal and other image enhancement operations more intelligently than QTGMC would.
Reply
#19
As long they used frame duplication to archive the desired frame rate you are good, but if they used blending with it you might get stuff like:
[Image: grafik.png]
which you could get rid of with ivtc and other proper handling methods on the content.
So if you convert different stuff you might want to take a closer look.

Using Placebo and slow usually does more denoising with QTGMC. Wink
https://forum.videohelp.com/threads/4041...commend-it
and
https://forum.selur.net/thread-3448.html
might be interesting.
If you are confident in your ai method, you can use 'Custom' with 'Preset->Faster' 'Sharpness 0.5' and 'lossless' set to 'before sharpening'. The first thread also includes additional options to lessen QTGMCs filtering.

Cu Selur
Reply
#20
Good advice.  I will definitely keep an eye out for blended frames.

My head is spinning from those threads!  I don't know if I'll ever go that deep, but I have respect for folks like you who have navigated your way through every one of those settings to figure out the best configuration for a given use case.

On that note, I think I have the settings you recommended correct.  Does everything look good?
[Image: image.png]


I'd be interested in testing skiller's parameters from the thread you linked as well.  Is there a way to use the "addition" box to plug in all of this stuff or is that level of granularity not really possible via Hybrid?
QTGMC(TR0=2, TR1=2, TR2=1, Rep0=1, Rep1=0, Rep2=4,
\ DCT=5, ThSCD1=300, ThSCD2=110,
\ SourceMatch=3, Lossless=2, Sharpness=0.1, Sbb=0, MatchPreset="slow",
\ NoiseProcess=2, GrainRestore=0.0, NoiseRestore=0.4, NoisePreset="slow",
\ StabilizeNoise=false, NoiseTR=0, NoiseDeint="bob")
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)