~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/admin-guide/media/philips.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/admin-guide/media/philips.rst (Version linux-6.12-rc7) and /Documentation/admin-guide/media/philips.rst (Version linux-5.16.20)


  1 .. SPDX-License-Identifier: GPL-2.0                 1 .. SPDX-License-Identifier: GPL-2.0
  2                                                     2 
  3 Philips webcams (pwc driver)                        3 Philips webcams (pwc driver)
  4 ============================                        4 ============================
  5                                                     5 
  6 This file contains some additional information      6 This file contains some additional information for the Philips and OEM webcams.
  7 E-mail: webcam@smcc.demon.nl                        7 E-mail: webcam@smcc.demon.nl                        Last updated: 2004-01-19
  8 Site: http://www.smcc.demon.nl/webcam/              8 Site: http://www.smcc.demon.nl/webcam/
  9                                                     9 
 10 As of this moment, the following cameras are s     10 As of this moment, the following cameras are supported:
 11                                                    11 
 12  * Philips PCA645                                  12  * Philips PCA645
 13  * Philips PCA646                                  13  * Philips PCA646
 14  * Philips PCVC675                                 14  * Philips PCVC675
 15  * Philips PCVC680                                 15  * Philips PCVC680
 16  * Philips PCVC690                                 16  * Philips PCVC690
 17  * Philips PCVC720/40                              17  * Philips PCVC720/40
 18  * Philips PCVC730                                 18  * Philips PCVC730
 19  * Philips PCVC740                                 19  * Philips PCVC740
 20  * Philips PCVC750                                 20  * Philips PCVC750
 21  * Askey VC010                                     21  * Askey VC010
 22  * Creative Labs Webcam 5                          22  * Creative Labs Webcam 5
 23  * Creative Labs Webcam Pro Ex                     23  * Creative Labs Webcam Pro Ex
 24  * Logitech QuickCam 3000 Pro                      24  * Logitech QuickCam 3000 Pro
 25  * Logitech QuickCam 4000 Pro                      25  * Logitech QuickCam 4000 Pro
 26  * Logitech QuickCam Notebook Pro                  26  * Logitech QuickCam Notebook Pro
 27  * Logitech QuickCam Zoom                          27  * Logitech QuickCam Zoom
 28  * Logitech QuickCam Orbit                         28  * Logitech QuickCam Orbit
 29  * Logitech QuickCam Sphere                        29  * Logitech QuickCam Sphere
 30  * Samsung MPC-C10                                 30  * Samsung MPC-C10
 31  * Samsung MPC-C30                                 31  * Samsung MPC-C30
 32  * Sotec Afina Eye                                 32  * Sotec Afina Eye
 33  * AME CU-001                                      33  * AME CU-001
 34  * Visionite VCS-UM100                             34  * Visionite VCS-UM100
 35  * Visionite VCS-UC300                             35  * Visionite VCS-UC300
 36                                                    36 
 37 The main webpage for the Philips driver is at      37 The main webpage for the Philips driver is at the address above. It contains
 38 a lot of extra information, a FAQ, and the bin     38 a lot of extra information, a FAQ, and the binary plugin 'PWCX'. This plugin
 39 contains decompression routines that allow you     39 contains decompression routines that allow you to use higher image sizes and
 40 framerates; in addition the webcam uses less b     40 framerates; in addition the webcam uses less bandwidth on the USB bus (handy
 41 if you want to run more than 1 camera simultan     41 if you want to run more than 1 camera simultaneously). These routines fall
 42 under a NDA, and may therefore not be distribu     42 under a NDA, and may therefore not be distributed as source; however, its use
 43 is completely optional.                            43 is completely optional.
 44                                                    44 
 45 You can build this code either into your kerne     45 You can build this code either into your kernel, or as a module. I recommend
 46 the latter, since it makes troubleshooting a l     46 the latter, since it makes troubleshooting a lot easier. The built-in
 47 microphone is supported through the USB Audio      47 microphone is supported through the USB Audio class.
 48                                                    48 
 49 When you load the module you can set some defa     49 When you load the module you can set some default settings for the
 50 camera; some programs depend on a particular i     50 camera; some programs depend on a particular image-size or -format and
 51 don't know how to set it properly in the drive     51 don't know how to set it properly in the driver. The options are:
 52                                                    52 
 53 size                                               53 size
 54    Can be one of 'sqcif', 'qsif', 'qcif', 'sif     54    Can be one of 'sqcif', 'qsif', 'qcif', 'sif', 'cif' or
 55    'vga', for an image size of resp. 128x96, 1     55    'vga', for an image size of resp. 128x96, 160x120, 176x144,
 56    320x240, 352x288 and 640x480 (of course, on     56    320x240, 352x288 and 640x480 (of course, only for those cameras that
 57    support these resolutions).                     57    support these resolutions).
 58                                                    58 
 59 fps                                                59 fps
 60    Specifies the desired framerate. Is an inte     60    Specifies the desired framerate. Is an integer in the range of 4-30.
 61                                                    61 
 62 fbufs                                              62 fbufs
 63    This parameter specifies the number of inte     63    This parameter specifies the number of internal buffers to use for storing
 64    frames from the cam. This will help if the      64    frames from the cam. This will help if the process that reads images from
 65    the cam is a bit slow or momentarily busy.      65    the cam is a bit slow or momentarily busy. However, on slow machines it
 66    only introduces lag, so choose carefully. T     66    only introduces lag, so choose carefully. The default is 3, which is
 67    reasonable. You can set it between 2 and 5.     67    reasonable. You can set it between 2 and 5.
 68                                                    68 
 69 mbufs                                              69 mbufs
 70    This is an integer between 1 and 10. It wil     70    This is an integer between 1 and 10. It will tell the module the number of
 71    buffers to reserve for mmap(), VIDIOCCGMBUF     71    buffers to reserve for mmap(), VIDIOCCGMBUF, VIDIOCMCAPTURE and friends.
 72    The default is 2, which is adequate for mos     72    The default is 2, which is adequate for most applications (double
 73    buffering).                                     73    buffering).
 74                                                    74 
 75    Should you experience a lot of 'Dumping fra     75    Should you experience a lot of 'Dumping frame...' messages during
 76    grabbing with a tool that uses mmap(), you      76    grabbing with a tool that uses mmap(), you might want to increase if.
 77    However, it doesn't really buffer images, i     77    However, it doesn't really buffer images, it just gives you a bit more
 78    slack when your program is behind. But you      78    slack when your program is behind. But you need a multi-threaded or
 79    forked program to really take advantage of      79    forked program to really take advantage of these buffers.
 80                                                    80 
 81    The absolute maximum is 10, but don't set i     81    The absolute maximum is 10, but don't set it too high!  Every buffer takes
 82    up 460 KB of RAM, so unless you have a lot      82    up 460 KB of RAM, so unless you have a lot of memory setting this to
 83    something more than 4 is an absolute waste.     83    something more than 4 is an absolute waste.  This memory is only
 84    allocated during open(), so nothing is wast     84    allocated during open(), so nothing is wasted when the camera is not in
 85    use.                                            85    use.
 86                                                    86 
 87 power_save                                         87 power_save
 88    When power_save is enabled (set to 1), the      88    When power_save is enabled (set to 1), the module will try to shut down
 89    the cam on close() and re-activate on open(     89    the cam on close() and re-activate on open(). This will save power and
 90    turn off the LED. Not all cameras support t     90    turn off the LED. Not all cameras support this though (the 645 and 646
 91    don't have power saving at all), and some m     91    don't have power saving at all), and some models don't work either (they
 92    will shut down, but never wake up). Conside     92    will shut down, but never wake up). Consider this experimental. By
 93    default this option is disabled.                93    default this option is disabled.
 94                                                    94 
 95 compression (only useful with the plugin)          95 compression (only useful with the plugin)
 96    With this option you can control the compre     96    With this option you can control the compression factor that the camera
 97    uses to squeeze the image through the USB b     97    uses to squeeze the image through the USB bus. You can set the
 98    parameter between 0 and 3::                     98    parameter between 0 and 3::
 99                                                    99 
