Handle Occasional Interlaced Frames in Progressive Film

Archive of historical feature requests.
Please use the GitHub link above to report issues.
Forum rules
*******************************
Please be aware we are now using GitHub for issue tracking and feature requests.
- This section of the forum is now closed to new topics.

*******************************
Post Reply
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

I've found that many feature-film DVDs have interlaced frames right at or near chapter beginnings.

On a standalone player, one never sees those frames because a 2:3 pulldown is running the ntsc film rate movie at 29.97 fps.

I've verified that the actual DVD is mastered this way by turning off de-interlace in Apple DVD player, choosing a chapter, pausing quickly (space bar) and stepping forward (right arrow). The interlaced frames come in pairs near/surrounding chapter breaks.

HandBrake encodes these interlaced frames as it sees them and the result is progressive frames with mice teeth as shown here:
See images from HandBrake encodes:

Image
Image
Image
Image
Image

During playback, they are hard to spot, but I always seem to notice them!

My pony is make HandBrake deal with these frames. Using a de-interlace I suspect.
I don't want to turn on de-interlace for the whole film because it unnecessarily softens progressive frames.
I've been told by one of the developers that the slow, slower and slowest de-interlace algorithms are not applied to progressive frames, but I can see the subtle difference, and I can show with screen grabs if necessary.

Any chance or thoughts on this?

