On Fri, 11 Oct 2002, Franco Bevilacqua wrote:
> Yes, I have already thought to this solution
> But I need to display at least 30 frame per seconds in a image format of 640x512
> without overloading the CPU.
> My idea consists to write the data in "the video driver" like V4L and then
> display the data in the overlay of the graphic card.
Overlays aren't grayscale, they're YCbCr. V4L devices like TV cards
dump 4:2:2 YCbCr to the framebuffer. You'd need to be able to get your
hardware to dump only to the luma portions (every other byte) and
leave the chroma alone (which you've set up to black beforehand) or
somehow have your hardware only dump black to the luma portions.
I'm guessing that your capture hardware probably can't do that.
> I suppose that I can directly show the overlay's image in a XWindow.
> I need apply some transformations like magnifying, inverting, gamma correction
> and so on. I think do that by using the graphics card features, but I don't know
The video overlay can scale, but can't do image processing.
If you had the data in system memory you could use 4:2:0 (YV12)
XvShmPutImage. 4:2:0 is a planar format so luma is all in one chunk
and never have to touch the chroma planes, just initialize them to
black. You'd have to do any image processing on the luma data with
the CPU before the XvShmPutImage request, but XvShmPutImage would handle
the scaling with high quality filtering.
I can probably modify one of my test apps to show how to display
grayscale data using 4:2:0 XvShmPutImage.
Mark.
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert