Log in

View Full Version : TDeint and TIVTC


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [23] 24 25 26 27 28 29 30 31 32 33 34

tritical
13th January 2008, 01:54
It's caused by the combination of tfm's internal motion masking (PP>4) and the external deinterlacing. If you set PP=4 instead of PP=7 (or use only nnedi as the clip2 input) the problem goes away. It's a good idea to disable tfm's internal motion masking, which is run post field matching, when using TDeint (or another motion-adaptive deinterlacer) for post-processing since TDeint's/TMM's motion masking is run on the original stream.

Fizick
14th January 2008, 20:30
Recently I saw some thread about comparing various deinterlacers (and its modes) by speed and quality. Some mode of TDeint was a winner (optimal). I want point some user to it, but I can not find it. Anybody can pont me to this thread? Or it was deleted?

jeffy
15th January 2008, 00:23
Recently I saw some thread about comparing various deinterlacers (and its modes) by speed and quality. Some mode of TDeint was a winner (optimal). I want point some user to it, but I can not find it. Anybody can pont me to this thread? Or it was deleted?
Some hints:
http://forum.doom9.org/showthread.php?p=1059016#post1059016

http://heptium.sh.cvut.cz/~integra/deint/
linked from:
http://forum.doom9.org/showthread.php?p=900011#post900011

Chainmax
15th January 2008, 02:43
It's caused by the combination of tfm's internal motion masking (PP>4) and the external deinterlacing. If you set PP=4 instead of PP=7 (or use only nnedi as the clip2 input) the problem goes away. It's a good idea to disable tfm's internal motion masking, which is run post field matching, when using TDeint (or another motion-adaptive deinterlacer) for post-processing since TDeint's/TMM's motion masking is run on the original stream.

Are you sure? Like I said in the post with the pictures, only modes 3 and 5 caused it, all other modes worked fine.

tritical
15th January 2008, 09:40
@Chainmax
Well, I was sure until I started to write an explanation of why it occurs, and it didn't actually make sense. Turns out there was a bug in modes 3/5 with micmatching > 0, which would cause tfm to sometimes return a u or b match when it thought it was returning a p, c, or n match. That error could only happen if all 5 matches were combed. I'll put up a fixed version later tonight or tommorrow.

@Fizick
I can't recall reading a thread comparing deinterlacers by both speed and quality.

EDIT:

Maybe it was this thread: http://forum.doom9.org/showthread.php?t=117025 ? It has some speed/filesize numbers plus some quality (ssim/psnr) numbers.

I did a comparison back in April 07 that I never finished, but I think that when taking both speed and quality (ssim/psnr wise) into account that it is difficult to beat:

yadifmod(mode=1,edeint=tdeint(mthreshL=0,mthreshC=0))

If only quality is considered than mcbob/mvbob are the clear winners (usually mcbob is best). If only speed is considered than the winners are leakkerneldeint/bob, yadif, or tomsmocomp (leaving out avisynth's internal bob() of course).

Fizick
15th January 2008, 18:07
Thanks for responds, but it was some other thread...
I found it ! :)

http://forum.doom9.org/showthread.php?t=133078

