I've been playing with a tv-capture card. None of the existing ports
(e.g. fxtv) do what I want, so for the last few weeks I've been writing
code on my off time to play with the card.
It kinda turned into a project and has gotten good enough that it is
worth a port, so I have comitted a port for it:
/usr/ports/graphics/dtv
The code is definitely alpha. I'm sure there are lots of issues, like
it only understands NTSC/60Hz for the moment and only understands 16
or 32 bit frame buffers (though it might work with 24, I can't test
that), but most of the hard work is done. The main purpose of writing
the program was so I could operate the TV tuner in a client/server model
over a 100BaseTX network and so I could play with recording programs to
a file and playing them back.
I also wanted to do a certain amount of software compression using the
host cpu since we do not appear to have any hardware support for MPEG
encoding and decoding, so DTV can in fact compress the video stream.
It isn't the greatest compression in the world ... it gets it down to
around 2 MBytes/sec at reasonable quality, but it's better then the
9 MBytes/sec you would need to store the video uncompressed. I could
do more complex algorithms if I wrote it in assembly but I'm not that
crazy so it's written in C.
The code may also be of use to others who are playing with TV-capture
stuff. It's written completely from scratch (though I did look at
the fxtv code when I got stuck to see how they did certain things) and my
code uses the BSD copyright.
You need a good graphics card, like a GeForce2, and a 700MHz or better
cpu to be able to get a reasonable display size at the full 30Hz frame
rate. Please feel free to email me simple patches.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message