Hi,
finally I got my webcam with ov519 chipset (Eyetoy and others) working in PDP/Linux. Attached is a patch against pdp_v4l.c which is very intrusive. ;)
All jpeg loading should go into an external file and maybe be called as part of pdp_llconv. The code obviously more is a proof of concept, not production level, however I intend to use it as it is for now.
pdp_v4l was extended by a method: "jpeg 0/1" which switches off and on the jpeg decompression of frames. Default is off, so your normal cams or tv cards will continue to work.
I would love to see ov519 support in Gem and Gridflow, too.
Adding the decompression turned out to be not too hard (it was hard for me, though!). The basic approach is to create a jpeg decompression setup, that does not read from a file, but from a memory location. In my code, this is done using the source manager: "jpeg_source_mgr source"
The frames delivered by the ov519 cam carry some bookeeping information in their first two bytes, which need to be skipped when reading in the jpeg data and looking for their header. (Done through: "source.next_input_byte=newimage + 2;" in the code)
After that it's simply calling the jpeg_read_scanlines stuff as it's also already done in various places where Gem or PDP load JPEG files.
My code still gives some distortions and decompression errors in the resulting image, but basically works fine now. To build, you need to add "-ljpeg" to the makefile. I don't know how to add this to the autoconf stuff/build system of pdp.
Have fun.
Ciao