| Vaio Picturebook Motion Eye Camera Driver Readme | 
 | ------------------------------------------------ | 
 | 	Copyright (C) 2001-2004 Stelian Pop <stelian@popies.net> | 
 | 	Copyright (C) 2001-2002 AlcĂ´ve <www.alcove.com> | 
 | 	Copyright (C) 2000 Andrew Tridgell <tridge@samba.org> | 
 |  | 
 | This driver enable the use of video4linux compatible applications with the | 
 | Motion Eye camera. This driver requires the "Sony Laptop Extras" driver (which | 
 | can be found in the "Misc devices" section of the kernel configuration utility) | 
 | to be compiled and installed (using its "camera=1" parameter). | 
 |  | 
 | It can do at maximum 30 fps @ 320x240 or 15 fps @ 640x480. | 
 |  | 
 | Grabbing is supported in packed YUV colorspace only. | 
 |  | 
 | MJPEG hardware grabbing is supported via a private API (see below). | 
 |  | 
 | Hardware supported: | 
 | ------------------- | 
 |  | 
 | This driver supports the 'second' version of the MotionEye camera :) | 
 |  | 
 | The first version was connected directly on the video bus of the Neomagic | 
 | video card and is unsupported. | 
 |  | 
 | The second one, made by Kawasaki Steel is fully supported by this | 
 | driver (PCI vendor/device is 0x136b/0xff01) | 
 |  | 
 | The third one, present in recent (more or less last year) Picturebooks | 
 | (C1M* models), is not supported. The manufacturer has given the specs | 
 | to the developers under a NDA (which allows the development of a GPL | 
 | driver however), but things are not moving very fast (see | 
 | http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011). | 
 |  | 
 | There is a forth model connected on the USB bus in TR1* Vaio laptops. | 
 | This camera is not supported at all by the current driver, in fact | 
 | little information if any is available for this camera | 
 | (USB vendor/device is 0x054c/0x0107). | 
 |  | 
 | Driver options: | 
 | --------------- | 
 |  | 
 | Several options can be passed to the meye driver using the standard | 
 | module argument syntax (<param>=<value> when passing the option to the | 
 | module or meye.<param>=<value> on the kernel boot line when meye is | 
 | statically linked into the kernel). Those options are: | 
 |  | 
 | 	gbuffers:	number of capture buffers, default is 2 (32 max) | 
 |  | 
 | 	gbufsize:	size of each capture buffer, default is 614400 | 
 |  | 
 | 	video_nr:	video device to register (0 = /dev/video0, etc) | 
 |  | 
 | Module use: | 
 | ----------- | 
 |  | 
 | In order to automatically load the meye module on use, you can put those lines | 
 | in your /etc/modprobe.conf file: | 
 |  | 
 | 	alias char-major-81 videodev | 
 | 	alias char-major-81-0 meye | 
 | 	options meye gbuffers=32 | 
 |  | 
 | Usage: | 
 | ------ | 
 |  | 
 | 	xawtv >= 3.49 (<http://bytesex.org/xawtv/>) | 
 | 		for display and uncompressed video capture: | 
 |  | 
 | 			xawtv -c /dev/video0 -geometry 640x480 | 
 | 				or | 
 | 			xawtv -c /dev/video0 -geometry 320x240 | 
 |  | 
 | 	motioneye (<http://popies.net/meye/>) | 
 | 		for getting ppm or jpg snapshots, mjpeg video | 
 |  | 
 | Private API: | 
 | ------------ | 
 |  | 
 | 	The driver supports frame grabbing with the video4linux API, | 
 | 	so all video4linux tools (like xawtv) should work with this driver. | 
 |  | 
 | 	Besides the video4linux interface, the driver has a private interface | 
 | 	for accessing the Motion Eye extended parameters (camera sharpness, | 
 | 	agc, video framerate), the shapshot and the MJPEG capture facilities. | 
 |  | 
 | 	This interface consists of several ioctls (prototypes and structures | 
 | 	can be found in include/linux/meye.h): | 
 |  | 
 | 	MEYEIOC_G_PARAMS | 
 | 	MEYEIOC_S_PARAMS | 
 | 		Get and set the extended parameters of the motion eye camera. | 
 | 		The user should always query the current parameters with | 
 | 		MEYEIOC_G_PARAMS, change what he likes and then issue the | 
 | 		MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended | 
 | 		parameters are described by the meye_params structure. | 
 |  | 
 |  | 
 | 	MEYEIOC_QBUF_CAPT | 
 | 		Queue a buffer for capture (the buffers must have been | 
 | 		obtained with a VIDIOCGMBUF call and mmap'ed by the | 
 | 		application). The argument to MEYEIOC_QBUF_CAPT is the | 
 | 		buffer number to queue (or -1 to end capture). The first | 
 | 		call to MEYEIOC_QBUF_CAPT starts the streaming capture. | 
 |  | 
 | 	MEYEIOC_SYNC | 
 | 		Takes as an argument the buffer number you want to sync. | 
 | 		This ioctl blocks until the buffer is filled and ready | 
 | 		for the application to use. It returns the buffer size. | 
 |  | 
 | 	MEYEIOC_STILLCAPT | 
 | 	MEYEIOC_STILLJCAPT | 
 | 		Takes a snapshot in an uncompressed or compressed jpeg format. | 
 | 		This ioctl blocks until the snapshot is done and returns (for | 
 | 		jpeg snapshot) the size of the image. The image data is | 
 | 		available from the first mmap'ed buffer. | 
 |  | 
 | 	Look at the 'motioneye' application code for an actual example. | 
 |  | 
 | Bugs / Todo: | 
 | ------------ | 
 |  | 
 | 	- 'motioneye' still uses the meye private v4l1 API extensions. |