Re: other computer to video output (besides Firewire/DV)
- From: "Richard Crowley" <rcrowley7@xxxxxxxx>
- Date: Tue, 12 Jul 2005 07:14:01 -0700
phil-news-nospam wrote ...
The kind of video cards normally used for computer graphical displays is not very welcoming for writing a driver.
And yet the Linux community has been writing their own video
card drivers for years. Open source, you can examine the code
for yourself.
For NTSC, all I really need is a fast buffered serial transfer
to appropriate D/A converters. Firewire/DV is much like that
(with a bit of unneeded complexity added due to the Firewire, and the decompression done with the D/A).
The process of converting video data into an anlog video signal has become pretty much commonplace with dozens of chips that do most of the work in a single bit of silicon.
Firewire actually has nothing to do with it except as a transmission medium for DV. For that matter DV also
has nothing really to do with it except as one method of
encoding and transporting compressed video data.
Actually, this will be on Linux. But both systems suffer
from bloat and slow down when going through the software
graphical interfaces. Graphical windowing systems are designed to be more effective at things like filling in solid areas, patterns, line drawing, moving stacks of windows
around. It is not effective at dumping continuous data through.
A strange opinion in light of all the systems out there running every day doing exactly what you think is "not effective".
It will need to also do conversion to 3.579545 MHz modulated NTSC composite video, which is best done
in analog after D/A.
NTSC/PAL/SECAM are not modulated on Fsc. Only the color information is, and nobody has done it in analog in a couple decades. Fsc is so slow compared to modern digital data rates that it is literally trivial to do it completely in the digital domain. This was the case even
20 years ago back in the era of the Apple 1, Amiga and theoriginal IBM PC. The original PC bus even had a dedicated line for 4Fsc (14.31818MHz).
A plain serial interface, without all the overhead of Firewire, would do the trick. Interfaces for this already have been done for other kinds of purposes. I may not even
need to write a driver at all as an HSSI/DMA driver will
probably do the job (the kind used to transfer data at speeds of 4 gbps and more).
Why not parallel? It is both faster and simpler to implement. Besides, even with the overhead, Firewire has the bandwidth to handle several DV streams simultaneously and at least one or two uncompressed NTSC streams.
OTOH, this is known as "the cart before the horse" if you have not identified what the device is at the other end of your data link that is actually generating the video signal. I continue to maintain that you are going completely around the earth backwards to define an ordinary video card.
As a serial device. Instead of laying out pixels in a 2 dimensional array, and hoping you aren't crossing over where the scanout is working which can result in a wipe
or blink effect, what would be done is simply pump out a
serial data stream directly from the stored file.
Anyone who understands what "phil-news-nospam" is trying to say, please raise your hand?
I've got enough experience with the software interfaces
for computer graphics cards to know they don't tend to
have the kind of software calls I need to do video streaming very effectively.
Then you are not working at a low enough level. Others (daresay with more experience designing and selling real products than you have) do this every day. Even $100 video game consoles do this every day.
The driver and windowing system will end up spending
enormous amounts of CPU massaging images into buffers
to be displayed as graphics,
Quite to the contrary, moving video data around is pretty low-grade stuff to modern multi-GHz CPUs and graphics processors. Unless, of course, there is some requirement for your project that you haven't disclosed.
NTSC, PAL, etc, are basically serial waveforms. In digital form, a series of N-bit values can represent the voltage level value of that waveform. For video components like RGB or YUV, that would be just 3 such
values in parallel, which can be easily interleaved......
That is all pretty basic stuff that was mastered a couple of decades ago. Not clear why it seems like such a big deal in these days of multi-GHz silicon?
You have yet to reveal any requirement for your project that can't be implemented with an ordinary video card. Maybe one with genlock if that is one of your requirements?
Again, this discussion is OFF-TOPIC for this newsgroup. Suggest going to one (or more) of these forums....
sci.engr.television.advanced sci.engr.television.broadcast comp.graphics.* comp.os.linux.* comp.sys.ibm.pc.hardware.video (likely some others, also)
I will honor the charter of this newsgroup by refusing to respond to any further discussion of this topic here. .
- Follow-Ups:
- Re: other computer to video output (besides Firewire/DV)
- From: phil-news-nospam
- Re: other computer to video output (besides Firewire/DV)
- References:
- other computer to video output (besides Firewire/DV)
- From: phil-news-nospam
- Re: other computer to video output (besides Firewire/DV)
- From: Martin Heffels
- Re: other computer to video output (besides Firewire/DV)
- From: phil-news-nospam
- Re: other computer to video output (besides Firewire/DV)
- From: Richard Crowley
- Re: other computer to video output (besides Firewire/DV)
- From: phil-news-nospam
- other computer to video output (besides Firewire/DV)
- Prev by Date: FA; SONY DXF-40 ELECTRONIC VIEWFINDER for VIDEO CAMERAS>EXC
- Next by Date: Re: other computer to video output (besides Firewire/DV)
- Previous by thread: Re: other computer to video output (besides Firewire/DV)
- Next by thread: Re: other computer to video output (besides Firewire/DV)
- Index(es):
Relevant Pages
|