tritical
17th January 2008, 08:25
TIVTC v1.0.5 (http://bengal.missouri.edu/~kes25c/TIVTCv105.zip), changes:
- Fixed a bug that would cause tfm to return a 'u' or 'b' match when it thought it was
returning a 'p', 'c', or 'n' match. This problem only occured if mode was set to
3 or 5, micmatching was enabled (not set to 0), and all five matches were combed.

Mottodj
1st February 2008, 23:33
Hi everybody! I have question about results field maching by TFM. I have DVD with NTSC(film but without pulldown flags) anime and i pass it through TFM using avisynth. Field maching is nice but there is artifact in picture that was already mached(on fade to dark and in other way). Lines on picture have different brightness and it changing each other(ex. http://mini.100-games.ru/4super/artifact.png ). Have you ever seen that thing, what to do with this? Passing through tomsmocomp don't produce such artifact but tomsmocomp blur picture and it isn't solution...

Dreassica
2nd February 2008, 00:26
That's not missed interlace, but common in fades. I usually just applyrange(x,x,"blur",0,0.7) it, works perfectly.

Leak
3rd February 2008, 04:13
That's not missed interlace, but common in fades.
To be totally precise, that's a fade that has been applied AFTER the telecine was applied, so you have a 30 frames (or maybe even 60 fields) per second fade over pulled down 24 FPS material, so you can have either of them cleaned up, but not both - but then again, in a fade it's usually not noticeable UNLESS of course you take a screenshot... :)

A similar thing would be 30p/60i end credits (for extra smoothness that's easily produced) scrolling over 24p animation, which also happens often.

foxyshadis
3rd February 2008, 12:58
Use Vinverse for mild residual combing, not a destructive blur. Works wonders with some post-telecine editing, unless it's a very fast fade.

NorthPole
5th February 2008, 05:06
I've been using the following sort-of generic catch-all script for re-encoding ATSC digital broadcast caps to 23.976. I had a couple of questions..

Do I need to determine the order or does DGDecode_mpeg2source set the order correctly?

When converting from 59.94 fps progressive to 23.976 fps, sometimes I get some jerkiness in using the tdecimate(cycler=3, cycle=5). Is there anything I could do to tweak this?

I'm kind of lazy about counting frames in VirtualDub....Sorry

I have used the tdecimate(hybrid=1) setting on 29.97 fps to 23.976 fps and seem to get good results but I don't think I can use that for 59.94 fps conversions.

Any input would be appreciated.

PS.. Thanks tritical for you work!


DGDecode_mpeg2source("__vid__",info=3)
LoadPlugin("C:\Program Files\Media\AviSynth\plugins\tivtc.dll")
LoadPlugin("C:\Program Files\Media\AviSynth\plugins\eedi2.dll")
LoadPlugin("C:\Program Files\Media\AviSynth\plugins\tdeint.dll")
(last.height == 480)? SD(last): HD(last)
last.letterbox(4,2,2,2) # to mask screen edge noise

Function SD(video) {
ord = video.getparity() ? 1 : 0
ord == 1 ? video.AssumeTFF() : video.AssumeBFF()
edeintted = video.SeparateFields().SelectEven().EEDI2(field=ord)
tdeintted = video.TDeint(edeint=edeintted,order=ord,hints=false)
video.tfm(order=ord,clip2=tdeintted).tdecimate(hybrid=1)
#last.Lanczos4Resize(720,480,0,0,704,480)
}

Function HD(video) {
(video.height == 720)?
\ video.tfm().tdecimate(cycler=3,cycle=5):
\ video.tfm().tdecimate(hybrid=1)
}

foxyshadis
5th February 2008, 05:47
Do I need to determine the order or does DGDecode_mpeg2source set the order correctly?
mpeg2source will do that.

When converting from 59.94 fps progressive to 23.976 fps, sometimes I get some jerkiness in using the tdecimate(cycler=3, cycle=5). Is there anything I could do to tweak this?
Well, not everything is telecined. You're sure these are, rather than true 30 or even 60 fps segments? You can try tweaking chroma, nt, and dupthresh parameters to see if they help your stuff.

I have used the tdecimate(hybrid=1) setting on 29.97 fps to 23.976 fps and seem to get good results but I don't think I can use that for 59.94 fps conversions.
You'll get better results out of mvflowfps if you must force an fps change.

NorthPole
5th February 2008, 15:28
@foxyshadis
Thank you for the input.

mpeg2source will do that.

Good, I'll take it out.


Well, not everything is telecined. You're sure these are, rather than true 30 or even 60 fps segments? You can try tweaking chroma, nt, and dupthresh parameters to see if they help your stuff.

I believe most, if not all, is just 24p slowed down and telecined... Mostly movies and sitcoms.

If I understand the hybrid mode, it does normal 1 out of 5 decimation for 30 fps video segments provided it has a match. If it doesn't then it does blended decimation to get to 24 fps. I was kind of looking for something like that for 59.94 fps or 60 fps.

like say this...
tfm().tdecimate(cycle=2).tdecimate(hybrid=1)

I will try the dupThresh, chroma and nt options but then I think I have to use mode 1. So perhaps say something like..

tfm().tdecimate(mode=1, dupThresh=0.9, chroma=true, nt=1, cycler=3,cycle=5)
or
tfm().tdecimate(mode=1, dupThresh=1.2, chroma=false, nt=1, cycler=3,cycle=5)


You'll get better results out of mvflowfps if you must force an fps change.

I'm not sure what this is?

NorthPole
5th February 2008, 22:30
I did a couple of test encodes on a 1280 x 720p ATSC cap with:

tdecimate(cycler=3,cycle=5)
and
tdecimate(cycle=2).tdecimate(hybrid=1)

I wasn't thinking earlier but I wouldn't need the field matcher, tfm, since the source is all progressive.

the frames pattern go as follows: 1 0 0 1 0 1 0 0 1 0 1 0 0 1 0 etc.

1 = new frame, 0 = duplicate frame

I get the correct resulting frame selections with both methods and the encoding time is very similar. I believe that tdecimate(cycle=2).tdecimate(hybrid=1) might be a better way to go because it could correctly handle true 24 fps and 30 fps sources. The 24 fps source would be returned to the original frame rate and the 30 fps source would be blend decimated to 24 fps and hopefully avoid any jerkiness.

I tried the dupThresh, chroma and nt options with no noticably difference however, unfortunately, I deleted the original 720p video clip that was giving me jerkiness. I will have more in the next week or two and will report whether those tweaks helped.

rebkell
5th February 2008, 23:07
ABC is notorious for dropping frames, one of their favorite sequences is:
3:2
3:2
3:2
3:2
3:2
3:2
3:2
3:2
3:1
3:2
3:2
3:2
3:2
3:2
3:2
3:2
2:2

and then they repeat, it will cause the jerkiness when trying to get to the 23.9675 FPS. It works out to actually be 24.553735 FPS. I've seen it on several shows, LOST, Men In Trees, and some others, occasionally they will add an extra frame.

Adub
6th February 2008, 02:34
Ok, so how do you deal with it?

rebkell
6th February 2008, 03:31
Ok, so how do you deal with it?

Check out this thread, I'm not sure why it's in the DVD2AVI / DGIndex section, but it is.

http://forum.doom9.org/showthread.php?t=122472

I use FDecimate, I use megui and I actually built a profile to step through the frames, normally you can determine the cadence, basically you use the metrics=true to try to determine the best threshold value to use and of course after stepping through you can determine the FPS. The cadence I posted is the most frequent one I've run into, it's not perfect, but if you can figure out a good threshold value it works pretty well. All the above will make more sense when you read the thread I linked to above. I've also run into 10 consecutive 3:2 sequences and 1 2:2, that repeats every 11 cadences(I guess that's the correct word)

I've seen some cadences on the Fox Network that I never could determine any pattern for.

Adub
6th February 2008, 06:44
Thank you for that. I have to learn how to count fields. Anyone have a "guide" for doing it?

NorthPole
6th February 2008, 15:23
@rebkill,

Thanks for your input... I haven't counted as many frames as you have (not fun). I will check out the thread you suggested.

@merlin777,

I just count frames in virtualdub as I go through the video manually. I don't know of any specific method or program that does it automatically.

Adub
6th February 2008, 19:13
Wait, I thought they were counting fields, not frames. Am I mistaken?

rebkell
6th February 2008, 19:19
Wait, I thought they were counting fields, not frames. Am I mistaken?

Frames, you probably got confused by the conversation of our Texas friends that have the ABC 720p that is broadcast in 1080i, it's a fairly unique situation. If your ABC and/or Fox broadcasts in 720p, then we're only dealing with frames.

Adub
6th February 2008, 19:22
Okay,
Originally Posted by scharfis_brain
Actually I did excatly this: wirting down the pattern of the first frames until a pattern was visible. I counted 160 fields. Then I estimated the other pattern breaks with the simple math (every 67 fields a break) to be sure that the pattern stays constant.
That took about 5 minutes concentrated work. Not more.

I am confused by this however.

laserfan
6th February 2008, 20:14
Here is my last "Inspect for Motion.avs"

MPEG2Source("Cane - Brotherhood.d2v")
assumetff()
separatefields()

Then I open this w/VDub and count. So it's fields that are counted when it's a 1080i program.

Adub
7th February 2008, 03:54
Okay, thanks for that clarification. Now when you are counting fields, what are you looking for?

laserfan
7th February 2008, 16:57
Okay, thanks for that clarification. Now when you are counting fields, what are you looking for?Looking for the cadence. If you find 3 alike then 2 alike then 3 again then 2 again and it never changes, you're golden. You can do a simple

Telecide(guide=1).Decimate()

and proceed to re-encode from there. If you have an odd cadence then it gets an order-of-magnitude more complicated! ;)

