Best way to IVTC a mostly single cadence source...
I was being nostalgic and reading old threads here where Mentar was arguing about how automatic IVTC is never a good enough solution, and anyway I realized that I might be doing something kind of silly at the moment.
Thankfully in the past 5 years a lot/most anime is now produced and editing in pure 24 fps, which means that ivtc'ing has gotten simpler (that and much cleaner sources. Although the mpeg2 ts encoding can make it hard again).
I often get 100% perfect cadence 3:2 pulldowned 29.97 files, or occasionally there will single cadence shifts that happen at commercial breaks. (i.e. the source is constant, but when the tv studio adds in the CM breaks they break the cadence). A full IVTC filter like tfm is overkill, slow for no good reason, and needs to have strange settings to make sure it doesn't pick strange matches anywhere, so lately I've been using my own manual IVTC function:
function PulldownRemove(clip c, int offset)
(offset == 0) ? SelectEvery(10,0,1,2,3,4,5,8,7) : (offset == 1) ? SelectEvery(10,0,1,2,3,6,5,8,9) : (offset == 2) ? SelectEvery(10,0,1,4,3,6,7,8,9) : (offset == 3) ? SelectEvery(10,2,1,4,5,6,7,8,9) : (offset == 4) ? Trim(1,0).SelectEvery(10,0,1,4,3,6,7,8,9) : c
where I find the correct value of offset by trial and error (well, there are only 5 possible choices).
But when there are 3-4 segments that becomes a bit of a pain, but it's still overkill to use a fullfledge IVTC filter.
What would people suggest for a "perfect" ivtc of _almost_ constant cadence material?
Use try pattern/set pattern in YATTA. Gives you a nice GUI for finding the offset and generates a fieldhint override file as well as a TDecimate override file.
On the other hand, automated IVTC with TFM is more than good enough for single cadence sources, and you will most likely end up spending more time figuring out the correct pattern and mashing buttons in YATTA than you save during the encoding process by not using TFM.
The way I do it (also explained somewhere in here) is probably the fastest 'safe' way to do it. It's for sources where the pattern changes on commercial breaks but is otherwise the same in between them (save for a few scenes sometimes). I guess it's something of a half way point between just running tfm and calling it a day and just blindly using one pattern. You can decide if it's worth the small time investment.
Using cutter(->crop)->telecide->decimate is very fast (<=10 minutes or less on an i7 for a 24 minute episode). We don't need the matches from tfm so we can skip that and we don't need the scene change information from scxvid because we're making our own anyway at the commercial break boundaries.
You should be able to section it run pattern guidance on the sections (ctrl+alt+g). If one fails just set it manually (ctrl+t then ctrl+s) and go find the problem scene. This is where actually getting the metrics comes in handy because you can go through and look for high vmetrics (typically v difference on both sides and threshold set to ~30, threshold is source dependent) since we have the metrics. If you find something typically it's some random frame or an entire scene with a different pattern (ymmv). It wouldn't show up if we used tfm (we're setting a constant pattern for everything between commercial breaks) but there's no way to guarantee that tfm/tdecimate did the right thing for the entire source.
Set/do whatever else (cropping/resize/etc), save all overrides, encode. Make sure to use the updated fieldhint as it's much faster (the old one didn't request frames lineally so it could get slow with certain sources).
|All times are GMT -5. The time now is 14:36.|
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.