inverse telecine with 60 fps progressive video
I'm having difficulty getting a filter to correctly inverse telecine 60 fps progressive material that has been damaged by reception problems and edits with the new EDL code. In all cases -fps is set to 59.94 and -ofps is set to 23.976. filmdint works perfectly on perfect material but often when the 3:2 pattern is lost, it does the worst thing possible by getting the 3:2 pattern backwards. That means it pulls the first and last frames from the three frame sequence and completely skips the two frame sequence leaving me with 12 fps video. It will continue to do this until another break in the pattern somehow causes it to start working again. Verbose mode shows that it's correctly recognizing the duplicate frames (the sad values are all zero for those frames) but it never realizes it's doing it all wrong. The options I'm using are: filmdint=io=5:2/dint_thres=256/sad_thres=0/diff_thres=0. pullup+softskip (the latest version in CVS) also works perfectly on perfect material with strict breaks set to 1. It even does somewhat better with the troublesome pattern breaks but it still doesn't completely recover. It often bounces back and forth every few seconds from pulling the right frames and pulling the stuttery 12 fps pattern like filmdint does. I need to run this with verbose turned on to see why it's not recovering. ivtc=1 simply doesn't work. It picks the wrong frames from the very beginning. I guess it's not expecting to see multiple progressive frames. Would another filter like decimate help these filters by removing the duplicate frames, giving the filters something closer to what they expect? It seems like this should be a very easy pattern to pull from since all the frames are progressive and clean (just that some of them are missing sometimes).
On Wed, 06 Apr 2005 23:53:47 -0700 "Scott W. Larson" <scowl@pacifier.com> wrote:
Would another filter like decimate help these filters by removing the duplicate frames, giving the filters something closer to what they expect?
Have you tried prefixing those inverse-telecine filters with "softpulldown"? It should help. I'm sure it would be helpful to the developers if you would be able to provide a sample of this very problematic video.
On Wed, 06 Apr 2005 23:53:47 -0700 Have you tried prefixing those inverse-telecine filters with "softpulldown"? It should help.
I figured that softpulldown would make it worse. The man page says this filter is for video that's partially soft telecined with proper MPEG-2 flags. This video is not soft telecined at all. It seemed like it would create even more duplicate progressive frames which I suspect the inverse telecine filters aren't made to handle in the first place. Also the man page says the filter is made to help ivtc and detc and I'm not using either of those filters.
I'm sure it would be helpful to the developers if you would be able to provide a sample of this very problematic video.
Remember that the problem is a result of the EDL cuts (or the dropouts) breaking the 3:2 pattern, not the video itself. I think what I need to do is extract a portion of the original that has an EDL edit that causes the trouble, run mencoder on it with no inverse telecine filters and let the EDL code make the troublesome edit. That should give me a 60 fps progressive clip that should still make the inverse telecine filters go funny when I mencoder it again. If this works, I'll post the 60 fps clip for everyone. In theory I could manually adjust the time of a troublesome edit to make it cut a frame or two later. This would be a lot of work since I'd have to verify that every cut in the EDL file works and manually fix every one that causes trouble. It would better if the filter could figure it out without my help. The good news is that this is the only serious problem I've had with the new frame-skipping EDL code. It usually gives me an absolutely seemless video edit. The cut often whacks an audio packet but audio codecs handle that well and it's rarely noticable.
On Wed, Apr 06, 2005 at 11:53:47PM -0700, Scott W. Larson wrote:
I'm having difficulty getting a filter to correctly inverse telecine 60 fps progressive material that has been damaged by reception problems and edits with the new EDL code. In all cases -fps is set to 59.94 and -ofps is set to 23.976.
The inverse telecine filters only operate on 30i input, not 60p. Assuming this is hdtv content, there's a hack you can use that will probably get it right: -vf tinterlace,pullup (or your favorite ivtc filter) Afterwards your video will be double-height so you'll need to do something to fix that (e.g. scale). Test and see what the results are like. Rich
The inverse telecine filters only operate on 30i input, not 60p. Assuming this is hdtv content, there's a hack you can use that will probably get it right:
-vf tinterlace,pullup (or your favorite ivtc filter)
That's sounds crazy enough to work. :-) Is the goal of tinterlace here simply to drop every other frame? Could I use tinterlace=1 or tinterlace=2 to prevent merging frames in the first place?
On Thu, Apr 07, 2005 at 10:12:31AM -0700, Scott W. Larson wrote:
The inverse telecine filters only operate on 30i input, not 60p. Assuming this is hdtv content, there's a hack you can use that will probably get it right:
-vf tinterlace,pullup (or your favorite ivtc filter)
That's sounds crazy enough to work. :-)
Is the goal of tinterlace here simply to drop every other frame? Could I
No. The goal is to interlace pairs of frames together as if they were just fields, so that the inverse-telecine filter sees a sequence of fields rather than frames. Actually much better ivtc is possible for 60p-telecined content like you have, but no one's written a filter specifically for it.
use tinterlace=1 or tinterlace=2 to prevent merging frames in the first place?
If you do that you'll eliminate some of the duplicate frames, but inverse telecine still won't work and the results will be choppy. Rich
D Richard Felker III wrote:
On Wed, Apr 06, 2005 at 11:53:47PM -0700, Scott W. Larson wrote:
-vf tinterlace,pullup (or your favorite ivtc filter)
This filter combo made the pullup pull a different but clearly wrong pattern after an edit: three unique frames followed by a duplicate. If you eliminate every other frame in the 3:2 pattern and don't eliminate duplicates, that's the pattern you end up with: 1 1 1 2.
On Thu, Apr 07, 2005 at 07:50:22PM -0700, Scott W. Larson wrote:
D Richard Felker III wrote:
On Wed, Apr 06, 2005 at 11:53:47PM -0700, Scott W. Larson wrote:
-vf tinterlace,pullup (or your favorite ivtc filter)
This filter combo made the pullup pull a different but clearly wrong pattern after an edit: three unique frames followed by a duplicate.
If you eliminate every other frame in the 3:2 pattern and don't eliminate duplicates, that's the pattern you end up with: 1 1 1 2.
You're not supposed to eliminate every other frame. Leave tinterlace in the default mode, mode 0, where it will interleave pairs of frames together! Rich
participants (3)
-
D Richard Felker III -
RC -
Scott W. Larson