I am deinterlacing a source with TIVTC and the same source with QTGMC. QTGMC provides the best looking results out of the two, but there's an issue I wish to know about.
The original length of the video is 21:18:310 and 38311 total frames. (This is before anything is done to it in AVISynth or MeGui.
When the TIVTC deinterlace suggested by MeGui's analyze detection is used, the length of the video goes to 21:18:276 and the total amount of frames goes from 38311 to 30648
When I use QTGMC it changes the length to 21:18:327 and the amount of frames goes from 38311 to 76623 which is ALOT more frames, practically double.
While thats not really a big difference in length, its not the length of the source or the sources total frame count.
I added in srestore(23.976) right below QTGMC and the video becomes 21:18:318 in length and has a total frame count of 30649.
The time is closer but the frame count still isnt right. I doubt 00:00:008 worth of time is about 8000 frames difference.
Whats up with all the deinterlacers changing the total time of the output video and the total frames? Is this screwing up the video somehow?
I used QTGMC(preset="slow") and srestore(23.976) on the other episodes that are on this same disc and the frame count and length stay exactly the same as the other deinterlacer and close to the source, but when I get to this episode, it behaves like mentioned above.
All other episodes MeGui said to use this tfm(order=1).tdecimate(mode=1,hybrid=1) but this one Im having trouble with that I mention above, MeGui said to use this tfm(order=-1).tdecimate(mode=1,hybrid=1)
as you can see the order is -1 instead of 1.
Is this whats causing me all of the frame and length issues I mentioned above when trying to get QTGMC to work without changing frame count or length?
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 17 of 17
Thread
-
-
Guest34343Guest
It's doing double-rate deinterlacing (bobbing). I don't know the parameters off hand but if possible configure it for single-rate deinterlacing. If that's not possible, then follow it with SelectEven().
-
Yes, QTGMC() gives you two frames per source frame (each source frame contains two half-pictures, QTGMC() converts each half picture into a full picture; then the frames are played twice as fast). TIVTC() gives your 4 frames for every 5 source frames (when film is telecined 4 film frames are converted to 5 video frames, TIVTC() undoes this, then the frames are played at 4/5 the source frame rate). The running times are slightly different because of rounding errors. For example, with TIVTC() if there are only three frames at the end of the video you can't convert them into 2.4 frames. You have to convert them into 2 or 3 frames.
Use the FPSDivisor=2 option if you want QTGMC() to give the same frame rate as the source. -
Is that FPSDivisor needed jagabo or is QTGMC just fine without it? Ive never heard of it before until just now.
Would accepting the QTGMC with srestore(23.976) be fine? or is that giving out of sync ending results because QTGMC has different overall length? The time difference is less than a second, I dont think a time difference that small could produce any noticeable out of sync with audio issue could it?
Will it be okay to use QTGMC without FPSDivisor?
Is making sure QTGMC has the same framerate as the source going to be of any benefit over just using QTGMC without the FPSDivisor? -
Guest34343Guest
You need SRestore only when your source is a blended fields format conversion. Is that what you have?
-
If you have true interlaced material (like live sports), and you want full motion smoothness, and you have a player that supports 60 fps playback, you want to use QTGMC() without decimation. If you have telecined film you don't want to use QTGMC() at all. You want to inverse telecine instead -- with something like TFM().TDecimate(). If you have a field blended PAL/NTSC conversion you may want to use QTGMC() (or a faster bob deinterlacer like Yadif(mode=1) and SRestore().
-
I dont know if its blended field conversion or not. Its anime that MeGui says to TIVTC it with the top result posted below.
Heres the results I get with each one. They are all captures of the same exact frame #
tfm(order=-1).tdecimate(mode=1,hybrid=1)
tfm(order=-1).tdecimate(mode=1,hybrid=0)
QTGMC(preset="slow") srestore=(23.976)
The QTGMC looks best to me and theres no ghosting like the TIVTC appears do when its hybrid=1. QTGMC runs smooth and it looks like it fixed or reduced aliasing in the girls hair.
You said "If you have telecined film you don't want to use QTGMC() at all."
Is QTGMC the wrong choice here?Last edited by killerteengohan; 14th Jun 2014 at 11:33.
-
I tried out the FPSDivisor and it did as you said, the frame count and ending time are the same as the source before being deinterlaced. I read up on FPSDivisor that you mentioned since I never heard of it before and It had this to say.
"By default QTGMC outputs video at "double-rate", twice the frame rate of the source. This is because there are two separate images (fields) in every frame, which the deinterlacing process restores in full. By setting FPSDivisor to 2, every second frame is dropped and the output frame rate is the same as the source ("single-rate")
Single-rate output may look a little stuttery, depending on how the source was filmed/created."
If its dropping every second frame, isnt that taking some of the video footage and tossing it out causing loss of some video? -
You need to know what your source is. Anime is mostly created at 23.976 fps* then telecined to 29.97 fps (really 59.94 fields per second) for TV. Inverse telecine is best for converting that. A double frame rate bob will not improve motion in that type of source. But sometimes elements are added as 29.97 fps interlaced (scrolling titles, for example) and require double fps to retain smooth motion. You'll need to provide video samples of your source before anyone can advise you on specifically how to handle it.
As you've noticed, QTGMC() does a lot of edge "cleaning" as part of its deinterlacing. So people sometimes use it just for that (by specifying InputType=1). That cleaning might be done better or faster by some other filters though. QTGMC() occasionally makes errors when deinterlacing, especially with anime and cartoons. Be careful when using it.
* To reduce the number cells that need to be painted, the character animation of cartoons is usually less than the 24 fps film frame rate. 12 cells per second is common -- each cell is shot twice to make two identical 24 fps film frames.. But panning shots are usually created at 24 fps by moving the cells with each film frame. 24 fps film is almost always slowed to 23.976 fps when telecined. -
Thanks for the info!!
I can give you a sample video but I noticed something wierd with the sample.
I used DGIndex to put out a 5 second video of the ghosting scene to give you a sample and my script, and when I used the script on that 5 second clip the ghosting isnt there, but when I use it on the full episode, the ghosting is there. I tried a 5 minute clip starting from the beginning of the episode and it still doesnt ghost. Why would the full one have ghosting then?
Does that mean anything that can possibly help me?
Would giving you a 1 minute sample and the script I'm using still help, knowing what I just mentioned?
Apparently you wont see the ghosting I do in the episode when using the script on the sample clip. -
What script? The one you showed earlier?
tfm(order=-1).tdecimate(mode=1,hybrid=1)
Any ghosting is almost certainly caused by that 'hybrid' crap. It should almost never be used. Don't rely on MeGUI or anything else to tell you what you have and how it should be treated. Use your eyes. And, yes, a sample will still be useful. But no one cares about the script you're using. Try your script on the full episode, but without the 'hybrid' and see if there's still any ghosting. -
No, thats not the full script, just the deinterlacer in the script. I can turn off hybrid=1 to hybrid=0 as I showed above and the ghosting goes away. Problem is, the lines don't look as good and artifacts are more visible. Save them both and look at them one right after another flipping back and forth, or zoom in with paint and look at them both. The one MeGui suggested looks cleaner and the rainbows look more controlled and less visible. They Hybrid=0 gets rid of visible ghosting but seems to degrade the overall quality. Rainbows/discolorations are more visible, look at the fist on the top right. lines look less smooth, look at the lines on his pants.
tfm(order=1).tdecimate(mode=1,hybrid=1)
tfm(order=1).tdecimate(mode=1,hybrid=0)
I found something out though that seems to have helped. Not sure if its a fix or not because it pretty much looks like hybrid=0 above but a tad bit better looking like the hybrid=1 above. (Screenshot posted below) I used the DGIndex 1.5.7 program to get those sample clips for you. They didn't ghost but the full episode from MeGui did. So I tried file indexing the entire episode with DGIndex 1.5.7 instead of MeGui's built in file indexer which I always use, and the ghosting is gone just like in the samples I was going to give.
DGIndex 1.5.7 - tfm(order=1).tdecimate(mode=1,hybrid=1)
Overall the one that's giving me the ghosting issues seems to look the best.
Are you sure Hybrid=0 is the better pick and that hybrid should almost never be used? I read elseware that Hybrid=1 is for anime's and best for them.
MeGui always picks Hybrid=1 or Hybrid=3 for anime's. I always change Hybrid=3 to Hybrid=1 because 3 ghosts ALOT.
(Anyways heres the untouched sample and the script I was using on it.)
https://mega.co.nz/#!Btx1jA4R!t46jFn0j1VhwOWmWtueotdEWDfxgu3_g16quzSbAQRY
checkmate(tthr2=0)
bifrost()
tfm(order=1).tdecimate(mode=1,hybrid=1)
hqdering()
LimitedSharpenFaster(ss_x=2.0, ss_y=2.0, strength=160, overshoot=0, undershoot=0, soft=0, edgemode=0)Last edited by killerteengohan; 16th Jun 2014 at 04:13.
-
First, an IVTC isn't deinterlacing, it's field matching and removing the dupes. One by-product of an IVTC is that it's no longer interlaced, but it doesn't get rid of the interlacing by deinterlacing.
Second, are you supposed to apply those two filters before the IVTC? I don't know and am just asking. I no longer work with anime and others would know better.
I can turn off hybrid=1 to hybrid=0 as I showed above and the ghosting goes away.
Are you sure Hybrid=0 is the better pick and that hybrid should almost never be used?
I always change Hybrid=3 to Hybrid=1 because 3 ghosts ALOT.
Personally, I think you have 'filteritis', an affliction common with rookies that think throwing a ton of filters at anime makes it look good. -
Second, are you supposed to apply those two filters before the IVTC? I don't know and am just asking. I no longer work with anime and others would know better.
Personally, I think you have 'filteritis', an affliction common with rookies that think throwing a ton of filters at anime makes it look good.
I didn't just throw them in for no reason hoping to make it look better. This is for 'me' after all and not to please everyone else, so what I think looks more to my liking is generally my call I would say.
Anime is sometimes really hybrid. An opening song might have true 29.97fps sections. Or the end credits might be interlaced 29.97fps rather than hard telecine. But you shouldn't ever use that hybrid=1 unless you've confirmed there's hybrid material in there.
Were you able to tell from that small sample that I gave? You didn't really say anything about the sample. -
-
I didn't say anything because I didn't feel like taking the time to study it then. Now I've had a look and none of it is hybrid. It's all meant to be played at 23.976fps after a standard IVTC. Of course, most of it was drawn at 8 or 12fps and plays at 23.976fps with duplicates. But none of it is natively 29.97fps. There's no hybrid material in that sample. It all field matches correctly and nothing is post-processed (deinterlaced):
TFM()
TDecimate(Mode=1)
How can I find out or know for sure if my source is a hybrid or not?
...the sharpening can cause halos or ringing to appear which I dislike and the hqdering reduced it