Log in

View Full Version : Help with tfm's Override


LaJoN
25th October 2007, 02:29
Encoded a movie earlier today using "tfm(order=-1).tdecimate()" and it worked beautifully except for a single scene in the video where it messed up on some frames. I dove into the TFM readme and started trying a bunch of different options to get it right, and nothing fixed it (beats me if I was doing it properly though). Figured there had to be some option to deal with specific frames, and that's when I came across the override feature.

I loaded up my AVIsynth scrip just as it does in the override example that comes zipped with TIVTC (changing the d2v path/filename to match my own), and then put in what I thought would be the solution in the override txt file, but it didn't do anything.

Frame 4080
http://xs220.xs.to/xs220/07434/Frame4080.png.xs.jpg (http://xs.to/xs.php?h=xs220&d=07434&f=Frame4080.png)

Frame 4081
http://xs220.xs.to/xs220/07434/Frame4081.png.xs.jpg (http://xs.to/xs.php?h=xs220&d=07434&f=Frame4081.png)

Since it's the same frame twice, I guess what I'd want to do is ditch 4081 since frame 4080 is the correct version of the picture, but I have no idea what I should be putting into the override to do that, or if there's another way to fix it. There are about 8 or 9 other frames in this scene that have the same problem, but they aren't all duplicates like this example and just have the interlaced teeth in parts of the picture.

I'd love to hear if someone can dumb things waay down for me so I can understand exactly how to do this. Most of what was said in the override section was way over my head, so I guess it's no surprise that I got it wrong. Here's the AVSscript I used:

LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\TIVTC.dll")
LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")

d2vpath = "C:\Documents and Settings\Owner\My Documents\My Videos\Temp encodes\Hamasaki Ayumi - Startin'.d2v"

mpeg2source(d2vpath)

tfm(d2v=d2vpath,ovr="C:\Documents and Settings\Owner\My Documents\My Videos\Temp encodes\myOvrFile.txt",order=-1).tdecimate()

crop( 4, 4, -4, 0)
Lanczos4Resize(720,544)

Then the override file was essentially that frame and then trying every option I could to try and make SOMETHING happen, but nothing ever did. I'm so lost .. please excuse my stupidity. :confused:

RaynQuist
25th October 2007, 03:08
So you're saying you tried
4081 c
4081 p
4081 n
4081 b
4081 u
and none of these produced a different frame?

If you want to drop 4081 you actually need to override TDecimate instead.
4081 -

You can use display=true in either TFM or TDecimate to see what decisions the filters are making.

LaJoN
25th October 2007, 03:22
So you're saying you tried
4081 c
4081 p
4081 n
4081 b
4081 u
and none of these produced a different frame?

You can use display=true in either TFM or TDecimate to see what decisions the filters are making.

Yeah I tried all of those, as well as + and - with no results.

If you want to drop 4081 you actually need to override TDecimate instead.

So put the ovr in the TDecimate rather than inside tfm? Explain please, cause you're talking to a complete fool :(

foxyshadis
25th October 2007, 03:49
Well, tdecimate does the frame dropping, while tfm does the field matching. So you use the override in one or both depending on what you want to do. You need separate override files if you use both, naturally, and they have different syntaxes. (TFM will also deinterlace to hide bad-match artifacts, so it might look like something is unchanged even though it actually is. Look closer.)

LaJoN
25th October 2007, 03:55
Well, tdecimate does the frame dropping, while tfm does the field matching. So you use the override in one or both depending on what you want to do. You need separate override files if you use both, naturally, and they have different syntaxes. (TFM will also deinterlace to hide bad-match artifacts, so it might look like something is unchanged even though it actually is. Look closer.)

I think I understand now. If I'm having field matching issues, then override in tfm. If I have frames I want to drop, then I need to override with tdecimate?

Update: Was able to fix that problem with dropping the frame in the original video with tdecimate's override. How would I handle the other frames with interlacing teeth that aren't the same as the frame before or after? Would that be an issue to solve in tfm's override?

Update: Lost on this part. Made another txt file for override in TFM and ran through all the options but can't clean up the frames I want to.

Final update? - Figured out what I was doing wrong with the TFM. I thought that I would have to specify the original frame of the input before it's decimation, but it didn't say it in the notes for TFM's override like it did for TDecimates. As it turns out, you do, and that did the trick. I dropped bad frames with TDecimate's override and then did "Frame +" in TFM's override to get it to deinterlace other frames.

Much love to everyone that responded. Even if the answer wasn't given directly, it put me on the right path. ;D