From sacadmin Fri Aug 18 11:58:47 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7IIwlrj010490
	for <psarc@sac.eng.Sun.COM>; Fri, 18 Aug 2006 11:58:47 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.149.246.28])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7IIwk017033;
	Fri, 18 Aug 2006 12:58:46 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 id <0J470091BJDVXN00@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 18 Aug 2006 11:58:43 -0700 (PDT)
Received: from sfbaymail2sca.sfbay.sun.com ([129.145.155.42])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 with ESMTP id <0J4700ES7JDU7ZB0@nwk-avmta-1.sfbay.Sun.COM>; Fri,
 18 Aug 2006 11:58:42 -0700 (PDT)
Received: from billybob.sfbay.sun.com
 (billybob.SFBay.Sun.COM [129.146.224.123])	by sfbaymail2sca.sfbay.sun.com
 (8.13.6+Sun/8.12.10/ENSMAIL,v2.2) with ESMTP id k7IIwe6K021792; Fri,
 18 Aug 2006 11:58:40 -0700 (PDT)
Received: from billybob (billybob [129.146.224.123])	by billybob.sfbay.sun.com
 (8.13.6+Sun/8.13.6) with SMTP id k7IJ5qNi164297; Fri,
 18 Aug 2006 12:05:52 -0700 (PDT)
Date: Fri, 18 Aug 2006 12:05:52 -0700 (PDT)
From: Shudong Zhou <szhou@billybob.sfbay.sun.com>
Subject: PSARC 2006/484 USB Video Class Driver
To: psarc@Sun.COM
Cc: Colin.Zou@Sun.COM, usb-tech@Sun.COM
Reply-to: Shudong Zhou <szhou@billybob.sfbay.sun.com>
Message-id: <200608181905.k7IJ5qNi164297@billybob.sfbay.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_13 SunOS 5.11 i86pc i386
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: jsdSd80JqarosJjEYW2rXg==
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 6144

I'm sponsoring the following fasttrack for Colin Zou. The timer is
set to expire on 8/25.

Shudong


USB Video Class Driver
=======================

#ident "@(#)spec.txt    1.0    06/08/10 SMI"

1.  Introduction
----------------

        This case provides a USB Video Class Driver to support USB webcams. 
Theoretically, this driver supports all USB webcams compliant to "USB Device 
Class Definition for Video Devices" spec[1].

        USB webcams are popular and widely used in applications, like video 
conference, video capture, etc. usb.org has produced a detailed specification[1] 
which is adopted by major USB video chipset/device manufacturers. This driver is 
developed according to the spec.

        To support popular video applications in the open source community, USB 
Video Class Driver implements the IOCTLs defined in V4L2 API spec[2] and creates 
a new device node under /dev. A lot of existing video applications are compliant 
to V4L2 API spec[2] which defines some IOCTLs and device file names under /dev. 
For example, Ekiga[3] is a video conference application which is being ported by 
a Sun engineering team from open source community. It uses V4L2 IOCTLs to 
communicate with kernel drivers.

1.1 The Problem
---------------

        Solaris doesn't support any USB video devices. Solaris users can not use 
any applications (eg. Ekiga[3]) which need a USB webcam plugged to their boxes. 
Many other major OSes (like Linux, MS Windows, Mac OS, etc.) support USB webcams 
for years.

        Although Solaris supports 1394 (fire wire) webcams, but they are too 
expensive and much less popular than USB ones. What's more, the PC boxes with 
USB ports are much more than those with 1394 ports.

1.2 Market/Requester
--------------------

        Ekiga[3] project depends on this driver. JDS team is working on this 
video conference application and they are going to integrate it to Solaris.

        There are strong market requirements to support USB webcams from 
enterprise, medium/small offices and home users.

1.3 Solution
------------
        USB Video Class Driver is developed under the current Solaris USB 
Architecture (USBA).

        According to "USB Device Class Definition for Video Devices" spec, USB 
Video Class Driver will support the USB webcam hardware features defined by the 
spec.

        According to V4L2 interface spec, USB Video Class Driver will implement 
some major IOCTLs defined by the spec. A device node under /dev will be created 
by this driver.

1.4 Supported Features
----------------------
        USB Video Class Driver will support usual USB webcam features, such as:
          * Popular video formats, like MJPEG, UNCOMPRESSED, etc.
          * Zoom Control
          * Contrast Control
          * Brightness Control
          * Image size select

1.5 Hardware platform dependencies
----------------------------------

        None.

2.  Device node created by USB Video Class Driver
---------------------------------------------------

        According to V4L2 API spec, device node /dev/video* should be created by 
drivers implementing V4L2.

3. Interface Table
------------------

+------------------------------------------------------------------------------+
|                       Interfaces Exported                                    |
+------------------------------------------------------------------------------+
| Interface           | Stability label |            Comments                  |
|------------------------------------------------------------------------------|
| VIDIOC_ENUMINPUT    | Uncommitted     |  Enumerate video inputs              |
| VIDIOC_S_INPUT      | Uncommitted     |  Select the current video input      |
| VIDIOC_ENUMSTD      | Uncommitted     |  Enumerate video standards           |
| VIDIOC_S_STD        | Uncommitted     |  Select the current video standard   |
| VIDIOC_G_CTRL       | Uncommitted     |  Get the value of a video control    |
| VIDIOC_S_CTRL       | Uncommitted     |  Set the value of a video control    |
| VIDIOC_G_FMT        | Uncommitted     |  Get the video data format           |
| VIDIOC_S_FMT        | Uncommitted     |  Set the video data format           |
| VIDIOC_QUERYCAP     | Uncommitted     |  Query video device capabilities     |
| VIDIOC_REQBUFS      | Uncommitted     |  Initiate Memory Mapping             |
| VIDIOC_QUERYBUF     | Uncommitted     |  Query video data buffer status      |
| VIDIOC_DQBUF        | Uncommitted     |  Get a video data buffer             |
| VIDIOC_QBUF         | Uncommitted     |  Enqueue a video data buffer         |
| VIDIOC_STREAMON     | Uncommitted     |  Start video capture                 |
| VIDIOC_STREAMOFF    | Uncommitted     |  Stop video capture                  |
|                     |                 |                                      |
| SUNWusbvc           | Committed       |  Package Name                        |
+------------------------------------------------------------------------------+

4.  Status
----------
        A prototype driver has been developed. After the driver is attached, 
fluent video images can be seen by running a test program which uses V4L2 
IOCTLs. Ekiga[3] can also work on this driver.