If you're new to this stuff, my advice is to find neuron2's website (Donald Graft) and look at the Readmes & tutorials he's created for the above, and his tools--I'd start with Decomb and study the DecombTutorial.html therein.

NorthPole
7th February 2008, 23:47
Don't know if this is correct, but I find it easier to look at frames. For 480i and 1080i, I look for a repeating pattern of 3 progressive frames followed by 2 interlaced frames. If the pattern stays consistant for say 50 frames, I just go with a tfm().decimate(). If the pattern is not consistant, then I try tfm().decimate(hybrid=1). 720p would be just frames.

Adub
8th February 2008, 00:55
See now some of the reasons I get confused is that the 3:2 pattern applies to both fields and frames.

Ex. 3 progressive frames, 2 interlaced.
AND
Ex. 3 fields that "current", 2 fields that are "next".

I just need to tie that together in my head.

foxyshadis
8th February 2008, 08:54
Don't know if this is correct, but I find it easier to look at frames. For 480i and 1080i, I look for a repeating pattern of 3 progressive frames followed by 2 interlaced frames. If the pattern stays consistant for say 50 frames, I just go with a tfm().decimate(). If the pattern is not consistant, then I try tfm().decimate(hybrid=1). 720p would be just frames.

You can pull your hair out trying to figure out field-shifted video by doing that, though, or just make the wrong choice. All interlaced video is naturally fields, so you might as well start at that level unless the pattern is instantly obvious.