Here is an activity log from a two chapter encode on a Mac Pro using a recent HandBrake SVN's Classic Preset:
[11:38:09] hb_init: checking for updates
[11:38:09] thread b013e000 started ("update")
[11:38:09] latest stable: 0.9.1, build 2007100800
[11:38:09] latest unstable: 0.9.1, build 2007100800
[11:38:09] thread b013e000 exited ("update")
[11:38:09] thread b013e000 joined ("update")
[11:38:09] hb_init: checking cpu count
[11:38:09] hb_init: starting libhb thread
[11:38:09] thread b013e000 started ("libhb")
[11:38:48] hb_scan: path=/Volumes/BIG MEDIA SHARE/Movies to be added/DVD Folders/Surfs Up, title_index=0
[11:38:48] thread b09c3000 started ("scan")
[11:38:48] scan: trying to open with libdvdread
[11:38:48] scan: DVD has 1 title(s)
[11:38:48] scan: scanning title 1
[11:38:48] scan: opening IFO for VTS 1
[11:38:48] pgc_id: 1, pgn: 1: pgc: 0x18618690
[11:38:48] scan: vts=1, ttn=1, cells=0->29, blocks=0->1466995, 1466996 blocks
[11:38:48] scan: duration is 01:25:25 (5125210 ms)
[11:38:48] scan: checking audio 1
[11:38:48] scan: id=80bd, lang=English (AC3), 3cc=eng
[11:38:48] scan: title 1 has 28 chapters
[11:38:48] scan: chap 1 c=0->2, b=0->74271 (74272), 256053 ms
[11:38:48] scan: chap 2 c=3->3, b=74272->101577 (27306), 114299 ms
[11:38:48] scan: chap 3 c=4->4, b=101578->163479 (61902), 235614 ms
[11:38:48] scan: chap 4 c=5->5, b=163480->201113 (37634), 121347 ms
[11:38:48] scan: chap 5 c=6->6, b=201114->254354 (53241), 133537 ms
[11:38:48] scan: chap 6 c=7->7, b=254355->304102 (49748), 200692 ms
[11:38:48] scan: chap 7 c=8->8, b=304103->336481 (32379), 117405 ms
[11:38:48] scan: chap 8 c=9->9, b=336482->403418 (66937), 205678 ms
[11:38:48] scan: chap 9 c=10->10, b=403419->464629 (61211), 162584 ms
[11:38:48] scan: chap 10 c=11->11, b=464630->500854 (36225), 133527 ms
[11:38:48] scan: chap 11 c=12->12, b=500855->592204 (91350), 298827 ms
[11:38:48] scan: chap 12 c=13->13, b=592205->642601 (50397), 225594 ms
[11:38:48] scan: chap 13 c=14->14, b=642602->663274 (20673), 87280 ms
[11:38:48] scan: chap 14 c=15->15, b=663275->711468 (48194), 185573 ms
[11:38:48] scan: chap 15 c=16->16, b=711469->751154 (39686), 173439 ms
[11:38:48] scan: chap 16 c=17->17, b=751155->794100 (42946), 149612 ms
[11:38:48] scan: chap 17 c=18->18, b=794101->898621 (104521), 298594 ms
[11:38:48] scan: chap 18 c=19->19, b=898622->924263 (25642), 85276 ms
[11:38:48] scan: chap 19 c=20->20, b=924264->967232 (42969), 167447 ms
[11:38:48] scan: chap 20 c=21->21, b=967233->1018877 (51645), 172447 ms
[11:38:48] scan: chap 21 c=22->22, b=1018878->1082058 (63181), 200402 ms
[11:38:48] scan: chap 22 c=23->23, b=1082059->1124374 (42316), 128527 ms
[11:38:48] scan: chap 23 c=24->24, b=1124375->1197529 (73155), 217501 ms
[11:38:48] scan: chap 24 c=25->25, b=1197530->1229063 (31534), 85286 ms
[11:38:48] scan: chap 25 c=26->26, b=1229064->1296091 (67028), 169551 ms
[11:38:48] scan: chap 26 c=27->27, b=1296092->1356697 (60606), 172357 ms
[11:38:48] scan: chap 27 c=28->28, b=1356698->1379632 (22935), 80377 ms
[11:38:48] scan: chap 28 c=29->29, b=1379633->1466995 (87363), 546369 ms
[11:38:48] scan: aspect = 16
[11:38:48] scan: decoding previews for title 1
[11:38:53] scan: preview 1
[11:38:53] scan: AC3, rate=48000Hz, bitrate=384000
[11:38:53] scan: preview 2
[11:38:53] scan: preview 3
[11:38:53] scan: preview 4
[11:38:54] scan: preview 5
[11:38:54] scan: preview 6
[11:38:54] Title's mostly progressive NTSC, setting fps to 23.976
[11:38:54] scan: preview 7
[11:38:54] scan: preview 8
[11:38:54] scan: preview 9
[11:38:54] scan: preview 10
[11:38:54] scan: 720x480, 23.976 fps, autocrop = 10/8/0/0
[11:38:54] scan: title (0) job->width:720, job->height:384
[11:38:54] thread b09c3000 exited ("scan")
[11:38:54] thread b09c3000 joined ("scan")
[11:38:54] libhb: scan thread found 1 valid title(s)
[11:39:33] thread b083d000 started ("work")
[11:39:33] 1 job(s) to process
[11:39:33] starting job
[11:39:33] + device /Volumes/BIG MEDIA SHARE/Movies to be added/DVD Folders/Surfs Up
[11:39:33] + title 1, chapter(s) 16 to 17
[11:39:33] + 720x480 -> 720x384, crop 10/8/0/0
[11:39:33] + grayscale off
[11:39:33] + filters
[11:39:33] + 23.976 fps, video bitrate 1000 kbps, pass 0
[11:39:33] + PixelRatio: 0, width:720, height: 384
[11:39:33] + encoder FFmpeg
[11:39:33] + audio 160 kbps, 48000 Hz
[11:39:33] + encoder faac
[11:39:33] + dynamic range compression: 1.000000
[11:39:33] + 80bd, English (AC3) (5.1 ch)
[11:39:33] + Requested mixdown: Dolby Pro Logic II (HB_AMIXDOWN_DOLBYPLII)
[11:39:33] + Actual mixdown: Dolby Pro Logic II (HB_AMIXDOWN_DOLBYPLII)
[11:39:33] thread b0941000 started ("reader")
[11:39:33] + output: /Volumes/Funky Monkey/Video Temp/Movies/Surfs Up-16-17.m4v
[11:39:33] thread b09c3000 started ("muxer")
[11:39:33] thread b0a45000 started ("MPEG-2 decoder (libmpeg2)")
[11:39:33] thread b0ac7000 started ("Renderer")
[mpeg4 @ 0x485470]removing common factors from framerate
[11:39:33] thread b0b49000 started ("MPEG-4 encoder (libavcodec)")
No accelerated IMDCT transform found
[11:39:33] thread b0bcb000 started ("AC3 decoder")
[11:39:33] thread b0c4d000 started ("AAC encoder (libfaac)")
[11:39:33] sync: expecting 10770 video frames
[11:39:37] DVD: Beginning of Cell (17) at block 751155
[11:39:37] sync: first pts is 217961672
[11:39:37] Sync: Audio PTS (217940540) < Video PTS (217961672) by greater than 100ms, trashing audio to reconverge
[11:39:37] Sync: Audio back in Sync at PTS 217954940
[11:40:09] DVD: End of Cell (17) at block 793934
[11:40:09] DVD: Beginning of Cell (18) at block 794101
[11:40:09] DVD: Chapter Break Cell Found
[11:40:09] MPEG2: Chapter Break Cell Found, searching for GOP
[11:40:09] MPEG2: Group of pictures found, searching for I-Frame
[11:40:09] MPEG2: I-Frame Found
[11:40:09] MPEG2: Chapter Break Inserted
[11:40:09] 2571.913086s: Progressive -> Interlaced
[11:40:09] 2571.946289s: Interlaced -> Progressive
[11:40:09] WORK: Copying Chapter Break
[11:40:09] WORK: Copying Chapter Break
[11:40:09] WORK: Copying Chapter Break
[11:41:27] DVD: End of Cell (18) at block 898369
[11:41:27] DVD: Beginning of Cell (19) at block 898622
[11:41:27] DVD: Chapter Break Cell Found
[11:41:27] reader: end of chapter 17 (media 17) reached at media chapter 18
[11:41:27] reader: done
[11:41:27] thread b0941000 exited ("reader")
[11:41:27] sync: got 10757 frames, 10770 expected
[11:41:27] Reader has exited early, inserting silence.
[11:41:27] thread b0c4d000 exited ("AAC encoder (libfaac)")
[11:41:27] thread b0b49000 exited ("MPEG-4 encoder (libavcodec)")
[11:41:27] thread b0ac7000 exited ("Renderer")
[11:41:27] thread b0a45000 exited ("MPEG-2 decoder (libmpeg2)")
[11:41:27] thread b0bcb000 exited ("AC3 decoder")
[11:41:27] thread b0a45000 joined ("MPEG-2 decoder (libmpeg2)")
[11:41:27] thread b0ac7000 joined ("Renderer")
[11:41:27] render: dropped frames: 0 (0 ticks)
[11:41:27] render: extended frames: 0 (0 ticks)
[11:41:27] render: Lost time: 0 frames (0 ticks)
[11:41:27] fifo_close: trashing 0 buffer(s)
[11:41:27] fifo_close: trashing 2 buffer(s)
[11:41:27] thread b0b49000 joined ("MPEG-4 encoder (libavcodec)")
[11:41:27] encavcodec: closing libavcodec
[11:41:27] thread b0bcb000 joined ("AC3 decoder")
[11:41:27] thread b0c4d000 joined ("AAC encoder (libfaac)")
[11:41:27] thread b0941000 joined ("reader")
[11:41:28] mux: file size, 65465094 bytes
[11:41:28] mux: track 0, 56298527 bytes, 1004.05 kbps
[11:41:28] mux: video bitrate error, +226887 bytes
[11:41:28] mux: track 1, 8969578 bytes, 159.97 kbps
[11:41:28] mux: overhead, 6.20 bytes per frame
[11:41:28] thread b09c3000 exited ("muxer")
[11:41:28] thread b09c3000 joined ("muxer")
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 0 buffer(s)
[11:41:28] fifo_close: trashing 1 buffer(s)
[11:41:28] Freed 1 buffers of size 512
[11:41:28] Freed 0 buffers of size 1024
[11:41:28] Freed 45 buffers of size 2048
[11:41:28] Freed 0 buffers of size 4096
[11:41:28] Freed 0 buffers of size 8192
[11:41:28] Freed 22 buffers of size 16384
[11:41:28] Freed 0 buffers of size 32768
[11:41:28] Freed 29 buffers of size 518400
[11:41:28] Allocated 15486720 bytes of buffers on this pass and Freed 15486720 bytes, 0 bytes leaked
[11:41:28] thread b083d000 exited ("work")
[11:41:28] thread b083d000 joined ("work")
[11:41:28] libhb: work result = 0


