0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 .. include:: <isonum.txt>
0004
0005 Vaio Picturebook Motion Eye Camera Driver
0006 =========================================
0007
0008 Copyright |copy| 2001-2004 Stelian Pop <stelian@popies.net>
0009
0010 Copyright |copy| 2001-2002 AlcĂ´ve <www.alcove.com>
0011
0012 Copyright |copy| 2000 Andrew Tridgell <tridge@samba.org>
0013
0014 Private API
0015 -----------
0016
0017 The driver supports frame grabbing with the video4linux API,
0018 so all video4linux tools (like xawtv) should work with this driver.
0019
0020 Besides the video4linux interface, the driver has a private interface
0021 for accessing the Motion Eye extended parameters (camera sharpness,
0022 agc, video framerate), the snapshot and the MJPEG capture facilities.
0023
0024 This interface consists of several ioctls (prototypes and structures
0025 can be found in include/linux/meye.h):
0026
0027 MEYEIOC_G_PARAMS and MEYEIOC_S_PARAMS
0028 Get and set the extended parameters of the motion eye camera.
0029 The user should always query the current parameters with
0030 MEYEIOC_G_PARAMS, change what he likes and then issue the
0031 MEYEIOC_S_PARAMS call (checking for -EINVAL). The extended
0032 parameters are described by the meye_params structure.
0033
0034
0035 MEYEIOC_QBUF_CAPT
0036 Queue a buffer for capture (the buffers must have been
0037 obtained with a VIDIOCGMBUF call and mmap'ed by the
0038 application). The argument to MEYEIOC_QBUF_CAPT is the
0039 buffer number to queue (or -1 to end capture). The first
0040 call to MEYEIOC_QBUF_CAPT starts the streaming capture.
0041
0042 MEYEIOC_SYNC
0043 Takes as an argument the buffer number you want to sync.
0044 This ioctl blocks until the buffer is filled and ready
0045 for the application to use. It returns the buffer size.
0046
0047 MEYEIOC_STILLCAPT and MEYEIOC_STILLJCAPT
0048 Takes a snapshot in an uncompressed or compressed jpeg format.
0049 This ioctl blocks until the snapshot is done and returns (for
0050 jpeg snapshot) the size of the image. The image data is
0051 available from the first mmap'ed buffer.
0052
0053 Look at the 'motioneye' application code for an actual example.