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