Thanks
--sdm.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

This is not really possible.

How would HandBrake know to only apply deinterlacing to those frames, without examining every frame for combing?

I mean I understand this happens -- one really noticeable one is in Fear and Loathing in Las Vegas, near the beginning. They've just picked up an albino-looking Tobey Maguire, and Johnny Depp flashbacks to downing Singapore slings with Mezcal on the side. Right at the chapter cut, there's a bad frame like that.

I believe what's really going on is these progressive DVDs don't use a standard repeat flag pattern for soft telecining. I've been able to successfully avoid the effect by soft telecining with pullup, but it seems that the same DVDs that exhibit this are the ones that pullup doesn't actually pullup. They get stuck with repeated frames, raising the fps.

It's possible that some of van's hard work will alleviate this.

In any case, don't expect anything soon, nor is it a certainty it'll ever be addressed.
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

Thanks for your response.

I'll try an encode with de-telecine, or should it be detecine+vbr?

I've been keeping an eye on the "same as source" development thread, and while I won't pretend to understand the technicalities, I do see Van is doing some promising work!

--sdm.
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

Two ideas I want to run past you jbrjake.

1. Is there a way to look for the "non-standard repeat flag pattern for soft telecining"? and examine those frames for coming?
2. When using a de-interlace filter, HB has to apply the filter to each frame - this takes time - would it take more (or less) time (and by how much in relative terms) to examine each frame for combing. Then decide whether or not to de-interlace the frame?