NorthPole
9th February 2008, 22:58
All interlaced video is naturally fields, so you might as well start at that level unless the pattern is instantly obvious.

OK, I will take your advise and go the fields route.

Had the best luck to date at getting smooth playback @ 23.976 fps on 1280 x 720p ABC ATSC OTA cap of movie meet the fockers with:

tdecimate(mode=7,nt=1,dupthresh=1,vidthresh=3.5)

pattern was 3:2:3:2:3:2:3:2:3:1:1:2 got lost (gave up) at that point...Not good at that.

NorthPole
10th February 2008, 15:15
Spoke to soon... Still not happy with the results.

Tried a script by plugh from this thread to get and idea of where the dupthresh might be.

http://forum.doom9.org/showthread.php?t=122472&page=2

Going to try mode 7 again with different dupthresh and vidthresh values. Had one question....

Assuming 720p 59.94 fps material as source.

Is this correct in stating that the frames with a difference value that falls between the dupthresh and the vidthresh are the frames that are subject to blending during decimation?

Sorry, I just realized that this is in the development forum. Should have posted in the usage forum.

Thanks.

thetoof
15th February 2008, 22:21
Dunno if it's the right place to post this, but I've been told TIVTC can be helpful for interlaced footage encoded as progressive. However, everything I've tried can't produce any good results.