Footnotes
---------
[1] "USB Device Class Definition for Video Devices" Spec - It defines detail 
info needed by designing a USB video device. It is available at:
     http://www.usb.org/developers/devclass_docs
     Just like the specs for USB disks, keyboard/mouse or printers, this spec is 
for one of the USB device classes, i.e., video device class.

[2] V4L2 - Video for Linux Two API Specification. It is available at:
     http://v4l2spec.bytesex.org
     It is a popular video API specs in open source community. Linux USB video 
drivers implement IOCTLs defined by it.
     It is under "GNU Free Documentation License". It is confirmed by Sun 
lawyers that there is no problem to implement this interface in Solaris kernel 
drivers.

[3] LSARC/2006/182 - Ekiga: a videoconferencing and VOIP/IP-Telephony 
application.
     Project page: http://jdsbj.prc.sun.com/wiki//index.php/Ekiga


From sacadmin Fri Aug 18 14:34:56 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7ILYtDD014450
	for <psarc@sac.eng.Sun.COM>; Fri, 18 Aug 2006 14:34:55 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.149.247.22])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7ILYs012136;
	Fri, 18 Aug 2006 15:34:54 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4700L01QM5KQ00@nwk-avmta-2.sfbay.sun.com>; Fri,
 18 Aug 2006 14:34:53 -0700 (PDT)
Received: from sunmail5.uk.sun.com ([129.156.85.165])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4700EVCQM4GTE0@nwk-avmta-2.sfbay.sun.com>; Fri,
 18 Aug 2006 14:34:53 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com
 (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7ILYkso023901; Fri,
 18 Aug 2006 22:34:51 +0100 (BST)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4700A01QM2UO00@brm-avmta-1.central.sun.com>; Fri,
 18 Aug 2006 15:34:50 -0600 (MDT)
Received: from eastmail4bur.east.Sun.COM ([129.148.13.1])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J47008R1QM17PC0@brm-avmta-1.central.sun.com>; Fri,
 18 Aug 2006 15:34:49 -0600 (MDT)
Received: from thunk.east.sun.com (thunk.East.Sun.COM [129.148.174.66])
	by eastmail4bur.east.Sun.COM (8.13.6+Sun/8.13.6/ENSMAIL,v2.2)
 with ESMTP id k7ILYi9E000918; Fri, 18 Aug 2006 17:34:44 -0400 (EDT)
Received: from localhost (localhost [127.0.0.1])
	by thunk.east.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7ILYikf004507; Fri,
 18 Aug 2006 17:34:44 -0400 (EDT)
Date: Fri, 18 Aug 2006 17:34:43 -0400
From: Bill Sommerfeld <sommerfeld@sun.com>
Subject: Re: PSARC 2006/484 USB Video Class Driver
In-reply-to: <200608181905.k7IJ5qNi164297@billybob.sfbay.sun.com>
To: Shudong Zhou <szhou@billybob.sfbay.sun.com>
Cc: psarc@sun.com, Colin.Zou@sun.com, usb-tech@sun.com
Message-id: <1155936883.2451.18.camel@thunk>
MIME-version: 1.0
X-Mailer: Evolution 2.6.2
Content-type: text/plain
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
X-PMX-Version: 5.2.0.264296
References: <200608181905.k7IJ5qNi164297@billybob.sfbay.sun.com>
Status: RO
Content-Length: 1229

On Fri, 2006-08-18 at 12:05 -0700, Shudong Zhou wrote:

>         USB Video Class Driver is developed under the current Solaris USB 
> Architecture (USBA).
> 
>         According to "USB Device Class Definition for Video Devices" spec, USB 
> Video Class Driver will support the USB webcam hardware features defined by the 
> spec.
> 
>         According to V4L2 interface spec, USB Video Class Driver will implement 
> some major IOCTLs defined by the spec. A device node under /dev will be created 
> by this driver.

It appears that this interface appears to be is bus-independent, so it
could conceivably be used with other (non-USB) video input devices
(e.g.,   I observe that the V4L2 spec specifies a number of things
incompatible with Solaris (including, of all things, the numeric value
of the device major number!).

Would linux apps built to run against V4L2 have a chance of running
correctly under BrandZ?  (i.e., are we matching the ABI of the ioctl
interface precisely?)

Will the header file we ship define all symbols defined as part of V4L2,
or just the subset we implement?

What is the percieved stability level in the community of V4L2?  Is it
evolving compatibly or incompatibly over time?

						- Bill




From sacadmin Fri Aug 18 15:36:24 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7IMaOCn015461
	for <psarc@sac.eng.Sun.COM>; Fri, 18 Aug 2006 15:36:24 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7IMaL001448;
	Fri, 18 Aug 2006 16:36:21 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4700D03TGLNR00@brm-avmta-1.central.sun.com>; Fri,
 18 Aug 2006 16:36:21 -0600 (MDT)
Received: from jurassic.eng.sun.com ([129.146.17.55])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4700CNRTGLYR00@brm-avmta-1.central.sun.com>; Fri,
 18 Aug 2006 16:36:21 -0600 (MDT)
Received: from hawaiian-sun (vpn-129-150-12-95.SFBay.Sun.COM [129.150.12.95])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with SMTP id k7IMaDZZ613641; Fri,
 18 Aug 2006 15:36:19 -0700 (PDT)
Date: Fri, 18 Aug 2006 12:36:08 -1000 (HST)
From: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Subject: Re: PSARC 2006/484 USB Video Class Driver
To: szhou@billybob.sfbay.sun.com, sommerfeld@sun.com
Cc: psarc@sun.com, Colin.Zou@sun.com, usb-tech@sun.com
Reply-to: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Message-id: <200608182236.k7IMaDZZ613641@jurassic.eng.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_20 SunOS 5.11 i86pc i386
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: VwyHRNx6v6eLhT6vWEYFfA==
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 575


> From: Bill Sommerfeld <sommerfeld@sun.com>
...
> What is the percieved stability level in the community of V4L2?  Is it
> evolving compatibly or incompatibly over time?

Yea, the interface table was sorta the inverse of what I expected.  I
expected the IOCTL's to be Committed and (perhaps) the package name to
be Uncommitted.

Why aren't the IOCTL's committed?  Is there an expectation of change?

Also, although this proposal generally sounds good, it seems a bit
underspecifies.  Would it be possible to get a prototype man page
into the materials?

- thanks,

- jek3


From sacadmin Mon Aug 21 12:57:07 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7LJv77i013125
	for <psarc@sac.eng.Sun.COM>; Mon, 21 Aug 2006 12:57:07 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.149.247.22])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7LJuDS01881;
	Mon, 21 Aug 2006 13:56:13 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D0000761OWZ00@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 12:56:12 -0700 (PDT)