Thanks,
--sdm.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

sdm wrote:I'll try an encode with de-telecine, or should it be detecine+vbr?
Sorry, I wasn't clear -- nothing in the code right now will do it right. It was when I was playing around with some stuff for VFR, locally.
1. Is there a way to look for the "non-standard repeat flag pattern for soft telecining"? and examine those frames for coming?
Well, I haven't really figured out a way of detecting them yet, until you're right on top of them pretty much. Scanning through everything first takes too long. I might be able to extend the buffers eddyg helped me add to render.c or something. I dunno.
2. When using a de-interlace filter, HB has to apply the filter to each frame - this takes time - would it take more (or less) time (and by how much in relative terms) to examine each frame for combing. Then decide whether or not to de-interlace the frame?
It'd take the same amount of time as pullup (detelecine).
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

2. When using a de-interlace filter, HB has to apply the filter to each frame - this takes time - would it take more (or less) time (and by how much in relative terms) to examine each frame for combing. Then decide whether or not to de-interlace the frame?
It'd take the same amount of time as pullup (detelecine).
If I understand, my suggestion (#2) is a valid solution in theory and it'd take the same amount of time as de-telecine (+ very small amount of de-interlace).
Hopefully someone will take it upon themselves to put it in practice (no, not me) :D

Thanks
--sdm.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

Again, it's not that easy.

The pullup filter was designed for use in MPlayer -- it's not intended really for muxing to a variable framerate format, just for muxing to 30fps with duped frames or live playback, when how many frames are dropped doesn't really matter as long as the audio and video start playing at the same time and have the same duration.

The issue I keep running into is that pullup does not reliably drop duped frames from material after it soft telecines it. So you end up with the hard telecined stuff pulled up to 24fps but the soft telecined stuff pulled down to 30fps. And it varies from DVD to DVD, and I can't pinpoint what make it act differently. In fact, I suspect that when it seems it *is* dropping soft telecined frames correctly, it's really just dropping them because it runs out of buffer space. At least, one time I traced through it with a bunch of hb_log statements, and the DROP messages weren't coming from where I expected, but instead a "release valve" sort of function to make sure it didn't get too backed up.

So the problem is, to get rid of these weird interlaced frames in 24fps stuff using detelecine, you'd end up padding the fps to 30fps some of the time. Probably not the best way. Maybe van's new don't-drop-video-in-sync stuff will help. I dunno.
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

Hmmm... it's too bad that content is so mixed. I wish it wouldn't bother me to see those rare combed frames.

Thanks for thinking about it though.
--sdm.
name99
Posts: 1
Joined: Fri Feb 22, 2008 2:10 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by name99 »

I appreciate the difficulties in the subtle edge effects you are seeing. I have a slightly different suggestion related to interlace. It doesn't solve this particular problem, but it perhaps gets us to a situation where these subtle artifacts are the *primary* problem.

Essentially we have 4 classes of (assuming no fsckups in mastering) NTSC material:
- movies with hard telecine
- movies with soft telecine
- mixed content (eg documentaries)
- 60 fields/s material

The handling of movies is theoretically good - user sets VFR, the 3:2 pattern is detected either by repeat or by tracking interlaced macroblocks and locking on the 3:2 pattern or whatever. The net result is that we generate a stream of 24fps progressive material. Cost, over doing nothing, is minimal (if encoded) repeats, or small (if doing something to detect 3:2 pattern.)

The handling of 60 field material is good, not great. Now we want to ignore the VFR/telecine settings, and run a good quality deinterlacer. Perhaps better would be to use the mcdeint settings of mplayer so that, rather than generating 30 progressive frames/sec we generate 60 progressive frames/sec. (I say this based on the fact that IMHO the single biggest quality problem in the video/film industry these days is that fps are too low leading to aliasing and jerky motion all over the place.)

The same remains true for the mixed material that we establish to video rather than film via the VFR filter.

So this implies a UI for the non-specialist of one checkmark ("do the the right thing") that will, on all material
-run the appropriate tests to establish if we are in film or video
- de-telecine the film (ideally via repeats, if necessary via stitching fields)
- use yadif + mcdeint to convert the 60 fields/sec material to 60frames/sec material

This scheme will, hopefully,
(a) provide something that works well for everyone, thus making the world a better place
(b) allow us to strip out all the elements of the original problem that was raised at the start of this thread that are understood and have solutions, and allow us to concentrate on the specific problem that remains, the problem of anomalous fields.

Solving the anomalous fields problem has two parts:
(1) You need to detect them and
(2) You need to undo them.

Detection requires us to define anomalous fields. This is, presumably, a pair of fields that we expect to be part of a single frame but they are not. This could presumably be done through a combination of
- defining an energy for each macroblock concentrated in the difference between even and odd lines. This could be something as simple as subtract each even luma line in an 8x8 from the corresponding odd line, sum the absolute diffs, and compare with the overall energy in the block. If we have enough of these at small values, or perhaps a few at large values, we flag the frame.
- using the various flags MPEG2 provides to encode interlaced blocks (eg the alternative IDCT pattern and the alternative macroblock motion stuff). (This of course requires the ability of the decoder to annotate the decoded frame that it then sends on to the encoder stage. But this doesn't have to be too difficult. Just add a new field in the decoded frame structure that can hold a block of hints, and have the decoder just sets these hints as it's doing it's thing. A bunch of stores that nothing else depends on, at the point where you parse the IDCT pattern type and macroblock motion stuff shouldn't slow down the code at all.

If some of these fire, we know we then have a frame with anomalous fields. The easiest ideal solution is to render the frame as two of the 60fps progressive frames I discussed earlier. But, of course, a decoder might choke if you have too many flips alternations between 24fps material to two frames of 60 fps material back to 24fps (or maybe not, who knows?).
The second (harder) ideal is to do some look-ahead and behind, and see if you can stitch together a decent progressive frame and maybe resync your telecine tracker.
The simple solution (if very short excursions to 30fps material are tough) is to use one of the (single-frame, no neighbor comparison) deinterlacing techniques at http://guru.multimedia.cx/deinterlacing-filters/ to halve the vertical resolution of the offending frame, but give something that doesn't suck. The only question then is whether to choose the upper or lower field. The simplest is to always choose say the upper. A minor improvement might be to calculate some figure of merit for both and see which is better. (Such a figure of merit might be a simple SAD comparison with the preceding frame and choosing the field that gives us something closer to that frame?)
Conner
Posts: 38
Joined: Wed Jan 03, 2007 12:58 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by Conner »

I'm not claiming to have much of a clue about a good situation on this, but since some people (myself included) are more concerned about quality and proper encoding of interlaced/non-interlaced frames, is it possible to have the first pass of a 2 pass (or 3 pass even) encode process run through the frames and keep track of which ones are progressive and which ones are interlaced? Probably an obvious idea that is not really feasible, but thought I'd toss it out because I didn't see it mentioned.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

A lot has changed since this thread. VFR's gotten significantly better, and it's let me redirect my focus to this problem:
http://forum.handbrake.fr/viewtopic.php?f=4&t=4687
Conner
Posts: 38
Joined: Wed Jan 03, 2007 12:58 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by Conner »

ah, thanks for the redirect. I've been not following the forums as closely here as I have in the past, glad to see significant progress has been made, hopefully I can soon try this out on some of my more problematic DVDs.
L255J
Novice
Posts: 63
Joined: Sun Feb 10, 2008 10:25 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by L255J »

Whoa. I also encoded Mary Poppins, and after having just checked it, I didn't see any of that mice teeth. I wonder what happened.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

Okay, since people keep reading this thread, I should probably explain how much better things are in 0.9.2.

Using Variable Frame Rate (VFR) on the problem sources shown above will almost certainly fix the problem.

The issues with detelecine that I described above are no longer true -- the problem ended up being in the synchronization code, and van fixed it for use with VFR.

VFR, instead of running deinterlacing on frames that need it, runs detelecine all the time. This detects the weird mismatched fields in those otherwise progressive sources and fixes them. You can usually see the problem in the log -- the source will switch from film to video for a second or two. VFR has worked on every title I've tried with this issue.
Starhawk
Experienced
Posts: 90
Joined: Sun Feb 24, 2008 8:27 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by Starhawk »

[Edited by user. Posted in wrong thread]
Last edited by Starhawk on Mon Feb 25, 2008 4:51 pm, edited 1 time in total.
jbrjake
Veteran User
Posts: 4805
Joined: Wed Dec 13, 2006 1:38 am

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by jbrjake »

I'm going to beg out of this one by pointing out the thread title is "Handle Occasional Interlaced Frames in Progressive Film" and not "Handle Occasional Interlaced Portions of Otherwise Progressive Frames."

Which is to say...VFR is only as good as its ivtc engine, and while pullup is wonderful, it's not a panacea. Now, if someone wanted to port us over some AviSynth filters....
Starhawk
Experienced
Posts: 90
Joined: Sun Feb 24, 2008 8:27 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by Starhawk »

Sorry for the confusion.
sdm
Bright Spark User
Posts: 194
Joined: Mon Feb 19, 2007 4:53 pm

Re: Handle Occasional Interlaced Frames in Progressive Film

Post by sdm »

jbrjake wrote:Okay, since people keep reading this thread, I should probably explain how much better things are in 0.9.2.

Using Variable Frame Rate (VFR) on the problem sources shown above will almost certainly fix the problem.
Yes, VFR did fix the problems sources shown above!

--sdm.
Post Reply