Source = NTSC DVD (anime)
DGIndex tells me: 99.98% FILM, Progressive, frame-based

Honor pulldown flag: no pattern at all, about 50% of the frames have interlacing artefacts

Here's the first chapter ripped with DGIndex (decrypted vob)

http://www.megaupload.com/fr/?d=TVCZAWUB

For those who'd like to help, but not download a 156 MB file, here's a m2v generated using demux in DGIndex with "honor pulldown flags"
http://www.megaupload.com/fr/?d=87FM0ENK

Chainmax
16th February 2008, 20:13
I have a trouble sample as well. It's from the X-Men 1992 series' intro. For some reason, on certain spots peppered throughout it, a pretty messed-up frame is chosen instead of a considerably cleaner version of it. The IVTCing portion of the script is this one:

AssumeTFF()
Interp = nnedi(field=1)
Deinted=TDeint(order=1,field=1,type=1,edeint=Interp,emask=TMM(order=1,field=1))
TFM(d2v="X:\wherever\Sanctuary1.d2v",mode=6,order=1,PP=7,slow=2,mChroma=false,Clip2=Deinted)
TDecimate(mode=1)

You can download a sample with the intro here:
http://rapidshare.com/files/92404386/Intro.demuxed.m2v.html

tritical
19th February 2008, 01:57
@thetoof
The main problem with your clip is that it has blended fields. Worse than that they seem to be causing jerkiness, as though the field order is incorrect, but it isn't. Maybe someone else can recommended something better, but

mpeg2source()
tdeint(mode=2)
tdecimate()

seems to give ok results.

@Chainmax
I downloaded your clip, and ran it through dgindex to generate a d2v file. However, when I try to load that d2v file with mpeg2source() in virtualdub it just hangs. I'm using dgindex/dgecode v1.5 RC2. The downloaded file has 59768148 bytes and the crc is 9F0C270B, is that correct?

Chainmax
19th February 2008, 03:42
Unfortunately, I deleted the file as soon as it was uploaded. I'll make another cut with the intro and make sure Mpeg2Source is able to pick it up before uploading it. I apologize for the inconvenience.


[edit]I get the same eror when trying to open a d2v generated (from a freshly cut intro) with DGIndex 1rc2 on VDubMod 1.5.4.1 via MPEG2Source. The m2v opens fine by itself in VDubMod though. I'll post this in the DGIndex thread, maybe I hit a bug.

thetoof
19th February 2008, 17:38
Not perfect, but those settings give better results than everything I'd tried. Thanks!

'course, if someone finds a way to completely remove the temporal blending (not sure that this is how it's called... I'm talking about the frames that are present as "almost transparant" in previous or next ones), it'd be even better... but heh, I guess there are some things that just can't be fixed.

Anyways, thanks again!

plugh
20th February 2008, 00:31
Usage Q:
Can I use an override file to specify 'keep' frames? The doc only refers to using '+' "as place holders" in a "decimation pattern", not as an override directive unto itself.

Doc Q:
The write up on 'maxndl' is confusing and seems to have errors wrt the examples.
For example, say we have the following pattern in a video:

5 5 7 7 2

where the numbers indicate how many frames there are between duplicates. In this case we want to remove 5 in every 26 frames.
If the numbers indicate the number of frames between duplicates then the total number of frames in the sequence is 31, not 26. This affects the rest of the discussion of the example.
Also note this sentence:This decimation ratio (5/26) would indicate that there is one duplicate in every 5.2 frames (5/26 = 1/5.2).
The numerator is your 'number of dups to be removed'
The denominator is -- well it's not clear what it is (see above)
Let's look at the next example:
Another example would be decimating a 59.94fps video to 23.976. This ratio would indicate one duplicate in every 1.667 (5/3) frames.
Hmmm. In this case
the numerator is the total number of frames in a cycle
the denominator is the number of dups to be removed

But in both examples the ratio is stated to represent the same quantity - "one duplicate in every N frames"

I am very :confused:

