] by
chw
2021-09-01 12:33:41.
0000: 44 20 32 30 32 31 2d 30 39 2d 30 31 54 31 32 3a D 2021-09-01T12:
0010: 33 33 3a 34 31 2e 30 30 37 0a 4c 20 76 34 6c 32 33:41.007.L v4l2
0020: 5c 73 63 6f 6d 6d 61 6e 64 0a 50 20 30 35 33 62 \scommand.P 053b
0030: 30 65 37 64 34 36 66 34 37 61 37 31 37 39 38 30 0e7d46f47a717980
0040: 32 30 32 64 32 38 39 35 39 34 38 38 35 30 66 63 202d2895948850fc
0050: 35 34 32 64 0a 55 20 63 68 77 0a 57 20 31 30 31 542d.U chw.W 101
0060: 34 33 0a 3c 68 32 3e 76 34 6c 32 20 63 6f 6d 6d 43.<h2>v4l2 comm
0070: 61 6e 64 3c 2f 68 32 3e 0d 0a 0d 0a 3c 68 33 3e and</h2>....<h3>
0080: 4e 61 6d 65 3c 2f 68 33 3e 0d 0a 0d 0a 3c 62 3e Name</h3>....<b>
0090: 76 34 6c 32 3c 2f 62 3e 20 2d 20 56 69 64 65 6f v4l2</b> - Video
00a0: 20 46 6f 72 20 4c 69 6e 75 78 20 54 77 6f 20 69 For Linux Two i
00b0: 6e 74 65 72 66 61 63 65 0d 0a 0d 0a 3c 68 33 3e nterface....<h3>
00c0: 53 79 6e 6f 70 73 69 73 3c 2f 68 33 3e 0d 0a 0d Synopsis</h3>...
00d0: 0a 3c 74 74 3e 70 61 63 6b 61 67 65 20 72 65 71 .<tt>package req
00e0: 75 69 72 65 20 76 34 6c 32 3c 2f 74 74 3e 3c 62 uire v4l2</tt><b
00f0: 72 3e 0d 0a 3c 74 74 3e 76 34 6c 32 20 3c 69 3e r>..<tt>v4l2 <i>
0100: 6f 70 74 69 6f 6e 3c 2f 69 3e 20 3f 3c 69 3e 61 option</i> ?<i>a
0110: 72 67 20 2e 2e 2e 3c 2f 69 3e 3f 3c 2f 74 74 3e rg ...</i>?</tt>
0120: 0d 0a 0d 0a 3c 68 33 3e 44 65 73 63 72 69 70 74 ....<h3>Descript
0130: 69 6f 6e 3c 2f 68 33 3e 0d 0a 0d 0a 54 68 69 73 ion</h3>....This
0140: 20 20 63 6f 6d 6d 61 6e 64 20 20 70 72 6f 76 69 command provi
0150: 64 65 73 20 73 65 76 65 72 61 6c 20 6f 70 65 72 des several oper
0160: 61 74 69 6f 6e 73 20 74 6f 20 69 6e 74 65 72 66 ations to interf
0170: 61 63 65 20 56 69 64 65 6f 20 46 6f 72 20 4c 69 ace Video For Li
0180: 6e 75 78 0d 0a 54 77 6f 20 69 6e 20 6f 72 64 65 nux..Two in orde
0190: 72 20 74 6f 20 6f 70 65 72 61 74 65 20 63 61 6d r to operate cam
01a0: 65 72 61 20 64 65 76 69 63 65 73 2e 20 3c 74 74 era devices. <tt
01b0: 3e 3c 69 3e 6f 70 74 69 6f 6e 3c 2f 69 3e 3c 2f ><i>option</i></
01c0: 74 74 3e 20 69 6e 64 69 63 61 74 65 73 20 77 68 tt> indicates wh
01d0: 61 74 0d 0a 74 6f 20 63 61 72 72 79 20 6f 75 74 at..to carry out
01e0: 20 6f 6e 20 20 74 68 65 20 20 56 69 64 65 6f 20 on the Video
01f0: 20 46 6f 72 20 20 4c 69 6e 75 78 20 20 54 77 6f For Linux Two
0200: 20 20 73 75 62 73 79 73 74 65 6d 2e 20 41 6e 79 subsystem. Any
0210: 20 75 6e 69 71 75 65 0d 0a 61 62 62 72 65 76 69 unique..abbrevi
0220: 61 74 69 6f 6e 20 66 6f 72 20 3c 74 74 3e 3c 69 ation for <tt><i
0230: 3e 6f 70 74 69 6f 6e 3c 2f 69 3e 3c 2f 74 74 3e >option</i></tt>
0240: 20 69 73 20 61 63 63 65 70 74 61 62 6c 65 2e 0d is acceptable..
0250: 0a 54 68 65 20 76 61 6c 69 64 20 6f 70 74 69 6f .The valid optio
0260: 6e 73 20 61 72 65 3a 0d 0a 0d 0a 3c 74 74 3e 76 ns are:....<tt>v
0270: 34 6c 32 20 63 6c 6f 73 65 20 3c 69 3e 64 65 76 4l2 close <i>dev
0280: 69 64 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 id</i></tt>....
0290: 20 20 20 43 6c 6f 73 65 73 20 74 68 65 20 64 65 Closes the de
02a0: 76 69 63 65 20 69 64 65 6e 74 69 66 69 65 64 20 vice identified
02b0: 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c by <tt><i>devid<
02c0: 2f 69 3e 3c 2f 74 74 3e 20 77 68 69 63 68 20 68 /i></tt> which h
02d0: 61 73 20 62 65 65 6e 20 6f 70 65 6e 65 64 20 62 as been opened b
02e0: 65 66 6f 72 65 20 75 73 69 6e 67 20 3c 74 74 3e efore using <tt>
02f0: 76 34 6c 32 20 6f 70 65 6e 3c 2f 74 74 3e 2e 0d v4l2 open</tt>..
0300: 0a 0d 0a 3c 74 74 3e 76 34 6c 32 20 63 6f 75 6e ...<tt>v4l2 coun
0310: 74 65 72 73 20 3c 69 3e 64 65 76 69 64 3c 2f 69 ters <i>devid</i
0320: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 ></tt>.... Re
0330: 70 6f 72 74 73 20 61 20 74 77 6f 20 65 6c 65 6d ports a two elem
0340: 65 6e 74 20 6c 69 73 74 20 6f 66 20 73 74 61 74 ent list of stat
0350: 69 73 74 69 63 20 63 6f 75 6e 74 65 72 73 20 6f istic counters o
0360: 6e 20 74 68 65 20 64 65 76 69 63 65 20 69 64 65 n the device ide
0370: 6e 74 69 66 69 65 64 20 62 79 20 3c 74 74 3e 3c ntified by <tt><
0380: 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e i>devid</i></tt>
0390: 2e 20 54 68 65 20 66 69 72 73 74 20 65 6c 65 6d . The first elem
03a0: 65 6e 74 20 69 73 20 74 68 65 20 6e 75 6d 62 65 ent is the numbe
03b0: 72 20 6f 66 20 76 69 64 65 6f 20 66 72 61 6d 65 r of video frame
03c0: 73 20 72 65 63 65 69 76 65 64 2c 20 74 68 65 20 s received, the
03d0: 73 65 63 6f 6e 64 20 74 68 65 20 6e 75 6d 62 65 second the numbe
03e0: 72 20 6f 66 20 76 69 64 65 6f 20 66 72 61 6d 65 r of video frame
03f0: 73 20 70 72 6f 63 65 73 73 65 64 20 77 69 74 68 s processed with
0400: 20 3c 74 74 3e 76 34 6c 32 20 67 72 65 79 69 6d <tt>v4l2 greyim
0410: 61 67 65 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 age</tt> and <tt
0420: 3e 76 34 6c 32 20 69 6d 61 67 65 3c 2f 74 74 3e >v4l2 image</tt>
0430: 2e 20 54 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 . This informati
0440: 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 on can be used t
0450: 6f 20 64 65 74 65 63 74 20 64 72 6f 70 70 65 64 o detect dropped
0460: 20 66 72 61 6d 65 73 2e 0d 0a 0d 0a 3c 74 74 3e frames.....<tt>
0470: 76 34 6c 32 20 64 65 76 69 63 65 73 3c 2f 74 74 v4l2 devices</tt
0480: 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 >.... Returns
0490: 20 61 20 6c 69 73 74 20 6f 66 20 64 65 76 69 63 a list of devic
04a0: 65 20 6e 61 6d 65 73 20 77 68 69 63 68 20 63 61 e names which ca
04b0: 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 3c 74 n be used for <t
04c0: 74 3e 76 34 6c 32 20 6f 70 65 6e 3c 2f 74 74 3e t>v4l2 open</tt>
04d0: 2e 20 49 66 20 3c 74 74 3e 75 64 65 76 3c 2f 74 . If <tt>udev</t
04e0: 74 3e 20 73 75 70 70 6f 72 74 20 69 73 20 61 76 t> support is av
04f0: 61 69 6c 61 62 6c 65 2c 20 74 68 69 73 20 6c 69 ailable, this li
0500: 73 74 20 69 73 20 72 65 66 72 65 73 68 65 64 20 st is refreshed
0510: 6f 6e 20 70 6c 75 67 20 61 6e 64 20 75 6e 70 6c on plug and unpl
0520: 75 67 20 6f 66 20 64 65 76 69 63 65 73 2e 20 4f ug of devices. O
0530: 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 6d therwise it is m
0540: 61 64 65 20 75 70 20 6f 66 20 61 20 73 6e 61 70 ade up of a snap
0550: 73 68 6f 74 20 6f 66 20 73 75 69 74 61 62 6c 65 shot of suitable
0560: 20 66 69 6c 65 20 6e 61 6d 65 73 20 69 6e 20 74 file names in t
0570: 68 65 20 3c 74 74 3e 2f 64 65 76 3c 2f 74 74 3e he <tt>/dev</tt>
0580: 20 64 69 72 65 63 74 6f 72 79 2e 0d 0a 0d 0a 3c directory.....<
0590: 74 74 3e 76 34 6c 32 20 67 72 65 79 69 6d 61 67 tt>v4l2 greyimag
05a0: 65 20 3c 69 3e 64 65 76 69 64 20 6d 61 73 6b 3c e <i>devid mask<
05b0: 2f 69 3e 20 3f 3c 69 3e 70 68 6f 74 6f 49 6d 61 /i> ?<i>photoIma
05c0: 67 65 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a ge</i>?</tt>....
05d0: 20 20 20 20 43 6f 70 69 65 73 20 74 68 65 20 6d Copies the m
05e0: 6f 73 74 20 72 65 63 65 6e 74 20 63 61 70 74 75 ost recent captu
05f0: 72 65 64 20 69 6d 61 67 65 20 6f 66 20 74 68 65 red image of the
0600: 20 64 65 76 69 63 65 20 3c 74 74 3e 3c 69 3e 64 device <tt><i>d
0610: 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 6e evid</i></tt> in
0620: 74 6f 20 74 68 65 20 70 68 6f 74 6f 20 69 6d 61 to the photo ima
0630: 67 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 ge identified by
0640: 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 49 6d 61 <tt><i>photoIma
0650: 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 61 6e 64 20 ge</i></tt> and
0660: 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 7a 65 72 6f returns non-zero
0670: 20 6f 6e 20 73 75 63 63 65 73 73 20 6f 72 20 7a on success or z
0680: 65 72 6f 20 69 66 20 6e 6f 20 64 61 74 61 20 74 ero if no data t
0690: 72 61 6e 73 66 65 72 20 68 61 73 20 74 61 6b 65 ransfer has take
06a0: 6e 20 70 6c 61 63 65 2e 20 54 68 65 20 69 6d 61 n place. The ima
06b0: 67 65 20 69 73 20 63 6f 6e 76 65 72 74 65 64 20 ge is converted
06c0: 74 6f 20 67 72 65 79 73 63 61 6c 65 20 69 66 20 to greyscale if
06d0: 74 68 65 20 63 61 70 74 75 72 65 20 66 6f 72 6d the capture form
06e0: 61 74 20 64 65 6c 69 76 65 72 73 20 63 6f 6c 6f at delivers colo
06f0: 72 20 69 6d 61 67 65 73 2c 20 77 68 65 72 65 20 r images, where
0700: 3c 74 74 3e 3c 69 3e 6d 61 73 6b 3c 2f 69 3e 3c <tt><i>mask</i><
0710: 2f 74 74 3e 63 6f 6e 74 72 6f 6c 73 20 74 68 65 /tt>controls the
0720: 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 20 49 66 20 conversion. If
0730: 69 74 20 69 73 20 65 6d 70 74 79 20 6f 72 20 3c it is empty or <
0740: 62 3e 52 47 42 3c 2f 62 3e 2c 20 61 6c 6c 20 63 b>RGB</b>, all c
0750: 6f 6c 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 olor components
0760: 61 72 65 20 75 73 65 64 20 66 6f 72 20 63 6f 6e are used for con
0770: 76 65 72 73 69 6f 6e 2c 20 6f 74 68 65 72 77 69 version, otherwi
0780: 73 65 20 66 6f 72 20 65 61 63 68 20 6c 65 74 74 se for each lett
0790: 65 72 20 3c 62 3e 52 3c 2f 62 3e 2c 20 3c 62 3e er <b>R</b>, <b>
07a0: 47 3c 2f 62 3e 2c 20 61 6e 64 20 3c 62 3e 42 3c G</b>, and <b>B<
07b0: 2f 62 3e 20 74 68 65 20 72 65 73 70 65 63 74 69 /b> the respecti
07c0: 76 65 20 63 6f 6c 6f 72 20 63 6f 6d 70 6f 6e 65 ve color compone
07d0: 6e 74 20 69 73 20 20 75 73 65 64 2e 20 49 66 20 nt is used. If
07e0: 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 63 6f more than one co
07f0: 6c 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 lor component is
0800: 20 75 73 65 64 20 69 6e 20 74 68 65 20 63 6f 6e used in the con
0810: 76 65 72 73 69 6f 6e 2c 20 74 68 65 20 77 65 69 version, the wei
0820: 67 68 74 73 20 61 72 65 20 30 2e 32 39 39 20 66 ghts are 0.299 f
0830: 6f 72 20 72 65 64 2c 20 30 2e 35 38 37 20 66 6f or red, 0.587 fo
0840: 72 20 67 72 65 65 6e 2c 20 61 6e 64 20 30 2e 31 r green, and 0.1
0850: 31 34 20 66 6f 72 20 20 62 6c 75 65 2e 20 49 66 14 for blue. If
0860: 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 49 6d 61 <tt><i>photoIma
0870: 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 6f ge</i></tt> is o
0880: 6d 69 74 74 65 64 2c 20 61 20 66 6f 75 72 20 65 mitted, a four e
0890: 6c 65 6d 65 6e 74 20 6c 69 73 74 20 69 73 20 72 lement list is r
08a0: 65 74 75 72 6e 65 64 20 77 69 74 68 20 74 68 65 eturned with the
08b0: 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 62 first element b
08c0: 65 69 6e 67 20 74 68 65 20 69 6d 61 67 65 20 77 eing the image w
08d0: 69 64 74 68 2c 20 74 68 65 20 73 65 63 6f 6e 64 idth, the second
08e0: 20 74 68 65 20 69 6d 61 67 65 20 68 65 69 67 68 the image heigh
08f0: 74 2c 20 74 68 65 20 74 68 69 72 64 20 74 68 65 t, the third the
0900: 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 number of bytes
0910: 20 70 65 72 20 70 69 78 65 6c 20 28 6f 6e 65 20 per pixel (one
0920: 6f 72 20 74 77 6f 29 2c 20 61 6e 64 20 74 68 65 or two), and the
0930: 20 6c 61 73 74 20 74 68 65 20 69 6d 61 67 65 27 last the image'
0940: 73 20 70 69 78 65 6c 20 76 61 6c 75 65 73 20 77 s pixel values w
0950: 69 74 68 20 6f 6e 65 20 6f 72 20 74 77 6f 20 62 ith one or two b
0960: 79 74 65 73 20 70 65 72 20 67 72 65 79 20 70 69 ytes per grey pi
0970: 78 65 6c 20 61 73 20 61 20 62 79 74 65 20 61 72 xel as a byte ar
0980: 72 61 79 2e 20 49 6e 20 74 68 69 73 20 63 61 73 ray. In this cas
0990: 65 20 61 6e 20 65 72 72 6f 72 20 69 73 20 69 6e e an error is in
09a0: 64 69 63 61 74 65 64 20 62 79 20 74 68 72 6f 77 dicated by throw
09b0: 69 6e 67 20 61 6e 20 65 78 63 65 70 74 69 6f 6e ing an exception
09c0: 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c 32 20 67 72 .....<tt>v4l2 gr
09d0: 65 79 73 68 69 66 74 20 3c 69 3e 64 65 76 69 64 eyshift <i>devid
09e0: 3c 2f 69 3e 20 3f 3c 69 3e 73 68 69 66 74 3c 2f </i> ?<i>shift</
09f0: 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 i>?</tt>....
0a00: 52 65 74 75 72 6e 73 20 6f 72 20 73 65 74 73 20 Returns or sets
0a10: 74 68 65 20 62 69 74 20 73 68 69 66 74 20 74 6f the bit shift to
0a20: 20 62 65 20 61 70 70 6c 69 65 64 20 6f 6e 20 67 be applied on g
0a30: 72 65 79 20 69 6d 61 67 65 73 20 77 69 74 68 20 rey images with
0a40: 61 20 62 69 74 20 64 65 70 74 68 20 68 69 67 68 a bit depth high
0a50: 65 72 20 74 68 61 6e 20 38 20 77 68 69 63 68 20 er than 8 which
0a60: 61 72 65 20 63 61 70 74 75 72 65 64 20 66 72 6f are captured fro
0a70: 6d 20 64 65 76 69 63 65 20 3c 74 74 3e 3c 69 3e m device <tt><i>
0a80: 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 devid</i></tt>.
0a90: 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 The default valu
0aa0: 65 20 69 73 20 34 2c 20 77 68 69 63 68 20 69 73 e is 4, which is
0ab0: 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 67 72 suitable for gr
0ac0: 65 79 73 63 61 6c 65 20 63 61 6d 65 72 61 73 20 eyscale cameras
0ad0: 77 69 74 68 20 31 32 20 62 69 74 20 72 65 73 6f with 12 bit reso
0ae0: 6c 75 74 69 6f 6e 2e 20 54 68 65 20 73 68 69 66 lution. The shif
0af0: 74 20 69 73 20 6e 6f 74 20 61 70 70 6c 69 65 64 t is not applied
0b00: 20 77 68 65 6e 20 74 68 65 20 3c 74 74 3e 3c 69 when the <tt><i
0b10: 3e 69 6d 61 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 >image</i></tt>
0b20: 73 75 62 63 6f 6d 6d 61 6e 64 20 72 65 74 72 69 subcommand retri
0b30: 65 76 65 73 20 72 61 77 20 62 79 74 65 20 61 72 eves raw byte ar
0b40: 72 61 79 20 64 61 74 61 2e 0d 0a 0d 0a 3c 74 74 ray data.....<tt
0b50: 3e 76 34 6c 32 20 69 6d 61 67 65 20 3c 69 3e 64 >v4l2 image <i>d
0b60: 65 76 69 64 3c 2f 69 3e 20 3f 3c 69 3e 70 68 6f evid</i> ?<i>pho
0b70: 74 6f 49 6d 61 67 65 3c 2f 69 3e 3f 3c 2f 74 74 toImage</i>?</tt
0b80: 3e 0d 0a 0d 0a 20 20 20 20 43 6f 70 69 65 73 20 >.... Copies
0b90: 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 the most recent
0ba0: 63 61 70 74 75 72 65 64 20 69 6d 61 67 65 20 6f captured image o
0bb0: 66 20 74 68 65 20 64 65 76 69 63 65 20 3c 74 74 f the device <tt
0bc0: 3e 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 ><i>devid</i></t
0bd0: 74 3e 20 69 6e 74 6f 20 74 68 65 20 70 68 6f 74 t> into the phot
0be0: 6f 20 69 6d 61 67 65 20 69 64 65 6e 74 69 66 69 o image identifi
0bf0: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 70 68 6f ed by <tt><i>pho
0c00: 74 6f 49 6d 61 67 65 3c 2f 69 3e 3c 2f 74 74 3e toImage</i></tt>
0c10: 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e and returns non
0c20: 2d 7a 65 72 6f 20 6f 6e 20 73 75 63 63 65 73 73 -zero on success
0c30: 20 6f 72 20 7a 65 72 6f 20 69 66 20 6e 6f 20 64 or zero if no d
0c40: 61 74 61 20 74 72 61 6e 73 66 65 72 20 68 61 73 ata transfer has
0c50: 20 74 61 6b 65 6e 20 70 6c 61 63 65 2e 20 49 66 taken place. If
0c60: 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 49 6d 61 <tt><i>photoIma
0c70: 67 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 73 20 6f ge</i></tt> is o
0c80: 6d 69 74 74 65 64 2c 20 61 20 66 6f 75 72 20 65 mitted, a four e
0c90: 6c 65 6d 65 6e 74 20 6c 69 73 74 20 69 73 20 72 lement list is r
0ca0: 65 74 75 72 6e 65 64 20 77 69 74 68 20 74 68 65 eturned with the
0cb0: 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 62 first element b
0cc0: 65 69 6e 67 20 74 68 65 20 69 6d 61 67 65 20 77 eing the image w
0cd0: 69 64 74 68 2c 20 74 68 65 20 73 65 63 6f 6e 64 idth, the second
0ce0: 20 74 68 65 20 69 6d 61 67 65 20 68 65 69 67 68 the image heigh
0cf0: 74 2c 20 74 68 65 20 74 68 69 72 64 20 74 68 65 t, the third the
0d00: 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 number of bytes
0d10: 20 70 65 72 20 70 69 78 65 6c 2c 20 61 6e 64 20 per pixel, and
0d20: 74 68 65 20 6c 61 73 74 20 74 68 65 20 69 6d 61 the last the ima
0d30: 67 65 27 73 20 52 47 42 20 76 61 6c 75 65 73 20 ge's RGB values
0d40: 77 69 74 68 20 33 20 62 79 74 65 73 20 70 65 72 with 3 bytes per
0d50: 20 70 69 78 65 6c 20 69 6e 20 72 65 64 2c 20 67 pixel in red, g
0d60: 72 65 65 6e 2c 20 62 6c 75 65 20 6f 72 64 65 72 reen, blue order
0d70: 20 61 73 20 61 20 62 79 74 65 20 61 72 72 61 79 as a byte array
0d80: 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 61 . In this case a
0d90: 6e 20 65 72 72 6f 72 20 69 73 20 69 6e 64 69 63 n error is indic
0da0: 61 74 65 64 20 62 79 20 74 68 72 6f 77 69 6e 67 ated by throwing
0db0: 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 2e 0d 0a an exception...
0dc0: 0d 0a 3c 74 74 3e 76 34 6c 32 20 69 6e 66 6f 20 ..<tt>v4l2 info
0dd0: 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 <i>devid</i></tt
0de0: 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e 73 >.... Returns
0df0: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f 6e 20 information on
0e00: 6f 70 65 6e 20 64 65 76 69 63 65 73 2e 20 49 66 open devices. If
0e10: 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c 2f 69 <tt><i>devid</i
0e20: 3e 3c 2f 74 74 3e 20 69 73 20 73 70 65 63 69 66 ></tt> is specif
0e30: 69 65 64 2c 0d 0a 61 20 6c 69 73 74 20 6f 66 20 ied,..a list of
0e40: 74 77 6f 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 two elements is
0e50: 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 66 69 returned, the fi
0e60: 72 73 74 20 62 65 69 6e 67 20 74 68 65 20 64 65 rst being the de
0e70: 76 69 63 65 20 6e 61 6d 65 20 61 6e 64 0d 0a 74 vice name and..t
0e80: 68 65 20 73 65 63 6f 6e 64 20 74 68 65 20 69 6d he second the im
0e90: 61 67 65 20 63 61 6c 6c 62 61 63 6b 20 63 6f 6d age callback com
0ea0: 6d 61 6e 64 20 66 6f 72 20 74 68 61 74 20 64 65 mand for that de
0eb0: 76 69 63 65 2c 20 69 2e 65 2e 20 74 68 65 20 73 vice, i.e. the s
0ec0: 61 6d 65 0d 0a 61 72 67 75 6d 65 6e 74 73 20 77 ame..arguments w
0ed0: 68 69 63 68 20 77 65 72 65 20 75 73 65 64 20 6f hich were used o
0ee0: 6e 20 3c 74 74 3e 76 34 6c 32 20 6f 70 65 6e 3c n <tt>v4l2 open<
0ef0: 2f 74 74 3e 2e 20 49 66 20 3c 74 74 3e 3c 69 3e /tt>. If <tt><i>
0f00: 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 3e 20 69 devid</i></tt> i
0f10: 73 20 6f 6d 69 74 74 65 64 2c 20 61 20 6c 69 73 s omitted, a lis
0f20: 74 20 6f 66 20 3c 74 74 3e 3c 69 3e 64 65 76 69 t of <tt><i>devi
0f30: 64 3c 2f 69 3e 3c 2f 74 74 3e 73 2c 20 69 2e 65 d</i></tt>s, i.e
0f40: 2e 20 61 6c 6c 20 63 75 72 72 65 6e 74 6c 79 20 . all currently
0f50: 6f 70 65 6e 65 64 20 64 65 76 69 63 65 73 20 69 opened devices i
0f60: 73 20 72 65 74 75 72 6e 65 64 2e 0d 0a 0d 0a 3c s returned.....<
0f70: 74 74 3e 76 34 6c 32 20 69 73 6c 6f 6f 70 62 61 tt>v4l2 isloopba
0f80: 63 6b 20 3c 69 3e 64 65 76 6e 61 6d 65 3c 2f 69 ck <i>devname</i
0f90: 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 54 65 ></tt>.... Te
0fa0: 73 74 73 20 69 66 20 3c 74 74 3e 3c 69 3e 64 65 sts if <tt><i>de
0fb0: 76 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e 20 69 vname</i></tt> i
0fc0: 73 20 61 20 6c 6f 6f 70 62 61 63 6b 20 76 69 64 s a loopback vid
0fd0: 65 6f 20 64 65 76 69 63 65 20 61 6e 64 20 72 65 eo device and re
0fe0: 74 75 72 6e 73 20 74 72 75 65 20 6f 72 20 66 61 turns true or fa
0ff0: 6c 73 65 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c 32 lse.....<tt>v4l2
1000: 20 6c 69 73 74 65 6e 20 3f 3c 69 3e 63 61 6c 6c listen ?<i>call
1010: 62 61 63 6b 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a back</i>?</tt>..
1020: 0d 0a 20 20 20 20 52 65 74 72 69 65 76 65 73 20 .. Retrieves
1030: 6f 72 20 73 65 74 73 20 74 68 65 20 3c 74 74 3e or sets the <tt>
1040: 3c 69 3e 63 61 6c 6c 62 61 63 6b 3c 2f 69 3e 3c <i>callback</i><
1050: 2f 74 74 3e 20 63 6f 6d 6d 61 6e 64 20 63 61 6c /tt> command cal
1060: 6c 65 64 20 6f 6e 20 70 6c 75 67 20 61 6e 64 20 led on plug and
1070: 75 6e 70 6c 75 67 20 6f 66 20 64 65 76 69 63 65 unplug of device
1080: 73 2e 20 57 68 65 6e 20 61 20 64 65 76 69 63 65 s. When a device
1090: 20 69 73 20 70 6c 75 67 67 65 64 20 6f 72 20 75 is plugged or u
10a0: 6e 70 6c 75 67 67 65 64 20 74 68 61 74 20 63 61 nplugged that ca
10b0: 6c 6c 62 61 63 6b 20 69 73 20 69 6e 76 6f 6b 65 llback is invoke
10c0: 64 20 77 69 74 68 20 74 77 6f 20 61 64 64 69 74 d with two addit
10d0: 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 3a ional arguments:
10e0: 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 76 65 the type of eve
10f0: 6e 74 20 28 3c 74 74 3e 61 64 64 3c 2f 74 74 3e nt (<tt>add</tt>
1100: 20 6f 72 20 3c 74 74 3e 72 65 6d 6f 76 65 3c 2f or <tt>remove</
1110: 74 74 3e 29 20 61 6e 64 20 74 68 65 20 64 65 76 tt>) and the dev
1120: 69 63 65 20 6e 61 6d 65 20 77 68 69 63 68 20 77 ice name which w
1130: 61 73 20 61 64 64 65 64 20 6f 72 20 72 65 6d 6f as added or remo
1140: 76 65 64 2e 20 4f 6e 6c 79 20 75 73 65 61 62 6c ved. Only useabl
1150: 65 20 69 66 20 3c 74 74 3e 75 64 65 76 3c 2f 74 e if <tt>udev</t
1160: 74 3e 20 73 75 70 70 6f 72 74 20 69 73 20 61 76 t> support is av
1170: 61 69 6c 61 62 6c 65 2e 0d 0a 0d 0a 3c 74 74 3e ailable.....<tt>
1180: 76 34 6c 32 20 6c 6f 6f 70 62 61 63 6b 20 3c 69 v4l2 loopback <i
1190: 3e 64 65 76 6e 61 6d 65 3c 69 3e 20 3f 3c 69 3e >devname<i> ?<i>
11a0: 66 6f 75 72 63 63 20 77 69 64 74 68 20 68 65 69 fourcc width hei
11b0: 67 68 74 20 66 70 73 3c 69 3e 3f 3c 2f 74 74 3e ght fps<i>?</tt>
11c0: 0d 0a 0d 0a 20 20 20 20 52 65 74 72 69 65 76 65 .... Retrieve
11d0: 73 20 6f 72 20 73 65 74 73 20 66 72 61 6d 65 20 s or sets frame
11e0: 66 6f 72 6d 61 74 20 61 6e 64 20 72 61 74 65 20 format and rate
11f0: 6f 66 20 74 68 65 20 6c 6f 6f 70 62 61 63 6b 20 of the loopback
1200: 76 69 64 65 6f 20 64 65 76 69 63 65 20 3c 74 74 video device <tt
1210: 3e 3c 69 3e 64 65 76 6e 61 6d 65 3c 2f 69 3e 3c ><i>devname</i><
1220: 2f 74 74 3e 2e 20 54 68 65 20 70 61 72 61 6d 65 /tt>. The parame
1230: 74 65 72 20 3c 74 74 3e 3c 69 3e 66 6f 75 72 63 ter <tt><i>fourc
1240: 63 3c 2f 69 3e 3c 2f 74 74 3e 20 73 70 65 63 69 c</i></tt> speci
1250: 66 69 65 73 20 74 68 65 20 66 6f 72 6d 61 74 20 fies the format
1260: 63 6f 64 65 2c 20 74 68 65 20 69 6d 61 67 65 20 code, the image
1270: 73 69 7a 65 20 69 73 20 67 69 76 65 6e 20 61 73 size is given as
1280: 20 3c 74 74 3e 3c 69 3e 77 69 64 74 68 3c 2f 69 <tt><i>width</i
1290: 3e 3c 2f 74 74 3e 20 74 69 6d 65 73 20 3c 74 74 ></tt> times <tt
12a0: 3e 3c 69 3e 68 65 69 67 68 74 3c 2f 69 3e 3c 2f ><i>height</i></
12b0: 74 74 3e 20 70 69 78 65 6c 73 2c 20 61 6e 64 20 tt> pixels, and
12c0: 74 68 65 20 66 72 61 6d 65 20 72 61 74 65 20 3c the frame rate <
12d0: 74 74 3e 3c 69 3e 66 70 73 3c 2f 69 3e 3c 2f 74 tt><i>fps</i></t
12e0: 74 3e 20 61 73 20 66 72 61 63 74 69 6f 6e 2c 20 t> as fraction,
12f0: 69 2e 65 2e 20 31 2f 33 30 2c 20 6f 72 20 61 73 i.e. 1/30, or as
1300: 20 61 6e 20 69 6e 74 65 67 72 61 6c 20 6e 75 6d an integral num
1310: 62 65 72 2c 20 62 6f 74 68 20 65 78 70 72 65 73 ber, both expres
1320: 73 69 6e 67 20 66 72 61 6d 65 73 20 70 65 72 20 sing frames per
1330: 73 65 63 6f 6e 64 2e 20 57 68 65 6e 20 6e 6f 20 second. When no
1340: 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 73 parameters are s
1350: 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 63 75 pecified, the cu
1360: 72 72 65 6e 74 20 73 65 74 74 69 6e 67 73 20 61 rrent settings a
1370: 72 65 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 re returned as a
1380: 20 66 6f 75 72 20 65 6c 65 6d 65 6e 74 20 6c 69 four element li
1390: 73 74 20 6f 66 20 3c 74 74 3e 3c 69 3e 66 6f 75 st of <tt><i>fou
13a0: 72 63 63 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 3c 74 rcc</i></tt>, <t
13b0: 74 3e 3c 69 3e 77 69 64 74 68 3c 2f 69 3e 3c 2f t><i>width</i></
13c0: 74 74 3e 2c 20 3c 74 74 3e 3c 69 3e 68 65 69 67 tt>, <tt><i>heig
13d0: 68 74 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 61 6e 64 ht</i></tt>, and
13e0: 20 3c 74 74 3e 3c 69 3e 66 70 73 3c 2f 69 3e 3c <tt><i>fps</i><
13f0: 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c /tt>.....<tt>v4l
1400: 32 20 6d 62 63 6f 70 79 20 3c 69 3e 62 79 74 65 2 mbcopy <i>byte
1410: 61 72 72 61 79 31 20 62 79 74 65 61 72 72 61 79 array1 bytearray
1420: 32 20 6d 61 73 6b 3c 2f 69 3e 3c 2f 74 74 3e 0d 2 mask</i></tt>.
1430: 0a 0d 0a 20 20 20 20 43 6f 70 69 65 73 20 74 68 ... Copies th
1440: 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 52 47 42 e content of RGB
1450: 20 62 79 74 65 20 61 72 72 61 79 20 3c 74 74 3e byte array <tt>
1460: 3c 69 3e 62 79 74 65 61 72 72 61 79 32 3c 2f 69 <i>bytearray2</i
1470: 3e 3c 2f 74 74 3e 20 69 6e 74 6f 20 74 68 65 20 ></tt> into the
1480: 20 62 79 74 65 20 61 72 72 61 79 20 3c 74 74 3e byte array <tt>
1490: 3c 69 3e 62 79 74 65 61 72 72 61 79 31 3c 2f 69 <i>bytearray1</i
14a0: 3e 3c 2f 74 74 3e 20 75 73 69 6e 67 20 61 6e 20 ></tt> using an
14b0: 52 47 42 20 3c 74 74 3e 3c 69 3e 6d 61 73 6b 3c RGB <tt><i>mask<
14c0: 2f 69 3e 3c 2f 74 74 3e 2e 20 42 6f 74 68 20 62 /i></tt>. Both b
14d0: 79 74 65 20 61 72 72 61 79 73 20 6d 75 73 74 20 yte arrays must
14e0: 68 61 76 65 20 69 64 65 6e 74 69 63 61 6c 20 6c have identical l
14f0: 65 6e 67 74 68 20 77 68 69 63 68 20 6d 75 73 74 ength which must
1500: 20 62 65 20 61 20 6d 75 6c 74 69 70 6c 65 20 6f be a multiple o
1510: 66 20 33 20 28 66 6f 72 20 52 47 42 29 2e 20 54 f 3 (for RGB). T
1520: 68 65 20 6d 61 69 6e 20 70 75 72 70 6f 73 65 20 he main purpose
1530: 6f 66 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 of this command
1540: 69 73 20 74 6f 20 63 6f 6d 62 69 6e 65 20 69 6d is to combine im
1550: 61 67 65 73 20 66 72 6f 6d 20 74 77 6f 20 63 61 ages from two ca
1560: 6d 65 72 61 73 20 69 6e 74 6f 20 61 6e 20 61 6e meras into an an
1570: 61 67 6c 79 70 68 20 33 44 2c 20 77 68 65 72 65 aglyph 3D, where
1580: 20 28 66 6f 72 20 61 20 72 65 64 2d 63 79 61 6e (for a red-cyan
1590: 20 61 6e 61 67 6c 79 70 68 29 20 74 68 65 20 6c anaglyph) the l
15a0: 65 66 74 20 63 61 6d 65 72 61 20 69 6d 61 67 65 eft camera image
15b0: 20 75 73 65 73 20 6d 61 73 6b 20 30 78 46 46 30 uses mask 0xFF0
15c0: 30 30 30 20 28 72 65 64 20 63 6f 6d 70 6f 6e 65 000 (red compone
15d0: 6e 74 29 20 61 6e 64 20 74 68 65 20 72 69 67 68 nt) and the righ
15e0: 74 20 63 61 6d 65 72 61 20 69 6d 61 67 65 20 75 t camera image u
15f0: 73 65 73 20 6d 61 73 6b 20 30 78 30 30 46 46 46 ses mask 0x00FFF
1600: 46 20 28 67 72 65 65 6e 20 61 6e 64 20 62 6c 75 F (green and blu
1610: 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 2e 0d 0a e components)...
1620: 0d 0a 3c 74 74 3e 76 34 6c 32 20 6d 63 6f 70 79 ..<tt>v4l2 mcopy
1630: 20 3c 69 3e 70 68 6f 74 6f 31 20 70 68 6f 74 6f <i>photo1 photo
1640: 32 20 6d 61 73 6b 3c 2f 69 3e 3c 2f 74 74 3e 0d 2 mask</i></tt>.
1650: 0a 0d 0a 20 20 20 20 43 6f 70 69 65 73 20 74 68 ... Copies th
1660: 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 e content of the
1670: 20 70 68 6f 74 6f 20 69 6d 61 67 65 20 3c 74 74 photo image <tt
1680: 3e 3c 69 3e 70 68 6f 74 6f 32 3c 2f 69 3e 3c 2f ><i>photo2</i></
1690: 74 74 3e 20 69 6e 74 6f 20 74 68 65 20 70 68 6f tt> into the pho
16a0: 74 6f 20 69 6d 61 67 65 20 3c 74 74 3e 3c 69 3e to image <tt><i>
16b0: 70 68 6f 74 6f 31 3c 2f 69 3e 3c 2f 74 74 3e 20 photo1</i></tt>
16c0: 75 73 69 6e 67 20 61 6e 20 41 52 47 42 20 3c 74 using an ARGB <t
16d0: 74 3e 3c 69 3e 6d 61 73 6b 3c 2f 69 3e 3c 2f 74 t><i>mask</i></t
16e0: 74 3e 2e 20 42 6f 74 68 20 70 68 6f 74 6f 20 69 t>. Both photo i
16f0: 6d 61 67 65 73 20 6d 75 73 74 20 68 61 76 65 20 mages must have
1700: 69 64 65 6e 74 69 63 61 6c 20 77 69 64 74 68 2c identical width,
1710: 20 68 65 69 67 68 74 2c 20 61 6e 64 20 64 65 70 height, and dep
1720: 74 68 2e 20 54 68 65 20 6d 61 69 6e 20 70 75 72 th. The main pur
1730: 70 6f 73 65 20 6f 66 20 74 68 69 73 20 63 6f 6d pose of this com
1740: 6d 61 6e 64 20 69 73 20 74 6f 20 63 6f 6d 62 69 mand is to combi
1750: 6e 65 20 69 6d 61 67 65 73 20 66 72 6f 6d 20 74 ne images from t
1760: 77 6f 20 63 61 6d 65 72 61 73 20 69 6e 74 6f 20 wo cameras into
1770: 61 6e 20 61 6e 61 67 6c 79 70 68 20 33 44 2c 20 an anaglyph 3D,
1780: 77 68 65 72 65 20 28 66 6f 72 20 61 20 72 65 64 where (for a red
1790: 2d 63 79 61 6e 20 61 6e 61 67 6c 79 70 68 29 20 -cyan anaglyph)
17a0: 74 68 65 20 6c 65 66 74 20 63 61 6d 65 72 61 20 the left camera
17b0: 69 6d 61 67 65 20 75 73 65 73 20 6d 61 73 6b 20 image uses mask
17c0: 30 78 30 30 46 46 30 30 30 30 20 28 72 65 64 20 0x00FF0000 (red
17d0: 63 6f 6d 70 6f 6e 65 6e 74 29 20 61 6e 64 20 74 component) and t
17e0: 68 65 20 72 69 67 68 74 20 63 61 6d 65 72 61 20 he right camera
17f0: 69 6d 61 67 65 20 75 73 65 73 20 6d 61 73 6b 20 image uses mask
1800: 30 78 30 30 30 30 46 46 46 46 20 28 67 72 65 65 0x0000FFFF (gree
1810: 6e 20 61 6e 64 20 62 6c 75 65 20 63 6f 6d 70 6f n and blue compo
1820: 6e 65 6e 74 73 29 2e 0d 0a 0d 0a 3c 74 74 3e 76 nents).....<tt>v
1830: 34 6c 32 20 6d 69 72 72 6f 72 20 3c 69 3e 64 65 4l2 mirror <i>de
1840: 76 69 64 3c 2f 69 3e 20 3f 3c 69 3e 78 20 79 3c vid</i> ?<i>x y<
1850: 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 /i>?</tt>....
1860: 20 52 65 74 72 69 65 76 65 73 20 6f 72 20 73 65 Retrieves or se
1870: 74 73 20 66 6c 61 67 73 20 74 6f 20 6d 69 72 72 ts flags to mirr
1880: 6f 72 20 63 61 70 74 75 72 65 64 20 69 6d 61 67 or captured imag
1890: 65 73 20 61 6c 6f 6e 67 20 74 68 65 20 58 20 6f es along the X o
18a0: 72 20 59 20 61 78 69 73 2e 20 50 61 72 61 6d 65 r Y axis. Parame
18b0: 74 65 72 73 20 3c 74 74 3e 3c 69 3e 78 3c 2f 69 ters <tt><i>x</i
18c0: 3e 3c 2f 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c ></tt> and <tt><
18d0: 69 3e 79 3c 2f 69 3e 3c 2f 74 74 3e 20 69 66 20 i>y</i></tt> if
18e0: 73 70 65 63 69 66 69 65 64 20 6d 75 73 74 20 62 specified must b
18f0: 65 20 62 6f 6f 6c 65 61 6e 20 76 61 6c 75 65 73 e boolean values
1900: 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c 32 20 6f 70 .....<tt>v4l2 op
1910: 65 6e 20 3c 69 3e 64 65 76 6e 61 6d 65 20 63 61 en <i>devname ca
1920: 6c 6c 62 61 63 6b 3c 2f 69 3e 3c 2f 74 74 3e 0d llback</i></tt>.
1930: 0a 0d 0a 20 20 20 20 4f 70 65 6e 73 20 74 68 65 ... Opens the
1940: 20 64 65 76 69 63 65 20 77 69 74 68 20 64 65 76 device with dev
1950: 69 63 65 20 6e 61 6d 65 20 28 55 4e 2a 58 20 70 ice name (UN*X p
1960: 61 74 68 6e 61 6d 65 29 20 3c 74 74 3e 3c 69 3e athname) <tt><i>
1970: 64 65 76 6e 61 6d 65 3c 2f 69 3e 3c 2f 74 74 3e devname</i></tt>
1980: 20 61 6e 64 20 65 73 74 61 62 6c 69 73 68 65 73 and establishes
1990: 20 3c 74 74 3e 3c 69 3e 63 61 6c 6c 62 61 63 6b <tt><i>callback
19a0: 3c 2f 69 3e 3c 2f 74 74 3e 20 61 73 20 63 6f 6d </i></tt> as com
19b0: 6d 61 6e 64 20 74 6f 20 62 65 20 69 6e 76 6f 6b mand to be invok
19c0: 65 64 20 6f 6e 20 63 61 70 74 75 72 65 64 20 69 ed on captured i
19d0: 6d 61 67 65 73 20 61 6e 64 20 72 65 74 75 72 6e mages and return
19e0: 73 20 61 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 s a <tt><i>devid
19f0: 3c 2f 69 3e 3c 2f 74 74 3e 2c 20 69 2e 65 2e 20 </i></tt>, i.e.
1a00: 61 20 68 61 6e 64 6c 65 20 74 6f 20 66 75 72 74 a handle to furt
1a10: 68 65 72 20 64 65 61 6c 20 77 69 74 68 20 74 68 her deal with th
1a20: 65 20 64 65 76 69 63 65 2e 20 54 77 6f 20 61 64 e device. Two ad
1a30: 64 69 74 69 6f 6e 61 6c 20 70 61 72 61 6d 65 74 ditional paramet
1a40: 65 72 73 20 61 72 65 20 61 70 70 65 6e 64 65 64 ers are appended
1a50: 20 77 68 65 6e 20 3c 74 74 3e 3c 69 3e 63 61 6c when <tt><i>cal
1a60: 6c 62 61 63 6b 3c 2f 69 3e 3c 2f 74 74 3e 20 69 lback</i></tt> i
1a70: 73 20 69 6e 76 6f 6b 65 64 3a 20 74 68 65 20 66 s invoked: the f
1a80: 69 72 73 74 20 69 73 20 74 68 65 20 3c 74 74 3e irst is the <tt>
1a90: 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 74 <i>devid</i></tt
1aa0: 3e 20 6f 66 20 74 68 65 20 64 65 76 69 63 65 2c > of the device,
1ab0: 20 74 68 65 20 73 65 63 6f 6e 64 20 61 20 66 72 the second a fr
1ac0: 61 6d 65 20 63 6f 75 6e 74 65 72 20 77 69 74 68 ame counter with
1ad0: 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 6f initial value o
1ae0: 66 20 7a 65 72 6f 20 62 61 73 65 64 20 6f 6e 20 f zero based on
1af0: 74 68 65 20 6c 61 73 74 20 73 74 61 72 74 20 6f the last start o
1b00: 66 20 69 6d 61 67 65 20 63 61 70 74 75 72 65 2e f image capture.
1b10: 20 49 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 If an error is
1b20: 64 65 74 65 63 74 65 64 20 64 75 72 69 6e 67 20 detected during
1b30: 69 6d 61 67 65 20 63 61 70 74 75 72 65 2c 20 74 image capture, t
1b40: 68 65 20 77 6f 72 64 20 3c 62 3e 65 72 72 6f 72 he word <b>error
1b50: 3c 2f 62 3e 20 69 73 20 75 73 65 64 20 69 6e 73 </b> is used ins
1b60: 74 65 61 64 20 6f 66 20 74 68 65 20 66 72 61 6d tead of the fram
1b70: 65 20 63 6f 75 6e 74 65 72 2e 0d 0a 0d 0a 3c 74 e counter.....<t
1b80: 74 3e 76 34 6c 32 20 6f 72 69 65 6e 74 61 74 69 t>v4l2 orientati
1b90: 6f 6e 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 on <i>devid</i>
1ba0: 3f 3c 69 3e 64 65 67 72 65 65 73 3c 2f 69 3e 3f ?<i>degrees</i>?
1bb0: 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 </tt>.... Ret
1bc0: 72 69 65 76 65 73 20 6f 72 20 73 65 74 73 20 74 rieves or sets t
1bd0: 68 65 20 6f 72 69 65 6e 74 61 74 69 6f 6e 20 6f he orientation o
1be0: 66 20 63 61 70 74 75 72 65 64 20 69 6d 61 67 65 f captured image
1bf0: 73 20 72 65 67 61 72 64 69 6e 67 20 69 6d 61 67 s regarding imag
1c00: 65 20 72 6f 74 61 74 69 6f 6e 2e 20 3c 74 74 3e e rotation. <tt>
1c10: 3c 69 3e 64 65 67 72 65 65 73 3c 2f 69 3e 3c 2f <i>degrees</i></
1c20: 74 74 3e 20 69 66 20 73 70 65 63 69 66 69 65 64 tt> if specified
1c30: 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 must be an inte
1c40: 67 65 72 20 6e 75 6d 62 65 72 2e 0d 0a 0d 0a 3c ger number.....<
1c50: 74 74 3e 76 34 6c 32 20 70 61 72 61 6d 65 74 65 tt>v4l2 paramete
1c60: 72 73 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 20 rs <i>devid</i>
1c70: 3f 3c 69 3e 6b 65 79 20 76 61 6c 75 65 20 2e 2e ?<i>key value ..
1c80: 2e 3c 2f 69 3e 3f 3c 2f 74 74 3e 0d 0a 0d 0a 20 .</i>?</tt>....
1c90: 20 20 20 52 65 74 75 72 6e 73 20 6f 72 20 63 68 Returns or ch
1ca0: 61 6e 67 65 73 20 64 65 76 69 63 65 20 70 61 72 anges device par
1cb0: 61 6d 65 74 65 72 73 20 66 6f 72 20 74 68 65 20 ameters for the
1cc0: 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 69 65 device identifie
1cd0: 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 d by <tt><i>devi
1ce0: 64 3c 2f 69 3e 3c 2f 74 74 3e 20 67 69 76 65 6e d</i></tt> given
1cf0: 20 61 73 20 6b 65 79 2d 76 61 6c 75 65 20 70 61 as key-value pa
1d00: 69 72 73 2c 20 65 2e 67 2e 20 3c 74 74 3e 66 72 irs, e.g. <tt>fr
1d10: 61 6d 65 2d 73 69 7a 65 20 33 32 30 78 32 34 30 ame-size 320x240
1d20: 3c 2f 74 74 3e 20 77 69 6c 6c 20 63 68 61 6e 67 </tt> will chang
1d30: 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 63 61 e the size of ca
1d40: 70 74 75 72 65 64 20 69 6d 61 67 65 73 20 74 6f ptured images to
1d50: 20 77 69 64 74 68 20 33 32 30 20 61 6e 64 20 68 width 320 and h
1d60: 65 69 67 68 74 20 32 34 30 2e 20 54 68 65 20 63 eight 240. The c
1d70: 6f 6d 6d 61 6e 64 20 72 65 74 75 72 6e 73 20 74 ommand returns t
1d80: 68 65 20 63 75 72 72 65 6e 74 20 64 65 76 69 63 he current devic
1d90: 65 20 70 61 72 61 6d 65 74 65 72 73 20 28 61 66 e parameters (af
1da0: 74 65 72 20 74 68 65 20 70 6f 74 65 6e 74 69 61 ter the potentia
1db0: 6c 20 63 68 61 6e 67 65 2c 20 77 68 65 6e 20 6b l change, when k
1dc0: 65 79 73 20 61 6e 64 20 76 61 6c 75 65 73 20 77 eys and values w
1dd0: 68 65 72 65 20 67 69 76 65 6e 29 20 61 73 20 61 here given) as a
1de0: 20 6b 65 79 2d 76 61 6c 75 65 20 6c 69 73 74 20 key-value list
1df0: 77 68 69 63 68 20 63 61 6e 20 62 65 20 70 72 6f which can be pro
1e00: 63 65 73 73 65 64 20 77 69 74 68 20 3c 74 74 3e cessed with <tt>
1e10: 61 72 72 61 79 20 73 65 74 3c 2f 74 74 3e 20 6f array set</tt> o
1e20: 72 20 3c 74 74 3e 64 69 63 74 20 67 65 74 3c 2f r <tt>dict get</
1e30: 74 74 3e 2e 20 0d 0a 0d 0a 3c 74 74 3e 76 34 6c tt>. ....<tt>v4l
1e40: 32 20 73 74 61 72 74 20 3c 69 3e 64 65 76 69 64 2 start <i>devid
1e50: 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 </i></tt>....
1e60: 20 53 74 61 72 74 73 20 63 61 70 74 75 72 69 6e Starts capturin
1e70: 67 20 69 6d 61 67 65 73 20 6f 66 20 74 68 65 20 g images of the
1e80: 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 69 65 device identifie
1e90: 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 d by <tt><i>devi
1ea0: 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 57 68 65 6e d</i></tt>. When
1eb0: 20 61 6e 20 69 6d 61 67 65 20 69 73 20 72 65 61 an image is rea
1ec0: 64 79 2c 20 74 68 65 20 63 61 6c 6c 62 61 63 6b dy, the callback
1ed0: 20 63 6f 6d 6d 61 6e 64 20 73 65 74 20 6f 6e 20 command set on
1ee0: 3c 74 74 3e 76 34 6c 32 20 6f 70 65 6e 3c 2f 74 <tt>v4l2 open</t
1ef0: 74 3e 20 69 73 20 69 6e 76 6f 6b 65 64 2e 0d 0a t> is invoked...
1f00: 0d 0a 3c 74 74 3e 76 34 6c 32 20 73 74 61 74 65 ..<tt>v4l2 state
1f10: 20 3c 69 3e 64 65 76 69 64 3c 2f 69 3e 3c 2f 74 <i>devid</i></t
1f20: 74 3e 0d 0a 0d 0a 20 20 20 20 52 65 74 75 72 6e t>.... Return
1f30: 73 20 74 68 65 20 69 6d 61 67 65 20 63 61 70 74 s the image capt
1f40: 75 72 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 ure state of the
1f50: 20 64 65 76 69 63 65 20 69 64 65 6e 74 69 66 69 device identifi
1f60: 65 64 20 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 ed by <tt><i>dev
1f70: 69 64 3c 2f 69 3e 3c 2f 74 74 3e 2e 20 54 68 65 id</i></tt>. The
1f80: 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 20 73 result is the s
1f90: 74 72 69 6e 67 20 3c 62 3e 63 61 70 74 75 72 65 tring <b>capture
1fa0: 3c 2f 62 3e 20 69 66 20 74 68 65 20 64 65 76 69 </b> if the devi
1fb0: 63 65 20 69 73 20 73 74 61 72 74 65 64 2c 20 3c ce is started, <
1fc0: 62 3e 73 74 6f 70 70 65 64 3c 2f 62 3e 20 69 66 b>stopped</b> if
1fd0: 20 74 68 65 20 64 65 76 69 63 65 20 69 73 20 73 the device is s
1fe0: 74 6f 70 70 65 64 2c 20 6f 72 20 3c 62 3e 65 72 topped, or <b>er
1ff0: 72 6f 72 3c 2f 62 3e 20 69 66 20 61 6e 20 65 72 ror</b> if an er
2000: 72 6f 72 20 68 61 73 20 62 65 65 6e 20 64 65 74 ror has been det
2010: 65 63 74 65 64 20 77 68 69 6c 65 20 69 6d 61 67 ected while imag
2020: 65 20 63 61 70 74 75 72 65 20 77 61 73 20 61 63 e capture was ac
2030: 74 69 76 65 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c tive.....<tt>v4l
2040: 32 20 73 74 6f 70 20 3c 69 3e 64 65 76 69 64 3c 2 stop <i>devid<
2050: 2f 69 3e 3c 2f 74 74 3e 0d 0a 0d 0a 20 20 20 20 /i></tt>....
2060: 53 74 6f 70 20 63 61 70 74 75 72 69 6e 67 20 69 Stop capturing i
2070: 6d 61 67 65 73 20 6f 66 20 74 68 65 20 64 65 76 mages of the dev
2080: 69 63 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 ice identified b
2090: 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c 2f y <tt><i>devid</
20a0: 69 3e 3c 2f 74 74 3e 2e 0d 0a 0d 0a 3c 74 74 3e i></tt>.....<tt>
20b0: 76 34 6c 32 20 74 6f 70 68 6f 74 6f 20 3c 69 3e v4l2 tophoto <i>
20c0: 77 69 64 74 68 20 68 65 69 67 68 74 20 62 70 70 width height bpp
20d0: 20 62 79 74 65 61 72 72 61 79 3c 2f 69 3e 20 3f bytearray</i> ?
20e0: 3c 69 3e 72 6f 74 20 6d 69 72 72 6f 72 78 20 6d <i>rot mirrorx m
20f0: 69 72 72 6f 72 79 3c 2f 69 3e 3f 3c 2f 74 74 3e irrory</i>?</tt>
2100: 0d 0a 0d 0a 20 20 20 20 4d 61 6b 65 73 20 74 68 .... Makes th
2110: 65 20 52 47 42 20 28 62 70 70 20 69 73 20 33 29 e RGB (bpp is 3)
2120: 20 6f 72 20 67 72 65 79 20 28 62 70 70 20 69 73 or grey (bpp is
2130: 20 31 29 20 62 79 74 65 20 61 72 72 61 79 20 3c 1) byte array <
2140: 74 74 3e 3c 69 3e 62 79 74 65 61 72 72 61 79 3c tt><i>bytearray<
2150: 2f 69 3e 3c 2f 74 74 3e 20 6f 66 20 3c 74 74 3e /i></tt> of <tt>
2160: 3c 69 3e 77 69 64 74 68 3c 2f 69 3e 3c 2f 74 74 <i>width</i></tt
2170: 3e 20 74 69 6d 65 73 20 3c 74 74 3e 3c 3c 69 3e > times <tt><<i>
2180: 68 65 69 67 68 74 3c 2f 69 3e 3c 2f 74 74 3e 20 height</i></tt>
2190: 70 69 78 65 6c 73 20 69 6e 74 6f 20 61 20 54 6b pixels into a Tk
21a0: 20 70 68 6f 74 6f 20 69 6d 61 67 65 2e 20 4f 70 photo image. Op
21b0: 74 69 6f 6e 61 6c 6c 79 2c 20 74 68 65 20 64 61 tionally, the da
21c0: 74 61 20 69 73 20 72 6f 74 61 74 65 64 20 62 79 ta is rotated by
21d0: 20 3c 74 74 3e 3c 69 3e 72 6f 74 3c 2f 69 3e 3c <tt><i>rot</i><
21e0: 2f 74 74 3e 20 64 65 67 72 65 65 73 20 28 70 6f /tt> degrees (po
21f0: 73 73 69 62 6c 65 20 76 61 6c 75 65 73 20 30 2c ssible values 0,
2200: 20 39 30 2c 20 31 38 30 2c 20 32 37 30 29 20 61 90, 180, 270) a
2210: 6e 64 2f 6f 72 20 6d 69 72 72 6f 72 65 64 20 61 nd/or mirrored a
2220: 6c 6f 6e 67 20 74 68 65 20 58 20 61 6e 64 2f 6f long the X and/o
2230: 72 20 59 20 61 78 69 73 20 61 73 20 73 70 65 63 r Y axis as spec
2240: 69 66 69 65 64 20 62 79 20 74 68 65 20 62 6f 6f ified by the boo
2250: 6c 65 61 6e 20 76 61 6c 75 65 73 20 3c 74 74 3e lean values <tt>
2260: 3c 69 3e 6d 69 72 72 6f 72 78 3c 2f 69 3e 3c 2f <i>mirrorx</i></
2270: 74 74 3e 20 61 6e 64 20 3c 74 74 3e 3c 69 3e 6d tt> and <tt><i>m
2280: 69 72 72 6f 72 79 3c 2f 69 3e 3c 2f 74 74 3e 2e irrory</i></tt>.
2290: 0d 0a 0d 0a 3c 74 74 3e 76 34 6c 32 20 77 72 69 ....<tt>v4l2 wri
22a0: 74 65 20 3c 69 3e 64 65 76 69 64 20 62 79 74 65 te <i>devid byte
22b0: 61 72 72 61 79 3c 2f 69 3e 3c 2f 74 74 3e 0d 0a array</i></tt>..
22c0: 0d 0a 20 20 20 20 57 72 69 74 65 73 20 74 68 65 .. Writes the
22d0: 20 62 79 74 65 73 20 69 6e 20 3c 74 74 3e 3c 69 bytes in <tt><i
22e0: 3e 62 79 74 65 61 72 72 61 79 3c 2f 69 3e 3c 2f >bytearray</i></
22f0: 74 74 3e 20 74 6f 20 74 68 65 20 64 65 76 69 63 tt> to the devic
2300: 65 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 e identified by
2310: 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c 2f 69 3e <tt><i>devid</i>
2320: 3c 2f 74 74 3e 20 77 68 69 63 68 20 6d 75 73 74 </tt> which must
2330: 20 62 65 20 61 6e 20 6f 70 65 6e 20 6c 6f 6f 70 be an open loop
2340: 62 61 63 6b 20 76 69 64 65 6f 20 64 65 76 69 63 back video devic
2350: 65 2e 20 54 68 65 20 73 69 7a 65 20 6f 66 20 3c e. The size of <
2360: 74 74 3e 3c 69 3e 62 79 74 65 61 72 72 61 79 3c tt><i>bytearray<
2370: 2f 69 3e 3c 2f 74 74 3e 20 6d 75 73 74 20 6d 61 /i></tt> must ma
2380: 74 63 68 20 74 68 65 20 20 76 69 64 65 6f 20 77 tch the video w
2390: 69 64 74 68 2f 68 65 69 67 68 74 20 6f 66 20 74 idth/height of t
23a0: 68 65 20 6c 6f 6f 70 62 61 63 6b 20 64 65 76 69 he loopback devi
23b0: 63 65 2e 20 44 61 74 61 20 69 73 20 63 6f 6e 76 ce. Data is conv
23c0: 65 72 74 65 64 20 74 6f 20 3c 62 3e 59 55 59 56 erted to <b>YUYV
23d0: 3c 2f 62 3e 20 69 66 20 74 68 69 73 20 69 73 20 </b> if this is
23e0: 64 65 74 65 63 74 65 64 20 66 6f 72 20 74 68 65 detected for the
23f0: 20 6f 75 74 70 75 74 20 70 61 74 68 20 6f 66 20 output path of
2400: 74 68 65 20 6c 6f 6f 70 62 61 63 6b 20 64 65 76 the loopback dev
2410: 69 63 65 2e 0d 0a 0d 0a 3c 74 74 3e 76 34 6c 32 ice.....<tt>v4l2
2420: 20 77 72 69 74 65 70 68 6f 74 6f 20 3c 69 3e 64 writephoto <i>d
2430: 65 76 69 64 20 70 68 6f 74 6f 3c 2f 69 3e 3c 2f evid photo</i></
2440: 74 74 3e 0d 0a 0d 0a 20 20 20 20 57 72 69 74 65 tt>.... Write
2450: 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 s the content of
2460: 20 74 68 65 20 70 68 6f 74 6f 20 69 6d 61 67 65 the photo image
2470: 20 3c 74 74 3e 3c 69 3e 70 68 6f 74 6f 3c 2f 69 <tt><i>photo</i
2480: 3e 3c 2f 74 74 3e 20 74 6f 20 74 68 65 20 64 65 ></tt> to the de
2490: 76 69 63 65 20 69 64 65 6e 74 69 66 69 65 64 20 vice identified
24a0: 62 79 20 3c 74 74 3e 3c 69 3e 64 65 76 69 64 3c by <tt><i>devid<
24b0: 2f 69 3e 3c 2f 74 74 3e 20 77 68 69 63 68 20 6d /i></tt> which m
24c0: 75 73 74 20 62 65 20 61 6e 20 6f 70 65 6e 20 6c ust be an open l
24d0: 6f 6f 70 62 61 63 6b 20 76 69 64 65 6f 20 64 65 oopback video de
24e0: 76 69 63 65 2e 20 54 68 65 20 66 6f 72 6d 61 74 vice. The format
24f0: 20 77 72 69 74 74 65 6e 20 69 73 20 65 69 74 68 written is eith
2500: 65 72 20 3c 62 3e 52 47 42 34 3c 2f 62 3e 20 6f er <b>RGB4</b> o
2510: 72 20 3c 62 3e 59 55 59 56 3c 2f 62 3e 20 77 69 r <b>YUYV</b> wi
2520: 74 68 20 74 68 65 20 70 68 6f 74 6f 27 73 20 64 th the photo's d
2530: 69 6d 65 6e 73 69 6f 6e 73 20 64 65 70 65 6e 64 imensions depend
2540: 69 6e 67 20 6f 6e 20 77 68 69 63 68 20 66 6f 72 ing on which for
2550: 6d 61 74 20 69 73 20 64 65 74 65 63 74 65 64 20 mat is detected
2560: 66 6f 72 20 74 68 65 20 6f 75 74 70 75 74 20 70 for the output p
2570: 61 74 68 20 6f 66 20 74 68 65 20 6c 6f 6f 70 62 ath of the loopb
2580: 61 63 6b 20 64 65 76 69 63 65 2e 0d 0a 0d 0a 54 ack device.....T
2590: 68 65 20 3c 74 74 3e 76 34 6c 32 3c 2f 74 74 3e he <tt>v4l2</tt>
25a0: 20 63 6f 6d 6d 61 6e 64 20 74 72 69 65 73 20 74 command tries t
25b0: 6f 20 6c 61 7a 79 20 6c 6f 61 64 20 54 6b 2c 20 o lazy load Tk,
25c0: 74 68 75 73 20 61 6c 6c 6f 77 69 6e 67 20 74 6f thus allowing to
25d0: 20 75 73 65 20 69 74 20 66 72 6f 6d 20 61 20 6e use it from a n
25e0: 6f 72 6d 61 6c 20 3c 62 3e 74 63 6c 73 68 3c 2f ormal <b>tclsh</
25f0: 62 3e 2e 20 4f 6e 6c 79 20 77 68 65 6e 20 61 20 b>. Only when a
2600: 70 68 6f 74 6f 20 69 6d 61 67 65 20 69 73 20 72 photo image is r
2610: 65 71 75 69 72 65 64 20 62 79 20 61 20 73 75 62 equired by a sub
2620: 63 6f 6d 6d 61 6e 64 2c 20 54 6b 20 6d 75 73 74 command, Tk must
2630: 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 61 6e be available an
2640: 64 20 61 6e 20 61 74 74 65 6d 70 74 20 74 6f 20 d an attempt to
2650: 6c 6f 61 64 20 69 74 20 69 73 20 6d 61 64 65 2e load it is made.
2660: 0d 0a 0d 0a 46 6f 72 20 20 74 68 65 20 3c 74 74 ....For the <tt
2670: 3e 3c 69 3e 66 6f 75 72 63 63 3c 2f 69 3e 3c 2f ><i>fourcc</i></
2680: 74 74 3e 20 66 6f 72 6d 61 74 20 63 6f 64 65 73 tt> format codes
2690: 20 69 6e 20 3c 74 74 3e 76 34 6c 32 20 6c 6f 6f in <tt>v4l2 loo
26a0: 70 62 61 63 6b 3c 2f 74 74 3e 2c 20 63 6f 6e 73 pback</tt>, cons
26b0: 75 6c 74 20 74 68 65 20 4c 69 6e 75 78 20 68 65 ult the Linux he
26c0: 61 64 65 72 20 66 69 6c 65 20 3c 74 74 3e 2f 75 ader file <tt>/u
26d0: 73 72 2f 69 6e 63 6c 75 64 65 2f 6c 69 6e 75 78 sr/include/linux
26e0: 2f 76 69 64 65 6f 64 65 76 32 2e 68 3c 2f 74 74 /videodev2.h</tt
26f0: 3e 2e 20 54 68 65 20 6d 6f 73 74 20 75 73 65 66 >. The most usef
2700: 75 6c 20 66 6f 72 6d 61 74 73 20 61 72 65 20 3c ul formats are <
2710: 62 3e 52 47 42 34 3c 2f 62 3e 20 28 38 20 62 69 b>RGB4</b> (8 bi
2720: 74 73 20 70 65 72 20 63 6f 6c 6f 72 20 69 6e 20 ts per color in
2730: 61 20 33 32 20 62 69 74 20 76 61 6c 75 65 20 70 a 32 bit value p
2740: 65 72 20 70 69 78 65 6c 29 20 61 6e 64 20 3c 62 er pixel) and <b
2750: 3e 52 47 42 33 3c 2f 62 3e 20 28 38 20 62 69 74 >RGB3</b> (8 bit
2760: 73 20 70 65 72 20 63 6f 6c 6f 72 20 70 61 63 6b s per color pack
2770: 65 64 20 69 6e 74 6f 20 32 34 20 62 69 74 73 29 ed into 24 bits)
2780: 2e 20 4c 69 6d 69 74 65 64 20 73 75 70 70 6f 72 . Limited suppor
2790: 74 20 66 6f 72 20 3c 62 3e 59 55 59 56 3c 2f 62 t for <b>YUYV</b
27a0: 3e 20 61 6e 64 20 3c 62 3e 59 56 59 55 3c 2f 62 > and <b>YVYU</b
27b0: 3e 20 28 59 55 56 20 34 3a 32 3a 32 20 69 6e 74 > (YUV 4:2:2 int
27c0: 65 72 6c 65 61 76 65 64 29 20 65 78 69 73 74 73 erleaved) exists
27d0: 20 66 6f 72 20 74 68 65 20 3c 62 3e 76 34 6c 32 for the <b>v4l2
27e0: 20 77 72 69 74 65 70 68 6f 74 6f 3c 2f 62 3e 20 writephoto</b>
27f0: 73 75 62 63 6f 6d 6d 61 6e 64 2c 20 74 6f 6f 2e subcommand, too.
2800: 0d 0a 0a 5a 20 63 38 38 34 31 62 34 62 32 33 66 ...Z c8841b4b23f
2810: 35 33 38 31 38 31 38 63 36 35 33 30 33 38 38 64 5381818c6530388d
2820: 36 32 61 37 64 0a 62a7d.