Hi, while writing driver for VINO http://www.linux-mips.org/~ladis/vino/vino.html I found several strange things which I'd like to be clarified before investing more work into development. Driver should work with v4l API, which itself is not so bad, but seems missimplemented. first some defines: "Video capture devices sample an analog video signal and store the digitized images in memory." -> VCD "Video overlay devices have the ability to genlock (TV-)video into the (VGA-)video signal of a graphics card, or to store captured images directly in video memory of a graphics card, typically with clipping" -> VOD VINO is VCD which can clip and decimate image. It can also do colorspace conversion in hardware and many other interesting things. Documentation/video4linux/API.html states that struct video_capture should be used to set capture window. This is explained in greater detail on http://bytesex.org/v4l/spec/compat.html#AEN10355 while describing diferences between v4l and v4l2. in short VIDIOCGCAPTURE and VIDIOCSCAPTURE ioctl using struct video_capture should be used to set capture window while VIDIOCGWIN and VIDIOCSWIN using struct video_window should be used to set overlay window. now question is why cpia and c-qcam (both pport/usb devices which are unable to do overlays) are using VIDIOCGWIN and VIDIOCSWIN to set capture window size. v4l utilities are broken the same way (xawtv, video-capture...), so I'm wondering how to break the circle. What I'm a supposed to do if I want to set full size overlay window, but capture image in 1/2 of size?? (I also don't know how could cpia driver ever enter kernel tree. it does unnecessary software data conversion in kernel space). I'd like also to know how should continuous capture work (via mmap). Using existing drivers as example it no longer option for me :-( thanks, ladis