VideoHelp Forum
+ Reply to Thread
Results 1 to 8 of 8
Thread
  1. So I've got this strange MOV file that must have been captured a while ago. It was probably captured with an AJA KONA capture card. I like to rewrap it to .avi for usage in Avisynth and it works just fine like that. 4:2:2 10-bit, SD video at 720x486.

    It appears to be interlaced, and also 23.976. When scrubbing a frame at a time it looks like three interlaced frames and one progressive. I can deinterlace it with QTGMC to 47.952 but then I get some stuttering as it jumps backwards and forwards, which as I understand it is *usually* fixed with AssumeTFF or AssumeBFF but in this case seems to not help either way.

    It's a bit of a conundrum because I would like to deinterlace it back to 23.976 if that is the original frame rate. I use QTGMC and then SelectEven to double and then halve the frame rate back to 23.976 but I think I lose some in-between frames in this manner, which I track with ShowFrameNumber.

    Here's a link to both a raw cut of a portion of the video, and the same portion encoded as FFV1 for those who want a smaller download.

    I have absolutely no idea what's going on with this video or what I can even do about it, I've never encountered something like this before. I can't do a simple SelectEven or SelectOdd because that seems to remove non-duplicate frames.
    Quote Quote  
  2. Formerly 'vaporeon800' Brad's Avatar
    Join Date
    Apr 2001
    Location
    Vancouver, Canada
    Search PM
    Nuke it from orbit and start over. A video should never be 23.976 interlaced. And to my knowledge no capture software would create a 486i23.976 file directly. It looks like this was mangled after capturing.

    I downloaded the FFV1 and it's not really 23.976; it's 23.9773 (fraction 1055/44 instead of 24000/1001).

    The 486-line image does not contain any vertical blanking at the top, which is highly unusual. Except for alternating half-lines at top and bottom, all lines contain "vision".

    The jump-backs despite setting AssumeTFF/BFF are caused by frame drops/inserts in the capture.
    My YouTube channel with little clips: vhs-decode, comparing TBC, etc.
    Quote Quote  
  3. For what it's worth: this appears to restore each film frame with no dups and no drops:

    Code:
    AviSource("InterlacedFilm-Raw.avi") 
    AssumeTFF()
    Bob() # or QTGMC, or bobber of your choice
    SelectEvery(8, 4, 5, 6, 8)
    You can see the smooth motion after about 4.25 seconds in the countdown. The cadence is likely to change later in the video.

    You should have supplied a clip from the body of the movie, not a highly artificial intro. The only usable (for purposes here) portion of the clip is 4.24 to 3.0 in the countdown.
    Image Attached Files
    Quote Quote  
  4. Originally Posted by Brad View Post
    Nuke it from orbit and start over. A video should never be 23.976 interlaced. And to my knowledge no capture software would create a 486i23.976 file directly. It looks like this was mangled after capturing.

    I downloaded the FFV1 and it's not really 23.976; it's 23.9773 (fraction 1055/44 instead of 24000/1001).

    The 486-line image does not contain any vertical blanking at the top, which is highly unusual. Except for alternating half-lines at top and bottom, all lines contain "vision".

    The jump-backs despite setting AssumeTFF/BFF are caused by frame drops/inserts in the capture.
    I've encountered resolutions of 720x486 before and I just crop the bottom 6 lines, but yeah this is the first time that I've encountered one that had a frame rate of 23.976 and was also interlaced.

    What are you using to check the frame rate that is showing you 23.9773? I'm just typically using AvsPMod or MediaInfo.

    Originally Posted by jagabo View Post
    For what it's worth: this appears to restore each film frame with no dups and no drops:

    Code:
    AviSource("InterlacedFilm-Raw.avi") 
    AssumeTFF()
    Bob() # or QTGMC, or bobber of your choice
    SelectEvery(8, 4, 5, 6, 8)
    You can see the smooth motion after about 4.25 seconds in the countdown. The cadence is likely to change later in the video.

    You should have supplied a clip from the body of the movie, not a highly artificial intro. The only usable (for purposes here) portion of the clip is 4.24 to 3.0 in the countdown.
    That looks good for that countdown, but yeah I am noticing some dropped frames for the body of the program after that SelectEvery method. I've uploaded a new clip to the same Google Drive link, a shot of a car driving down a road.
    Quote Quote  
  5. Originally Posted by Wrapscallion View Post
    That looks good for that countdown, but yeah I am noticing some dropped frames for the body of the program after that SelectEvery method. I've uploaded a new clip to the same Google Drive link, a shot of a car driving down a road.
    Yes, the cadence has changed in the new clip. SelectEvery(8, 0, 5, 6, 7) works with the new clip. You'll probably have work through the video in sections with the appropriate SelectEvery() for each section. Note that we're reconstructing fields and picking out a field from each of the original film frames. So you don't have all the vertical resolution of the film. But that's better than having herky jerky video.
    Quote Quote  
  6. You, of course, do not want to deinterlace, but instead want to do IVTC (inverse telecine). They are slightly related functions, but most definitely not the same thing. I don't have time to play around with clip, but I did look at the cadence, and I think the usual TFM()/TDecimate pair will give you what you want, even with some of the field reversals. You'll have to do some tuning. If pair can be tuned, you won't have to go hunting around for where the cadence changes and won't have to create a lot of Trim()/SelectEvery() pairs.
    Quote Quote  
  7. Formerly 'vaporeon800' Brad's Avatar
    Join Date
    Apr 2001
    Location
    Vancouver, Canada
    Search PM
    Originally Posted by Wrapscallion View Post
    What are you using to check the frame rate that is showing you 23.9773? I'm just typically using AvsPMod or MediaInfo.
    Info() in Avisynth. I loaded the FFV1 file with LWLibavVideoSource. Is it wrong?
    My YouTube channel with little clips: vhs-decode, comparing TBC, etc.
    Quote Quote  
  8. Originally Posted by jagabo View Post
    Yes, the cadence has changed in the new clip. SelectEvery(8, 0, 5, 6, 7) works with the new clip. You'll probably have work through the video in sections with the appropriate SelectEvery() for each section. Note that we're reconstructing fields and picking out a field from each of the original film frames. So you don't have all the vertical resolution of the film. But that's better than having herky jerky video.
    This video is just a little project for fun rather than anything important, so I don't think I'm going to go to the trouble of mapping out all of the different cadences. Just something for me to learn with.

    If I SeparateFields and step through the beginning countdown portion of the video, it looks like some of the fields which *should* go together are on even fields rather than one on an even field and one on an odd field. I'm not sure what causes that to happen, but I guess that's why that frame (or both fields) disappears entirely in some cases, because something like TFM probably can't pull the two fields together. So technically I could *maybe* try to manually swap the fields so they can get rebuilt properly, but that's a lot of effort for not much point.

    Originally Posted by johnmeyer View Post
    You, of course, do not want to deinterlace, but instead want to do IVTC (inverse telecine). They are slightly related functions, but most definitely not the same thing. I don't have time to play around with clip, but I did look at the cadence, and I think the usual TFM()/TDecimate pair will give you what you want, even with some of the field reversals. You'll have to do some tuning. If pair can be tuned, you won't have to go hunting around for where the cadence changes and won't have to create a lot of Trim()/SelectEvery() pairs.
    This is probably what I'm going to end up doing. I'll just play around with TFM and TDecimate some. As mentioned above it seems that some fields which should go together are actually both even fields, and thus get skipped over by TFM entirely, but if I want something good enough I could even go with the defaults.

    Edit: So, I don't really understand why I would just use TFM when I can use QTGMC(preset="Slower"), which results in a clearer picture with no obvious combing, and then just halve the frame count with SelectEven. This results in displaying the same exact frames that I get from TFM, and they just look a little bit better.

    Originally Posted by Brad View Post
    Originally Posted by Wrapscallion View Post
    What are you using to check the frame rate that is showing you 23.9773? I'm just typically using AvsPMod or MediaInfo.
    Info() in Avisynth. I loaded the FFV1 file with LWLibavVideoSource. Is it wrong?
    Yeah it's definitely 23.976, I just checked with the same tools you used. Strange, I don't know why it would show 23.9773.
    Last edited by Wrapscallion; 22nd Apr 2022 at 14:22.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!