Re: capture card recomendations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



Trent Piepho wrote:
On Thu, 18 Dec 2003, Michel Bardiaux wrote:

Erik Slagter wrote:

Software reduction means you grab the whole 704 by 576 (when PAL) pixels for every frame, copying from the mmap-ed buffers to your own buffer. Then you skip say 3 out of every 4 lines, and in the lines you keep, skip 3 out of every 4 pixels. There are subtler methods but this one is simple.


I'd suggest capturing 720x576 - else the card already starts downscaling
in hardware.

Well, VIOCGCAP was telling me 924 for maxwidth, which I found puzzling. Being in a rush I hardcoded 704x576 (2 times SIF). Do the cards do downscaling or cropping? Whare do you get 720 from? If true, I should see some improvements in speed and quality, so I'll certainly try. But not today.


The bt8x8 chip samples the video stream at a high horizontal resolution.  I
know that for NTSC, it's 756 pixels. I guess for PAL, it's 924.
TV signals aren't perfect, so some lines will be < 756 (or 924) pixels long
because the signal ended a few tenths of a microsecond early.  The bt8x8 then
scales the 756 or fewer pixels to the resolution you requested.  It can only
go down, so if you request 756 (or 924) pixels, most lines will be dropped
because they ended up being only 755 pixels or fewer.  720 is called full-D1
resolution by the ccir601 standard, for NTSC.  It's the resolution used by
DVDs.

If you request less than full resolution, the bt8x8 scales the image down in
hardware using a number of different filters.  You even control the filters it
uses, but I don't think v4l has the ability to set these things.

I don't see how capturing at a high resolution and then dropping pixels would
be an improvement.  The filters the bt8x8 uses are better than just dropping
pixels, plus it does them in hardware for free instead of using the cpu, and
there is less data to transfer over pci.

I should add that while the filters the bt8x8 can use are better than dropping
pixels, they are not the best there is.  It is possible, in some cases, to do
a better job scaling in software than the bt8x8 does in hardware.  High
quality scaling is not an easy task, there is no "best" algorithm and all the
good ones are cpu intensive.

I prefer software downscaling because what the hardware does is very hardware-dependent. The hardware scaling wirks better with some cards than others, and you dont have any control over it. And I did not find statifactory documentation. For power-of-two downscaling, the quality obtained by simple decimation was found acceptable by all my guinea pigs.

But I let the card do whatever is necessary to give me a 'standard' full-size image. The 704x576 was derived from SIF. I found contradictory information on what exactly is the aspect ratio of the TV image. The whole thing is very obscure.

--
Michel Bardiaux
Peaktime Belgium S.A.  Bd. du Souverain, 191  B-1160 Bruxelles
Tel : +32 2 790.29.41




[Index of Archives]     [Linux DVB]     [Video Disk Recorder]     [Asterisk]     [Photo]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Free Photo Albums]     [Fedora Users]     [Fedora Women]     [ALSA Users]     [ALSA Devel]     [Linux USB]

Powered by Linux