[MPlayer-dev-eng] [PATCH] try to enable XV_SYNC_TO_VBLANK

Rich Felker dalias at aerifal.cx
Mon Jun 27 18:14:24 CEST 2005


On Mon, Jun 27, 2005 at 08:22:52AM -0700, RC wrote:
> On Mon, 27 Jun 2005 10:23:00 -0400
> Rich Felker <dalias at aerifal.cx> wrote:
> 
> > You cannot scale interlaced video,
> 
> Obviously.
> 
> >  and MPlayer does not support playback of interlaced video anyway. 
> 
> Oh?  What is it lacking?

To play interlaced video, the playback timer must be synchronized with
the interlaced refresh. This is because the basic units are fields,
not frames, and a field can never be shown for more or less than
exactly one field period.

Assuming your system has no load aside from MPlayer, that it's
sufficiently fast, and that no scaling is taking place (most tvout
devices do their own scaling, btw..), just playing interlaced video as
if it were noninterlaced _MIGHT_ partially work. But you will always
have at least some flicker back and forth in time from timer drift,
due to the impossibility of the video refresh clock and system clock
being in perfect sync.

> > The only way you can make something playable out of it is to encode
> > to 60fps with vf_tfields.
> 
> The worst of both worlds.  Terrible aliasing, and motion that isn't
> any smoother (on a TV).

The motion is indeed smoother; you'll have full 60fps. And the
aliasing is no worse than the aliasing already inherent in interlaced
video. Note that for tfields to work, you MUST preencode a 60fps file
and then play that. The filter will not work correctly at all if
called directly from mplayer.

> Have you ever actually tried to use mplayer with TV-out?

Yes. It works great with progressive content, but there's no hope for
interlaced.

Rich




More information about the MPlayer-dev-eng mailing list