On Sun, Dec 15, 2002 at 12:16:38AM +0100, Stefan van der Eijk wrote:
> Brian,

Hi Stefan,

> I've taken a look at some of the PVR software this week. Freevo and Mythtv.

OK.  I have looked at them both too in the past.  I will preface all
of this by saying that both are unacceptable in terms of display
quality.  Why?  Because they are all eye-candy and features, etc. and
neither deals properly with the real problem which is an interlaced
display output to an interlaced device -- the television.

DirectFB is the _only_ graphics display engine that is addressing this
issue.

I don't know how much you know about broadcast television, but it is
an interlaced format.  That means that each "picture" that comes down
the wire (there are 59.94 of these per second in NTSC and 50/s in PAL)
is displayed on every other line of your televsion, on the lines
adjacent to the previous picture.  These pictures are usually called
fields.

First you get lines 0, 2, 4, 6, 8... which is displayed for 1/59.94th
(all of my examples will be NTSC, you can substitute 50 for 59.59 and
25 for 29.97 if you are in PAL-land) of a second and then you get
lines 1, 3, 5, 7, 9... which is displayed for 1/59.94th of a second.
Then you get lines 0, 2, 4, 6, 8... again and then 1, 3, 5, 7, 9...
again.

To properly record a broadcast signal and display it back on a PVR
and preserve all of the temporal information (i.e. motion), you have
to be able to record each field separately, but more importantly, you
have to be able to display each field separately, interlaced, just as
it is broadcast (and you recorded it).

Niether freevo or mythtv do this.  Any solution using X11 by
definition cannot do this and will in fact "tear" during display.
This is because X11 cannot display the frames in sync with the
vertical retrace sync of the televition.  The result is that the
application displaying the frames (i.e. MPlayer) never knows when the
television has fully displayed a frame and therefore can never know
when to start giving a new frame to the display hardware.  It ends up
giving a new frame while the old one is displaying resulting in a
"tear" (where you see some portion of the old picture and some portion
of the new picuture on the screen at the same time, separated
horizontally -- i.e. the bottom half of hte old frame and the top half
of the new frame).

In terms of hardware for TV output, only the Matrox G400 is fully able
to do this properly.  All other TV display cards' manufacturers refuse
to publish specs on how to get their cards to display to TV.  There
are hacks like using the BIOS for TV display output on Radeon cards
and the such, but none of these give a properly interlaced,
overscanned image like the G400 does with recent DirectFB code.

I guess there is also nVidia, but those are closed source drivers, so
we can dismiss them without examination.

> Mythtv looks more promissing.  I've grabbed a mythtv src.rpm  from the 
> net and started adapting it for mdk. The configure script you'll first 
> encounter is not for mythtv, it's for some other library it needs. There 
> quite a number of funny paths it uses and other quirks. It also needs 
> MySQL, which I can't get working on my box at the moment. 

MySQL for a PVR?  Overkill.

> MySQL-3.23.53-5mdk, can somebody verify this? Mythtv has more features 
> (web interface) than freevo and the mailinglist is quite busy.

Why would I want a web interface for my PVR?  I don't want X11 as my
display engine for all of the reasons I gave above, and I want a PVR,
not a WebTV.

> As I've said, I've got a Matrox Marvel G450 eTV 
> (http://www.matrox.com/mga/products/marv_g450_etv/home.cfm).

You should try to trade it for a G400.  The specs and capabilities of
the 400 are much better known than the 450.  The 450's specs are even
less published than the 400's.

b.

-- 
Brian J. Murrell

Attachment: msg83861/pgp00000.pgp
Description: PGP signature

Reply via email to