rebkell
21st February 2008, 22:40
I posted this in another thread, but this probably a better place to discuss it:

Ran into another weird cadence on Jericho the other night:

21112111211121112111211121112111211111
21112111211121112111211121112111211111

Looks like it's keeping 38(dropping 9) out of every 47 frames, which would work out to 24.231 FPS. I only examined one section of it, but that section seemed to be consistent .... I wanted to cry, CBS has been so great, I think it's the first strange pattern I've ever run into on CBS broadcasts.

would the maxndl=5 or would it = 6 in the above cadence.

The 2 in the above pattern equals two frames that are the same. At the end of the first row I have 5 nonduplicates in a row and then the 6th frame on the next row would also be different and the seventh would be a duplicate of the 6th, so I would assume that maxndl would = 6?

If the pattern stays consistent I assume I would use:

tdecimate(mode=2, rate=24.231, maxndl=6)

K0zi
23rd February 2008, 14:43
I have a Chinese movie released on NTSC DVD.
I tried both tfm().tdecimate and tfm().tdecimate(cycle=6), but the results didn't seem to be what I was looking for.

Sample: http://rapidshare.com/files/89421694/sample.rar.html

rebkell
23rd February 2008, 17:14
I have a Chinese movie released on NTSC DVD.
I tried both tfm().tdecimate and tfm().tdecimate(cycle=6), but the results didn't seem to be what I was looking for.

Sample: http://rapidshare.com/files/89421694/sample.rar.html

tfm(order=1).tdecimate(hybrid=1,cycle=6) seemed to work well, the hybrid was only applicable to one section of 6 frames, the rest were definitely one duplicate in 6. It appears it was 25.0(24.975) FPS.

K0zi
1st March 2008, 18:47
What if I wanna get some "proper" fps instead? I mean, the source video was apparently PAL, as it's also a Chinese standard these days. Is it possible to get the original framerarte back without any seriuos issues (like audio track sync for instance)?

rebkell
1st March 2008, 19:23
What if I wanna get some "proper" fps instead? I mean, the source video was apparently PAL, as it's also a Chinese standard these days. Is it possible to get the original framerarte back without any seriuos issues (like audio track sync for instance)?

I don't really know, you might try tfm().TDecimate(rate=25.0)

tritical
5th March 2008, 01:29
@plugh
Yep, the maxndl explanation explanation is not very clear. In the first example with (5 5 7 7 2) the numbers aren't the number of frames inbetween each duplicate frame, but the number of frames from the current duplicate to the next duplicate. So the sequence is really:

dnnnndnnnndnnnnnndnnnnnndn

Here, you would want to remove 5 in every 26 or 1 in every 5.2.

In the 59.94 to 23.976 case there are more duplicates in the stream then there are new frames, which means you want to remove more than 1 out of every 2 frames and you can't state that in 1/N terms using only whole numbers. That's why I used 5/3. However, 1/0.6 specifies the desired value just as well.

What the fraction actually means is that in every 5 frames you want to remove 3 frames (or in every 1 frame you want to remove 0.6 frames). The top number in the fraction is just some arbitrary cycle length, and the number in the bottom is the number of frames you want to remove within that cycle length. The actual values you use don't matter as long as the decimal resulting from the fraction is the same.

On the keep frame overrides, I can't remember for sure. I want to say that it isn't possible.

@rebkell
On the maxndl value for mode 2 I think you will just need to experiment and see what works best. In all honesty, I've never really spent a lot of time working on mode 2 to get it to a solid/stable state, so sometimes it produces good results and sometimes it just sucks horribly.

rebkell
5th March 2008, 18:20
I have a question about TDecimate and using the ovr (Override file)

I tried using it and it wasn't doing anything, when I looked at it. Just want to make sure I'm using it correctly.

I'm hopelessly looking for ways to cut out those weird ABC-HD captures and their strange cadences. Anyway.

If I include a line in my avs script like:
TDecimate(ovr="C:\test.ovr", display=true)

