[mythtv-users] Video Out Quality Hauppauge PVR-350 vs Geforce4 MX

Bruce Markey bjm at lvcm.com
Thu Nov 20 18:56:50 EST 2003


Taylor Jacob wrote:
> I recently setup MythTV on a box using a GeforceMX AGP video card and got
> it hooked up to my TV.  One of the first things that I noticed was the
> black bars around the video in X.  I added the OverScanLines setting to my
> XFree86Config file, and got the black bars reduced considerably, yet there
> is still a small area that is noticable at the Maximum setting of 1.0.
> 
> My main problem is that I have noticed that horizontal movement seems to
> be jerky even with de-interlacing turned on.  It is not that noticable
> when you are watching the news or a sitcom, but I attempted to watch a
> hockey game and very quickly had to stop watching because it became too
> irritating with all the jerking.

Unfortunately, the only way an NTSC picture is going to look
right is if the the alternating fields of the interlaced picture
are displayed on 480 interlaced scan lines with a refresh rate
for 59.94 fields per second and each field is updated before the
next vertical refresh. Any variation is not going to look quite
right. De-interlacing tricks don't actually 'fix' problems, they
only help to hide the effects of the problems.

If the picture is shown on progressive scan or at a different
refresh rate or even if the number of scan lines for TV out
does not match up, lines from both fields will be displayed
next to each other at the same time rather than 1/60th of a
second apart. When this happens the edges of things in motion
will have 'mice teeth' where every other line is a different
length because it is from a different point in time. There
appear to be two pucks flying down the ice rather than the
top field then the bottom field 1/60sec later then the top
field again.

Linearblend deinterlacing covers up the mice teeth by averaging
one line with the next. However, if you look at a still frame
there are two ghosted images of the two positions in time. When
this is played at regular speed things still are doubled and
motion looks chunky rather than smooth.

> Is it correct to assume that this problem lies in the fact that the
> Geforce card simply scales video output from 640x480 (or whatevr
> resolution you are running your X Session as) down to something that will
> fit on a tv plus a bit of black to make sure nothing is lost in the
> natural overscan of the TV?  Resulting in scanlines being misplaced and
> scaling not being done on a 1:1 ratio which would make panning very
> noticable?  If this is the case, then I can't see these cards as being a
> real good solution for MythTV (At least in my opinion).

I think you are correct. The main problem here is that there is
not a one-to-one relationship between the scanlines stored in
the recording and the scanlines that the X display is using for
its display area. With TVOverScan at .5 or .7 the display area
is probably on 400 to 440 scanlines. At 800x600 the display is
clearly being scaled down and smoothed to fit but still be
legible. But even at 640x480 it would need to be scaled to fit
onto 440 lines.

> I was looking at the Hauppauge PVR 350 card since it has a TV out. I
> noticed somewhere on the list that it had been mentioned that it keeps
> interlacing intact.  Does it do this by running at a resolution that is
> native to Televion output and therefore requires no scaling?

As I understand it, the 350 is displaying a 480 pixel high image
on 480 scan lines in the raster. After seeing a discussion a
couple weeks ago, I thought up an experiment, tried it, liked
the result and have been running this way ever since. It sounds
stupid so I hadn't mentioned it here until now but here goes:


The idea is if a 640x480 X display uses 480 scan lines and
an Nx480 recording is not rescaled, there should be a one-
to-one alignment. Every other line will be updated on every
other field refresh and there should be no mice teeth.

The assumption is that it wouldn't make sense for the driver
to push the overscan height beyond the maximum scan lines.
Therefore TVOverScan 1.0 ought to be 480 lines. This appears
to be the case but I can't precisely verify this.

Prerequisites:

An nVidia card with TV-out that supports TVOverScan.

nVidia's 1.0-4363 driver (not the latest).

A TV with controls or service mode adjustments for height
and width.

Tolerance for theme designers that ignore the NTSC guidelines
for Action and Text border spacing =).


Set TVOverScan to 1.0 and the mode to 640x480 in XF86Config-4.
Adjust the TV to shrink the picture to match the edges of the
screen as closely as possible.

In mythfrontend, set the GUI height to exactly 480. The width
can be modified from 640 if needed to fit text at the edges
onto the screen. The myth TV picture fills the GUI size so
the GUI height must be 480 or it will spoil the effect.

In TV Settings->Playback->Overscan, set the vertical percent
to 0%. Here again the horizontal can be adjusted to fix the
aspect ratio but vertical would rescale the image and throw
off the vertical alignment.

Also, on the first Playback screen, turn off Deinterlace since
we don't want to blend lines. Turn on Jitter reduction and
Experimental A/V Sync to help with the framebuffer update
timing.

With these setting the picture seems much more vivid. I don't
see mice teeth and motion appears to be smoother but still
imperfect. Watching the ticker on CNN, the letters appear to
have nearly smooth contours rather than the jagged double
image normally seen with Deinterlace off.

The down side is that the GUI is over blown and some characters
near the edges are cutoff. However, for me, the difference in
picture quality out weighs this.

I don't have a 350 for comparison and can only imagine the
results are similar. However, there are two advantages for
the nVidia card; it can display any of the mythtv file formats
and it can take advantage of the vsync timing to mitigate
frame timing jitter.

These setting seem to give me a much better picture. I'm
curious if this looks better for anyone else.

--  bjm



More information about the mythtv-users mailing list