diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2012-08-22 07:54:55 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-08-22 07:55:43 -0400 |
commit | 2361f738b67ab7f1152187fa3d321a09b7c95c09 (patch) | |
tree | eddf2b958215b668b9b871b6b59bc76c67a47751 /Documentation/DocBook | |
parent | 4800399e335658aae632f587f6759a860f584804 (diff) | |
parent | d9875690d9b89a866022ff49e3fcea892345ad92 (diff) |
Merge tag 'v3.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
Having missed the merge window, update to 3.6-rc2 to avoid conflicts with
new patches.
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'Documentation/DocBook')
24 files changed, 605 insertions, 261 deletions
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl index f3e214f9e256..42e7f030cb16 100644 --- a/Documentation/DocBook/80211.tmpl +++ b/Documentation/DocBook/80211.tmpl | |||
@@ -404,7 +404,6 @@ | |||
404 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k | 404 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k |
405 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv | 405 | !Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv |
406 | !Finclude/net/mac80211.h ieee80211_get_tkip_p2k | 406 | !Finclude/net/mac80211.h ieee80211_get_tkip_p2k |
407 | !Finclude/net/mac80211.h ieee80211_key_removed | ||
408 | </chapter> | 407 | </chapter> |
409 | 408 | ||
410 | <chapter id="powersave"> | 409 | <chapter id="powersave"> |
diff --git a/Documentation/DocBook/filesystems.tmpl b/Documentation/DocBook/filesystems.tmpl index 3fca32c41927..25b58efd955d 100644 --- a/Documentation/DocBook/filesystems.tmpl +++ b/Documentation/DocBook/filesystems.tmpl | |||
@@ -224,8 +224,8 @@ all your transactions. | |||
224 | </para> | 224 | </para> |
225 | 225 | ||
226 | <para> | 226 | <para> |
227 | Then at umount time , in your put_super() (2.4) or write_super() (2.5) | 227 | Then at umount time , in your put_super() you can then call journal_destroy() |
228 | you can then call journal_destroy() to clean up your in-core journal object. | 228 | to clean up your in-core journal object. |
229 | </para> | 229 | </para> |
230 | 230 | ||
231 | <para> | 231 | <para> |
diff --git a/Documentation/DocBook/media/v4l/biblio.xml b/Documentation/DocBook/media/v4l/biblio.xml index 7c49facecd25..1078e45f189f 100644 --- a/Documentation/DocBook/media/v4l/biblio.xml +++ b/Documentation/DocBook/media/v4l/biblio.xml | |||
@@ -194,7 +194,7 @@ in the frequency range from 87,5 to 108,0 MHz</title> | |||
194 | <corpauthor>National Radio Systems Committee | 194 | <corpauthor>National Radio Systems Committee |
195 | (<ulink url="http://www.nrscstandards.org">http://www.nrscstandards.org</ulink>)</corpauthor> | 195 | (<ulink url="http://www.nrscstandards.org">http://www.nrscstandards.org</ulink>)</corpauthor> |
196 | </authorgroup> | 196 | </authorgroup> |
197 | <title>NTSC-4: United States RBDS Standard</title> | 197 | <title>NRSC-4: United States RBDS Standard</title> |
198 | </biblioentry> | 198 | </biblioentry> |
199 | 199 | ||
200 | <biblioentry id="iso12232"> | 200 | <biblioentry id="iso12232"> |
diff --git a/Documentation/DocBook/media/v4l/common.xml b/Documentation/DocBook/media/v4l/common.xml index 4101aeb56540..b91d25313b63 100644 --- a/Documentation/DocBook/media/v4l/common.xml +++ b/Documentation/DocBook/media/v4l/common.xml | |||
@@ -464,14 +464,14 @@ The <structfield>type</structfield> field of the respective | |||
464 | <structfield>tuner</structfield> field contains the index number of | 464 | <structfield>tuner</structfield> field contains the index number of |
465 | the tuner.</para> | 465 | the tuner.</para> |
466 | 466 | ||
467 | <para>Radio devices have exactly one tuner with index zero, no | 467 | <para>Radio input devices have exactly one tuner with index zero, no |
468 | video inputs.</para> | 468 | video inputs.</para> |
469 | 469 | ||
470 | <para>To query and change tuner properties applications use the | 470 | <para>To query and change tuner properties applications use the |
471 | &VIDIOC-G-TUNER; and &VIDIOC-S-TUNER; ioctl, respectively. The | 471 | &VIDIOC-G-TUNER; and &VIDIOC-S-TUNER; ioctl, respectively. The |
472 | &v4l2-tuner; returned by <constant>VIDIOC_G_TUNER</constant> also | 472 | &v4l2-tuner; returned by <constant>VIDIOC_G_TUNER</constant> also |
473 | contains signal status information applicable when the tuner of the | 473 | contains signal status information applicable when the tuner of the |
474 | current video input, or a radio tuner is queried. Note that | 474 | current video or radio input is queried. Note that |
475 | <constant>VIDIOC_S_TUNER</constant> does not switch the current tuner, | 475 | <constant>VIDIOC_S_TUNER</constant> does not switch the current tuner, |
476 | when there is more than one at all. The tuner is solely determined by | 476 | when there is more than one at all. The tuner is solely determined by |
477 | the current video input. Drivers must support both ioctls and set the | 477 | the current video input. Drivers must support both ioctls and set the |
@@ -491,8 +491,17 @@ the modulator. The <structfield>type</structfield> field of the | |||
491 | respective &v4l2-output; returned by the &VIDIOC-ENUMOUTPUT; ioctl is | 491 | respective &v4l2-output; returned by the &VIDIOC-ENUMOUTPUT; ioctl is |
492 | set to <constant>V4L2_OUTPUT_TYPE_MODULATOR</constant> and its | 492 | set to <constant>V4L2_OUTPUT_TYPE_MODULATOR</constant> and its |
493 | <structfield>modulator</structfield> field contains the index number | 493 | <structfield>modulator</structfield> field contains the index number |
494 | of the modulator. This specification does not define radio output | 494 | of the modulator.</para> |
495 | devices.</para> | 495 | |
496 | <para>Radio output devices have exactly one modulator with index | ||
497 | zero, no video outputs.</para> | ||
498 | |||
499 | <para>A video or radio device cannot support both a tuner and a | ||
500 | modulator. Two separate device nodes will have to be used for such | ||
501 | hardware, one that supports the tuner functionality and one that supports | ||
502 | the modulator functionality. The reason is a limitation with the | ||
503 | &VIDIOC-S-FREQUENCY; ioctl where you cannot specify whether the frequency | ||
504 | is for a tuner or a modulator.</para> | ||
496 | 505 | ||
497 | <para>To query and change modulator properties applications use | 506 | <para>To query and change modulator properties applications use |
498 | the &VIDIOC-G-MODULATOR; and &VIDIOC-S-MODULATOR; ioctl. Note that | 507 | the &VIDIOC-G-MODULATOR; and &VIDIOC-S-MODULATOR; ioctl. Note that |
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index ea42ef824948..faa0fd14666a 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -2377,10 +2377,11 @@ that used it. It was originally scheduled for removal in 2.6.35. | |||
2377 | <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para> | 2377 | <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para> |
2378 | </listitem> | 2378 | </listitem> |
2379 | <listitem> | 2379 | <listitem> |
2380 | <para>Add selection API for extended control over cropping and | 2380 | <para>Add selection API for extended control over cropping |
2381 | composing. Does not affect the compatibility of current drivers and | 2381 | and composing. Does not affect the compatibility of current |
2382 | applications. See <link linkend="selection-api"> selection API </link> for | 2382 | drivers and applications. See <link |
2383 | details.</para> | 2383 | linkend="selection-api"> selection API </link> for |
2384 | details.</para> | ||
2384 | </listitem> | 2385 | </listitem> |
2385 | </orderedlist> | 2386 | </orderedlist> |
2386 | </section> | 2387 | </section> |
@@ -2458,6 +2459,36 @@ details.</para> | |||
2458 | </orderedlist> | 2459 | </orderedlist> |
2459 | </section> | 2460 | </section> |
2460 | 2461 | ||
2462 | <section> | ||
2463 | <title>V4L2 in Linux 3.6</title> | ||
2464 | <orderedlist> | ||
2465 | <listitem> | ||
2466 | <para>Replaced <structfield>input</structfield> in | ||
2467 | <structname>v4l2_buffer</structname> by | ||
2468 | <structfield>reserved2</structfield> and removed | ||
2469 | <constant>V4L2_BUF_FLAG_INPUT</constant>.</para> | ||
2470 | </listitem> | ||
2471 | </orderedlist> | ||
2472 | </section> | ||
2473 | |||
2474 | <section> | ||
2475 | <title>V4L2 in Linux 3.6</title> | ||
2476 | <orderedlist> | ||
2477 | <listitem> | ||
2478 | <para>Added V4L2_CAP_VIDEO_M2M and V4L2_CAP_VIDEO_M2M_MPLANE capabilities.</para> | ||
2479 | </listitem> | ||
2480 | </orderedlist> | ||
2481 | </section> | ||
2482 | |||
2483 | <section> | ||
2484 | <title>V4L2 in Linux 3.6</title> | ||
2485 | <orderedlist> | ||
2486 | <listitem> | ||
2487 | <para>Added support for frequency band enumerations: &VIDIOC-ENUM-FREQ-BANDS;.</para> | ||
2488 | </listitem> | ||
2489 | </orderedlist> | ||
2490 | </section> | ||
2491 | |||
2461 | <section id="other"> | 2492 | <section id="other"> |
2462 | <title>Relation of V4L2 to other Linux multimedia APIs</title> | 2493 | <title>Relation of V4L2 to other Linux multimedia APIs</title> |
2463 | 2494 | ||
@@ -2587,6 +2618,9 @@ ioctls.</para> | |||
2587 | <para><link linkend="v4l2-auto-focus-area"><constant> | 2618 | <para><link linkend="v4l2-auto-focus-area"><constant> |
2588 | V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para> | 2619 | V4L2_CID_AUTO_FOCUS_AREA</constant></link> control.</para> |
2589 | </listitem> | 2620 | </listitem> |
2621 | <listitem> | ||
2622 | <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para> | ||
2623 | </listitem> | ||
2590 | </itemizedlist> | 2624 | </itemizedlist> |
2591 | </section> | 2625 | </section> |
2592 | 2626 | ||
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 676bc46f9c52..b0964fb4e834 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml | |||
@@ -373,6 +373,11 @@ minimum value disables backlight compensation.</entry> | |||
373 | </entry> | 373 | </entry> |
374 | </row> | 374 | </row> |
375 | <row> | 375 | <row> |
376 | <entry><constant>V4L2_CID_AUTOBRIGHTNESS</constant></entry> | ||
377 | <entry>boolean</entry> | ||
378 | <entry>Enable Automatic Brightness.</entry> | ||
379 | </row> | ||
380 | <row> | ||
376 | <entry><constant>V4L2_CID_ROTATE</constant></entry> | 381 | <entry><constant>V4L2_CID_ROTATE</constant></entry> |
377 | <entry>integer</entry> | 382 | <entry>integer</entry> |
378 | <entry>Rotates the image by specified angle. Common angles are 90, | 383 | <entry>Rotates the image by specified angle. Common angles are 90, |
@@ -3988,7 +3993,7 @@ interface and may change in the future.</para> | |||
3988 | from RGB to Y'CbCr color space. | 3993 | from RGB to Y'CbCr color space. |
3989 | </entry> | 3994 | </entry> |
3990 | </row> | 3995 | </row> |
3991 | <row id = "v4l2-jpeg-chroma-subsampling"> | 3996 | <row> |
3992 | <entrytbl spanname="descr" cols="2"> | 3997 | <entrytbl spanname="descr" cols="2"> |
3993 | <tbody valign="top"> | 3998 | <tbody valign="top"> |
3994 | <row> | 3999 | <row> |
diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml index 4afcbbec5eda..a3d9dd093268 100644 --- a/Documentation/DocBook/media/v4l/dev-subdev.xml +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml | |||
@@ -276,7 +276,7 @@ | |||
276 | </para> | 276 | </para> |
277 | </section> | 277 | </section> |
278 | 278 | ||
279 | <section> | 279 | <section id="v4l2-subdev-selections"> |
280 | <title>Selections: cropping, scaling and composition</title> | 280 | <title>Selections: cropping, scaling and composition</title> |
281 | 281 | ||
282 | <para>Many sub-devices support cropping frames on their input or output | 282 | <para>Many sub-devices support cropping frames on their input or output |
@@ -290,8 +290,8 @@ | |||
290 | size. Both the coordinates and sizes are expressed in pixels.</para> | 290 | size. Both the coordinates and sizes are expressed in pixels.</para> |
291 | 291 | ||
292 | <para>As for pad formats, drivers store try and active | 292 | <para>As for pad formats, drivers store try and active |
293 | rectangles for the selection targets of ACTUAL type <xref | 293 | rectangles for the selection targets <xref |
294 | linkend="v4l2-subdev-selection-targets">.</xref></para> | 294 | linkend="v4l2-selections-common" />.</para> |
295 | 295 | ||
296 | <para>On sink pads, cropping is applied relative to the | 296 | <para>On sink pads, cropping is applied relative to the |
297 | current pad format. The pad format represents the image size as | 297 | current pad format. The pad format represents the image size as |
@@ -308,7 +308,7 @@ | |||
308 | <para>Scaling support is optional. When supported by a subdev, | 308 | <para>Scaling support is optional. When supported by a subdev, |
309 | the crop rectangle on the subdev's sink pad is scaled to the | 309 | the crop rectangle on the subdev's sink pad is scaled to the |
310 | size configured using the &VIDIOC-SUBDEV-S-SELECTION; IOCTL | 310 | size configured using the &VIDIOC-SUBDEV-S-SELECTION; IOCTL |
311 | using <constant>V4L2_SUBDEV_SEL_COMPOSE_ACTUAL</constant> | 311 | using <constant>V4L2_SEL_TGT_COMPOSE</constant> |
312 | selection target on the same pad. If the subdev supports scaling | 312 | selection target on the same pad. If the subdev supports scaling |
313 | but not composing, the top and left values are not used and must | 313 | but not composing, the top and left values are not used and must |
314 | always be set to zero.</para> | 314 | always be set to zero.</para> |
@@ -323,32 +323,32 @@ | |||
323 | <para>The drivers should always use the closest possible | 323 | <para>The drivers should always use the closest possible |
324 | rectangle the user requests on all selection targets, unless | 324 | rectangle the user requests on all selection targets, unless |
325 | specifically told otherwise. | 325 | specifically told otherwise. |
326 | <constant>V4L2_SUBDEV_SEL_FLAG_SIZE_GE</constant> and | 326 | <constant>V4L2_SEL_FLAG_GE</constant> and |
327 | <constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant> flags may be | 327 | <constant>V4L2_SEL_FLAG_LE</constant> flags may be |
328 | used to round the image size either up or down. <xref | 328 | used to round the image size either up or down. <xref |
329 | linkend="v4l2-subdev-selection-flags"></xref></para> | 329 | linkend="v4l2-selection-flags" /></para> |
330 | </section> | 330 | </section> |
331 | 331 | ||
332 | <section> | 332 | <section> |
333 | <title>Types of selection targets</title> | 333 | <title>Types of selection targets</title> |
334 | 334 | ||
335 | <section> | 335 | <section> |
336 | <title>ACTUAL targets</title> | 336 | <title>Actual targets</title> |
337 | 337 | ||
338 | <para>ACTUAL targets reflect the actual hardware configuration | 338 | <para>Actual targets (without a postfix) reflect the actual |
339 | at any point of time. There is a BOUNDS target | 339 | hardware configuration at any point of time. There is a BOUNDS |
340 | corresponding to every ACTUAL.</para> | 340 | target corresponding to every actual target.</para> |
341 | </section> | 341 | </section> |
342 | 342 | ||
343 | <section> | 343 | <section> |
344 | <title>BOUNDS targets</title> | 344 | <title>BOUNDS targets</title> |
345 | 345 | ||
346 | <para>BOUNDS targets is the smallest rectangle that contains | 346 | <para>BOUNDS targets is the smallest rectangle that contains all |
347 | all valid ACTUAL rectangles. It may not be possible to set the | 347 | valid actual rectangles. It may not be possible to set the actual |
348 | ACTUAL rectangle as large as the BOUNDS rectangle, however. | 348 | rectangle as large as the BOUNDS rectangle, however. This may be |
349 | This may be because e.g. a sensor's pixel array is not | 349 | because e.g. a sensor's pixel array is not rectangular but |
350 | rectangular but cross-shaped or round. The maximum size may | 350 | cross-shaped or round. The maximum size may also be smaller than the |
351 | also be smaller than the BOUNDS rectangle.</para> | 351 | BOUNDS rectangle.</para> |
352 | </section> | 352 | </section> |
353 | 353 | ||
354 | </section> | 354 | </section> |
@@ -362,7 +362,7 @@ | |||
362 | performed by the user: the changes made will be propagated to | 362 | performed by the user: the changes made will be propagated to |
363 | any subsequent stages. If this behaviour is not desired, the | 363 | any subsequent stages. If this behaviour is not desired, the |
364 | user must set | 364 | user must set |
365 | <constant>V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG</constant> flag. This | 365 | <constant>V4L2_SEL_FLAG_KEEP_CONFIG</constant> flag. This |
366 | flag causes no propagation of the changes are allowed in any | 366 | flag causes no propagation of the changes are allowed in any |
367 | circumstances. This may also cause the accessed rectangle to be | 367 | circumstances. This may also cause the accessed rectangle to be |
368 | adjusted by the driver, depending on the properties of the | 368 | adjusted by the driver, depending on the properties of the |
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml index fd6aca2922b6..1885cc0755cb 100644 --- a/Documentation/DocBook/media/v4l/io.xml +++ b/Documentation/DocBook/media/v4l/io.xml | |||
@@ -683,14 +683,12 @@ memory, set by the application. See <xref linkend="userp" /> for details. | |||
683 | </row> | 683 | </row> |
684 | <row> | 684 | <row> |
685 | <entry>__u32</entry> | 685 | <entry>__u32</entry> |
686 | <entry><structfield>input</structfield></entry> | 686 | <entry><structfield>reserved2</structfield></entry> |
687 | <entry></entry> | 687 | <entry></entry> |
688 | <entry>Some video capture drivers support rapid and | 688 | <entry>A place holder for future extensions and custom |
689 | synchronous video input changes, a function useful for example in | 689 | (driver defined) buffer types |
690 | video surveillance applications. For this purpose applications set the | 690 | <constant>V4L2_BUF_TYPE_PRIVATE</constant> and higher. Applications |
691 | <constant>V4L2_BUF_FLAG_INPUT</constant> flag, and this field to the | 691 | should set this to 0.</entry> |
692 | number of a video input as in &v4l2-input; field | ||
693 | <structfield>index</structfield>.</entry> | ||
694 | </row> | 692 | </row> |
695 | <row> | 693 | <row> |
696 | <entry>__u32</entry> | 694 | <entry>__u32</entry> |
@@ -923,13 +921,6 @@ Drivers set or clear this flag when the <constant>VIDIOC_DQBUF</constant> | |||
923 | ioctl is called.</entry> | 921 | ioctl is called.</entry> |
924 | </row> | 922 | </row> |
925 | <row> | 923 | <row> |
926 | <entry><constant>V4L2_BUF_FLAG_INPUT</constant></entry> | ||
927 | <entry>0x0200</entry> | ||
928 | <entry>The <structfield>input</structfield> field is valid. | ||
929 | Applications set or clear this flag before calling the | ||
930 | <constant>VIDIOC_QBUF</constant> ioctl.</entry> | ||
931 | </row> | ||
932 | <row> | ||
933 | <entry><constant>V4L2_BUF_FLAG_PREPARED</constant></entry> | 924 | <entry><constant>V4L2_BUF_FLAG_PREPARED</constant></entry> |
934 | <entry>0x0400</entry> | 925 | <entry>0x0400</entry> |
935 | <entry>The buffer has been prepared for I/O and can be queued by the | 926 | <entry>The buffer has been prepared for I/O and can be queued by the |
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index f5ac15ed0549..e58934c92895 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml | |||
@@ -986,13 +986,13 @@ http://www.thedirks.org/winnov/</ulink></para></entry> | |||
986 | <row id="V4L2-PIX-FMT-Y4"> | 986 | <row id="V4L2-PIX-FMT-Y4"> |
987 | <entry><constant>V4L2_PIX_FMT_Y4</constant></entry> | 987 | <entry><constant>V4L2_PIX_FMT_Y4</constant></entry> |
988 | <entry>'Y04 '</entry> | 988 | <entry>'Y04 '</entry> |
989 | <entry>Old 4-bit greyscale format. Only the least significant 4 bits of each byte are used, | 989 | <entry>Old 4-bit greyscale format. Only the most significant 4 bits of each byte are used, |
990 | the other bits are set to 0.</entry> | 990 | the other bits are set to 0.</entry> |
991 | </row> | 991 | </row> |
992 | <row id="V4L2-PIX-FMT-Y6"> | 992 | <row id="V4L2-PIX-FMT-Y6"> |
993 | <entry><constant>V4L2_PIX_FMT_Y6</constant></entry> | 993 | <entry><constant>V4L2_PIX_FMT_Y6</constant></entry> |
994 | <entry>'Y06 '</entry> | 994 | <entry>'Y06 '</entry> |
995 | <entry>Old 6-bit greyscale format. Only the least significant 6 bits of each byte are used, | 995 | <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, |
996 | the other bits are set to 0.</entry> | 996 | the other bits are set to 0.</entry> |
997 | </row> | 997 | </row> |
998 | </tbody> | 998 | </tbody> |
diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml index b299e4779354..e7ed5077834d 100644 --- a/Documentation/DocBook/media/v4l/selection-api.xml +++ b/Documentation/DocBook/media/v4l/selection-api.xml | |||
@@ -53,11 +53,11 @@ cropping and composing rectangles have the same size.</para> | |||
53 | </mediaobject> | 53 | </mediaobject> |
54 | </figure> | 54 | </figure> |
55 | 55 | ||
56 | For complete list of the available selection targets see table <xref | ||
57 | linkend="v4l2-sel-target"/> | ||
58 | |||
59 | </section> | 56 | </section> |
60 | 57 | ||
58 | See <xref linkend="v4l2-selection-targets" /> for more | ||
59 | information. | ||
60 | |||
61 | <section> | 61 | <section> |
62 | 62 | ||
63 | <title>Configuration</title> | 63 | <title>Configuration</title> |
@@ -74,7 +74,7 @@ cropping/composing rectangles may have to be aligned, and both the source and | |||
74 | the sink may have arbitrary upper and lower size limits. Therefore, as usual, | 74 | the sink may have arbitrary upper and lower size limits. Therefore, as usual, |
75 | drivers are expected to adjust the requested parameters and return the actual | 75 | drivers are expected to adjust the requested parameters and return the actual |
76 | values selected. An application can control the rounding behaviour using <link | 76 | values selected. An application can control the rounding behaviour using <link |
77 | linkend="v4l2-sel-flags"> constraint flags </link>.</para> | 77 | linkend="v4l2-selection-flags"> constraint flags </link>.</para> |
78 | 78 | ||
79 | <section> | 79 | <section> |
80 | 80 | ||
@@ -91,7 +91,7 @@ top/left corner at position <constant> (0,0) </constant>. The rectangle's | |||
91 | coordinates are expressed in pixels.</para> | 91 | coordinates are expressed in pixels.</para> |
92 | 92 | ||
93 | <para>The top left corner, width and height of the source rectangle, that is | 93 | <para>The top left corner, width and height of the source rectangle, that is |
94 | the area actually sampled, is given by the <constant> V4L2_SEL_TGT_CROP_ACTIVE | 94 | the area actually sampled, is given by the <constant> V4L2_SEL_TGT_CROP |
95 | </constant> target. It uses the same coordinate system as <constant> | 95 | </constant> target. It uses the same coordinate system as <constant> |
96 | V4L2_SEL_TGT_CROP_BOUNDS </constant>. The active cropping area must lie | 96 | V4L2_SEL_TGT_CROP_BOUNDS </constant>. The active cropping area must lie |
97 | completely inside the capture boundaries. The driver may further adjust the | 97 | completely inside the capture boundaries. The driver may further adjust the |
@@ -111,13 +111,13 @@ height are equal to the image size set by <constant> VIDIOC_S_FMT </constant>. | |||
111 | </para> | 111 | </para> |
112 | 112 | ||
113 | <para>The part of a buffer into which the image is inserted by the hardware is | 113 | <para>The part of a buffer into which the image is inserted by the hardware is |
114 | controlled by the <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target. | 114 | controlled by the <constant> V4L2_SEL_TGT_COMPOSE </constant> target. |
115 | The rectangle's coordinates are also expressed in the same coordinate system as | 115 | The rectangle's coordinates are also expressed in the same coordinate system as |
116 | the bounds rectangle. The composing rectangle must lie completely inside bounds | 116 | the bounds rectangle. The composing rectangle must lie completely inside bounds |
117 | rectangle. The driver must adjust the composing rectangle to fit to the | 117 | rectangle. The driver must adjust the composing rectangle to fit to the |
118 | bounding limits. Moreover, the driver can perform other adjustments according | 118 | bounding limits. Moreover, the driver can perform other adjustments according |
119 | to hardware limitations. The application can control rounding behaviour using | 119 | to hardware limitations. The application can control rounding behaviour using |
120 | <link linkend="v4l2-sel-flags"> constraint flags </link>.</para> | 120 | <link linkend="v4l2-selection-flags"> constraint flags </link>.</para> |
121 | 121 | ||
122 | <para>For capture devices the default composing rectangle is queried using | 122 | <para>For capture devices the default composing rectangle is queried using |
123 | <constant> V4L2_SEL_TGT_COMPOSE_DEFAULT </constant>. It is usually equal to the | 123 | <constant> V4L2_SEL_TGT_COMPOSE_DEFAULT </constant>. It is usually equal to the |
@@ -125,7 +125,7 @@ bounding rectangle.</para> | |||
125 | 125 | ||
126 | <para>The part of a buffer that is modified by the hardware is given by | 126 | <para>The part of a buffer that is modified by the hardware is given by |
127 | <constant> V4L2_SEL_TGT_COMPOSE_PADDED </constant>. It contains all pixels | 127 | <constant> V4L2_SEL_TGT_COMPOSE_PADDED </constant>. It contains all pixels |
128 | defined using <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> plus all | 128 | defined using <constant> V4L2_SEL_TGT_COMPOSE </constant> plus all |
129 | padding data modified by hardware during insertion process. All pixels outside | 129 | padding data modified by hardware during insertion process. All pixels outside |
130 | this rectangle <emphasis>must not</emphasis> be changed by the hardware. The | 130 | this rectangle <emphasis>must not</emphasis> be changed by the hardware. The |
131 | content of pixels that lie inside the padded area but outside active area is | 131 | content of pixels that lie inside the padded area but outside active area is |
@@ -153,7 +153,7 @@ specified using <constant> VIDIOC_S_FMT </constant> ioctl.</para> | |||
153 | 153 | ||
154 | <para>The top left corner, width and height of the source rectangle, that is | 154 | <para>The top left corner, width and height of the source rectangle, that is |
155 | the area from which image date are processed by the hardware, is given by the | 155 | the area from which image date are processed by the hardware, is given by the |
156 | <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant>. Its coordinates are expressed | 156 | <constant> V4L2_SEL_TGT_CROP </constant>. Its coordinates are expressed |
157 | in in the same coordinate system as the bounds rectangle. The active cropping | 157 | in in the same coordinate system as the bounds rectangle. The active cropping |
158 | area must lie completely inside the crop boundaries and the driver may further | 158 | area must lie completely inside the crop boundaries and the driver may further |
159 | adjust the requested size and/or position according to hardware | 159 | adjust the requested size and/or position according to hardware |
@@ -165,7 +165,7 @@ bounding rectangle.</para> | |||
165 | 165 | ||
166 | <para>The part of a video signal or graphics display where the image is | 166 | <para>The part of a video signal or graphics display where the image is |
167 | inserted by the hardware is controlled by <constant> | 167 | inserted by the hardware is controlled by <constant> |
168 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target. The rectangle's coordinates | 168 | V4L2_SEL_TGT_COMPOSE </constant> target. The rectangle's coordinates |
169 | are expressed in pixels. The composing rectangle must lie completely inside the | 169 | are expressed in pixels. The composing rectangle must lie completely inside the |
170 | bounds rectangle. The driver must adjust the area to fit to the bounding | 170 | bounds rectangle. The driver must adjust the area to fit to the bounding |
171 | limits. Moreover, the driver can perform other adjustments according to | 171 | limits. Moreover, the driver can perform other adjustments according to |
@@ -184,7 +184,7 @@ such a padded area is driver-dependent feature not covered by this document. | |||
184 | Driver developers are encouraged to keep padded rectangle equal to active one. | 184 | Driver developers are encouraged to keep padded rectangle equal to active one. |
185 | The padded target is accessed by the <constant> V4L2_SEL_TGT_COMPOSE_PADDED | 185 | The padded target is accessed by the <constant> V4L2_SEL_TGT_COMPOSE_PADDED |
186 | </constant> identifier. It must contain all pixels from the <constant> | 186 | </constant> identifier. It must contain all pixels from the <constant> |
187 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target.</para> | 187 | V4L2_SEL_TGT_COMPOSE </constant> target.</para> |
188 | 188 | ||
189 | </section> | 189 | </section> |
190 | 190 | ||
@@ -193,8 +193,8 @@ V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target.</para> | |||
193 | <title>Scaling control</title> | 193 | <title>Scaling control</title> |
194 | 194 | ||
195 | <para>An application can detect if scaling is performed by comparing the width | 195 | <para>An application can detect if scaling is performed by comparing the width |
196 | and the height of rectangles obtained using <constant> V4L2_SEL_TGT_CROP_ACTIVE | 196 | and the height of rectangles obtained using <constant> V4L2_SEL_TGT_CROP |
197 | </constant> and <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> targets. If | 197 | </constant> and <constant> V4L2_SEL_TGT_COMPOSE </constant> targets. If |
198 | these are not equal then the scaling is applied. The application can compute | 198 | these are not equal then the scaling is applied. The application can compute |
199 | the scaling ratios using these values.</para> | 199 | the scaling ratios using these values.</para> |
200 | 200 | ||
@@ -252,7 +252,7 @@ area)</para> | |||
252 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); | 252 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); |
253 | if (ret) | 253 | if (ret) |
254 | exit(-1); | 254 | exit(-1); |
255 | sel.target = V4L2_SEL_TGT_CROP_ACTIVE; | 255 | sel.target = V4L2_SEL_TGT_CROP; |
256 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); | 256 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); |
257 | if (ret) | 257 | if (ret) |
258 | exit(-1); | 258 | exit(-1); |
@@ -281,7 +281,7 @@ area)</para> | |||
281 | r.left = sel.r.width / 4; | 281 | r.left = sel.r.width / 4; |
282 | r.top = sel.r.height / 4; | 282 | r.top = sel.r.height / 4; |
283 | sel.r = r; | 283 | sel.r = r; |
284 | sel.target = V4L2_SEL_TGT_COMPOSE_ACTIVE; | 284 | sel.target = V4L2_SEL_TGT_COMPOSE; |
285 | sel.flags = V4L2_SEL_FLAG_LE; | 285 | sel.flags = V4L2_SEL_FLAG_LE; |
286 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); | 286 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); |
287 | if (ret) | 287 | if (ret) |
@@ -298,11 +298,11 @@ V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> for other devices</para> | |||
298 | 298 | ||
299 | &v4l2-selection; compose = { | 299 | &v4l2-selection; compose = { |
300 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, | 300 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, |
301 | .target = V4L2_SEL_TGT_COMPOSE_ACTIVE, | 301 | .target = V4L2_SEL_TGT_COMPOSE, |
302 | }; | 302 | }; |
303 | &v4l2-selection; crop = { | 303 | &v4l2-selection; crop = { |
304 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, | 304 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, |
305 | .target = V4L2_SEL_TGT_CROP_ACTIVE, | 305 | .target = V4L2_SEL_TGT_CROP, |
306 | }; | 306 | }; |
307 | double hscale, vscale; | 307 | double hscale, vscale; |
308 | 308 | ||
diff --git a/Documentation/DocBook/media/v4l/selections-common.xml b/Documentation/DocBook/media/v4l/selections-common.xml new file mode 100644 index 000000000000..7502f784b8cc --- /dev/null +++ b/Documentation/DocBook/media/v4l/selections-common.xml | |||
@@ -0,0 +1,164 @@ | |||
1 | <section id="v4l2-selections-common"> | ||
2 | |||
3 | <title>Common selection definitions</title> | ||
4 | |||
5 | <para>While the <link linkend="selection-api">V4L2 selection | ||
6 | API</link> and <link linkend="v4l2-subdev-selections">V4L2 subdev | ||
7 | selection APIs</link> are very similar, there's one fundamental | ||
8 | difference between the two. On sub-device API, the selection | ||
9 | rectangle refers to the media bus format, and is bound to a | ||
10 | sub-device's pad. On the V4L2 interface the selection rectangles | ||
11 | refer to the in-memory pixel format.</para> | ||
12 | |||
13 | <para>This section defines the common definitions of the | ||
14 | selection interfaces on the two APIs.</para> | ||
15 | |||
16 | <section id="v4l2-selection-targets"> | ||
17 | |||
18 | <title>Selection targets</title> | ||
19 | |||
20 | <para>The precise meaning of the selection targets may be | ||
21 | dependent on which of the two interfaces they are used.</para> | ||
22 | |||
23 | <table pgwide="1" frame="none" id="v4l2-selection-targets-table"> | ||
24 | <title>Selection target definitions</title> | ||
25 | <tgroup cols="5"> | ||
26 | <colspec colname="c1" /> | ||
27 | <colspec colname="c2" /> | ||
28 | <colspec colname="c3" /> | ||
29 | <colspec colname="c4" /> | ||
30 | <colspec colname="c5" /> | ||
31 | &cs-def; | ||
32 | <thead> | ||
33 | <row rowsep="1"> | ||
34 | <entry align="left">Target name</entry> | ||
35 | <entry align="left">id</entry> | ||
36 | <entry align="left">Definition</entry> | ||
37 | <entry align="left">Valid for V4L2</entry> | ||
38 | <entry align="left">Valid for V4L2 subdev</entry> | ||
39 | </row> | ||
40 | </thead> | ||
41 | <tbody valign="top"> | ||
42 | <row> | ||
43 | <entry><constant>V4L2_SEL_TGT_CROP</constant></entry> | ||
44 | <entry>0x0000</entry> | ||
45 | <entry>Crop rectangle. Defines the cropped area.</entry> | ||
46 | <entry>Yes</entry> | ||
47 | <entry>Yes</entry> | ||
48 | </row> | ||
49 | <row> | ||
50 | <entry><constant>V4L2_SEL_TGT_CROP_DEFAULT</constant></entry> | ||
51 | <entry>0x0001</entry> | ||
52 | <entry>Suggested cropping rectangle that covers the "whole picture".</entry> | ||
53 | <entry>Yes</entry> | ||
54 | <entry>No</entry> | ||
55 | </row> | ||
56 | <row> | ||
57 | <entry><constant>V4L2_SEL_TGT_CROP_BOUNDS</constant></entry> | ||
58 | <entry>0x0002</entry> | ||
59 | <entry>Bounds of the crop rectangle. All valid crop | ||
60 | rectangles fit inside the crop bounds rectangle. | ||
61 | </entry> | ||
62 | <entry>Yes</entry> | ||
63 | <entry>Yes</entry> | ||
64 | </row> | ||
65 | <row> | ||
66 | <entry><constant>V4L2_SEL_TGT_COMPOSE</constant></entry> | ||
67 | <entry>0x0100</entry> | ||
68 | <entry>Compose rectangle. Used to configure scaling | ||
69 | and composition.</entry> | ||
70 | <entry>Yes</entry> | ||
71 | <entry>Yes</entry> | ||
72 | </row> | ||
73 | <row> | ||
74 | <entry><constant>V4L2_SEL_TGT_COMPOSE_DEFAULT</constant></entry> | ||
75 | <entry>0x0101</entry> | ||
76 | <entry>Suggested composition rectangle that covers the "whole picture".</entry> | ||
77 | <entry>Yes</entry> | ||
78 | <entry>No</entry> | ||
79 | </row> | ||
80 | <row> | ||
81 | <entry><constant>V4L2_SEL_TGT_COMPOSE_BOUNDS</constant></entry> | ||
82 | <entry>0x0102</entry> | ||
83 | <entry>Bounds of the compose rectangle. All valid compose | ||
84 | rectangles fit inside the compose bounds rectangle.</entry> | ||
85 | <entry>Yes</entry> | ||
86 | <entry>Yes</entry> | ||
87 | </row> | ||
88 | <row> | ||
89 | <entry><constant>V4L2_SEL_TGT_COMPOSE_PADDED</constant></entry> | ||
90 | <entry>0x0103</entry> | ||
91 | <entry>The active area and all padding pixels that are inserted or | ||
92 | modified by hardware.</entry> | ||
93 | <entry>Yes</entry> | ||
94 | <entry>No</entry> | ||
95 | </row> | ||
96 | </tbody> | ||
97 | </tgroup> | ||
98 | </table> | ||
99 | |||
100 | </section> | ||
101 | |||
102 | <section id="v4l2-selection-flags"> | ||
103 | |||
104 | <title>Selection flags</title> | ||
105 | |||
106 | <table pgwide="1" frame="none" id="v4l2-selection-flags-table"> | ||
107 | <title>Selection flag definitions</title> | ||
108 | <tgroup cols="5"> | ||
109 | <colspec colname="c1" /> | ||
110 | <colspec colname="c2" /> | ||
111 | <colspec colname="c3" /> | ||
112 | <colspec colname="c4" /> | ||
113 | <colspec colname="c5" /> | ||
114 | &cs-def; | ||
115 | <thead> | ||
116 | <row rowsep="1"> | ||
117 | <entry align="left">Flag name</entry> | ||
118 | <entry align="left">id</entry> | ||
119 | <entry align="left">Definition</entry> | ||
120 | <entry align="left">Valid for V4L2</entry> | ||
121 | <entry align="left">Valid for V4L2 subdev</entry> | ||
122 | </row> | ||
123 | </thead> | ||
124 | <tbody valign="top"> | ||
125 | <row> | ||
126 | <entry><constant>V4L2_SEL_FLAG_GE</constant></entry> | ||
127 | <entry>(1 << 0)</entry> | ||
128 | <entry>Suggest the driver it should choose greater or | ||
129 | equal rectangle (in size) than was requested. Albeit the | ||
130 | driver may choose a lesser size, it will only do so due to | ||
131 | hardware limitations. Without this flag (and | ||
132 | <constant>V4L2_SEL_FLAG_LE</constant>) the | ||
133 | behaviour is to choose the closest possible | ||
134 | rectangle.</entry> | ||
135 | <entry>Yes</entry> | ||
136 | <entry>Yes</entry> | ||
137 | </row> | ||
138 | <row> | ||
139 | <entry><constant>V4L2_SEL_FLAG_LE</constant></entry> | ||
140 | <entry>(1 << 1)</entry> | ||
141 | <entry>Suggest the driver it | ||
142 | should choose lesser or equal rectangle (in size) than was | ||
143 | requested. Albeit the driver may choose a greater size, it | ||
144 | will only do so due to hardware limitations.</entry> | ||
145 | <entry>Yes</entry> | ||
146 | <entry>Yes</entry> | ||
147 | </row> | ||
148 | <row> | ||
149 | <entry><constant>V4L2_SEL_FLAG_KEEP_CONFIG</constant></entry> | ||
150 | <entry>(1 << 2)</entry> | ||
151 | <entry>The configuration must not be propagated to any | ||
152 | further processing steps. If this flag is not given, the | ||
153 | configuration is propagated inside the subdevice to all | ||
154 | further processing steps.</entry> | ||
155 | <entry>No</entry> | ||
156 | <entry>Yes</entry> | ||
157 | </row> | ||
158 | </tbody> | ||
159 | </tgroup> | ||
160 | </table> | ||
161 | |||
162 | </section> | ||
163 | |||
164 | </section> | ||
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index 015c561754b7..eee6908c749f 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml | |||
@@ -140,6 +140,11 @@ structs, ioctls) must be noted in more detail in the history chapter | |||
140 | applications. --> | 140 | applications. --> |
141 | 141 | ||
142 | <revision> | 142 | <revision> |
143 | <revnumber>3.6</revnumber> | ||
144 | <date>2012-07-02</date> | ||
145 | <authorinitials>hv</authorinitials> | ||
146 | <revremark>Added VIDIOC_ENUM_FREQ_BANDS. | ||
147 | </revremark> | ||
143 | <revnumber>3.5</revnumber> | 148 | <revnumber>3.5</revnumber> |
144 | <date>2012-05-07</date> | 149 | <date>2012-05-07</date> |
145 | <authorinitials>sa, sn</authorinitials> | 150 | <authorinitials>sa, sn</authorinitials> |
@@ -534,6 +539,7 @@ and discussions on the V4L mailing list.</revremark> | |||
534 | &sub-enum-fmt; | 539 | &sub-enum-fmt; |
535 | &sub-enum-framesizes; | 540 | &sub-enum-framesizes; |
536 | &sub-enum-frameintervals; | 541 | &sub-enum-frameintervals; |
542 | &sub-enum-freq-bands; | ||
537 | &sub-enuminput; | 543 | &sub-enuminput; |
538 | &sub-enumoutput; | 544 | &sub-enumoutput; |
539 | &sub-enumstd; | 545 | &sub-enumstd; |
@@ -560,6 +566,7 @@ and discussions on the V4L mailing list.</revremark> | |||
560 | &sub-g-tuner; | 566 | &sub-g-tuner; |
561 | &sub-log-status; | 567 | &sub-log-status; |
562 | &sub-overlay; | 568 | &sub-overlay; |
569 | &sub-prepare-buf; | ||
563 | &sub-qbuf; | 570 | &sub-qbuf; |
564 | &sub-querybuf; | 571 | &sub-querybuf; |
565 | &sub-querycap; | 572 | &sub-querycap; |
@@ -567,7 +574,6 @@ and discussions on the V4L mailing list.</revremark> | |||
567 | &sub-query-dv-preset; | 574 | &sub-query-dv-preset; |
568 | &sub-query-dv-timings; | 575 | &sub-query-dv-timings; |
569 | &sub-querystd; | 576 | &sub-querystd; |
570 | &sub-prepare-buf; | ||
571 | &sub-reqbufs; | 577 | &sub-reqbufs; |
572 | &sub-s-hw-freq-seek; | 578 | &sub-s-hw-freq-seek; |
573 | &sub-streamon; | 579 | &sub-streamon; |
@@ -589,6 +595,11 @@ and discussions on the V4L mailing list.</revremark> | |||
589 | &sub-write; | 595 | &sub-write; |
590 | </appendix> | 596 | </appendix> |
591 | 597 | ||
598 | <appendix> | ||
599 | <title>Common definitions for V4L2 and V4L2 subdev interfaces</title> | ||
600 | &sub-selections-common; | ||
601 | </appendix> | ||
602 | |||
592 | <appendix id="videodev"> | 603 | <appendix id="videodev"> |
593 | <title>Video For Linux Two Header File</title> | 604 | <title>Video For Linux Two Header File</title> |
594 | &sub-videodev2-h; | 605 | &sub-videodev2-h; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml b/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml index 765549ff8a71..a8cda1acacd9 100644 --- a/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml +++ b/Documentation/DocBook/media/v4l/vidioc-create-bufs.xml | |||
@@ -64,7 +64,7 @@ different sizes.</para> | |||
64 | <para>To allocate device buffers applications initialize relevant fields of | 64 | <para>To allocate device buffers applications initialize relevant fields of |
65 | the <structname>v4l2_create_buffers</structname> structure. They set the | 65 | the <structname>v4l2_create_buffers</structname> structure. They set the |
66 | <structfield>type</structfield> field in the | 66 | <structfield>type</structfield> field in the |
67 | <structname>v4l2_format</structname> structure, embedded in this | 67 | &v4l2-format; structure, embedded in this |
68 | structure, to the respective stream or buffer type. | 68 | structure, to the respective stream or buffer type. |
69 | <structfield>count</structfield> must be set to the number of required buffers. | 69 | <structfield>count</structfield> must be set to the number of required buffers. |
70 | <structfield>memory</structfield> specifies the required I/O method. The | 70 | <structfield>memory</structfield> specifies the required I/O method. The |
@@ -97,7 +97,13 @@ information.</para> | |||
97 | <row> | 97 | <row> |
98 | <entry>__u32</entry> | 98 | <entry>__u32</entry> |
99 | <entry><structfield>count</structfield></entry> | 99 | <entry><structfield>count</structfield></entry> |
100 | <entry>The number of buffers requested or granted.</entry> | 100 | <entry>The number of buffers requested or granted. If count == 0, then |
101 | <constant>VIDIOC_CREATE_BUFS</constant> will set <structfield>index</structfield> | ||
102 | to the current number of created buffers, and it will check the validity of | ||
103 | <structfield>memory</structfield> and <structfield>format.type</structfield>. | ||
104 | If those are invalid -1 is returned and errno is set to &EINVAL;, | ||
105 | otherwise <constant>VIDIOC_CREATE_BUFS</constant> returns 0. It will | ||
106 | never set errno to &EBUSY; in this particular case.</entry> | ||
101 | </row> | 107 | </row> |
102 | <row> | 108 | <row> |
103 | <entry>__u32</entry> | 109 | <entry>__u32</entry> |
@@ -108,10 +114,9 @@ information.</para> | |||
108 | /></entry> | 114 | /></entry> |
109 | </row> | 115 | </row> |
110 | <row> | 116 | <row> |
111 | <entry>__u32</entry> | 117 | <entry>&v4l2-format;</entry> |
112 | <entry><structfield>format</structfield></entry> | 118 | <entry><structfield>format</structfield></entry> |
113 | <entry>Filled in by the application, preserved by the driver. | 119 | <entry>Filled in by the application, preserved by the driver.</entry> |
114 | See <xref linkend="v4l2-format" />.</entry> | ||
115 | </row> | 120 | </row> |
116 | <row> | 121 | <row> |
117 | <entry>__u32</entry> | 122 | <entry>__u32</entry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-dqevent.xml b/Documentation/DocBook/media/v4l/vidioc-dqevent.xml index e8714aa16433..98a856f9ec30 100644 --- a/Documentation/DocBook/media/v4l/vidioc-dqevent.xml +++ b/Documentation/DocBook/media/v4l/vidioc-dqevent.xml | |||
@@ -89,7 +89,7 @@ | |||
89 | <row> | 89 | <row> |
90 | <entry></entry> | 90 | <entry></entry> |
91 | <entry>&v4l2-event-frame-sync;</entry> | 91 | <entry>&v4l2-event-frame-sync;</entry> |
92 | <entry><structfield>frame</structfield></entry> | 92 | <entry><structfield>frame_sync</structfield></entry> |
93 | <entry>Event data for event V4L2_EVENT_FRAME_SYNC.</entry> | 93 | <entry>Event data for event V4L2_EVENT_FRAME_SYNC.</entry> |
94 | </row> | 94 | </row> |
95 | <row> | 95 | <row> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml b/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml index 6673ce582050..cd7720d404ea 100644 --- a/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml +++ b/Documentation/DocBook/media/v4l/vidioc-dv-timings-cap.xml | |||
@@ -54,15 +54,9 @@ | |||
54 | interface and may change in the future.</para> | 54 | interface and may change in the future.</para> |
55 | </note> | 55 | </note> |
56 | 56 | ||
57 | <para>To query the available timings, applications initialize the | 57 | <para>To query the capabilities of the DV receiver/transmitter applications can call |
58 | <structfield>index</structfield> field and zero the reserved array of &v4l2-dv-timings-cap; | 58 | this ioctl and the driver will fill in the structure. Note that drivers may return |
59 | and call the <constant>VIDIOC_DV_TIMINGS_CAP</constant> ioctl with a pointer to this | 59 | different values after switching the video input or output.</para> |
60 | structure. Drivers fill the rest of the structure or return an | ||
61 | &EINVAL; when the index is out of bounds. To enumerate all supported DV timings, | ||
62 | applications shall begin at index zero, incrementing by one until the | ||
63 | driver returns <errorcode>EINVAL</errorcode>. Note that drivers may enumerate a | ||
64 | different set of DV timings after switching the video input or | ||
65 | output.</para> | ||
66 | 60 | ||
67 | <table pgwide="1" frame="none" id="v4l2-bt-timings-cap"> | 61 | <table pgwide="1" frame="none" id="v4l2-bt-timings-cap"> |
68 | <title>struct <structname>v4l2_bt_timings_cap</structname></title> | 62 | <title>struct <structname>v4l2_bt_timings_cap</structname></title> |
@@ -115,7 +109,7 @@ output.</para> | |||
115 | <row> | 109 | <row> |
116 | <entry>__u32</entry> | 110 | <entry>__u32</entry> |
117 | <entry><structfield>reserved</structfield>[16]</entry> | 111 | <entry><structfield>reserved</structfield>[16]</entry> |
118 | <entry></entry> | 112 | <entry>Reserved for future extensions. Drivers must set the array to zero.</entry> |
119 | </row> | 113 | </row> |
120 | </tbody> | 114 | </tbody> |
121 | </tgroup> | 115 | </tgroup> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml new file mode 100644 index 000000000000..6541ba0175ed --- /dev/null +++ b/Documentation/DocBook/media/v4l/vidioc-enum-freq-bands.xml | |||
@@ -0,0 +1,179 @@ | |||
1 | <refentry id="vidioc-enum-freq-bands"> | ||
2 | <refmeta> | ||
3 | <refentrytitle>ioctl VIDIOC_ENUM_FREQ_BANDS</refentrytitle> | ||
4 | &manvol; | ||
5 | </refmeta> | ||
6 | |||
7 | <refnamediv> | ||
8 | <refname>VIDIOC_ENUM_FREQ_BANDS</refname> | ||
9 | <refpurpose>Enumerate supported frequency bands</refpurpose> | ||
10 | </refnamediv> | ||
11 | |||
12 | <refsynopsisdiv> | ||
13 | <funcsynopsis> | ||
14 | <funcprototype> | ||
15 | <funcdef>int <function>ioctl</function></funcdef> | ||
16 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
17 | <paramdef>int <parameter>request</parameter></paramdef> | ||
18 | <paramdef>struct v4l2_frequency_band | ||
19 | *<parameter>argp</parameter></paramdef> | ||
20 | </funcprototype> | ||
21 | </funcsynopsis> | ||
22 | </refsynopsisdiv> | ||
23 | |||
24 | <refsect1> | ||
25 | <title>Arguments</title> | ||
26 | |||
27 | <variablelist> | ||
28 | <varlistentry> | ||
29 | <term><parameter>fd</parameter></term> | ||
30 | <listitem> | ||
31 | <para>&fd;</para> | ||
32 | </listitem> | ||
33 | </varlistentry> | ||
34 | <varlistentry> | ||
35 | <term><parameter>request</parameter></term> | ||
36 | <listitem> | ||
37 | <para>VIDIOC_ENUM_FREQ_BANDS</para> | ||
38 | </listitem> | ||
39 | </varlistentry> | ||
40 | <varlistentry> | ||
41 | <term><parameter>argp</parameter></term> | ||
42 | <listitem> | ||
43 | <para></para> | ||
44 | </listitem> | ||
45 | </varlistentry> | ||
46 | </variablelist> | ||
47 | </refsect1> | ||
48 | |||
49 | <refsect1> | ||
50 | <title>Description</title> | ||
51 | |||
52 | <note> | ||
53 | <title>Experimental</title> | ||
54 | <para>This is an <link linkend="experimental"> experimental </link> | ||
55 | interface and may change in the future.</para> | ||
56 | </note> | ||
57 | |||
58 | <para>Enumerates the frequency bands that a tuner or modulator supports. | ||
59 | To do this applications initialize the <structfield>tuner</structfield>, | ||
60 | <structfield>type</structfield> and <structfield>index</structfield> fields, | ||
61 | and zero out the <structfield>reserved</structfield> array of a &v4l2-frequency-band; and | ||
62 | call the <constant>VIDIOC_ENUM_FREQ_BANDS</constant> ioctl with a pointer | ||
63 | to this structure.</para> | ||
64 | |||
65 | <para>This ioctl is supported if the <constant>V4L2_TUNER_CAP_FREQ_BANDS</constant> capability | ||
66 | of the corresponding tuner/modulator is set.</para> | ||
67 | |||
68 | <table pgwide="1" frame="none" id="v4l2-frequency-band"> | ||
69 | <title>struct <structname>v4l2_frequency_band</structname></title> | ||
70 | <tgroup cols="3"> | ||
71 | &cs-str; | ||
72 | <tbody valign="top"> | ||
73 | <row> | ||
74 | <entry>__u32</entry> | ||
75 | <entry><structfield>tuner</structfield></entry> | ||
76 | <entry>The tuner or modulator index number. This is the | ||
77 | same value as in the &v4l2-input; <structfield>tuner</structfield> | ||
78 | field and the &v4l2-tuner; <structfield>index</structfield> field, or | ||
79 | the &v4l2-output; <structfield>modulator</structfield> field and the | ||
80 | &v4l2-modulator; <structfield>index</structfield> field.</entry> | ||
81 | </row> | ||
82 | <row> | ||
83 | <entry>__u32</entry> | ||
84 | <entry><structfield>type</structfield></entry> | ||
85 | <entry>The tuner type. This is the same value as in the | ||
86 | &v4l2-tuner; <structfield>type</structfield> field. The type must be set | ||
87 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | ||
88 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | ||
89 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for | ||
90 | modulators (currently only radio modulators are supported). | ||
91 | See <xref linkend="v4l2-tuner-type" /></entry> | ||
92 | </row> | ||
93 | <row> | ||
94 | <entry>__u32</entry> | ||
95 | <entry><structfield>index</structfield></entry> | ||
96 | <entry>Identifies the frequency band, set by the application.</entry> | ||
97 | </row> | ||
98 | <row> | ||
99 | <entry>__u32</entry> | ||
100 | <entry><structfield>capability</structfield></entry> | ||
101 | <entry spanname="hspan">The tuner/modulator capability flags for | ||
102 | this frequency band, see <xref linkend="tuner-capability" />. The <constant>V4L2_TUNER_CAP_LOW</constant> | ||
103 | capability must be the same for all frequency bands of the selected tuner/modulator. | ||
104 | So either all bands have that capability set, or none of them have that capability.</entry> | ||
105 | </row> | ||
106 | <row> | ||
107 | <entry>__u32</entry> | ||
108 | <entry><structfield>rangelow</structfield></entry> | ||
109 | <entry spanname="hspan">The lowest tunable frequency in | ||
110 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
111 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
112 | Hz, for this frequency band.</entry> | ||
113 | </row> | ||
114 | <row> | ||
115 | <entry>__u32</entry> | ||
116 | <entry><structfield>rangehigh</structfield></entry> | ||
117 | <entry spanname="hspan">The highest tunable frequency in | ||
118 | units of 62.5 kHz, or if the <structfield>capability</structfield> | ||
119 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | ||
120 | Hz, for this frequency band.</entry> | ||
121 | </row> | ||
122 | <row> | ||
123 | <entry>__u32</entry> | ||
124 | <entry><structfield>modulation</structfield></entry> | ||
125 | <entry spanname="hspan">The supported modulation systems of this frequency band. | ||
126 | See <xref linkend="band-modulation" />. Note that currently only one | ||
127 | modulation system per frequency band is supported. More work will need to | ||
128 | be done if multiple modulation systems are possible. Contact the | ||
129 | linux-media mailing list (&v4l-ml;) if you need that functionality.</entry> | ||
130 | </row> | ||
131 | <row> | ||
132 | <entry>__u32</entry> | ||
133 | <entry><structfield>reserved</structfield>[9]</entry> | ||
134 | <entry>Reserved for future extensions. Applications and drivers | ||
135 | must set the array to zero.</entry> | ||
136 | </row> | ||
137 | </tbody> | ||
138 | </tgroup> | ||
139 | </table> | ||
140 | |||
141 | <table pgwide="1" frame="none" id="band-modulation"> | ||
142 | <title>Band Modulation Systems</title> | ||
143 | <tgroup cols="3"> | ||
144 | &cs-def; | ||
145 | <tbody valign="top"> | ||
146 | <row> | ||
147 | <entry><constant>V4L2_BAND_MODULATION_VSB</constant></entry> | ||
148 | <entry>0x02</entry> | ||
149 | <entry>Vestigial Sideband modulation, used for analog TV.</entry> | ||
150 | </row> | ||
151 | <row> | ||
152 | <entry><constant>V4L2_BAND_MODULATION_FM</constant></entry> | ||
153 | <entry>0x04</entry> | ||
154 | <entry>Frequency Modulation, commonly used for analog radio.</entry> | ||
155 | </row> | ||
156 | <row> | ||
157 | <entry><constant>V4L2_BAND_MODULATION_AM</constant></entry> | ||
158 | <entry>0x08</entry> | ||
159 | <entry>Amplitude Modulation, commonly used for analog radio.</entry> | ||
160 | </row> | ||
161 | </tbody> | ||
162 | </tgroup> | ||
163 | </table> | ||
164 | </refsect1> | ||
165 | |||
166 | <refsect1> | ||
167 | &return-value; | ||
168 | |||
169 | <variablelist> | ||
170 | <varlistentry> | ||
171 | <term><errorcode>EINVAL</errorcode></term> | ||
172 | <listitem> | ||
173 | <para>The <structfield>tuner</structfield> or <structfield>index</structfield> | ||
174 | is out of bounds or the <structfield>type</structfield> field is wrong.</para> | ||
175 | </listitem> | ||
176 | </varlistentry> | ||
177 | </variablelist> | ||
178 | </refsect1> | ||
179 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml index e3d5afcdafbb..0a4b90fcf2da 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml | |||
@@ -284,13 +284,6 @@ These controls are described in <xref | |||
284 | processing controls. These controls are described in <xref | 284 | processing controls. These controls are described in <xref |
285 | linkend="image-process-controls" />.</entry> | 285 | linkend="image-process-controls" />.</entry> |
286 | </row> | 286 | </row> |
287 | <row> | ||
288 | <entry><constant>V4L2_CTRL_CLASS_JPEG</constant></entry> | ||
289 | <entry>0x9d0000</entry> | ||
290 | <entry>The class containing JPEG compression controls. | ||
291 | These controls are described in <xref | ||
292 | linkend="jpeg-controls" />.</entry> | ||
293 | </row> | ||
294 | </tbody> | 287 | </tbody> |
295 | </tgroup> | 288 | </tgroup> |
296 | </table> | 289 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml index 69c178a4d205..c7a1c462e724 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml | |||
@@ -98,11 +98,12 @@ the &v4l2-output; <structfield>modulator</structfield> field and the | |||
98 | <entry>__u32</entry> | 98 | <entry>__u32</entry> |
99 | <entry><structfield>type</structfield></entry> | 99 | <entry><structfield>type</structfield></entry> |
100 | <entry>The tuner type. This is the same value as in the | 100 | <entry>The tuner type. This is the same value as in the |
101 | &v4l2-tuner; <structfield>type</structfield> field. See The type must be set | 101 | &v4l2-tuner; <structfield>type</structfield> field. The type must be set |
102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> | 102 | to <constant>V4L2_TUNER_RADIO</constant> for <filename>/dev/radioX</filename> |
103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> | 103 | device nodes, and to <constant>V4L2_TUNER_ANALOG_TV</constant> |
104 | for all others. The field is not applicable to modulators, &ie; ignored | 104 | for all others. Set this field to <constant>V4L2_TUNER_RADIO</constant> for |
105 | by drivers. See <xref linkend="v4l2-tuner-type" /></entry> | 105 | modulators (currently only radio modulators are supported). |
106 | See <xref linkend="v4l2-tuner-type" /></entry> | ||
106 | </row> | 107 | </row> |
107 | <row> | 108 | <row> |
108 | <entry>__u32</entry> | 109 | <entry>__u32</entry> |
@@ -135,6 +136,12 @@ bounds or the value in the <structfield>type</structfield> field is | |||
135 | wrong.</para> | 136 | wrong.</para> |
136 | </listitem> | 137 | </listitem> |
137 | </varlistentry> | 138 | </varlistentry> |
139 | <varlistentry> | ||
140 | <term><errorcode>EBUSY</errorcode></term> | ||
141 | <listitem> | ||
142 | <para>A hardware seek is in progress.</para> | ||
143 | </listitem> | ||
144 | </varlistentry> | ||
138 | </variablelist> | 145 | </variablelist> |
139 | </refsect1> | 146 | </refsect1> |
140 | </refentry> | 147 | </refentry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml index bb04eff75f45..f76d8a6d9b92 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml | |||
@@ -65,9 +65,9 @@ Do not use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE | |||
65 | </constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of | 65 | </constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of |
66 | <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is | 66 | <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is |
67 | setting the value of &v4l2-selection; <structfield>target</structfield> field | 67 | setting the value of &v4l2-selection; <structfield>target</structfield> field |
68 | to <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant> | 68 | to <constant> V4L2_SEL_TGT_CROP </constant> (<constant> |
69 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref | 69 | V4L2_SEL_TGT_COMPOSE </constant>). Please refer to table <xref |
70 | linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional | 70 | linkend="v4l2-selections-common" /> or <xref linkend="selection-api" /> for additional |
71 | targets. The <structfield>flags</structfield> and <structfield>reserved | 71 | targets. The <structfield>flags</structfield> and <structfield>reserved |
72 | </structfield> fields of &v4l2-selection; are ignored and they must be filled | 72 | </structfield> fields of &v4l2-selection; are ignored and they must be filled |
73 | with zeros. The driver fills the rest of the structure or | 73 | with zeros. The driver fills the rest of the structure or |
@@ -86,9 +86,9 @@ use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE | |||
86 | </constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of | 86 | </constant>. Use <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> instead of |
87 | <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is | 87 | <constant> V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE </constant>. The next step is |
88 | setting the value of &v4l2-selection; <structfield>target</structfield> to | 88 | setting the value of &v4l2-selection; <structfield>target</structfield> to |
89 | <constant>V4L2_SEL_TGT_CROP_ACTIVE</constant> (<constant> | 89 | <constant>V4L2_SEL_TGT_CROP</constant> (<constant> |
90 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref | 90 | V4L2_SEL_TGT_COMPOSE </constant>). Please refer to table <xref |
91 | linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional | 91 | linkend="v4l2-selections-common" /> or <xref linkend="selection-api" /> for additional |
92 | targets. The &v4l2-rect; <structfield>r</structfield> rectangle need to be | 92 | targets. The &v4l2-rect; <structfield>r</structfield> rectangle need to be |
93 | set to the desired active area. Field &v4l2-selection; <structfield> reserved | 93 | set to the desired active area. Field &v4l2-selection; <structfield> reserved |
94 | </structfield> is ignored and must be filled with zeros. The driver may adjust | 94 | </structfield> is ignored and must be filled with zeros. The driver may adjust |
@@ -154,74 +154,8 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> | |||
154 | 154 | ||
155 | </refsect1> | 155 | </refsect1> |
156 | 156 | ||
157 | <refsect1> | 157 | <para>Selection targets and flags are documented in <xref |
158 | <table frame="none" pgwide="1" id="v4l2-sel-target"> | 158 | linkend="v4l2-selections-common"/>.</para> |
159 | <title>Selection targets.</title> | ||
160 | <tgroup cols="3"> | ||
161 | &cs-def; | ||
162 | <tbody valign="top"> | ||
163 | <row> | ||
164 | <entry><constant>V4L2_SEL_TGT_CROP_ACTIVE</constant></entry> | ||
165 | <entry>0x0000</entry> | ||
166 | <entry>The area that is currently cropped by hardware.</entry> | ||
167 | </row> | ||
168 | <row> | ||
169 | <entry><constant>V4L2_SEL_TGT_CROP_DEFAULT</constant></entry> | ||
170 | <entry>0x0001</entry> | ||
171 | <entry>Suggested cropping rectangle that covers the "whole picture".</entry> | ||
172 | </row> | ||
173 | <row> | ||
174 | <entry><constant>V4L2_SEL_TGT_CROP_BOUNDS</constant></entry> | ||
175 | <entry>0x0002</entry> | ||
176 | <entry>Limits for the cropping rectangle.</entry> | ||
177 | </row> | ||
178 | <row> | ||
179 | <entry><constant>V4L2_SEL_TGT_COMPOSE_ACTIVE</constant></entry> | ||
180 | <entry>0x0100</entry> | ||
181 | <entry>The area to which data is composed by hardware.</entry> | ||
182 | </row> | ||
183 | <row> | ||
184 | <entry><constant>V4L2_SEL_TGT_COMPOSE_DEFAULT</constant></entry> | ||
185 | <entry>0x0101</entry> | ||
186 | <entry>Suggested composing rectangle that covers the "whole picture".</entry> | ||
187 | </row> | ||
188 | <row> | ||
189 | <entry><constant>V4L2_SEL_TGT_COMPOSE_BOUNDS</constant></entry> | ||
190 | <entry>0x0102</entry> | ||
191 | <entry>Limits for the composing rectangle.</entry> | ||
192 | </row> | ||
193 | <row> | ||
194 | <entry><constant>V4L2_SEL_TGT_COMPOSE_PADDED</constant></entry> | ||
195 | <entry>0x0103</entry> | ||
196 | <entry>The active area and all padding pixels that are inserted or modified by hardware.</entry> | ||
197 | </row> | ||
198 | </tbody> | ||
199 | </tgroup> | ||
200 | </table> | ||
201 | </refsect1> | ||
202 | |||
203 | <refsect1> | ||
204 | <table frame="none" pgwide="1" id="v4l2-sel-flags"> | ||
205 | <title>Selection constraint flags</title> | ||
206 | <tgroup cols="3"> | ||
207 | &cs-def; | ||
208 | <tbody valign="top"> | ||
209 | <row> | ||
210 | <entry><constant>V4L2_SEL_FLAG_GE</constant></entry> | ||
211 | <entry>0x00000001</entry> | ||
212 | <entry>Indicates that the adjusted rectangle must contain the original | ||
213 | &v4l2-selection; <structfield>r</structfield> rectangle.</entry> | ||
214 | </row> | ||
215 | <row> | ||
216 | <entry><constant>V4L2_SEL_FLAG_LE</constant></entry> | ||
217 | <entry>0x00000002</entry> | ||
218 | <entry>Indicates that the adjusted rectangle must be inside the original | ||
219 | &v4l2-rect; <structfield>r</structfield> rectangle.</entry> | ||
220 | </row> | ||
221 | </tbody> | ||
222 | </tgroup> | ||
223 | </table> | ||
224 | </refsect1> | ||
225 | 159 | ||
226 | <section> | 160 | <section> |
227 | <figure id="sel-const-adjust"> | 161 | <figure id="sel-const-adjust"> |
@@ -252,14 +186,14 @@ exist no rectangle </emphasis> that satisfies the constraints.</para> | |||
252 | <row> | 186 | <row> |
253 | <entry>__u32</entry> | 187 | <entry>__u32</entry> |
254 | <entry><structfield>target</structfield></entry> | 188 | <entry><structfield>target</structfield></entry> |
255 | <entry>Used to select between <link linkend="v4l2-sel-target"> cropping | 189 | <entry>Used to select between <link linkend="v4l2-selections-common"> cropping |
256 | and composing rectangles</link>.</entry> | 190 | and composing rectangles</link>.</entry> |
257 | </row> | 191 | </row> |
258 | <row> | 192 | <row> |
259 | <entry>__u32</entry> | 193 | <entry>__u32</entry> |
260 | <entry><structfield>flags</structfield></entry> | 194 | <entry><structfield>flags</structfield></entry> |
261 | <entry>Flags controlling the selection rectangle adjustments, refer to | 195 | <entry>Flags controlling the selection rectangle adjustments, refer to |
262 | <link linkend="v4l2-sel-flags">selection flags</link>.</entry> | 196 | <link linkend="v4l2-selection-flags">selection flags</link>.</entry> |
263 | </row> | 197 | </row> |
264 | <row> | 198 | <row> |
265 | <entry>&v4l2-rect;</entry> | 199 | <entry>&v4l2-rect;</entry> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml index 62a1aa200a36..720395127904 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml | |||
@@ -119,10 +119,14 @@ field is not quite clear.--></para></entry> | |||
119 | <xref linkend="tuner-capability" />. Audio flags indicate the ability | 119 | <xref linkend="tuner-capability" />. Audio flags indicate the ability |
120 | to decode audio subprograms. They will <emphasis>not</emphasis> | 120 | to decode audio subprograms. They will <emphasis>not</emphasis> |
121 | change, for example with the current video standard.</para><para>When | 121 | change, for example with the current video standard.</para><para>When |
122 | the structure refers to a radio tuner only the | 122 | the structure refers to a radio tuner the |
123 | <constant>V4L2_TUNER_CAP_LOW</constant>, | 123 | <constant>V4L2_TUNER_CAP_LANG1</constant>, |
124 | <constant>V4L2_TUNER_CAP_STEREO</constant> and | 124 | <constant>V4L2_TUNER_CAP_LANG2</constant> and |
125 | <constant>V4L2_TUNER_CAP_RDS</constant> flags can be set.</para></entry> | 125 | <constant>V4L2_TUNER_CAP_NORM</constant> flags can't be used.</para> |
126 | <para>If multiple frequency bands are supported, then | ||
127 | <structfield>capability</structfield> is the union of all | ||
128 | <structfield>capability></structfield> fields of each &v4l2-frequency-band;. | ||
129 | </para></entry> | ||
126 | </row> | 130 | </row> |
127 | <row> | 131 | <row> |
128 | <entry>__u32</entry> | 132 | <entry>__u32</entry> |
@@ -130,7 +134,9 @@ the structure refers to a radio tuner only the | |||
130 | <entry spanname="hspan">The lowest tunable frequency in | 134 | <entry spanname="hspan">The lowest tunable frequency in |
131 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 135 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
132 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 136 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
133 | Hz.</entry> | 137 | Hz. If multiple frequency bands are supported, then |
138 | <structfield>rangelow</structfield> is the lowest frequency | ||
139 | of all the frequency bands.</entry> | ||
134 | </row> | 140 | </row> |
135 | <row> | 141 | <row> |
136 | <entry>__u32</entry> | 142 | <entry>__u32</entry> |
@@ -138,7 +144,9 @@ Hz.</entry> | |||
138 | <entry spanname="hspan">The highest tunable frequency in | 144 | <entry spanname="hspan">The highest tunable frequency in |
139 | units of 62.5 kHz, or if the <structfield>capability</structfield> | 145 | units of 62.5 kHz, or if the <structfield>capability</structfield> |
140 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 | 146 | flag <constant>V4L2_TUNER_CAP_LOW</constant> is set, in units of 62.5 |
141 | Hz.</entry> | 147 | Hz. If multiple frequency bands are supported, then |
148 | <structfield>rangehigh</structfield> is the highest frequency | ||
149 | of all the frequency bands.</entry> | ||
142 | </row> | 150 | </row> |
143 | <row> | 151 | <row> |
144 | <entry>__u32</entry> | 152 | <entry>__u32</entry> |
@@ -276,6 +284,18 @@ can or must be switched. (B/G PAL tuners for example are typically not | |||
276 | <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</entry> | 284 | <constant>V4L2_TUNER_ANALOG_TV</constant> tuners can have this capability.</entry> |
277 | </row> | 285 | </row> |
278 | <row> | 286 | <row> |
287 | <entry><constant>V4L2_TUNER_CAP_HWSEEK_BOUNDED</constant></entry> | ||
288 | <entry>0x0004</entry> | ||
289 | <entry>If set, then this tuner supports the hardware seek functionality | ||
290 | where the seek stops when it reaches the end of the frequency range.</entry> | ||
291 | </row> | ||
292 | <row> | ||
293 | <entry><constant>V4L2_TUNER_CAP_HWSEEK_WRAP</constant></entry> | ||
294 | <entry>0x0008</entry> | ||
295 | <entry>If set, then this tuner supports the hardware seek functionality | ||
296 | where the seek wraps around when it reaches the end of the frequency range.</entry> | ||
297 | </row> | ||
298 | <row> | ||
279 | <entry><constant>V4L2_TUNER_CAP_STEREO</constant></entry> | 299 | <entry><constant>V4L2_TUNER_CAP_STEREO</constant></entry> |
280 | <entry>0x0010</entry> | 300 | <entry>0x0010</entry> |
281 | <entry>Stereo audio reception is supported.</entry> | 301 | <entry>Stereo audio reception is supported.</entry> |
@@ -328,6 +348,12 @@ radio tuners.</entry> | |||
328 | <entry>0x0200</entry> | 348 | <entry>0x0200</entry> |
329 | <entry>The RDS data is parsed by the hardware and set via controls.</entry> | 349 | <entry>The RDS data is parsed by the hardware and set via controls.</entry> |
330 | </row> | 350 | </row> |
351 | <row> | ||
352 | <entry><constant>V4L2_TUNER_CAP_FREQ_BANDS</constant></entry> | ||
353 | <entry>0x0400</entry> | ||
354 | <entry>The &VIDIOC-ENUM-FREQ-BANDS; ioctl can be used to enumerate | ||
355 | the available frequency bands.</entry> | ||
356 | </row> | ||
331 | </tbody> | 357 | </tbody> |
332 | </tgroup> | 358 | </tgroup> |
333 | </table> | 359 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml index 9caa49af580f..77ff5be0809d 100644 --- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml | |||
@@ -71,12 +71,9 @@ initialize the <structfield>bytesused</structfield>, | |||
71 | <structfield>field</structfield> and | 71 | <structfield>field</structfield> and |
72 | <structfield>timestamp</structfield> fields, see <xref | 72 | <structfield>timestamp</structfield> fields, see <xref |
73 | linkend="buffer" /> for details. | 73 | linkend="buffer" /> for details. |
74 | Applications must also set <structfield>flags</structfield> to 0. If a driver | 74 | Applications must also set <structfield>flags</structfield> to 0. |
75 | supports capturing from specific video inputs and you want to specify a video | 75 | The <structfield>reserved2</structfield> and |
76 | input, then <structfield>flags</structfield> should be set to | 76 | <structfield>reserved</structfield> fields must be set to 0. When using |
77 | <constant>V4L2_BUF_FLAG_INPUT</constant> and the field | ||
78 | <structfield>input</structfield> must be initialized to the desired input. | ||
79 | The <structfield>reserved</structfield> field must be set to 0. When using | ||
80 | the <link linkend="planar-apis">multi-planar API</link>, the | 77 | the <link linkend="planar-apis">multi-planar API</link>, the |
81 | <structfield>m.planes</structfield> field must contain a userspace pointer | 78 | <structfield>m.planes</structfield> field must contain a userspace pointer |
82 | to a filled-in array of &v4l2-plane; and the <structfield>length</structfield> | 79 | to a filled-in array of &v4l2-plane; and the <structfield>length</structfield> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-querycap.xml b/Documentation/DocBook/media/v4l/vidioc-querycap.xml index 4643505cd4ca..f33dd746b66b 100644 --- a/Documentation/DocBook/media/v4l/vidioc-querycap.xml +++ b/Documentation/DocBook/media/v4l/vidioc-querycap.xml | |||
@@ -192,6 +192,19 @@ linkend="output">Video Output</link> interface.</entry> | |||
192 | <link linkend="output">Video Output</link> interface.</entry> | 192 | <link linkend="output">Video Output</link> interface.</entry> |
193 | </row> | 193 | </row> |
194 | <row> | 194 | <row> |
195 | <entry><constant>V4L2_CAP_VIDEO_M2M</constant></entry> | ||
196 | <entry>0x00004000</entry> | ||
197 | <entry>The device supports the single-planar API through the | ||
198 | Video Memory-To-Memory interface.</entry> | ||
199 | </row> | ||
200 | <row> | ||
201 | <entry><constant>V4L2_CAP_VIDEO_M2M_MPLANE</constant></entry> | ||
202 | <entry>0x00008000</entry> | ||
203 | <entry>The device supports the | ||
204 | <link linkend="planar-apis">multi-planar API</link> through the | ||
205 | Video Memory-To-Memory interface.</entry> | ||
206 | </row> | ||
207 | <row> | ||
195 | <entry><constant>V4L2_CAP_VIDEO_OVERLAY</constant></entry> | 208 | <entry><constant>V4L2_CAP_VIDEO_OVERLAY</constant></entry> |
196 | <entry>0x00000004</entry> | 209 | <entry>0x00000004</entry> |
197 | <entry>The device supports the <link | 210 | <entry>The device supports the <link |
diff --git a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml index 407dfceb71f0..3dd1bec6d3c7 100644 --- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml +++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml | |||
@@ -52,11 +52,26 @@ | |||
52 | <para>Start a hardware frequency seek from the current frequency. | 52 | <para>Start a hardware frequency seek from the current frequency. |
53 | To do this applications initialize the <structfield>tuner</structfield>, | 53 | To do this applications initialize the <structfield>tuner</structfield>, |
54 | <structfield>type</structfield>, <structfield>seek_upward</structfield>, | 54 | <structfield>type</structfield>, <structfield>seek_upward</structfield>, |
55 | <structfield>spacing</structfield> and | 55 | <structfield>wrap_around</structfield>, <structfield>spacing</structfield>, |
56 | <structfield>wrap_around</structfield> fields, and zero out the | 56 | <structfield>rangelow</structfield> and <structfield>rangehigh</structfield> |
57 | <structfield>reserved</structfield> array of a &v4l2-hw-freq-seek; and | 57 | fields, and zero out the <structfield>reserved</structfield> array of a |
58 | call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant> ioctl with a pointer | 58 | &v4l2-hw-freq-seek; and call the <constant>VIDIOC_S_HW_FREQ_SEEK</constant> |
59 | to this structure.</para> | 59 | ioctl with a pointer to this structure.</para> |
60 | |||
61 | <para>The <structfield>rangelow</structfield> and | ||
62 | <structfield>rangehigh</structfield> fields can be set to a non-zero value to | ||
63 | tell the driver to search a specific band. If the &v4l2-tuner; | ||
64 | <structfield>capability</structfield> field has the | ||
65 | <constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant> flag set, these values | ||
66 | must fall within one of the bands returned by &VIDIOC-ENUM-FREQ-BANDS;. If | ||
67 | the <constant>V4L2_TUNER_CAP_HWSEEK_PROG_LIM</constant> flag is not set, | ||
68 | then these values must exactly match those of one of the bands returned by | ||
69 | &VIDIOC-ENUM-FREQ-BANDS;. If the current frequency of the tuner does not fall | ||
70 | within the selected band it will be clamped to fit in the band before the | ||
71 | seek is started.</para> | ||
72 | |||
73 | <para>If an error is returned, then the original frequency will | ||
74 | be restored.</para> | ||
60 | 75 | ||
61 | <para>This ioctl is supported if the <constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability is set.</para> | 76 | <para>This ioctl is supported if the <constant>V4L2_CAP_HW_FREQ_SEEK</constant> capability is set.</para> |
62 | 77 | ||
@@ -87,7 +102,10 @@ field and the &v4l2-tuner; <structfield>index</structfield> field.</entry> | |||
87 | <row> | 102 | <row> |
88 | <entry>__u32</entry> | 103 | <entry>__u32</entry> |
89 | <entry><structfield>wrap_around</structfield></entry> | 104 | <entry><structfield>wrap_around</structfield></entry> |
90 | <entry>If non-zero, wrap around when at the end of the frequency range, else stop seeking.</entry> | 105 | <entry>If non-zero, wrap around when at the end of the frequency range, else stop seeking. |
106 | The &v4l2-tuner; <structfield>capability</structfield> field will tell you what the | ||
107 | hardware supports. | ||
108 | </entry> | ||
91 | </row> | 109 | </row> |
92 | <row> | 110 | <row> |
93 | <entry>__u32</entry> | 111 | <entry>__u32</entry> |
@@ -96,7 +114,27 @@ field and the &v4l2-tuner; <structfield>index</structfield> field.</entry> | |||
96 | </row> | 114 | </row> |
97 | <row> | 115 | <row> |
98 | <entry>__u32</entry> | 116 | <entry>__u32</entry> |
99 | <entry><structfield>reserved</structfield>[7]</entry> | 117 | <entry><structfield>rangelow</structfield></entry> |
118 | <entry>If non-zero, the lowest tunable frequency of the band to | ||
119 | search in units of 62.5 kHz, or if the &v4l2-tuner; | ||
120 | <structfield>capability</structfield> field has the | ||
121 | <constant>V4L2_TUNER_CAP_LOW</constant> flag set, in units of 62.5 Hz. | ||
122 | If <structfield>rangelow</structfield> is zero a reasonable default value | ||
123 | is used.</entry> | ||
124 | </row> | ||
125 | <row> | ||
126 | <entry>__u32</entry> | ||
127 | <entry><structfield>rangehigh</structfield></entry> | ||
128 | <entry>If non-zero, the highest tunable frequency of the band to | ||
129 | search in units of 62.5 kHz, or if the &v4l2-tuner; | ||
130 | <structfield>capability</structfield> field has the | ||
131 | <constant>V4L2_TUNER_CAP_LOW</constant> flag set, in units of 62.5 Hz. | ||
132 | If <structfield>rangehigh</structfield> is zero a reasonable default value | ||
133 | is used.</entry> | ||
134 | </row> | ||
135 | <row> | ||
136 | <entry>__u32</entry> | ||
137 | <entry><structfield>reserved</structfield>[5]</entry> | ||
100 | <entry>Reserved for future extensions. Applications | 138 | <entry>Reserved for future extensions. Applications |
101 | must set the array to zero.</entry> | 139 | must set the array to zero.</entry> |
102 | </row> | 140 | </row> |
@@ -113,14 +151,22 @@ field and the &v4l2-tuner; <structfield>index</structfield> field.</entry> | |||
113 | <term><errorcode>EINVAL</errorcode></term> | 151 | <term><errorcode>EINVAL</errorcode></term> |
114 | <listitem> | 152 | <listitem> |
115 | <para>The <structfield>tuner</structfield> index is out of | 153 | <para>The <structfield>tuner</structfield> index is out of |
116 | bounds, the wrap_around value is not supported or the value in the <structfield>type</structfield> field is | 154 | bounds, the <structfield>wrap_around</structfield> value is not supported or |
117 | wrong.</para> | 155 | one of the values in the <structfield>type</structfield>, |
156 | <structfield>rangelow</structfield> or <structfield>rangehigh</structfield> | ||
157 | fields is wrong.</para> | ||
158 | </listitem> | ||
159 | </varlistentry> | ||
160 | <varlistentry> | ||
161 | <term><errorcode>ENODATA</errorcode></term> | ||
162 | <listitem> | ||
163 | <para>The hardware seek found no channels.</para> | ||
118 | </listitem> | 164 | </listitem> |
119 | </varlistentry> | 165 | </varlistentry> |
120 | <varlistentry> | 166 | <varlistentry> |
121 | <term><errorcode>EAGAIN</errorcode></term> | 167 | <term><errorcode>EBUSY</errorcode></term> |
122 | <listitem> | 168 | <listitem> |
123 | <para>The ioctl timed-out. Try again.</para> | 169 | <para>Another hardware seek is already in progress.</para> |
124 | </listitem> | 170 | </listitem> |
125 | </varlistentry> | 171 | </varlistentry> |
126 | </variablelist> | 172 | </variablelist> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml index 208e9f0da3f3..f33cc814a01d 100644 --- a/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml +++ b/Documentation/DocBook/media/v4l/vidioc-subdev-g-selection.xml | |||
@@ -72,10 +72,10 @@ | |||
72 | <section> | 72 | <section> |
73 | <title>Types of selection targets</title> | 73 | <title>Types of selection targets</title> |
74 | 74 | ||
75 | <para>There are two types of selection targets: actual and bounds. | 75 | <para>There are two types of selection targets: actual and bounds. The |
76 | The ACTUAL targets are the targets which configure the hardware. | 76 | actual targets are the targets which configure the hardware. The BOUNDS |
77 | The BOUNDS target will return a rectangle that contain all | 77 | target will return a rectangle that contain all possible actual |
78 | possible ACTUAL rectangles.</para> | 78 | rectangles.</para> |
79 | </section> | 79 | </section> |
80 | 80 | ||
81 | <section> | 81 | <section> |
@@ -87,71 +87,8 @@ | |||
87 | <constant>EINVAL</constant>.</para> | 87 | <constant>EINVAL</constant>.</para> |
88 | </section> | 88 | </section> |
89 | 89 | ||
90 | <table pgwide="1" frame="none" id="v4l2-subdev-selection-targets"> | 90 | <para>Selection targets and flags are documented in <xref |
91 | <title>V4L2 subdev selection targets</title> | 91 | linkend="v4l2-selections-common"/>.</para> |
92 | <tgroup cols="3"> | ||
93 | &cs-def; | ||
94 | <tbody valign="top"> | ||
95 | <row> | ||
96 | <entry><constant>V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL</constant></entry> | ||
97 | <entry>0x0000</entry> | ||
98 | <entry>Actual crop. Defines the cropping | ||
99 | performed by the processing step.</entry> | ||
100 | </row> | ||
101 | <row> | ||
102 | <entry><constant>V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS</constant></entry> | ||
103 | <entry>0x0002</entry> | ||
104 | <entry>Bounds of the crop rectangle.</entry> | ||
105 | </row> | ||
106 | <row> | ||
107 | <entry><constant>V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL</constant></entry> | ||
108 | <entry>0x0100</entry> | ||
109 | <entry>Actual compose rectangle. Used to configure scaling | ||
110 | on sink pads and composition on source pads.</entry> | ||
111 | </row> | ||
112 | <row> | ||
113 | <entry><constant>V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS</constant></entry> | ||
114 | <entry>0x0102</entry> | ||
115 | <entry>Bounds of the compose rectangle.</entry> | ||
116 | </row> | ||
117 | </tbody> | ||
118 | </tgroup> | ||
119 | </table> | ||
120 | |||
121 | <table pgwide="1" frame="none" id="v4l2-subdev-selection-flags"> | ||
122 | <title>V4L2 subdev selection flags</title> | ||
123 | <tgroup cols="3"> | ||
124 | &cs-def; | ||
125 | <tbody valign="top"> | ||
126 | <row> | ||
127 | <entry><constant>V4L2_SUBDEV_SEL_FLAG_SIZE_GE</constant></entry> | ||
128 | <entry>(1 << 0)</entry> <entry>Suggest the driver it | ||
129 | should choose greater or equal rectangle (in size) than | ||
130 | was requested. Albeit the driver may choose a lesser size, | ||
131 | it will only do so due to hardware limitations. Without | ||
132 | this flag (and | ||
133 | <constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant>) the | ||
134 | behaviour is to choose the closest possible | ||
135 | rectangle.</entry> | ||
136 | </row> | ||
137 | <row> | ||
138 | <entry><constant>V4L2_SUBDEV_SEL_FLAG_SIZE_LE</constant></entry> | ||
139 | <entry>(1 << 1)</entry> <entry>Suggest the driver it | ||
140 | should choose lesser or equal rectangle (in size) than was | ||
141 | requested. Albeit the driver may choose a greater size, it | ||
142 | will only do so due to hardware limitations.</entry> | ||
143 | </row> | ||
144 | <row> | ||
145 | <entry><constant>V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG</constant></entry> | ||
146 | <entry>(1 << 2)</entry> | ||
147 | <entry>The configuration should not be propagated to any | ||
148 | further processing steps. If this flag is not given, the | ||
149 | configuration is propagated inside the subdevice to all | ||
150 | further processing steps.</entry> | ||
151 | </row> | ||
152 | </tbody> | ||
153 | </tgroup> | ||
154 | </table> | ||
155 | 92 | ||
156 | <table pgwide="1" frame="none" id="v4l2-subdev-selection"> | 93 | <table pgwide="1" frame="none" id="v4l2-subdev-selection"> |
157 | <title>struct <structname>v4l2_subdev_selection</structname></title> | 94 | <title>struct <structname>v4l2_subdev_selection</structname></title> |
@@ -173,13 +110,13 @@ | |||
173 | <entry>__u32</entry> | 110 | <entry>__u32</entry> |
174 | <entry><structfield>target</structfield></entry> | 111 | <entry><structfield>target</structfield></entry> |
175 | <entry>Target selection rectangle. See | 112 | <entry>Target selection rectangle. See |
176 | <xref linkend="v4l2-subdev-selection-targets">.</xref>.</entry> | 113 | <xref linkend="v4l2-selections-common" />.</entry> |
177 | </row> | 114 | </row> |
178 | <row> | 115 | <row> |
179 | <entry>__u32</entry> | 116 | <entry>__u32</entry> |
180 | <entry><structfield>flags</structfield></entry> | 117 | <entry><structfield>flags</structfield></entry> |
181 | <entry>Flags. See | 118 | <entry>Flags. See |
182 | <xref linkend="v4l2-subdev-selection-flags">.</xref></entry> | 119 | <xref linkend="v4l2-selection-flags" />.</entry> |
183 | </row> | 120 | </row> |
184 | <row> | 121 | <row> |
185 | <entry>&v4l2-rect;</entry> | 122 | <entry>&v4l2-rect;</entry> |