[MPlayer-dev-eng] New inverse-telecine filter
vektor at dumbterm.net
Fri Dec 5 00:15:49 CET 2003
Zoltan Hidvegi (mplayer at hzoli.2y.net):
> > Of course not, because you don't need to. Broadcast TV is sent as
> > 4:2:2. The bttv driver converts this from 4:2:2 to 4:2:0, currently
> > by dropping every second line of chroma. This happens to be
> > reasonable (but poor quality - should be filtered!) if the field
> > happens to be from a progressive frame. But since it might not be,
> > the bttv driver should use a standard for interlaced chroma,
> > basically, every second scanline of chroma should be from the next
> > field (again poor, but better for interlaced content).
> With interlaced downsampling the color samples will come from lines 0,
> 1, 4, 5, 8, 9, ..., i.e., keep two lines, drop two lines. If you do
> that on a progressive frame, it will look bad, since every second
> chroma line would be 1 luma pixel higher than normal, so you would
> have to interpolate them back to the right place. Probably you end up
> losing 2/3 of the vertical chroma resolution instead of only losing
> half if you did progressive downscale to begin with.
Ideally, it's not about keeping and dropping lines, you're supposed to
apply a filter to get the chroma scanline, so the chroma scanline
corresponding to scanline 5 should be filtered based on the neighbours
in that field (1,3,7,9,...). When you convert to 4:2:2 (or convert to
progressive 4:2:0), you should also use a higher filter, and get a more
accurate interpolation.I do not believe the argument that you will end
up losing 2/3 of the vertical chroma resolution.
I also won't believe you if you say that doing the progressive
downscale on progressive content will be _higher_ quality. Keeping
chroma from only one field seems like a bad, bad idea, given how NTSC
encoding works. I bet that if you did a proper upsample converting each
field to 4:2:2, then merged them, then downscaled using a good filter
back to 4:2:0, you would get a higher quality image.
More information about the MPlayer-dev-eng