100      0 = prefer uncompressed images; if the re    100      0 = prefer uncompressed images; if the requested mode is not available
101          in an uncompressed format, the driver    101          in an uncompressed format, the driver will silently switch to low
102          compression.                             102          compression.
103      1 = low compression.                         103      1 = low compression.
104      2 = medium compression.                      104      2 = medium compression.
105      3 = high compression.                        105      3 = high compression.
106                                                   106 
107    High compression takes less bandwidth of co    107    High compression takes less bandwidth of course, but it could also
108    introduce some unwanted artefacts. The defa    108    introduce some unwanted artefacts. The default is 2, medium compression.
109    See the FAQ on the website for an overview     109    See the FAQ on the website for an overview of which modes require
110    compression.                                   110    compression.
111                                                   111 
112    The compression parameter does not apply to    112    The compression parameter does not apply to the 645 and 646 cameras
113    and OEM models derived from those (only a f    113    and OEM models derived from those (only a few). Most cams honour this
114    parameter.                                     114    parameter.
115                                                   115 
116 leds                                              116 leds
117    This settings takes 2 integers, that define    117    This settings takes 2 integers, that define the on/off time for the LED
118    (in milliseconds). One of the interesting t    118    (in milliseconds). One of the interesting things that you can do with
119    this is let the LED blink while the camera     119    this is let the LED blink while the camera is in use. This::
120                                                   120 
121      leds=500,500                                 121      leds=500,500
122                                                   122 
123    will blink the LED once every second. But w    123    will blink the LED once every second. But with::
124                                                   124 
125      leds=0,0                                     125      leds=0,0
126                                                   126 
127    the LED never goes on, making it suitable f    127    the LED never goes on, making it suitable for silent surveillance.
128                                                   128 
129    By default the camera's LED is on solid whi    129    By default the camera's LED is on solid while in use, and turned off
130    when the camera is not used anymore.           130    when the camera is not used anymore.
131                                                   131 
132    This parameter works only with the ToUCam r    132    This parameter works only with the ToUCam range of cameras (720, 730, 740,
133    750) and OEMs. For other cameras this comma    133    750) and OEMs. For other cameras this command is silently ignored, and
134    the LED cannot be controlled.                  134    the LED cannot be controlled.
135                                                   135 
136    Finally: this parameters does not take effe    136    Finally: this parameters does not take effect UNTIL the first time you
137    open the camera device. Until then, the LED    137    open the camera device. Until then, the LED remains on.
138                                                   138 
139 dev_hint                                          139 dev_hint
140    A long standing problem with USB devices is    140    A long standing problem with USB devices is their dynamic nature: you
141    never know what device a camera gets assign    141    never know what device a camera gets assigned; it depends on module load
142    order, the hub configuration, the order in     142    order, the hub configuration, the order in which devices are plugged in,
143    and the phase of the moon (i.e. it can be r    143    and the phase of the moon (i.e. it can be random). With this option you
144    can give the driver a hint as to what video    144    can give the driver a hint as to what video device node (/dev/videoX) it
145    should use with a specific camera. This is     145    should use with a specific camera. This is also handy if you have two
146    cameras of the same model.                     146    cameras of the same model.
147                                                   147 
148    A camera is specified by its type (the numb    148    A camera is specified by its type (the number from the camera model,
149    like PCA645, PCVC750VC, etc) and optionally    149    like PCA645, PCVC750VC, etc) and optionally the serial number (visible
150    in /sys/kernel/debug/usb/devices). A hint c    150    in /sys/kernel/debug/usb/devices). A hint consists of a string with the
151    following format::                             151    following format::
152                                                   152 
153       [type[.serialnumber]:]node                  153       [type[.serialnumber]:]node
154                                                   154 
155    The square brackets mean that both the type    155    The square brackets mean that both the type and the serialnumber are
156    optional, but a serialnumber cannot be spec    156    optional, but a serialnumber cannot be specified without a type (which
157    would be rather pointless). The serialnumbe    157    would be rather pointless). The serialnumber is separated from the type
158    by a '.'; the node number by a ':'.            158    by a '.'; the node number by a ':'.
159                                                   159 
160    This somewhat cryptic syntax is best explai    160    This somewhat cryptic syntax is best explained by a few examples::
161                                                   161 
162      dev_hint=3,5              The first detec    162      dev_hint=3,5              The first detected cam gets assigned
163                                /dev/video3, th    163                                /dev/video3, the second /dev/video5. Any
164                                other cameras w    164                                other cameras will get the first free
165                                available slot     165                                available slot (see below).
166                                                   166 
167      dev_hint=645:1,680:2      The PCA645 came    167      dev_hint=645:1,680:2      The PCA645 camera will get /dev/video1,
168                                and a PCVC680 /    168                                and a PCVC680 /dev/video2.
169                                                   169 
170      dev_hint=645.0123:3,645.4567:0     The PC    170      dev_hint=645.0123:3,645.4567:0     The PCA645 camera with serialnumber
171                                         0123 g    171                                         0123 goes to /dev/video3, the same
172                                         camera    172                                         camera model with the 4567 serial
173                                         gets /    173                                         gets /dev/video0.
174                                                   174 
175      dev_hint=750:1,4,5,6       The PCVC750 ca    175      dev_hint=750:1,4,5,6       The PCVC750 camera will get /dev/video1, the
176                                 next 3 Philips    176                                 next 3 Philips cams will use /dev/video4
177                                 through /dev/v    177                                 through /dev/video6.
178                                                   178 
179    Some points worth knowing:                     179    Some points worth knowing:
180                                                   180 
181    - Serialnumbers are case sensitive and must    181    - Serialnumbers are case sensitive and must be written full, including
182      leading zeroes (it's treated as a string)    182      leading zeroes (it's treated as a string).
183    - If a device node is already occupied, reg    183    - If a device node is already occupied, registration will fail and
184      the webcam is not available.                 184      the webcam is not available.
185    - You can have up to 64 video devices; be s    185    - You can have up to 64 video devices; be sure to make enough device
186      nodes in /dev if you want to spread the n    186      nodes in /dev if you want to spread the numbers.
187      After /dev/video9 comes /dev/video10 (not    187      After /dev/video9 comes /dev/video10 (not /dev/videoA).
188    - If a camera does not match any dev_hint,     188    - If a camera does not match any dev_hint, it will simply get assigned
189      the first available device node, just as     189      the first available device node, just as it used to be.
190                                                   190 
191 trace                                             191 trace
192    In order to better detect problems, it is n    192    In order to better detect problems, it is now possible to turn on a
193    'trace' of some of the calls the module mak    193    'trace' of some of the calls the module makes; it logs all items in your
194    kernel log at debug level.                     194    kernel log at debug level.
195                                                   195 
196    The trace variable is a bitmask; each bit r    196    The trace variable is a bitmask; each bit represents a certain feature.
197    If you want to trace something, look up the    197    If you want to trace something, look up the bit value(s) in the table
198    below, add the values together and supply t    198    below, add the values together and supply that to the trace variable.
199                                                   199 
200    ====== ======= ============================    200    ====== ======= ================================================ =======
201    Value  Value   Description                     201    Value  Value   Description                                      Default
202    (dec)  (hex)                                   202    (dec)  (hex)
203    ====== ======= ============================    203    ====== ======= ================================================ =======
204        1    0x1   Module initialization; this     204        1    0x1   Module initialization; this will log messages       On
205                   while loading and unloading     205                   while loading and unloading the module
206                                                   206 
207        2    0x2   probe() and disconnect() tra    207        2    0x2   probe() and disconnect() traces                     On
208                                                   208 
209        4    0x4   Trace open() and close() cal    209        4    0x4   Trace open() and close() calls                      Off
210                                                   210 
211        8    0x8   read(), mmap() and associate    211        8    0x8   read(), mmap() and associated ioctl() calls         Off
212                                                   212 
213       16   0x10   Memory allocation of buffers    213       16   0x10   Memory allocation of buffers, etc.                  Off
214                                                   214 
215       32   0x20   Showing underflow, overflow     215       32   0x20   Showing underflow, overflow and Dumping frame       On
216                   messages                        216                   messages
217                                                   217 
218       64   0x40   Show viewport and image size    218       64   0x40   Show viewport and image sizes                       Off
219                                                   219 
220      128   0x80   PWCX debugging                  220      128   0x80   PWCX debugging                                      Off
221    ====== ======= ============================    221    ====== ======= ================================================ =======
222                                                   222 
223    For example, to trace the open() & read() f    223    For example, to trace the open() & read() functions, sum 8 + 4 = 12,
224    so you would supply trace=12 during insmod     224    so you would supply trace=12 during insmod or modprobe. If
225    you want to turn the initialization and pro    225    you want to turn the initialization and probing tracing off, set trace=0.
226    The default value for trace is 35 (0x23).      226    The default value for trace is 35 (0x23).
227                                                   227 
228                                                   228 
229                                                   229 
230 Example::                                         230 Example::
231                                                   231 
232      # modprobe pwc size=cif fps=15 power_save    232      # modprobe pwc size=cif fps=15 power_save=1
233                                                   233 
234 The fbufs, mbufs and trace parameters are glob    234 The fbufs, mbufs and trace parameters are global and apply to all connected
235 cameras. Each camera has its own set of buffer    235 cameras. Each camera has its own set of buffers.
236                                                   236 
237 size and fps only specify defaults when you op    237 size and fps only specify defaults when you open() the device; this is to
238 accommodate some tools that don't set the size    238 accommodate some tools that don't set the size. You can change these
239 settings after open() with the Video4Linux ioc    239 settings after open() with the Video4Linux ioctl() calls. The default of
240 defaults is QCIF size at 10 fps.                  240 defaults is QCIF size at 10 fps.
241                                                   241 
242 The compression parameter is semiglobal; it se    242 The compression parameter is semiglobal; it sets the initial compression
243 preference for all camera's, but this paramete    243 preference for all camera's, but this parameter can be set per camera with
244 the VIDIOCPWCSCQUAL ioctl() call.                 244 the VIDIOCPWCSCQUAL ioctl() call.
245                                                   245 
246 All parameters are optional.                      246 All parameters are optional.
247                                                   247 
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php