source: eviacam/trunk/fuentes/creavision/libwebcam/README @ 567

Last change on this file since 567 was 567, checked in by mabarracus, 4 years ago

updated sources to version 2.0.3

File size: 5.7 KB
1libwebcam Webcam Library
7The Webcam Library libwebcam is designed to simplify the development of webcam
8applications, primarily on Linux but with an option to be ported to other
9platforms, in particular Solaris. It realizes part of what the unwritten
10Video4Linux user space library was always supposed to be: an easy to use
11library that shields its users from many of the difficulties and problems of
12using the V4L2 API directly.
14Today libwebcam provides the following core features:
16* Enumeration of all cameras available in the system.
17* Provide detailed information about the detected devices and their controls.
18* Wrapper for the V4L2 frame format enumeration.
19* Convenient access to device controls.
20* Support for configuring the Linux UVC driver's dynamic controls (extension
21  unit controls).
23In addition, the interface is prepared to handle device events ranging from
24newly detected cameras over control value changes to device button events.
25It is easy to add new features without breaking application compatibility and
26the addition of new controls or events is straightforward.
29Change log
320.2.0 (under development):
33- Reorganized the directory layout and build system (CMake 2.6 is required now).
34- Added packaging support (.deb and .tar.bz2).
35- Added support for raw/string controls.
36- Minor bugfixes and code cleanups
380.1.4-pre (unreleased, SVN tag only):
39Note: This is the last version to use the old directory layout and CMake 2.4.
40- Improved udev support (udev >= 141 is required now).
420.1.3-pre (unreleased, SVN tag only):
43Note: This is the last version to work with older versions of udev.
44- Added support for some Logitech specific dynamic controls: LED1 mode, LED1
45  frequency, Disable color processing, Raw bits per pixel
46- Added a check for driver misbehavior related to V4L2_CTRL_FLAG_NEXT_CTRL and
47  avoid an endless control enumeration loop.
48- Disable the UVC driver's caching mechanism for XU controls.
49- Build system: Use the CMAKE_INSTALL_LIBDIR variable for the library
50  installation path. This should fix problems on Fedora 64-bit.
520.1.2 (2009-07-08):
53- Update the controls to work better with the latest version of the UVC driver
54  that is part of the kernel.
55- Improved control handling by adding a list of well-known controls. This
56  allows libwebcam to recognize certain controls even if header files on the
57  build system do not match the current system.
58- Better handling of unknown control IDs.
59- Improved warning/error messages related to controls.
610.1.1 (2008-01-29):
62- Added support the V4L2_CTRL_FLAG_READ_ONLY flag.
63- Added per handle tracking of the last system error and a new
64  c_get_handle_error_text function that allows a handle's last system error
65  to be retrieved in certain cases (C_V4L2_ERROR).
66- Added a test to check whether the driver supports dynamic controls or not.
67  This should prevent some confusing error 22 messages when "uvcdynctrl -i" is
68  used with an old driver.
69- Process meta information and constants only while parsing the XML document
70  for the first time (during the first device).
71- Implemented support for processing statistics.
72- Added some informational messages, e.g. about skipped devices.
73- Added a define to suppress EEXIST errors for all but the first device.
74- Improved the way the device is picked. Instead of just taking the first
75  device, all devices are now looped through and supported UVC devices get
76  their controls and mappings added. This is not quite necessary at the moment
77  because the UVC driver still has global controls but that may change in the
78  future.
79- Added a stub implementation of c_add_control_mappings_from_file for when
81- Added a workaround for the current UVC driver's problematic
82  V4L2_CID_EXPOSURE_AUTO control. This is a menu control whose menu choices
83  don't have contiguous IDs but { 1, 2, 4, 8 } instead. For the moment, the
84  library just skips that control.
85- Improved detection of invalid menu controls whose full choice range is not
86  correctly queriable.
87- Fix: Bogus warning messages related to the V4L2 control types 'Button' and
88  'Integer64'. Support for these types in libwebcam is still missing, though.
89- Fix: Device enumeration issue with V4L1 devices present in the system.
90- Fix: Reorganizations in the control enumeration code and inclusion of a
91  workaround for some dangerous behavior in the bttv driver. (Thanks to Bruno
92  Grasland for his bttv testing!)
93- Fix: Problem in c_enum_frame_intervals if a non-discrete frame size was
94  passed. The function now returns C_INVALID_ARG in this case.
95- Fix: A segfault would occur in c_enum_pixel_formats with unknown pixel
96  formats (i.e. pixel formats without hardcoded MIME type).
97- Fix: Disabling USE_UVCVIDEO now works again and also sets
98  DISABLE_UVCVIDEO_DYNCTRL. This allows compiling libwebcam without the
99  uvcvideo header files.
1010.1: Initial release
104Building, questions, and feedback
107Please see the README file in the top level directory for building
108instructions and how to contact the developers.
111Copyright and license
114Copyright (c) 2006-2010 Logitech.
116libwebcam is free software: you can redistribute it and/or modify
117it under the terms of the GNU Lesser General Public License as published
118by the Free Software Foundation, either version 3 of the License, or
119(at your option) any later version.
121libwebcam is distributed in the hope that it will be useful,
122but WITHOUT ANY WARRANTY; without even the implied warranty of
124GNU Lesser General Public License for more details.
126You should have received a copy of the GNU Lesser General Public License
127along with libwebcam.  If not, see <>.
Note: See TracBrowser for help on using the repository browser.