and have a file named test.ovr in the C:\ directory
with one line like so:

0,130 +-------+

this should from my understanding keep 1 frame starting at frame 0 and then drop the next 7 and keep the next one and then repeat this through the first 130 frames, then it would revert back to dropping one frame in every five as the normal TDecimate without any parameters does. When I step through an avs script using display, it doesn't appear to be using the .ovr file at all, it just seems to be using the normal 1 drop in every 5 frames.

Am I doing something wrong? the above test.ovr file is just for a test, but it should definitely be easy to tell if it's working.

Zarxrax
7th March 2008, 21:03
I'm having some difficulty understanding the d2v fixing.

I indexed a d2v file with dgindex, and dgindex said it had illegal field order transitions, so I let dgindex fix it. Then when I was trying to use TFM on the file, it was just utterly failing everywhere, it wasn't matching hardly any of the combed fields.

I then tried the original "broken" d2v file, and everything worked great!

Ok, so then I thought maybe I'll let tfm try fixing the file. So I use the d2v parameter to let tfm fix the file, and then I tried the one that it output. Once again, the fields aren't being matched.

Now, I can use the "bad" d2v and its giving me awesome results, but it's just really bugging me that I don't understand what's going on here. I'm being told that my original d2v has some bad stuff going on in it, so I should use a fixed one... but the fixed ones are the ones that end up not working right!

NorthPole
8th March 2008, 17:47
I'm having some difficulty understanding the d2v fixing

What is the type of your source material. If it is 720p, then the field fix would not apply. If it is 480i or 1080i then you have to make sure you do not have frame repeats. (not sure if you have to preview the whole clip to get that info).

Another option is to use the "bad" file and use tfm(mode=4) which I believe can handle illegal field order because of the 3 way matching.

Zarxrax
8th March 2008, 18:36
It's just a regular dvd of old telecined anime material.

reepa
21st April 2008, 11:51
I'm not sure if this is a bug or if I'm misinterpreting the documentation, but TDeint averages pixels that are woven even when mtnmode is set to 2 ("no averages, replace with most similar field"). I'm using TDeint(mode=1, mtnmode=2, map=1) and nearly all woven pixels are either 153 ("use average of curr/next") or 204 ("use average of curr/prev"). Mtnmode=3 doesn't have this problem (i.e. all woven pixels are either 51 or 102).

plugh
2nd May 2008, 21:43
I'm trying to process a TV cap, and tfm + tdecimate(hybrid=1) are doing ok with it EXCEPT in areas where an insert fades in/out or slides on/off the bottom of the screen.

If I do something like this
mpeg2source(d2v=)
cropbottoim(80)
tfm(d2v=)
tdecimate(hybrid=1)
everything works correctly (except I've lost the bottom of the picture). Smooth motion, no unnecessary blends, nice clean field match and decimation...

Great, I sayz, I'll use an exclusion band...
oops - tfm has y0/y1 args, but tdecimate doesn't! grrr...

REQUEST: exclusion band input for tdecimate

OK, so do it the 'hard way'
mpeg2source(d2v=)
tfm(d2v=,y0=400,y1=480)
orig=last
cropbottom(80)
mergehints(hintclip=orig)
tdecimate(hybrid=1,clip2=orig)

Only problem is, it don't work. I'm back to frame blends again. As far as I can figure, the above two scripts should be yielding the same ivtc decisions, but they aren't.

What am I missing / doing wrong?

Thanks!

PS - are Y0/Y1 zero-based or one-based? Do they count from top of frame?

thetoof
29th May 2008, 07:17
Sorry for the noobish questions, but I don't have any hybrid source atm, so I can't run any tests to be sure that my scripts are done the right way.

I found some info floating around about creating a VFR clip for hybrid sources, but I just want to be sure... Leaving post-processing aside, what would be the settings to use for 1st and 2nd pass of TIVTC?

Also, what is the format of a timecode file? I'd like to create one manually to select which part of the movie will run at which framerate.