[MPlayer-dev-eng] New inverse-telecine filter

Zoltan Hidvegi mplayer at hzoli.2y.net
Thu Dec 4 23:31:44 CET 2003

> Zoltan Hidvegi (mplayer at hzoli.2y.net):
> > > Are you asking how to convert 4:2:2 to 4:2:0 ?  There are
> > > specifications for this depending on what 4:2:0 standard you are
> > > going to.  The MPEG2 spec has some details on the filter to use.
> > 
> > Yes, but the MPEG standard actually has two algorithms you have to use
> > depending on whether the content is progressive or interlaced.  And
> > many (if not most) progressive DVD players do not do it right, which
> > is known as the chroma bug.  See
> > http://www.hometheaterhifi.com/volume_8_2/dvd-benchmark-special-report-chroma-bug-4-2001.html
> > for a detailed discussion.  It mostly talks about upsampling for
> > playback, but downsampling has the same problems.
>   I'm aware of this problem (and that article is a great reference), but
> my point is that the spec is not ambiguous, especially for downsampling.

But it is.  Look at that page I've referenced, it writes:

    The MPEG spec makes it clear that while there is a wide latitude for
    the MPEG decoder to choose an upsampling algorithm for 4:2:0 to 4:2:2
    conversion, the decoder must use two different algorithms to be
    correct. One should be used for frames marked "interlaced", and a
    different one should be used for frames marked "progressive."

So if there are two algorithms for upsampling, there must be two
algorithms for downsampling as well, the problem is there are no flags in
broadcast TV to tell you which one to use.

>   Why do you care about 4:2:2 to 4:2:0 anyway though?  Let's bring this
> back to bttv and what it should do.  If you ask bttv for 4:2:0, it
> should _always_ mean that we want interlaced chroma, since this is the
> only intelligent choice.  Furthermore, using the definition of

No, not for progressive frames.

> interlaced chroma from MPEG2 is well defined, with how to go from 4:2:2.
> This is the correct choice regardless and it works just fine for
> progressive material: you deinterlace as normal, if you detect 2-2

No, it does not, interlaced scaling will mess up the chroma of
progressive frames.  And you cannot just deinterlace that, although you
can probably do some tricks to get back some reasonable pictures (like
interlaced upscale followed by progressive downscale).


More information about the MPlayer-dev-eng mailing list