Received: from brmea-mail-1.sun.com ([192.18.98.31])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D00LW361MTQ60@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 12:56:10 -0700 (PDT)
Received: from fe-amer-04.sun.com ([192.18.108.178])
	by brmea-mail-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id k7LJuAqp015097; Mon,
 21 Aug 2006 13:56:10 -0600 (MDT)
Received: from conversion-daemon.mail-amer.sun.com by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-4.02 (built Sep  9 2005))
 id <0J4D0060161KNO00@mail-amer.sun.com>
 (original mail from Brian.Cameron@Sun.COM); Mon,
 21 Aug 2006 13:56:10 -0600 (MDT)
Received: from [192.9.61.78] by mail-amer.sun.com
 (Sun Java System Messaging Server 6.2-4.02 (built Sep  9 2005))
 with ESMTPSA id <0J4D001OA61JG0I5@mail-amer.sun.com>; Mon,
 21 Aug 2006 13:56:09 -0600 (MDT)
Date: Mon, 21 Aug 2006 14:56:07 -0500
From: Brian Cameron <Brian.Cameron@Sun.COM>
Subject: Re: [Fwd: PSARC 2006/484 USB Video Class Driver]
In-reply-to: <44E61F30.4040503@sun.com>
Sender: Brian.Cameron@Sun.COM
To: Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Cc: Desktop C-Team <desktop-cteam@Sun.COM>, szhou@billybob.sfbay.sun.com,
        psarc@Sun.COM, usb-tech@Sun.COM, Colin.Zou@Sun.COM
Message-id: <44EA0FD7.7040409@sun.com>
MIME-version: 1.0
Content-type: text/plain; format=flowed; charset=ISO-8859-1
Content-transfer-encoding: 7BIT
X-PMX-Version: 5.2.0.264296
References: <44E61F30.4040503@sun.com>
User-Agent: Mail/News 1.5.0.4 (X11/20060613)
Status: RO
Content-Length: 7307


What degree of integration is desired for the JDS desktop?

Note that a URI handler may be necessary so that nautilus URI's
launch the correct application (gphoto?) when USB devices that
are really camera devices are noticed by HAL.  Also gnome-mount
configuration may need to be edited so that the right program
(again gphoto?) is launched when media is inserted.

Is this sort of integration planned with this fasttrack?

Brian


Alan Coopersmith wrote:
> 
> -------- Original Message --------
> Subject: PSARC 2006/484 USB Video Class Driver
> Date: Fri, 18 Aug 2006 12:05:52 -0700 (PDT)
> From: Shudong Zhou <szhou@billybob.sfbay.sun.com>
> Reply-To: Shudong Zhou <szhou@billybob.sfbay.sun.com>
> To: psarc@sun.com
> CC: Colin.Zou@Sun.COM, usb-tech@Sun.COM
> 
> I'm sponsoring the following fasttrack for Colin Zou. The timer is
> set to expire on 8/25.
> 
> Shudong
> 
> 
> USB Video Class Driver
> =======================
> 
> #ident "@(#)spec.txt    1.0    06/08/10 SMI"
> 
> 1.  Introduction
> ----------------
> 
>         This case provides a USB Video Class Driver to support USB webcams.
> Theoretically, this driver supports all USB webcams compliant to "USB 
> Device
> Class Definition for Video Devices" spec[1].
> 
>         USB webcams are popular and widely used in applications, like video
> conference, video capture, etc. usb.org has produced a detailed 
> specification[1]
> which is adopted by major USB video chipset/device manufacturers. This 
> driver is
> developed according to the spec.
> 
>         To support popular video applications in the open source 
> community, USB
> Video Class Driver implements the IOCTLs defined in V4L2 API spec[2] and 
> creates
> a new device node under /dev. A lot of existing video applications are 
> compliant
> to V4L2 API spec[2] which defines some IOCTLs and device file names 
> under /dev.
> For example, Ekiga[3] is a video conference application which is being 
> ported by
> a Sun engineering team from open source community. It uses V4L2 IOCTLs to
> communicate with kernel drivers.
> 
> 1.1 The Problem
> ---------------
> 
>         Solaris doesn't support any USB video devices. Solaris users can 
> not use
> any applications (eg. Ekiga[3]) which need a USB webcam plugged to their 
> boxes.
> Many other major OSes (like Linux, MS Windows, Mac OS, etc.) support USB 
> webcams
> for years.
> 
>         Although Solaris supports 1394 (fire wire) webcams, but they are 
> too
> expensive and much less popular than USB ones. What's more, the PC boxes 
> with
> USB ports are much more than those with 1394 ports.
> 
> 1.2 Market/Requester
> --------------------
> 
>         Ekiga[3] project depends on this driver. JDS team is working on 
> this
> video conference application and they are going to integrate it to Solaris.
> 
>         There are strong market requirements to support USB webcams from
> enterprise, medium/small offices and home users.
> 
> 1.3 Solution
> ------------
>         USB Video Class Driver is developed under the current Solaris USB
> Architecture (USBA).
> 
>         According to "USB Device Class Definition for Video Devices" 
> spec, USB
> Video Class Driver will support the USB webcam hardware features defined 
> by the
> spec.
> 
>         According to V4L2 interface spec, USB Video Class Driver will 
> implement
> some major IOCTLs defined by the spec. A device node under /dev will be 
> created
> by this driver.
> 
> 1.4 Supported Features
> ----------------------
>         USB Video Class Driver will support usual USB webcam features, 
> such as:
>           * Popular video formats, like MJPEG, UNCOMPRESSED, etc.
>           * Zoom Control
>           * Contrast Control
>           * Brightness Control
>           * Image size select
> 
> 1.5 Hardware platform dependencies
> ----------------------------------
> 
>         None.
> 
> 2.  Device node created by USB Video Class Driver
> ---------------------------------------------------
> 
>         According to V4L2 API spec, device node /dev/video* should be 
> created by
> drivers implementing V4L2.
> 
> 3. Interface Table
> ------------------
> 
> +------------------------------------------------------------------------------+ 
> 
> |                       Interfaces 
> Exported                                    |
> +------------------------------------------------------------------------------+ 
> 
> | Interface           | Stability label |            
> Comments                  |
> |------------------------------------------------------------------------------| 
> 
> | VIDIOC_ENUMINPUT    | Uncommitted     |  Enumerate video 
> inputs              |
> | VIDIOC_S_INPUT      | Uncommitted     |  Select the current video 
> input      |
> | VIDIOC_ENUMSTD      | Uncommitted     |  Enumerate video 
> standards           |
> | VIDIOC_S_STD        | Uncommitted     |  Select the current video 
> standard   |
> | VIDIOC_G_CTRL       | Uncommitted     |  Get the value of a video 
> control    |
> | VIDIOC_S_CTRL       | Uncommitted     |  Set the value of a video 
> control    |
> | VIDIOC_G_FMT        | Uncommitted     |  Get the video data 
> format           |
> | VIDIOC_S_FMT        | Uncommitted     |  Set the video data 
> format           |
> | VIDIOC_QUERYCAP     | Uncommitted     |  Query video device 
> capabilities     |
> | VIDIOC_REQBUFS      | Uncommitted     |  Initiate Memory 
> Mapping             |
> | VIDIOC_QUERYBUF     | Uncommitted     |  Query video data buffer 
> status      |
> | VIDIOC_DQBUF        | Uncommitted     |  Get a video data 
> buffer             |
> | VIDIOC_QBUF         | Uncommitted     |  Enqueue a video data 
> buffer         |
> | VIDIOC_STREAMON     | Uncommitted     |  Start video 
> capture                 |
> | VIDIOC_STREAMOFF    | Uncommitted     |  Stop video 
> capture                  |
> |                     |                 
> |                                      |
> | SUNWusbvc           | Committed       |  Package 
> Name                        |
> +------------------------------------------------------------------------------+ 
> 
> 
> 4.  Status
> ----------
>         A prototype driver has been developed. After the driver is 
> attached,
> fluent video images can be seen by running a test program which uses V4L2
> IOCTLs. Ekiga[3] can also work on this driver.
> 
> 
> Footnotes
> ---------
> [1] "USB Device Class Definition for Video Devices" Spec - It defines 
> detail
> info needed by designing a USB video device. It is available at:
>      http://www.usb.org/developers/devclass_docs
>      Just like the specs for USB disks, keyboard/mouse or printers, this 
> spec is
> for one of the USB device classes, i.e., video device class.
> 
> [2] V4L2 - Video for Linux Two API Specification. It is available at:
>      http://v4l2spec.bytesex.org
>      It is a popular video API specs in open source community. Linux USB 
> video
> drivers implement IOCTLs defined by it.
>      It is under "GNU Free Documentation License". It is confirmed by Sun
> lawyers that there is no problem to implement this interface in Solaris 
> kernel
> drivers.
> 
> [3] LSARC/2006/182 - Ekiga: a videoconferencing and VOIP/IP-Telephony
> application.
>      Project page: http://jdsbj.prc.sun.com/wiki//index.php/Ekiga
> 
> 


