Re: API spec vs API implementation

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



On Mon, Sep 29, 2003 at 04:07:17PM +0300, Tuukka Toivonen wrote:
> On Mon, 29 Sep 2003, Ladislav Michl wrote:
> 
> >Documentation/video4linux/API.html states that struct video_capture should
> >be used to set capture window. This is explained in greater detail on
> 
> It also says:
> "The capture area is described by a struct video_window." Confusing. But
> since struct video_window takes in list of clipping rectangles, necessary
> for overlay (I think), one would expect you to be right in that VIDIOCSWIN
> would define overlay window instead of capture window, unlike in current
> drivers.

I'd guess it should read as follows:

Index: Documentation/video4linux/API.html
===================================================================
RCS file: /home/cvs/linux/Documentation/video4linux/API.html,v
retrieving revision 1.4.4.1
diff -u -r1.4.4.1 API.html
--- Documentation/video4linux/API.html	26 Jun 2002 22:35:01 -0000	1.4.4.1
+++ Documentation/video4linux/API.html	29 Sep 2003 13:25:14 -0000
@@ -88,9 +88,9 @@
 Setting the base address to NULL indicates there is no physical frame buffer
 access.
 <P>
-<H3>Capture Windows</H3>
-The capture area is described by a <b>struct video_window</b>. This defines
-a capture area and the clipping information if relevant. The 
+<H3>Overlay Windows</H3>
+The overlay area is described by a <b>struct video_window</b>. This defines
+an overlay area and the clipping information if relevant. The 
 <b>VIDIOCGWIN</b> ioctl recovers the current settings and the 
 <b>VIDIOCSWIN</b> sets new values. A successful call to <b>VIDIOCSWIN</b> 
 indicates that a suitable set of parameters have been chosen. They do not
@@ -124,10 +124,18 @@
 is activated by passing the <b>VIDIOCCAPTURE</b> ioctl a value of 1, and
 disabled by passing it a value of 0. 
 <P>
-Some capture devices can capture a subfield of the image they actually see.
-This is indicated when VIDEO_TYPE_SUBCAPTURE is defined.
+<H3>Capture Windows</H3>
+Some capture devices can capture a subfield of the image they actually
+see. This is indicated when VIDEO_TYPE_SUBCAPTURE is defined.
 The video_capture describes the time and special subfields to capture.
-The video_capture structure contains the following fields.
+The capture area is described by a <b>struct video_capture</b>. The
+<b>VIDIOCGCAPTURE</b> ioctl recovers the current settings and the 
+<b>VIDIOCSCAPTURE</b> sets new values. A successful call to
+<b>VIDIOCSCAPTURE</b> indicates that a suitable set of parameters have
+been chosen. They do not indicate that exactly what was requested was
+granted. The program should call <b>VIDIOCGCAPTURE</b> to check if the
+nearest match was suitable. The video_capture structure contains the
+following fields.
 <P>
 <TABLE>
 <TR><TD><b>x</b></TD><TD>X co-ordinate of source rectangle to grab</TD>

> The API documentation is confusing but I would recommend you to stay
> compatible with existing applications, even if that would mean breaking the
> word in the documentation.

better to follow documentation and add compacrapability hooks...

> As you can see, there's good reason for V4L2. Have you looked it, is it
> better? Better to check before it's fixed in stone.

V4L2 is better (of course I have to read it several times and try to work
with it for some time), but I'd like that driver to go into 2.4 kernel
series. I don't mind maintaining two versions of driver nor fixing other
stuff (I sent patches for this two years ago, but got no reply).

> >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??
> 
> Use V4L2?

VIDIOCSCAPTURE with decimation=2 to set capture
VIDIOCSWIN to set overlay.
there is no problem in API itself, but in its implementations...

[snip]

	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