API spec vs API implementation

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



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




[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