[MPlayer-users] Preserve interlacing; prevent tearing on TV-out?

Neologism Neologism at POBox.COM
Sat Oct 20 15:20:06 CEST 2001


FYI, I've read the fine manual, and I think MPlayer is a fine program. 
Thank you for your good work.

I don't know much about video, but it's become important to me recently
and I'm learning quickly, so please be patient.

I have captured an NTSC source and compressed it using Divx4.  I am
playing it back now (using MPlayer) on a computer with a standard VGA
card connected to an external scan converter (VGA->NTSC).  The video
looks good to my uneducated eye but for two problems: interlacing
artifacts and tearing.

I considered deinterlacing the source before compressing it, but
rejected that idea because deinterlacing is a lossy process and I want
to keep the quality high.  I intend to view the video on a television
anyway, which is interlaced.  For a recommendation of interlaced MPEG4,
see http://people.freenet.de/codecpage/mjpegtst.html#Anker55473.

I understand that the interlacing artifacts are there because VGA output
is progressive (non-interlaced).  The tearing, I imagine, is being
caused by playback at a rate not synchronized with the 29.97 fps of the
video file as well as the output device (television).

How best to solve these two problems?  My guess would be a new video
card with a TV-out port, eliminating the need for the scan converter.  I
would configure X (or some other video output device) with a modeline
that corresponds to NTSC (29.97 fps, interlaced).  The software (in this
case MPlayer) would see an interlaced frame buffer in the output device
(?), see that the video file is interlaced, and Do The Right Thing (?). 
Or maybe it wouldn't, but the Right Thing would happen anyway?  This
seems like the most likely method for preserving interlacing all the way
through the signal path.  Would it work?

To solve the tearing, I would configure the video output device such
that its vertical sync (?) is locked with the vertical sync on the
TV-out port.  Would this work?

If the solution is to buy a new VGA card with TV-out port, then which
one should I buy?  I know the developers here have done a lot of work
with the G400, but it's not a good candidate for a newcomer because it's
no longer being sold.  The Voodoo3's TV-out can be controlled on Linux
using lm_sensors, but it's also no longer being sold.  ATI won't release
support for TV-out in Linux because of Macrovision concerns.  nVidia
supports it in Linux but their driver is closed source and doesn't
provide overscanning tuning (someone has writtten a program to fix this
in Windows, but it's closed-source and not available for Linux).  SiS
cards are rumored to work, but I haven't been successful at finding
any.  Their web site claims "SiS VGA Linux driver to support TV-out or
LCD display is available in XFree86 4.0a for SiS630/SiS540 platform with
SiS301 chip enabled", whatever that means (though it's encouraging).

I'm willing to invest whatever time and resources are necessary to get
this to work.  Please challenge my assumptions and share your opinions.

Thanks,
Neologism





More information about the MPlayer-users mailing list