Re: v4l1 compat version 0.6 aka V4L2 apps stay working
Hans de Goede <[email protected]> Tue, 10 Jun 2008 18:23:57 +0200
| Newsgroups | gmane.linux.drivers.spca50x.devel,gmane.comp.video.video4linux |
|---|---|
| Message-ID | <[email protected]> |
Thierry Merle wrote: > Hi Hans, >> Hi All, >> >> Changes since last version: >> v4l1-compat-0.6 (V4L2 apps stay working) >> ---------------------------------------- >> * Do not go into emulation mode of rgb24 immediately, but only after a >> GPICT ioctl which has not been preceded by a SPICT ioctl, AKA do not >> get >> in the way of V4L2 read calls by doing conversion on them >> * Do not get in the way of mmap calls made by V4L2 applications >> * Fix swapping of red and blue in bayer -> bgr24 decode routine >> * Remember the v4l1 palette asked for with SPICT and return that, as >> otherwise we loose information when going v4l1 -> v4l2 -> v4l1, for >> example >> YUV420P becomes YUV420, which are separate in v4l1. >> >> Given the high rate of me pushing out releases I was planning to stop >> spamming >> the list with tarbals (however small), but my personal webspace is down >> (yeah!) >> so one more time in spam modues, sorry. >> >> With this version all apps tried sofar: >> * spcaview read / mmap mode, yuv420 and bgr24 >> * ekiga v4l1 read / mmap mode >> * camorama including changing capture resolution while streaming >> >> Work fine, note with some cams camorama might need a small bugfix though, >> as it >> assumes that cams have a resolution exactly half of their max resolution >> available, and as such ignores then width/height returned by VIDEOCSWIN, >> assuming it got what it asked for, the patch against camorama 0.19 >> attached to >> my 0.5 announcement mail fixes this. >> >> Regards, >> >> Hans >> > I took a look at your library, seems simple and interesting! > You are overloading open/close/ioctl/read/mmap and catch these operations > on /dev/videoX path to do whatever you want, like frame conversion. > This is a simpler solution than the one on > http://www.linuxtv.org/v4lwiki/index.php/V4L2UserspaceLibrary > that is complex and incomplete regarding the implementation, sadly. > - You said that arts is using the same system. Does it conflict with the > use of arts from an application point of view? Not that I know of it also intercepts open and a few others like my lib does, also through using LD_PRELOAD, when you've arts installed there is an artsdsp command, so to run an app foo which wants to use oss soundoutput though arts one could do: artsdsp foo And then the artsdsp shell script would set the necessary env. variables causing libartsdsp.so.0 to be LD_PRELOAD-ed, intercepting open / write of / to /dev/dsp redirecting that to arts. > - The device driver will still have to declare the compressed pixel > formats (V4L2_PIX_FMT_MJPEG, ...) to interface the library. The usbvision > device provides a proprietary pixel format but I cannot name it; how we > will cope with that? > Just make up your own fourcc code and V4L2_PIX_FMT_MJPEG define and get that added to include/linux/videodev2.h (and make your driver report this format) after that I would be happy to take patches to add support for this format to my wrapper. In the future I plan to even do v4l2 -> v4l2 emulation doing conversion only, so that not all v4l2 apps need to know about all exotic formats like usbvision's format. Regards, Hans > Regards, > Thierry > > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php