View Full Version : Deinterlacing / IVTC quick reference
Awatef
22nd May 2003, 00:17
Well, I thought, I would make a small thread as quick reference for people who want to have quick answers to quick questions:
I) PAL DVDs:
1) interlaced with field shifting:
Telecide(post=false)
2) interlaced after conversion from NTSC
FieldDeinterlace(full=true,dthreshold=0)
or
Bob()
LanczosResize(384,288) [smoother motion, less ghosting, 50fps output, less sharp]
3) pure interlaced PAL video:
FieldDeinterlace(full=true,dthreshold=0)
or
FieldDeinterlace(blend=false) [less ghosting]
or
Bob()
SelectOdd() [no ghosting at all]
or
Bob()
LanczosResize(384,288) [smoothest motion, 50fps output]
II) NTSC DVDs:
1) digital telecine (3:2 pulldown)
Telecide(post=false)
Decimate()
FieldDeinterlace(full=false) [this line is optional!]
2) analog telecine (no 3:2 pattern)
Bob()
LanczosResize(320,240) [60fps output]
or
FieldDeinterlace(full=true,dthreshold=0)
3) pure interlaced NTSC video
FieldDeinterlace(full=true,dthreshold=0)
or
FieldDeinterlace(blend=false) [less ghosting]
or
Bob()
SelectOdd() [no ghosting at all]
or
Bob()
LanczosResize(320,240) [smoothest motion, 60fps output, less sharp]
NB: Telecide and FieldDeinterlace belong to the decomb plug-in
Recommendations:
50fps files should be viewed @ 50 or 100Hz refresh rate and
60fps files should be viewed @ 60 or 120Hz refresh rate
for best motion.
Guest
22nd May 2003, 05:08
>FieldDeinterlace(full=true,dthreshold=0)
There's no point in running an adaptive deinterlacer with threshold 0. You're much better off just discarding a field. What were you smoking when you conceived this idea? :)
Awatef
22nd May 2003, 11:28
@ neuron2
:D
No, it's just that the default dthreshold doesn't eliminate interlacing completely, the picture has still "rests" of interlacing. With dthreshold=0, the interlacing was completely gone, and the definition was definitely higher than Bob/SelectOdd.
Well, I usually apply a sharpening filter after it ;)
I think you used a higher dthreshold as default to keep the sharpness high enough. I think there is no point in it, I'm better off with dt=0 and a sharpening filter after it, I want complete blending, as with the VirtualDub filter.
Guest
22nd May 2003, 13:59
Turn on map=true and look at the result. See those blue areas? Those are areas that are being interpolated linearly. It is for all practical purposes the whole frame when using a 0 dthreshold. That means you are throwing away a field. Furthermore, the linear interpolation won't look as good as a better resize algorithm.
Smilies are no excuse. :)
Awatef
22nd May 2003, 15:57
@ neuron2
I think, there is a misunderstanding here. I'm talking about dthreshold, not threshold.
BTW, where is the attachment option??!! I wanted to post some screenshots ¬.¬
Xesdeeni
22nd May 2003, 15:59
Speaking of vertical interpolation. Has anyone seen a method that takes advantage of the limited scope of scaling one field to two to improve the results...namely that it is exactly 2:1 and only in the vertical direction? What I'm thinking is something that tries to recognize nearly horizontal edges and fills in the lines with a better guess than any interpolation could do. It would help all of the adaptive deinterlacers when they have to revert to interpolation for high motion scenes.
Xesdeeni
Guest
22nd May 2003, 18:24
Originally posted by Awatef
@ neuron2
I think, there is a misunderstanding here. I'm talking about dthreshold, not threshold.
BTW, where is the attachment option??!! I wanted to post some screenshots ¬.¬ There's no misunderstanding, at least on my part. I too am talking about dthreshold. Try what I said, and you'll see what I'm talking about.
There's currently a problem with attachments. It is being addressed.
trbarry
22nd May 2003, 18:44
Speaking of vertical interpolation. Has anyone seen a method that takes advantage of the limited scope of scaling one field to two to improve the results...namely that it is exactly 2:1 and only in the vertical direction? What I'm thinking is something that tries to recognize nearly horizontal edges and fills in the lines with a better guess than any interpolation could do. It would help all of the adaptive deinterlacers when they have to revert to interpolation for high motion scenes.
TomsMoComp does this as part of its interpolation step using "edge based line averaging". Then it goes into the motion comp part hoping not to have to use this info, but it's something to fall back on. You can see just the effect of the interp part by running it with the motion comp set to SearchEffort=0. ( TomsMoComp(1,0,0) )
- Tom
Guest
22nd May 2003, 21:29
Originally posted by trbarry
TomsMoComp does this as part of its interpolation step using "edge based line averaging". Please explain what this is and how you do it. Thank you.
trbarry
22nd May 2003, 23:16
"Please explain what this is and how you do it. Thank you."
Donald -
See the huge block of comments in the Wierdbob.inc statement in my zip, at www.trbarry.com/TomsMoComp.zip .
But generally assume you are trying to make a pixel P in between 2 lines containing pixels:
a b c d e f
P
h i j k l m
You could imagine 5 different possible diagonal lines through point P: a->m, b->l, c->j, d->i, or f->h. Let's interpolate along the nicest one.
So if, say, abs(a - m) is lower than all the other pairs then calculate P = avg(a,m). But in any case as a sanity check don't let P go outside the range of pixels c and j, the vertical neighbors.
Clear as mud, right? ;)
- Tom
Awatef
22nd May 2003, 23:50
@ neuron2
I still think there is a misunderstanding somewhere.
The screenshots HERE (http://www.angelfire.com/film/awatef/deinterlacing.jpg) speak for theirselves... (216KB)
As you can see, in the FD version, both fields are present and both are perfectly blended.
I'm starting to believe that you don't know how your own filter works :eek:
Guest
23rd May 2003, 00:41
Oh, yes, you have blend turned on. I forgot about that. :rolleyes:
It doesn't change my point though, that using an adaptive algorithm with adaptation disabled is curious. You might as well use BlendFields(). But OK, I'll grant you that FieldDeinterlace() is flexible enough to emulate BlendFields(), and that it is not unreasonable to do so. :)
Finally, for the record, if full==false, it is reasonable to have a 0 dthreshold because the non-combed frames are spared.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.