The problem in a nutshell is that there is no magic bullet for deinterlacing. Even the best scripts in programs like Avisynth require that you have knowledge of the content of the file you are working with, because how it is “deinterlaced” will vary from file to file.
It is nice when you have a straight, easy to deinterlace file that has no variable framerate issues and a is just straight deinterlacing, but if you have a mixed frame footage, which a lot of DVD’s from the 90’s people try to upscale have, you have to make decisions on how to handle the changes in framerate that are buried in the telecine.
Do you drop a frame from the 29.97 sections and make it look more jerky so it plays back at 23.976? Do you motion interpolate the 23.976 sections to increase their framerate back to 29.97? What do you do when you just so happen to have genuine interlacing mixed in with the variable frame rate and telecining?
Add in Anime VFR and most people throw in the towel. There was even a script developed specifically for how painful Anime was, though its hard to find now and most people just use combinations of QTGMC and TFM/TDecimate scripts.
You can also if you choose find the common denominator and make everything effectively 120fps. This is the lowest number where both framerates coincide to avoid any dropped frames.
Currently I am IVTCing back to a 59.94 to have a general smooth playback throughout regardless of changing sections, but doing so required an extremely custom script that took some of the most experienced users on the Doom9 forums over 20x pages of forum threads to work out - and there was still disagreement between users as to which way to handle it.
I like it - but it increases the number of frames for upscaling drastically so slows down the upscale process a lot.
At the end of the day, Topaz can handle straight deinterlacing with no complications, but if you plug in anything else and don’t pre-process it, you will always have issues in Topaz, which can include strange framerate problems, interlacing artifacts not being removed, and sound de-sync to name a few.
To give you an idea, this is my current IVTC script I am using on the DVD’s presently:
A=Tfm(field=1,mode=0,slow=2,pp=2,mchroma=false,cthresh=-1,micmatching=0).converttorgb().generalconvolution(matrix = "0 -1 0 0 4 0 0 -1 0",divisor=2,auto=false).converttoyv12()
B=Tfm(field=0,mode=0,slow=2,pp=2,mchroma=false,cthresh=-1,micmatching=0).converttorgb().generalconvolution(matrix = "0 -1 0 0 4 0 0 -1 0",divisor=2,auto=false).converttoyv12()
C=Tfm(field=1,mode=0,slow=2,mchroma=false,cthresh=-1,clip2=A,d2v="D:\Video\NTSC Season 4\Disk 6\Episode 23\VTS_03_1.d2v",flags=1,micmatching=0)
D=Tfm(field=0,mode=0,slow=2,mchroma=false,cthresh=-1,clip2=B,d2v="D:\Video\NTSC Season 4\Disk 6\Episode 23\VTS_03_1.d2v",flags=1,micmatching=0)
interleave(C,D)
But the first challenge is always identifying what type of content you have as things like Mediainfo just don’t help enough. Also, Joel Hruska did several DS9 posts on the challenges of upscaling the VFR in those DVD’s and gave several different options to pre-process which you can check out here, aptly titled “Variable Frame Rate DVD’s can burn in hell”
As an extract, if not wanting to read it all:
Star Trek: The Next Generation, Deep Space Nine, and Voyager weren’t recorded in anything as sensible as a steady 23.976fps. When these shows aired in the 1980s and 1990s, they were constructed from at least two different types of content: 23.976fps progressive content and 29.97fps interlaced content. Episodes of these shows do not run at one frame rate; they run at different frame rates depending on what’s happening on-screen. A show that runs at one frame rate, start to finish, uses Constant Frame Rate encoding (CFR). Deep Space Nine, TNG, and VOY all use VFR. Stargate SG-1 and Babylon 5 do the same thing. Most of the best nerd content of the late 1990s and early 2000s is locked behind media that go for this kind of manipulation.
Topaz Video Enhance AI is not the only application that gets confused by VFR content. I’ve been using StaxRip as a front-end for AviSynth+ and have been mystified as to why the program constantly detects a frame rate of 24.66fps when loaded with MakeMKV source. It turns out that 24.66fps is the average frame rate over the entire episode if you average together the relatively small number of 29.97fps scenes with the much larger number of 23.976fps scenes.