1.. include:: <isonum.txt> 2 3Vaio Picturebook Motion Eye Camera Driver 4========================================= 5 6Copyright |copy| 2001-2004 Stelian Pop <stelian@popies.net> 7 8Copyright |copy| 2001-2002 Alcôve <www.alcove.com> 9 10Copyright |copy| 2000 Andrew Tridgell <tridge@samba.org> 11 12This driver enable the use of video4linux compatible applications with the 13Motion Eye camera. This driver requires the "Sony Laptop Extras" driver (which 14can be found in the "Misc devices" section of the kernel configuration utility) 15to be compiled and installed (using its "camera=1" parameter). 16 17It can do at maximum 30 fps @ 320x240 or 15 fps @ 640x480. 18 19Grabbing is supported in packed YUV colorspace only. 20 21MJPEG hardware grabbing is supported via a private API (see below). 22 23Hardware supported 24------------------ 25 26This driver supports the 'second' version of the MotionEye camera :) 27 28The first version was connected directly on the video bus of the Neomagic 29video card and is unsupported. 30 31The second one, made by Kawasaki Steel is fully supported by this 32driver (PCI vendor/device is 0x136b/0xff01) 33 34The third one, present in recent (more or less last year) Picturebooks 35(C1M* models), is not supported. The manufacturer has given the specs 36to the developers under a NDA (which allows the development of a GPL 37driver however), but things are not moving very fast (see 38http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011). 39 40There is a forth model connected on the USB bus in TR1* Vaio laptops. 41This camera is not supported at all by the current driver, in fact 42little information if any is available for this camera 43(USB vendor/device is 0x054c/0x0107). 44 45Driver options 46-------------- 47 48Several options can be passed to the meye driver using the standard 49module argument syntax (<param>=<value> when passing the option to the 50module or meye.<param>=<value> on the kernel boot line when meye is 51statically linked into the kernel). Those options are: 52 53.. code-block:: none 54 55 gbuffers: number of capture buffers, default is 2 (32 max) 56 57 gbufsize: size of each capture buffer, default is 614400 58 59 video_nr: video device to register (0 = /dev/video0, etc) 60 61Module use 62---------- 63 64In order to automatically load the meye module on use, you can put those lines 65in your /etc/modprobe.d/meye.conf file: 66 67.. code-block:: none 68 69 alias char-major-81 videodev 70 alias char-major-81-0 meye 71 options meye gbuffers=32 72 73Usage: 74------ 75 76.. code-block:: none 77 78 xawtv >= 3.49 (<http://bytesex.org/xawtv/>) 79 for display and uncompressed video capture: 80 81 xawtv -c /dev/video0 -geometry 640x480 82 or 83 xawtv -c /dev/video0 -geometry 320x240 84 85 motioneye (<http://popies.net/meye/>) 86 for getting ppm or jpg snapshots, mjpeg video 87 88Private API 89----------- 90 91The driver supports frame grabbing with the video4linux API, 92so all video4linux tools (like xawtv) should work with this driver. 93 94Besides the video4linux interface, the driver has a private interface 95for accessing the Motion Eye extended parameters (camera sharpness, 96agc, video framerate), the shapshot and the MJPEG capture facilities. 97 98This interface consists of several ioctls (prototypes and structures 99can be found in include/linux/meye.h): 100 101MEYEIOC_G_PARAMS and MEYEIOC_S_PARAMS 102 Get and set the extended parameters of the motion eye camera. 103 The user should always query the current parameters with 104 MEYEIOC_G_PARAMS, change what he likes and then issue the 105 MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended 106 parameters are described by the meye_params structure. 107 108 109MEYEIOC_QBUF_CAPT 110 Queue a buffer for capture (the buffers must have been 111 obtained with a VIDIOCGMBUF call and mmap'ed by the 112 application). The argument to MEYEIOC_QBUF_CAPT is the 113 buffer number to queue (or -1 to end capture). The first 114 call to MEYEIOC_QBUF_CAPT starts the streaming capture. 115 116MEYEIOC_SYNC 117 Takes as an argument the buffer number you want to sync. 118 This ioctl blocks until the buffer is filled and ready 119 for the application to use. It returns the buffer size. 120 121MEYEIOC_STILLCAPT and MEYEIOC_STILLJCAPT 122 Takes a snapshot in an uncompressed or compressed jpeg format. 123 This ioctl blocks until the snapshot is done and returns (for 124 jpeg snapshot) the size of the image. The image data is 125 available from the first mmap'ed buffer. 126 127Look at the 'motioneye' application code for an actual example. 128 129Bugs / Todo 130----------- 131 132- 'motioneye' still uses the meye private v4l1 API extensions. 133