VideoHelp Forum
+ Reply to Thread
Results 1 to 17 of 17
Thread
  1. 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?
    Quote Quote  
  2. Guest34343
    Guest
    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().
    Quote Quote  
  3. 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.
    Quote Quote  
  4. Guest34343
    Guest
    Originally Posted by jagabo View Post
    Use the FPSDivisor=2 option if you want QTGMC() to give the same frame rate as the source.
    Good to know. Thank you.
    Quote Quote  
  5. 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?
    Quote Quote  
  6. Guest34343
    Guest
    You need SRestore only when your source is a blended fields format conversion. Is that what you have?
    Quote Quote  
  7. 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().
    Quote Quote  
  8. 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.
    Quote Quote  
  9. 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?
    Quote Quote  
  10. 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.
    Quote Quote  
  11. 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.
    Quote Quote  
  12. Originally Posted by killerteengohan View Post
    ... 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.
    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.
    Quote Quote  
  13. Originally Posted by manono View Post
    Originally Posted by killerteengohan View Post
    ... 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.
    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.
    Quote Quote  
  14. 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.
    Wasn't that what you were complaining about - the ghosting? I'm not sure I accept your claim that the resulting video, while no longer ghosted in places, is somehow inferior to the result with Hybrid=1 in the script. I didn't go through the pictures.
    Are you sure Hybrid=0 is the better pick and that hybrid should almost never be used?
    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. I sure wouldn't take MeGUI's word for it. And even then I wouldn't use it. SmartDecimate is about the best IVTC I've seen to handle true hybrid material. And I'd almost rather have jerky resulting material than that ghosted stuff, especially for anime which plays pretty jerky to begin with usually. But I don't speak for everyone and there's no easy answer to the question if the result has to have a constant framerate.

    I always change Hybrid=3 to Hybrid=1 because 3 ghosts ALOT.
    You know why that is, don't you? If not maybe read the TDecimate doc.

    Personally, I think you have 'filteritis', an affliction common with rookies that think throwing a ton of filters at anime makes it look good.
    Quote Quote  
  15. 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.
    Yes generally you use a derainbower and dot crawl filter before deinterlacing. There are few instances or situations where using it after is okay and possibly better at times.


    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 don't think I was going by that notion. It had noise I wanted to clean up so I tried a weaker denoiser to help, it has lines I wanted to antialias/smooth out so the looked straighter, the sharpening made it look less fuzzy to me, the sharpening can cause halos or ringing to appear which I dislike and the hqdering reduced it (Yeah it has some side effects but worth it in my eyes), the derainbow filter was a must because rainbows are god awful in this source, and the checkmate was to fix dot crawl that is HIGHLY visible in the source.

    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.
    Okay so tell me this then. How can I find out or know for sure if my source is a hybrid or not?

    Were you able to tell from that small sample that I gave? You didn't really say anything about the sample.
    Quote Quote  
  16. Member
    Join Date: Sep 2012
    Location: Australia
    Search Comp PM
    Originally Posted by manono View Post
    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 think it's just more interesting that way. All this encoding could become a chore very quickly if it doesn't give you something to obsess about.
    Quote Quote  
  17. Originally Posted by killerteengohan View Post
    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?
    One way is to go over the likely places with it unfiltered (no IVTC). See during scrolling end credits if every frame is interlaced (pure video). Check some fast motion in an opening song to see if there's movement in every frame with no interlacing (progressive 29.97fps). Check some pans and scrolls in the main part to check for movement every frame (progressive 29.97fps).

    ...the sharpening can cause halos or ringing to appear which I dislike and the hqdering reduced it
    Wouldn't it make more sense to put HQDering on after LSF if you think LSF causes edge enhancement (which it doesn't, at least not to the degree of other sharpeners)?
    Quote Quote