From sacadmin Mon Aug 21 15:57:52 2006
Received: from sunmail3.sfbay.sun.com (sunmail3.SFBay.Sun.COM [129.149.247.180])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7LMvqg7017769
	for <psarc@sac.eng.sun.com>; Mon, 21 Aug 2006 15:57:52 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3.sfbay.sun.com (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7LMvpE29467;
	Mon, 21 Aug 2006 15:57:51 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00E05EGD4500@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 16:57:49 -0600 (MDT)
Received: from dm-prc-02.singapore.sun.com ([129.158.71.110])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D0043UEGBREF0@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 16:57:49 -0600 (MDT)
Received: from sandieji.prc.sun.com
 (sandieji-216-a.PRC.Sun.COM [129.158.216.179])	by dm-prc-02.singapore.sun.com
 (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id k7LMvk6b013264; Tue,
 22 Aug 2006 06:57:47 +0800 (SGT)
Received: from [129.150.144.24]
 (vpn-129-150-144-24.PRC.Sun.COM [129.150.144.24])
	by sandieji.prc.sun.com (8.13.2+Sun/8.13.2) with ESMTP id k7LMvhLS015862; Tue,
 22 Aug 2006 06:57:43 +0800 (CST)
Date: Tue, 22 Aug 2006 06:57:39 +0800
From: Colin Zou <Colin.Zou@Sun.COM>
Subject: Re: PSARC 2006/484 USB Video Class Driver
In-reply-to: <1155936883.2451.18.camel@thunk>
To: Bill Sommerfeld <sommerfeld@Sun.COM>
Cc: Shudong Zhou <szhou@billybob.sfbay.sun.com>, psarc@Sun.COM,
        usb-tech@Sun.COM
Reply-to: Colin.Zou@Sun.COM
Message-id: <44EA3A63.8020508@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, zh-cn
X-PMX-Version: 5.2.0.264296
References: <200608181905.k7IJ5qNi164297@billybob.sfbay.sun.com>
 <1155936883.2451.18.camel@thunk>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)
 Gecko/20041217
Status: RO
Content-Length: 3061

Bill Sommerfeld wrote:

> On Fri, 2006-08-18 at 12:05 -0700, Shudong Zhou wrote:
> 
> 
>>        USB Video Class Driver is developed under the current Solaris USB 
>>Architecture (USBA).
>>
>>        According to "USB Device Class Definition for Video Devices" spec, USB 
>>Video Class Driver will support the USB webcam hardware features defined by the 
>>spec.
>>
>>        According to V4L2 interface spec, USB Video Class Driver will implement 
>>some major IOCTLs defined by the spec. A device node under /dev will be created 
>>by this driver.
> 
> 
> It appears that this interface appears to be is bus-independent, so it
> could conceivably be used with other (non-USB) video input devices
> (e.g.,   I observe that the V4L2 spec specifies a number of things
> incompatible with Solaris (including, of all things, the numeric value
> of the device major number!).
> 

In this case, it is acceptable to modify V4L2 applications to make them match 
Solaris drivers during the porting process. In practice, only minor 
modifications are needed. USB video class prototype driver and a driver in 
opensolaris community and the Ekiga application ported to solaris all prove that 
V4L2 is applicable for solaris in most cases. As for the device major number 
issue, it is OK for solaris drivers to have different major numbers if we take 
care of the applications being ported.

Another related point is, V4L2 spec mainly defines IOCTLs that device drivers 
need to implement. That is, there will not be a shared lib or module for 
different drivers implementing V4L2 IOCTLs. Each driver will implement the 
IOCTLs from scratch. Drivers for devices on different buses are independent with 
each other. Applications ported to solaris will issue V4L2 IOCTLs to /dev/video* 
nodes only.

> Would linux apps built to run against V4L2 have a chance of running
> correctly under BrandZ?  (i.e., are we matching the ABI of the ioctl
> interface precisely?)
> 
For IOCTLs, the answer is "yes". The IOCTLs here are similar as other existing 
IOCTLs.

For incompatibilities between Linux OS and Solaris OS, like the major number 
issue mentioned above, it is BrandZ project's responsibility to solve them.

> Will the header file we ship define all symbols defined as part of V4L2,
> or just the subset we implement?
> 
Ship all the #define's.

> What is the percieved stability level in the community of V4L2?  Is it
> evolving compatibly or incompatibly over time?
> 

According to our investigation, on one hand, the current V4L2 API are already 
widely used, it is implemented by linux drivers (like linux usb video class 
driver) and adopted by linux applications (like Ekiga). That is, we can foresee 
that it will remain relatively stable and keep compatible. On the other hand, it 
does not reach 1.0 version yet. But the version numbers in open source community 
are always confusing. So we can not tell exactly if the it is stable or not. But 
overall, we know that it is currently a popular spec and customers eagerly need 
the applications using this API.



From sacadmin Mon Aug 21 16:15:26 2006
Received: from sunmail4.Singapore.Sun.COM (sunmail4.Singapore.Sun.COM [129.158.71.19])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7LNFPfx018858
	for <psarc@sac.eng.Sun.COM>; Mon, 21 Aug 2006 16:15:26 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail4.Singapore.Sun.COM (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id k7LNFA3Y029136;
	Tue, 22 Aug 2006 07:15:22 +0800 (SGT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00E1TF9FYP00@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:15:15 -0600 (MDT)
Received: from dm-prc-02.singapore.sun.com ([129.158.71.110])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D00EELF9D5E30@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:15:14 -0600 (MDT)
Received: from sandieji.prc.sun.com (sandieji.PRC.Sun.COM [129.158.215.124])
	by dm-prc-02.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2)
 with ESMTP id k7LNFCOk017727; Tue, 22 Aug 2006 07:15:12 +0800 (SGT)
Received: from [129.150.144.24]
 (vpn-129-150-144-24.PRC.Sun.COM [129.150.144.24])
	by sandieji.prc.sun.com (8.13.2+Sun/8.13.2) with ESMTP id k7LNF7Ic016233; Tue,
 22 Aug 2006 07:15:08 +0800 (CST)
Date: Tue, 22 Aug 2006 07:15:03 +0800
From: Colin Zou <Colin.Zou@sun.com>
Subject: Re: PSARC 2006/484 USB Video Class Driver
In-reply-to: <200608182236.k7IMaDZZ613641@jurassic.eng.sun.com>
To: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Cc: szhou@billybob.sfbay.sun.com, sommerfeld@sun.com, psarc@sun.com,
        usb-tech@sun.com
Reply-to: Colin.Zou@sun.com
Message-id: <44EA3E77.5070604@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, zh-cn
X-PMX-Version: 5.2.0.264296
References: <200608182236.k7IMaDZZ613641@jurassic.eng.sun.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)
 Gecko/20041217
Status: RO
Content-Length: 1218

Joseph Kowalski wrote:

>>From: Bill Sommerfeld <sommerfeld@sun.com>
> 
> ...
> 
>>What is the percieved stability level in the community of V4L2?  Is it
>>evolving compatibly or incompatibly over time?
> 
> 
> Yea, the interface table was sorta the inverse of what I expected.  I
> expected the IOCTL's to be Committed and (perhaps) the package name to
> be Uncommitted.
> 
The reason that the IOCTLs are uncommitted is, they are defined in an API spec 
(V4L2) from a opensource community which are out of our control. Although the 
API spec is very popular in opensource community now, it does not reach 1.0 
version yet.
The reason that the package name is committed is, it is related with Solaris 
only and under Sun's control. We are sure that it will not change if we don't 
want to.

> Why aren't the IOCTL's committed?  Is there an expectation of change?
> 
Please see above.

> Also, although this proposal generally sounds good, it seems a bit
> underspecifies.  Would it be possible to get a prototype man page
> into the materials?
> 

The manpage will be surely available later before the driver deliver. In this 
case, we are going to focus on the issues that ARC cares, they are elaborated in 
the doc.

From sacadmin Mon Aug 21 16:42:14 2006
Received: from sunmail3.sfbay.sun.com (sunmail3.SFBay.Sun.COM [129.149.247.180])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7LNgEOW019143
	for <psarc@sac.eng.sun.com>; Mon, 21 Aug 2006 16:42:14 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail3.sfbay.sun.com (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7LNfQE15198;
	Mon, 21 Aug 2006 16:41:26 -0700 (PDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00G09GH14W00@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:41:25 -0600 (MDT)
Received: from dm-prc-02.singapore.sun.com ([129.158.71.110])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D00EFZGGY5E80@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:41:24 -0600 (MDT)
Received: from sandieji.prc.sun.com (sandieji.PRC.Sun.COM [129.158.215.122])
	by dm-prc-02.singapore.sun.com (8.13.4+Sun/8.13.3/ENSMAIL,v2.2)
 with ESMTP id k7LNfIPY026961; Tue, 22 Aug 2006 07:41:19 +0800 (SGT)
Received: from [129.150.144.24]
 (vpn-129-150-144-24.PRC.Sun.COM [129.150.144.24])
	by sandieji.prc.sun.com (8.13.2+Sun/8.13.2) with ESMTP id k7LNfFDd016729; Tue,
 22 Aug 2006 07:41:15 +0800 (CST)
Date: Tue, 22 Aug 2006 07:41:11 +0800
From: Colin Zou <Colin.Zou@Sun.COM>
Subject: Re: [Fwd: PSARC 2006/484 USB Video Class Driver]
In-reply-to: <44EA0FD7.7040409@sun.com>
To: Brian Cameron <Brian.Cameron@Sun.COM>
Cc: Alan Coopersmith <Alan.Coopersmith@Sun.COM>,
        Desktop C-Team <desktop-cteam@Sun.COM>, szhou@billybob.sfbay.sun.com,
        psarc@Sun.COM, usb-tech@Sun.COM
Reply-to: Colin.Zou@Sun.COM
Message-id: <44EA4497.8030108@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, zh-cn
X-PMX-Version: 5.2.0.264296
References: <44E61F30.4040503@sun.com> <44EA0FD7.7040409@sun.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5)
 Gecko/20041217
Status: RO
Content-Length: 8369

Brian Cameron wrote:

> 
> What degree of integration is desired for the JDS desktop?
> 
This case is going to provide a USB device driver in Solaris kernel, it is 
similar as the other existing USB drivers. It will not change anything of JDS 
desktop.

A JDS team is porting an application (Ekiga, LSARC/2006/182, refer to foot note 
3) which will make use of the IOCTLs implemented by the driver. It is a LSARC 
case which will integrate something to JDS.

> Note that a URI handler may be necessary so that nautilus URI's
> launch the correct application (gphoto?) when USB devices that
> are really camera devices are noticed by HAL.  Also gnome-mount
> configuration may need to be edited so that the right program
> (again gphoto?) is launched when media is inserted.
> 
gphoto is for digital cameras which capture still images, it has nothing to do 
with this driver. USB video class driver is for webcams which capture video. URI 
handler is related with userland applications.

Just as the other kernel drivers, this driver offers a device file node and some 
IOCTLs for userland applications. When a usb webcam device is plugged, a device 
file node will appear under /dev/. This is kernel drivers' job.

> Is this sort of integration planned with this fasttrack?

No. Please see above.

> 
> Brian
> 
> 
> Alan Coopersmith wrote:
> 
>>
>> -------- Original Message --------
>> Subject: PSARC 2006/484 USB Video Class Driver
>> Date: Fri, 18 Aug 2006 12:05:52 -0700 (PDT)
>> From: Shudong Zhou <szhou@billybob.sfbay.sun.com>
>> Reply-To: Shudong Zhou <szhou@billybob.sfbay.sun.com>
>> To: psarc@sun.com
>> CC: Colin.Zou@Sun.COM, usb-tech@Sun.COM
>>
>> I'm sponsoring the following fasttrack for Colin Zou. The timer is
>> set to expire on 8/25.
>>
>> Shudong
>>
>>
>> USB Video Class Driver
>> =======================
>>
>> #ident "@(#)spec.txt    1.0    06/08/10 SMI"
>>
>> 1.  Introduction
>> ----------------
>>
>>         This case provides a USB Video Class Driver to support USB 
>> webcams.
>> Theoretically, this driver supports all USB webcams compliant to "USB 
>> Device
>> Class Definition for Video Devices" spec[1].
>>
>>         USB webcams are popular and widely used in applications, like 
>> video
>> conference, video capture, etc. usb.org has produced a detailed 
>> specification[1]
>> which is adopted by major USB video chipset/device manufacturers. This 
>> driver is
>> developed according to the spec.
>>
>>         To support popular video applications in the open source 
>> community, USB
>> Video Class Driver implements the IOCTLs defined in V4L2 API spec[2] 
>> and creates
>> a new device node under /dev. A lot of existing video applications are 
>> compliant
>> to V4L2 API spec[2] which defines some IOCTLs and device file names 
>> under /dev.
>> For example, Ekiga[3] is a video conference application which is being 
>> ported by
>> a Sun engineering team from open source community. It uses V4L2 IOCTLs to
>> communicate with kernel drivers.
>>
>> 1.1 The Problem
>> ---------------
>>
>>         Solaris doesn't support any USB video devices. Solaris users 
>> can not use
>> any applications (eg. Ekiga[3]) which need a USB webcam plugged to 
>> their boxes.
>> Many other major OSes (like Linux, MS Windows, Mac OS, etc.) support 
>> USB webcams
>> for years.
>>
>>         Although Solaris supports 1394 (fire wire) webcams, but they 
>> are too
>> expensive and much less popular than USB ones. What's more, the PC 
>> boxes with
>> USB ports are much more than those with 1394 ports.
>>
>> 1.2 Market/Requester
>> --------------------
>>
>>         Ekiga[3] project depends on this driver. JDS team is working 
>> on this
>> video conference application and they are going to integrate it to 
>> Solaris.
>>
>>         There are strong market requirements to support USB webcams from
>> enterprise, medium/small offices and home users.
>>
>> 1.3 Solution
>> ------------
>>         USB Video Class Driver is developed under the current Solaris USB
>> Architecture (USBA).
>>
>>         According to "USB Device Class Definition for Video Devices" 
>> spec, USB
>> Video Class Driver will support the USB webcam hardware features 
>> defined by the
>> spec.
>>
>>         According to V4L2 interface spec, USB Video Class Driver will 
>> implement
>> some major IOCTLs defined by the spec. A device node under /dev will 
>> be created
>> by this driver.
>>
>> 1.4 Supported Features
>> ----------------------
>>         USB Video Class Driver will support usual USB webcam features, 
>> such as:
>>           * Popular video formats, like MJPEG, UNCOMPRESSED, etc.
>>           * Zoom Control
>>           * Contrast Control
>>           * Brightness Control
>>           * Image size select
>>
>> 1.5 Hardware platform dependencies
>> ----------------------------------
>>
>>         None.
>>
>> 2.  Device node created by USB Video Class Driver
>> ---------------------------------------------------
>>
>>         According to V4L2 API spec, device node /dev/video* should be 
>> created by
>> drivers implementing V4L2.
>>
>> 3. Interface Table
>> ------------------
>>
>> +------------------------------------------------------------------------------+ 
>>
>> |                       Interfaces 
>> Exported                                    |
>> +------------------------------------------------------------------------------+ 
>>
>> | Interface           | Stability label |            
>> Comments                  |
>> |------------------------------------------------------------------------------| 
>>
>> | VIDIOC_ENUMINPUT    | Uncommitted     |  Enumerate video 
>> inputs              |
>> | VIDIOC_S_INPUT      | Uncommitted     |  Select the current video 
>> input      |
>> | VIDIOC_ENUMSTD      | Uncommitted     |  Enumerate video 
>> standards           |
>> | VIDIOC_S_STD        | Uncommitted     |  Select the current video 
>> standard   |
>> | VIDIOC_G_CTRL       | Uncommitted     |  Get the value of a video 
>> control    |
>> | VIDIOC_S_CTRL       | Uncommitted     |  Set the value of a video 
>> control    |
>> | VIDIOC_G_FMT        | Uncommitted     |  Get the video data 
>> format           |
>> | VIDIOC_S_FMT        | Uncommitted     |  Set the video data 
>> format           |
>> | VIDIOC_QUERYCAP     | Uncommitted     |  Query video device 
>> capabilities     |
>> | VIDIOC_REQBUFS      | Uncommitted     |  Initiate Memory 
>> Mapping             |
>> | VIDIOC_QUERYBUF     | Uncommitted     |  Query video data buffer 
>> status      |
>> | VIDIOC_DQBUF        | Uncommitted     |  Get a video data 
>> buffer             |
>> | VIDIOC_QBUF         | Uncommitted     |  Enqueue a video data 
>> buffer         |
>> | VIDIOC_STREAMON     | Uncommitted     |  Start video 
>> capture                 |
>> | VIDIOC_STREAMOFF    | Uncommitted     |  Stop video 
>> capture                  |
>> |                     |                 
>> |                                      |
>> | SUNWusbvc           | Committed       |  Package 
>> Name                        |
>> +------------------------------------------------------------------------------+ 
>>
>>
>> 4.  Status
>> ----------
>>         A prototype driver has been developed. After the driver is 
>> attached,
>> fluent video images can be seen by running a test program which uses V4L2
>> IOCTLs. Ekiga[3] can also work on this driver.
>>
>>
>> Footnotes
>> ---------
>> [1] "USB Device Class Definition for Video Devices" Spec - It defines 
>> detail
>> info needed by designing a USB video device. It is available at:
>>      http://www.usb.org/developers/devclass_docs
>>      Just like the specs for USB disks, keyboard/mouse or printers, 
>> this spec is
>> for one of the USB device classes, i.e., video device class.
>>
>> [2] V4L2 - Video for Linux Two API Specification. It is available at:
>>      http://v4l2spec.bytesex.org
>>      It is a popular video API specs in open source community. Linux 
>> USB video
>> drivers implement IOCTLs defined by it.
>>      It is under "GNU Free Documentation License". It is confirmed by Sun
>> lawyers that there is no problem to implement this interface in 
>> Solaris kernel
>> drivers.
>>
>> [3] LSARC/2006/182 - Ekiga: a videoconferencing and VOIP/IP-Telephony
>> application.
>>      Project page: http://jdsbj.prc.sun.com/wiki//index.php/Ekiga
>>
>>
> 


From sacadmin Mon Aug 21 16:47:59 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7LNlxYk019187
	for <psarc@sac.eng.Sun.COM>; Mon, 21 Aug 2006 16:47:59 -0700 (PDT)
Received: from brm-avmta-1.central.sun.com (brm-avmta-1.Central.Sun.COM [129.147.4.11])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7LNluS02758;
	Mon, 21 Aug 2006 17:47:56 -0600 (MDT)
Received: from pmxchannel-daemon.brm-avmta-1.central.sun.com by
 brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00G05GRUFW00@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:47:54 -0600 (MDT)
Received: from jurassic.eng.sun.com ([129.146.226.31])
 by brm-avmta-1.central.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D00EWDGRS5E90@brm-avmta-1.central.sun.com>; Mon,
 21 Aug 2006 17:47:52 -0600 (MDT)
Received: from hawaiian-sun (vpn-129-150-12-95.SFBay.Sun.COM [129.150.12.95])
	by jurassic.eng.sun.com (8.13.8+Sun/8.13.8) with SMTP id k7LNlf8r129369; Mon,
 21 Aug 2006 16:47:50 -0700 (PDT)
Date: Mon, 21 Aug 2006 13:47:36 -1000 (HST)
From: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Subject: Re: PSARC 2006/484 USB Video Class Driver
To: Joseph.Kowalski@eng.sun.com, Colin.Zou@Sun.COM
Cc: szhou@billybob.sfbay.sun.com, sommerfeld@Sun.COM, psarc@Sun.COM,
        usb-tech@Sun.COM
Reply-to: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Message-id: <200608212347.k7LNlf8r129369@jurassic.eng.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_20 SunOS 5.11 i86pc i386
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: dDY/dwYjL/t5IXE+RhYbtg==
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 1210


> From: Colin Zou <Colin.Zou@Sun.COM>
...
> The reason that the IOCTLs are uncommitted is, they are defined in an API spec 
> (V4L2) from a opensource community which are out of our control. Although the 
> API spec is very popular in opensource community now, it does not reach 1.0 
> version yet.

Do we have an expectation as to when the spec will reach "1.0"?

I see these interfaces needing to be Committed to truly enable enterprize
class applications to use them.  I imagine some Video Conferencing software
would want to be enterprize class.

In short, I don't have a problem with these initially being Uncommitted,
but would like to see at least a non-binding commitment to move these
to Committed as soon as appropriate.  Is the community actively moving
in that direction?

BTW: I agree with your comments on much freeware versioning... "But the
version numbers in open source community are always confusing."  Sun is
almost alone in the world in tying version numbers to absolute compatibility.
However, the freeware communities seem to be evolving toward seeing "version
1.0" as an indicator of percieved commitment to the interfaces, so I
understand your "fear" of premature commitent.

- jek3


From sacadmin Mon Aug 21 20:11:02 2006
Received: from sunmail3.sfbay.sun.com (sunmail3.SFBay.Sun.COM [129.149.247.180])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7M3B2vU023194
	for <psarc@sac.eng.sun.com>; Mon, 21 Aug 2006 20:11:02 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM (nwk-avmta-1.SFBay.Sun.COM [129.149.246.28])
	by sunmail3.sfbay.sun.com (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7M3B0E16491;
	Mon, 21 Aug 2006 20:11:01 -0700 (PDT)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 id <0J4D00E19Q6BG300@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 21 Aug 2006 20:10:59 -0700 (PDT)
Received: from sunmail5.uk.sun.com ([129.156.85.165])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 with ESMTP id <0J4D00C9PQ6AI400@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 21 Aug 2006 20:10:59 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com
 (nwk-avmta-2.SFBay.Sun.COM [129.149.247.22])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7M3Ao5q023459; Tue,
 22 Aug 2006 04:10:57 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00F0LQ67AC00@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 20:10:55 -0700 (PDT)
Received: from sunmail5.uk.sun.com ([129.156.85.165])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D0096LQ66FP70@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 20:10:54 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com
 (nwk-avmta-2.SFBay.Sun.COM [129.149.247.22])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7M3Ao5U023459; Tue,
 22 Aug 2006 04:10:53 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4D00F0FQ63A900@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 20:10:51 -0700 (PDT)
Received: from sunmail5.uk.sun.com ([129.156.85.165])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4D009T4Q62FS70@nwk-avmta-2.sfbay.sun.com>; Mon,
 21 Aug 2006 20:10:51 -0700 (PDT)
Received: from nwk-avmta-1.SFBay.Sun.COM
 (nwk-avmta-1.SFBay.Sun.COM [129.149.246.28])
	by sunmail5.uk.sun.com (8.13.7+Sun/8.13.7) with ESMTP id k7M3AiS7023397; Tue,
 22 Aug 2006 04:10:49 +0100 (BST)
Received: from pmxchannel-daemon.nwk-avmta-1.sfbay.Sun.COM by
 nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 id <0J4D00E0TQ60BS00@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 21 Aug 2006 20:10:48 -0700 (PDT)
Received: from dm-prc-01.singapore.sun.com ([129.158.71.109])
 by nwk-avmta-1.sfbay.Sun.COM
 (Sun Java System Messaging Server 6.2 (built Dec  2 2004))
 with ESMTP id <0J4D00C7MQ5YI400@nwk-avmta-1.sfbay.Sun.COM>; Mon,
 21 Aug 2006 20:10:47 -0700 (PDT)
Received: from sandieji.prc.sun.com
 (sandieji-216-a.PRC.Sun.COM [129.158.216.179])	by dm-prc-01.singapore.sun.com
 (8.13.4+Sun/8.13.3/ENSMAIL,v2.2) with ESMTP id k7M3AjxS027254; Tue,
 22 Aug 2006 11:10:45 +0800 (SGT)
Received: from [129.158.218.208] (kongming [129.158.218.208])
	by sandieji.prc.sun.com (8.13.2+Sun/8.13.2) with ESMTP id k7M37tLE020563; Tue,
 22 Aug 2006 11:07:56 +0800 (CST)
Date: Tue, 22 Aug 2006 11:08:00 +0800
From: Colin Zou <Colin.Zou@Sun.COM>
Subject: Re: PSARC 2006/484 USB Video Class Driver
In-reply-to: <200608212347.k7LNlf8r129369@jurassic.eng.sun.com>
To: Joseph Kowalski <Joseph.Kowalski@eng.sun.com>
Cc: szhou@billybob.sfbay.sun.com, sommerfeld@Sun.COM, psarc@Sun.COM,
        usb-tech@Sun.COM
Reply-to: Colin.Zou@Sun.COM
Message-id: <44EA7510.1090709@Sun.COM>
MIME-version: 1.0
Content-type: text/plain; charset=us-ascii; format=flowed
Content-transfer-encoding: 7BIT
X-Accept-Language: en-us, zh-cn
X-PMX-Version: 5.2.0.264296
X-PMX-Version: 5.2.0.264296
X-PMX-Version: 5.2.0.264296
X-PMX-Version: 5.2.0.264296
References: <200608212347.k7LNlf8r129369@jurassic.eng.sun.com>
User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.7) Gecko/20041221
Status: RO
Content-Length: 2284

Joseph Kowalski wrote:
>>From: Colin Zou <Colin.Zou@Sun.COM>
> 
> ...
> 
>>The reason that the IOCTLs are uncommitted is, they are defined in an API spec 
>>(V4L2) from a opensource community which are out of our control. Although the 
>>API spec is very popular in opensource community now, it does not reach 1.0 
>>version yet.
> 
> 
> Do we have an expectation as to when the spec will reach "1.0"?
> 
Yes, but not sure for the exact date. Generally speaking, popular & active open 
source APIs will finally get to v1.0 after sometime, but no one has a precise 
time schedule in hand. One important reason we choose V4L2 is that it is popular 
and active, it will keep relatively stable while evolving. Because it is popular 
and widely used, it has to be relatively stable. Because it is active, it will 
finally reach v1.0 at least.

> I see these interfaces needing to be Committed to truly enable enterprize
> class applications to use them.  I imagine some Video Conferencing software
> would want to be enterprize class.
> 
Agree. And a software application need some time to go mature. At this step, we 
initiate it and benefit some users, and then we make it mature when it is possible.

> In short, I don't have a problem with these initially being Uncommitted,
> but would like to see at least a non-binding commitment to move these
> to Committed as soon as appropriate.  Is the community actively moving
> in that direction?
> 
Yes. According to our investigation, V4L2 is the most popular/active video API 
in linux community and it is in the stage of completing. Although it is not 
proper to make the interfaces as "committed" now, we can foresee that it could 
be in the future.

> BTW: I agree with your comments on much freeware versioning... "But the
> version numbers in open source community are always confusing."  Sun is
> almost alone in the world in tying version numbers to absolute compatibility.
> However, the freeware communities seem to be evolving toward seeing "version
> 1.0" as an indicator of percieved commitment to the interfaces, so I
> understand your "fear" of premature commitent.
> 
Thanks for understanding. We need be sure it is stable before we mark it as 
"committed". I am glad to make them committed when I am sure they are stable.

From sacadmin Wed Aug 23 11:11:12 2006
Received: from sunmail1brm.Central.Sun.COM (sunmail1brm.Central.Sun.COM [129.147.62.17])
	by sac.sfbay.sun.com (8.13.6+Sun/8.13.6) with ESMTP id k7NIBBM5019714
	for <psarc@sac.eng.Sun.COM>; Wed, 23 Aug 2006 11:11:11 -0700 (PDT)
Received: from nwk-avmta-2.sfbay.sun.com (nwk-avmta-2.SFBay.Sun.COM [129.149.247.22])
	by sunmail1brm.Central.Sun.COM (8.11.7p1+Sun/8.11.7/ENSMAIL,v2.2) with ESMTP id k7NIBAH24210;
	Wed, 23 Aug 2006 12:11:10 -0600 (MDT)
Received: from pmxchannel-daemon.nwk-avmta-2.sfbay.sun.com by
 nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 id <0J4G00B05QIMZV00@nwk-avmta-2.sfbay.sun.com>; Wed,
 23 Aug 2006 11:11:10 -0700 (PDT)
Received: from sfbaymail1sca.SFBay.Sun.COM ([129.145.154.35])
 by nwk-avmta-2.sfbay.sun.com
 (Sun Java System Messaging Server 6.2-3.04 (built Jul 15 2005))
 with ESMTP id <0J4G007DUQIM2GC0@nwk-avmta-2.sfbay.sun.com>; Wed,
 23 Aug 2006 11:11:10 -0700 (PDT)
Received: from billybob.sfbay.sun.com
 (billybob.SFBay.Sun.COM [129.146.224.123])	by sfbaymail1sca.SFBay.Sun.COM
 (8.13.6+Sun/8.13.6/ENSMAIL,v2.2) with ESMTP id k7NIB74q015335; Wed,
 23 Aug 2006 11:11:07 -0700 (PDT)
Received: from billybob (billybob [129.146.224.123])	by billybob.sfbay.sun.com
 (8.13.8+Sun/8.13.8) with SMTP id k7NIIR1v101733; Wed,
 23 Aug 2006 11:18:27 -0700 (PDT)
Date: Wed, 23 Aug 2006 11:18:27 -0700 (PDT)
From: Shudong Zhou <szhou@billybob.sfbay.sun.com>
Subject: Re: PSARC 2006/484 USB Video Class Driver
To: psarc@sun.com
Cc: Colin.Zou@sun.com, usb-tech@sun.com
Reply-to: Shudong Zhou <szhou@billybob.sfbay.sun.com>
Message-id: <200608231818.k7NIIR1v101733@billybob.sfbay.sun.com>
MIME-version: 1.0
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.7_13 SunOS 5.11 i86pc i386
Content-type: TEXT/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-MD5: wQ3ElQz5+NKcUHLTnk49uQ==
X-PMX-Version: 5.2.0.264296
Status: RO
Content-Length: 59

This case was approved in today's PSARC meeting.

Shudong


