diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-15 15:49:56 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-15 15:49:56 -0500 |
commit | 122804ecb59493fbb4d31b3ba9ac59faaf45276f (patch) | |
tree | cff4d8a158c412e4a8d3abc8d91bb0eb52b01c9a /Documentation/DocBook/media/v4l | |
parent | 16008d641670571ff4cd750b416c7caf2d89f467 (diff) | |
parent | 126400033940afb658123517a2e80eb68259fbd7 (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
[media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
mb86a20s: Add a few more register settings at the init seq
mb86a20s: Group registers into the same line
[media] [PATCH] don't reset the delivery system on DTV_CLEAR
[media] [BUG] it913x-fe fix typo error making SNR levels unstable
[media] cx23885: Query the CX25840 during enum_input for status
[media] cx25840: Add support for g_input_status
[media] rc-videomate-m1f.c Rename to match remote controler name
[media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
[media] convert drivers/media/* to use module_platform_driver()
[media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
[media] Exynos4 JPEG codec v4l2 driver
[media] doc: v4l: selection: choose pixels as units for selection rectangles
[media] v4l: s5p-tv: mixer: fix setup of VP scaling
[media] v4l: s5p-tv: mixer: add support for selection API
[media] v4l: emulate old crop API using extended crop/compose API
[media] doc: v4l: add documentation for selection API
[media] doc: v4l: add binary images for selection API
[media] v4l: add support for selection api
[media] hd29l2: fix review findings
...
Diffstat (limited to 'Documentation/DocBook/media/v4l')
71 files changed, 710 insertions, 554 deletions
diff --git a/Documentation/DocBook/media/v4l/biblio.xml b/Documentation/DocBook/media/v4l/biblio.xml index afc8a0dd2601..cea6fd3ed428 100644 --- a/Documentation/DocBook/media/v4l/biblio.xml +++ b/Documentation/DocBook/media/v4l/biblio.xml | |||
@@ -178,11 +178,3 @@ in the frequency range from 87,5 to 108,0 MHz</title> | |||
178 | </biblioentry> | 178 | </biblioentry> |
179 | 179 | ||
180 | </bibliography> | 180 | </bibliography> |
181 | |||
182 | <!-- | ||
183 | Local Variables: | ||
184 | mode: sgml | ||
185 | sgml-parent-document: "v4l2.sgml" | ||
186 | indent-tabs-mode: nil | ||
187 | End: | ||
188 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/common.xml b/Documentation/DocBook/media/v4l/common.xml index a86f7a045529..c79278acfb0e 100644 --- a/Documentation/DocBook/media/v4l/common.xml +++ b/Documentation/DocBook/media/v4l/common.xml | |||
@@ -1168,6 +1168,8 @@ dheight = format.fmt.pix.height; | |||
1168 | </section> | 1168 | </section> |
1169 | </section> | 1169 | </section> |
1170 | 1170 | ||
1171 | &sub-selection-api; | ||
1172 | |||
1171 | <section id="streaming-par"> | 1173 | <section id="streaming-par"> |
1172 | <title>Streaming Parameters</title> | 1174 | <title>Streaming Parameters</title> |
1173 | 1175 | ||
@@ -1195,11 +1197,3 @@ separate parameters for input and output devices.</para> | |||
1195 | <para>These ioctls are optional, drivers need not implement | 1197 | <para>These ioctls are optional, drivers need not implement |
1196 | them. If so, they return the &EINVAL;.</para> | 1198 | them. If so, they return the &EINVAL;.</para> |
1197 | </section> | 1199 | </section> |
1198 | |||
1199 | <!-- | ||
1200 | Local Variables: | ||
1201 | mode: sgml | ||
1202 | sgml-parent-document: "v4l2.sgml" | ||
1203 | indent-tabs-mode: nil | ||
1204 | End: | ||
1205 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index b68698f96e7f..c736380b4647 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -1082,7 +1082,7 @@ until the time in the timestamp field has arrived. I would like to | |||
1082 | follow SGI's lead, and adopt a multimedia timestamping system like | 1082 | follow SGI's lead, and adopt a multimedia timestamping system like |
1083 | their UST (Unadjusted System Time). See | 1083 | their UST (Unadjusted System Time). See |
1084 | http://web.archive.org/web/*/http://reality.sgi.com | 1084 | http://web.archive.org/web/*/http://reality.sgi.com |
1085 | /cpirazzi_engr/lg/time/intro.html. | 1085 | /cpirazzi_engr/lg/time/intro.html. |
1086 | UST uses timestamps that are 64-bit signed integers | 1086 | UST uses timestamps that are 64-bit signed integers |
1087 | (not struct timeval's) and given in nanosecond units. The UST clock | 1087 | (not struct timeval's) and given in nanosecond units. The UST clock |
1088 | starts at zero when the system is booted and runs continuously and | 1088 | starts at zero when the system is booted and runs continuously and |
@@ -2376,6 +2376,23 @@ that used it. It was originally scheduled for removal in 2.6.35. | |||
2376 | <listitem> | 2376 | <listitem> |
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> | ||
2380 | <para>Add selection API for extended control over cropping and | ||
2381 | composing. Does not affect the compatibility of current drivers and | ||
2382 | applications. See <link linkend="selection-api"> selection API </link> for | ||
2383 | details.</para> | ||
2384 | </listitem> | ||
2385 | </orderedlist> | ||
2386 | </section> | ||
2387 | |||
2388 | <section> | ||
2389 | <title>V4L2 in Linux 3.3</title> | ||
2390 | <orderedlist> | ||
2391 | <listitem> | ||
2392 | <para>Added <constant>V4L2_CID_ALPHA_COMPONENT</constant> control | ||
2393 | to the <link linkend="control">User controls class</link>. | ||
2394 | </para> | ||
2395 | </listitem> | ||
2379 | </orderedlist> | 2396 | </orderedlist> |
2380 | </section> | 2397 | </section> |
2381 | 2398 | ||
@@ -2489,6 +2506,9 @@ ioctls.</para> | |||
2489 | <listitem> | 2506 | <listitem> |
2490 | <para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para> | 2507 | <para>&VIDIOC-CREATE-BUFS; and &VIDIOC-PREPARE-BUF; ioctls.</para> |
2491 | </listitem> | 2508 | </listitem> |
2509 | <listitem> | ||
2510 | <para>Selection API. <xref linkend="selection-api" /></para> | ||
2511 | </listitem> | ||
2492 | </itemizedlist> | 2512 | </itemizedlist> |
2493 | </section> | 2513 | </section> |
2494 | 2514 | ||
@@ -2507,11 +2527,3 @@ interfaces and should not be implemented in new drivers.</para> | |||
2507 | </itemizedlist> | 2527 | </itemizedlist> |
2508 | </section> | 2528 | </section> |
2509 | </section> | 2529 | </section> |
2510 | |||
2511 | <!-- | ||
2512 | Local Variables: | ||
2513 | mode: sgml | ||
2514 | sgml-parent-document: "v4l2.sgml" | ||
2515 | indent-tabs-mode: nil | ||
2516 | End: | ||
2517 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml index 3bc5ee8b2c74..a1be37897ad7 100644 --- a/Documentation/DocBook/media/v4l/controls.xml +++ b/Documentation/DocBook/media/v4l/controls.xml | |||
@@ -324,12 +324,6 @@ minimum value disables backlight compensation.</entry> | |||
324 | (usually a microscope).</entry> | 324 | (usually a microscope).</entry> |
325 | </row> | 325 | </row> |
326 | <row> | 326 | <row> |
327 | <entry><constant>V4L2_CID_LASTP1</constant></entry> | ||
328 | <entry></entry> | ||
329 | <entry>End of the predefined control IDs (currently | ||
330 | <constant>V4L2_CID_ILLUMINATORS_2</constant> + 1).</entry> | ||
331 | </row> | ||
332 | <row> | ||
333 | <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry> | 327 | <entry><constant>V4L2_CID_MIN_BUFFERS_FOR_CAPTURE</constant></entry> |
334 | <entry>integer</entry> | 328 | <entry>integer</entry> |
335 | <entry>This is a read-only control that can be read by the application | 329 | <entry>This is a read-only control that can be read by the application |
@@ -345,6 +339,25 @@ and used as a hint to determine the number of OUTPUT buffers to pass to REQBUFS. | |||
345 | The value is the minimum number of OUTPUT buffers that is necessary for hardware | 339 | The value is the minimum number of OUTPUT buffers that is necessary for hardware |
346 | to work.</entry> | 340 | to work.</entry> |
347 | </row> | 341 | </row> |
342 | <row id="v4l2-alpha-component"> | ||
343 | <entry><constant>V4L2_CID_ALPHA_COMPONENT</constant></entry> | ||
344 | <entry>integer</entry> | ||
345 | <entry> Sets the alpha color component on the capture device or on | ||
346 | the capture buffer queue of a mem-to-mem device. When a mem-to-mem | ||
347 | device produces frame format that includes an alpha component | ||
348 | (e.g. <link linkend="rgb-formats">packed RGB image formats</link>) | ||
349 | and the alpha value is not defined by the mem-to-mem input data | ||
350 | this control lets you select the alpha component value of all | ||
351 | pixels. It is applicable to any pixel format that contains an alpha | ||
352 | component. | ||
353 | </entry> | ||
354 | </row> | ||
355 | <row> | ||
356 | <entry><constant>V4L2_CID_LASTP1</constant></entry> | ||
357 | <entry></entry> | ||
358 | <entry>End of the predefined control IDs (currently | ||
359 | <constant>V4L2_CID_ALPHA_COMPONENT</constant> + 1).</entry> | ||
360 | </row> | ||
348 | <row> | 361 | <row> |
349 | <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry> | 362 | <entry><constant>V4L2_CID_PRIVATE_BASE</constant></entry> |
350 | <entry></entry> | 363 | <entry></entry> |
@@ -3329,6 +3342,16 @@ interface and may change in the future.</para> | |||
3329 | <entry>The short circuit protection of the flash | 3342 | <entry>The short circuit protection of the flash |
3330 | controller has been triggered.</entry> | 3343 | controller has been triggered.</entry> |
3331 | </row> | 3344 | </row> |
3345 | <row> | ||
3346 | <entry><constant>V4L2_FLASH_FAULT_OVER_CURRENT</constant></entry> | ||
3347 | <entry>Current in the LED power supply has exceeded the limit | ||
3348 | specific to the flash controller.</entry> | ||
3349 | </row> | ||
3350 | <row> | ||
3351 | <entry><constant>V4L2_FLASH_FAULT_INDICATOR</constant></entry> | ||
3352 | <entry>The flash controller has detected a short or open | ||
3353 | circuit condition on the indicator LED.</entry> | ||
3354 | </row> | ||
3332 | </tbody> | 3355 | </tbody> |
3333 | </entrytbl> | 3356 | </entrytbl> |
3334 | </row> | 3357 | </row> |
@@ -3357,11 +3380,3 @@ interface and may change in the future.</para> | |||
3357 | 3380 | ||
3358 | </section> | 3381 | </section> |
3359 | </section> | 3382 | </section> |
3360 | |||
3361 | <!-- | ||
3362 | Local Variables: | ||
3363 | mode: sgml | ||
3364 | sgml-parent-document: "common.sgml" | ||
3365 | indent-tabs-mode: nil | ||
3366 | End: | ||
3367 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-capture.xml b/Documentation/DocBook/media/v4l/dev-capture.xml index 2237c661f26a..e1c5f9406d6a 100644 --- a/Documentation/DocBook/media/v4l/dev-capture.xml +++ b/Documentation/DocBook/media/v4l/dev-capture.xml | |||
@@ -108,11 +108,3 @@ linkend="mmap">memory mapping</link> or <link | |||
108 | linkend="userp">user pointer</link>) I/O. See <xref | 108 | linkend="userp">user pointer</link>) I/O. See <xref |
109 | linkend="io" /> for details.</para> | 109 | linkend="io" /> for details.</para> |
110 | </section> | 110 | </section> |
111 | |||
112 | <!-- | ||
113 | Local Variables: | ||
114 | mode: sgml | ||
115 | sgml-parent-document: "v4l2.sgml" | ||
116 | indent-tabs-mode: nil | ||
117 | End: | ||
118 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-codec.xml b/Documentation/DocBook/media/v4l/dev-codec.xml index 6e156dc45b94..dca0ecd54dc6 100644 --- a/Documentation/DocBook/media/v4l/dev-codec.xml +++ b/Documentation/DocBook/media/v4l/dev-codec.xml | |||
@@ -16,11 +16,3 @@ Applications send data to be converted to the driver through a | |||
16 | I/O.</para> | 16 | I/O.</para> |
17 | 17 | ||
18 | <para>[to do]</para> | 18 | <para>[to do]</para> |
19 | |||
20 | <!-- | ||
21 | Local Variables: | ||
22 | mode: sgml | ||
23 | sgml-parent-document: "v4l2.sgml" | ||
24 | indent-tabs-mode: nil | ||
25 | End: | ||
26 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-effect.xml b/Documentation/DocBook/media/v4l/dev-effect.xml index 9c243beba0e6..2350a67c0710 100644 --- a/Documentation/DocBook/media/v4l/dev-effect.xml +++ b/Documentation/DocBook/media/v4l/dev-effect.xml | |||
@@ -15,11 +15,3 @@ receive the result data either with &func-read; and &func-write; | |||
15 | functions, or through the streaming I/O mechanism.</para> | 15 | functions, or through the streaming I/O mechanism.</para> |
16 | 16 | ||
17 | <para>[to do]</para> | 17 | <para>[to do]</para> |
18 | |||
19 | <!-- | ||
20 | Local Variables: | ||
21 | mode: sgml | ||
22 | sgml-parent-document: "v4l2.sgml" | ||
23 | indent-tabs-mode: nil | ||
24 | End: | ||
25 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-event.xml b/Documentation/DocBook/media/v4l/dev-event.xml index f14ae3fe107c..19f4becfae34 100644 --- a/Documentation/DocBook/media/v4l/dev-event.xml +++ b/Documentation/DocBook/media/v4l/dev-event.xml | |||
@@ -41,11 +41,3 @@ intermediate step leading up to that information. See the documentation for the | |||
41 | event you want to subscribe to whether this is applicable for that event or not.</para> | 41 | event you want to subscribe to whether this is applicable for that event or not.</para> |
42 | </listitem> | 42 | </listitem> |
43 | </orderedlist></para> | 43 | </orderedlist></para> |
44 | |||
45 | <!-- | ||
46 | Local Variables: | ||
47 | mode: sgml | ||
48 | sgml-parent-document: "v4l2.sgml" | ||
49 | indent-tabs-mode: nil | ||
50 | End: | ||
51 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-osd.xml b/Documentation/DocBook/media/v4l/dev-osd.xml index c9a68a2ccd33..479d9433869a 100644 --- a/Documentation/DocBook/media/v4l/dev-osd.xml +++ b/Documentation/DocBook/media/v4l/dev-osd.xml | |||
@@ -154,11 +154,3 @@ data flow. For more information see <xref linkend="crop" />.</para> | |||
154 | however the framebuffer interface of the driver may support the | 154 | however the framebuffer interface of the driver may support the |
155 | <constant>FBIOBLANK</constant> ioctl.</para> | 155 | <constant>FBIOBLANK</constant> ioctl.</para> |
156 | </section> | 156 | </section> |
157 | |||
158 | <!-- | ||
159 | Local Variables: | ||
160 | mode: sgml | ||
161 | sgml-parent-document: "v4l2.sgml" | ||
162 | indent-tabs-mode: nil | ||
163 | End: | ||
164 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-output.xml b/Documentation/DocBook/media/v4l/dev-output.xml index 919e22c53854..9130a3dc7880 100644 --- a/Documentation/DocBook/media/v4l/dev-output.xml +++ b/Documentation/DocBook/media/v4l/dev-output.xml | |||
@@ -104,11 +104,3 @@ linkend="mmap">memory mapping</link> or <link | |||
104 | linkend="userp">user pointer</link>) I/O. See <xref | 104 | linkend="userp">user pointer</link>) I/O. See <xref |
105 | linkend="io" /> for details.</para> | 105 | linkend="io" /> for details.</para> |
106 | </section> | 106 | </section> |
107 | |||
108 | <!-- | ||
109 | Local Variables: | ||
110 | mode: sgml | ||
111 | sgml-parent-document: "v4l2.sgml" | ||
112 | indent-tabs-mode: nil | ||
113 | End: | ||
114 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-overlay.xml b/Documentation/DocBook/media/v4l/dev-overlay.xml index 92513cf79150..40d1d7681439 100644 --- a/Documentation/DocBook/media/v4l/dev-overlay.xml +++ b/Documentation/DocBook/media/v4l/dev-overlay.xml | |||
@@ -369,11 +369,3 @@ reasons. <!-- video4linux-list@redhat.com on 22 Oct 2002 subject | |||
369 | <para>To start or stop the frame buffer overlay applications call | 369 | <para>To start or stop the frame buffer overlay applications call |
370 | the &VIDIOC-OVERLAY; ioctl.</para> | 370 | the &VIDIOC-OVERLAY; ioctl.</para> |
371 | </section> | 371 | </section> |
372 | |||
373 | <!-- | ||
374 | Local Variables: | ||
375 | mode: sgml | ||
376 | sgml-parent-document: "v4l2.sgml" | ||
377 | indent-tabs-mode: nil | ||
378 | End: | ||
379 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-radio.xml b/Documentation/DocBook/media/v4l/dev-radio.xml index 73aa90b45b34..3e6ac73b36af 100644 --- a/Documentation/DocBook/media/v4l/dev-radio.xml +++ b/Documentation/DocBook/media/v4l/dev-radio.xml | |||
@@ -47,11 +47,3 @@ depending on the selected frequency. The &VIDIOC-G-TUNER; or | |||
47 | &VIDIOC-G-MODULATOR; ioctl | 47 | &VIDIOC-G-MODULATOR; ioctl |
48 | reports the supported frequency range.</para> | 48 | reports the supported frequency range.</para> |
49 | </section> | 49 | </section> |
50 | |||
51 | <!-- | ||
52 | Local Variables: | ||
53 | mode: sgml | ||
54 | sgml-parent-document: "v4l2.sgml" | ||
55 | indent-tabs-mode: nil | ||
56 | End: | ||
57 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-raw-vbi.xml b/Documentation/DocBook/media/v4l/dev-raw-vbi.xml index c5a70bdfaf27..b788c72c885e 100644 --- a/Documentation/DocBook/media/v4l/dev-raw-vbi.xml +++ b/Documentation/DocBook/media/v4l/dev-raw-vbi.xml | |||
@@ -337,11 +337,3 @@ an &EBUSY; if the required hardware resources are temporarily | |||
337 | unavailable, for example the device is already in use by another | 337 | unavailable, for example the device is already in use by another |
338 | process.</para> | 338 | process.</para> |
339 | </section> | 339 | </section> |
340 | |||
341 | <!-- | ||
342 | Local Variables: | ||
343 | mode: sgml | ||
344 | sgml-parent-document: "v4l2.sgml" | ||
345 | indent-tabs-mode: nil | ||
346 | End: | ||
347 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-rds.xml b/Documentation/DocBook/media/v4l/dev-rds.xml index 2427f54397e7..38883a419e65 100644 --- a/Documentation/DocBook/media/v4l/dev-rds.xml +++ b/Documentation/DocBook/media/v4l/dev-rds.xml | |||
@@ -29,10 +29,10 @@ returned by the &VIDIOC-QUERYCAP; ioctl. Any tuner that supports RDS | |||
29 | will set the <constant>V4L2_TUNER_CAP_RDS</constant> flag in | 29 | will set the <constant>V4L2_TUNER_CAP_RDS</constant> flag in |
30 | the <structfield>capability</structfield> field of &v4l2-tuner;. If | 30 | the <structfield>capability</structfield> field of &v4l2-tuner;. If |
31 | the driver only passes RDS blocks without interpreting the data | 31 | the driver only passes RDS blocks without interpreting the data |
32 | the <constant>V4L2_TUNER_SUB_RDS_BLOCK_IO</constant> flag has to be | 32 | the <constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant> flag has to be |
33 | set, see <link linkend="reading-rds-data">Reading RDS data</link>. | 33 | set, see <link linkend="reading-rds-data">Reading RDS data</link>. |
34 | For future use the | 34 | For future use the |
35 | flag <constant>V4L2_TUNER_SUB_RDS_CONTROLS</constant> has also been | 35 | flag <constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant> has also been |
36 | defined. However, a driver for a radio tuner with this capability does | 36 | defined. However, a driver for a radio tuner with this capability does |
37 | not yet exist, so if you are planning to write such a driver you | 37 | not yet exist, so if you are planning to write such a driver you |
38 | should discuss this on the linux-media mailing list: &v4l-ml;.</para> | 38 | should discuss this on the linux-media mailing list: &v4l-ml;.</para> |
@@ -52,9 +52,9 @@ field of &v4l2-modulator;. | |||
52 | In order to enable the RDS transmission one must set the <constant>V4L2_TUNER_SUB_RDS</constant> | 52 | In order to enable the RDS transmission one must set the <constant>V4L2_TUNER_SUB_RDS</constant> |
53 | bit in the <structfield>txsubchans</structfield> field of &v4l2-modulator;. | 53 | bit in the <structfield>txsubchans</structfield> field of &v4l2-modulator;. |
54 | If the driver only passes RDS blocks without interpreting the data | 54 | If the driver only passes RDS blocks without interpreting the data |
55 | the <constant>V4L2_TUNER_SUB_RDS_BLOCK_IO</constant> flag has to be set. If the | 55 | the <constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant> flag has to be set. If the |
56 | tuner is capable of handling RDS entities like program identification codes and radio | 56 | tuner is capable of handling RDS entities like program identification codes and radio |
57 | text, the flag <constant>V4L2_TUNER_SUB_RDS_CONTROLS</constant> should be set, | 57 | text, the flag <constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant> should be set, |
58 | see <link linkend="writing-rds-data">Writing RDS data</link> and | 58 | see <link linkend="writing-rds-data">Writing RDS data</link> and |
59 | <link linkend="fm-tx-controls">FM Transmitter Control Reference</link>.</para> | 59 | <link linkend="fm-tx-controls">FM Transmitter Control Reference</link>.</para> |
60 | </section> | 60 | </section> |
@@ -194,11 +194,3 @@ as follows:</para> | |||
194 | </tgroup> | 194 | </tgroup> |
195 | </table> | 195 | </table> |
196 | </section> | 196 | </section> |
197 | |||
198 | <!-- | ||
199 | Local Variables: | ||
200 | mode: sgml | ||
201 | sgml-parent-document: "v4l2.sgml" | ||
202 | indent-tabs-mode: nil | ||
203 | End: | ||
204 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml b/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml index 69e789fa7f7b..548f8ea28dee 100644 --- a/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml +++ b/Documentation/DocBook/media/v4l/dev-sliced-vbi.xml | |||
@@ -697,12 +697,3 @@ Sliced VBI services</link> for a description of the line payload.</entry> | |||
697 | 697 | ||
698 | </section> | 698 | </section> |
699 | </section> | 699 | </section> |
700 | |||
701 | |||
702 | <!-- | ||
703 | Local Variables: | ||
704 | mode: sgml | ||
705 | sgml-parent-document: "v4l2.sgml" | ||
706 | indent-tabs-mode: nil | ||
707 | End: | ||
708 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/dev-teletext.xml b/Documentation/DocBook/media/v4l/dev-teletext.xml index 414b1cfff9f4..bd21c64d70f3 100644 --- a/Documentation/DocBook/media/v4l/dev-teletext.xml +++ b/Documentation/DocBook/media/v4l/dev-teletext.xml | |||
@@ -27,11 +27,3 @@ kernel 2.6.37.</para> | |||
27 | 27 | ||
28 | <para>Modern devices all use the <link linkend="raw-vbi">raw</link> or | 28 | <para>Modern devices all use the <link linkend="raw-vbi">raw</link> or |
29 | <link linkend="sliced">sliced</link> VBI API.</para> | 29 | <link linkend="sliced">sliced</link> VBI API.</para> |
30 | |||
31 | <!-- | ||
32 | Local Variables: | ||
33 | mode: sgml | ||
34 | sgml-parent-document: "v4l2.sgml" | ||
35 | indent-tabs-mode: nil | ||
36 | End: | ||
37 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/driver.xml b/Documentation/DocBook/media/v4l/driver.xml index 1f7eea5c4ec3..eacafe312cd2 100644 --- a/Documentation/DocBook/media/v4l/driver.xml +++ b/Documentation/DocBook/media/v4l/driver.xml | |||
@@ -198,11 +198,3 @@ devices with the videodev module.</para> | |||
198 | <para>to do</para> | 198 | <para>to do</para> |
199 | </section> | 199 | </section> |
200 | --> | 200 | --> |
201 | |||
202 | <!-- | ||
203 | Local Variables: | ||
204 | mode: sgml | ||
205 | sgml-parent-document: "v4l2.sgml" | ||
206 | indent-tabs-mode: nil | ||
207 | End: | ||
208 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-close.xml b/Documentation/DocBook/media/v4l/func-close.xml index dfb41cbbbec3..232920d2f3c6 100644 --- a/Documentation/DocBook/media/v4l/func-close.xml +++ b/Documentation/DocBook/media/v4l/func-close.xml | |||
@@ -60,11 +60,3 @@ descriptor.</para> | |||
60 | </variablelist> | 60 | </variablelist> |
61 | </refsect1> | 61 | </refsect1> |
62 | </refentry> | 62 | </refentry> |
63 | |||
64 | <!-- | ||
65 | Local Variables: | ||
66 | mode: sgml | ||
67 | sgml-parent-document: "v4l2.sgml" | ||
68 | indent-tabs-mode: nil | ||
69 | End: | ||
70 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-ioctl.xml b/Documentation/DocBook/media/v4l/func-ioctl.xml index 2de64be706f5..4394184a1a6d 100644 --- a/Documentation/DocBook/media/v4l/func-ioctl.xml +++ b/Documentation/DocBook/media/v4l/func-ioctl.xml | |||
@@ -69,11 +69,3 @@ their respective function and parameters are specified in <xref | |||
69 | the parameter remains unmodified.</para> | 69 | the parameter remains unmodified.</para> |
70 | </refsect1> | 70 | </refsect1> |
71 | </refentry> | 71 | </refentry> |
72 | |||
73 | <!-- | ||
74 | Local Variables: | ||
75 | mode: sgml | ||
76 | sgml-parent-document: "v4l2.sgml" | ||
77 | indent-tabs-mode: nil | ||
78 | End: | ||
79 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-mmap.xml b/Documentation/DocBook/media/v4l/func-mmap.xml index 786732b64bbd..f31ad71bf301 100644 --- a/Documentation/DocBook/media/v4l/func-mmap.xml +++ b/Documentation/DocBook/media/v4l/func-mmap.xml | |||
@@ -181,11 +181,3 @@ complete the request.</para> | |||
181 | </variablelist> | 181 | </variablelist> |
182 | </refsect1> | 182 | </refsect1> |
183 | </refentry> | 183 | </refentry> |
184 | |||
185 | <!-- | ||
186 | Local Variables: | ||
187 | mode: sgml | ||
188 | sgml-parent-document: "v4l2.sgml" | ||
189 | indent-tabs-mode: nil | ||
190 | End: | ||
191 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-munmap.xml b/Documentation/DocBook/media/v4l/func-munmap.xml index e2c4190f9bb6..860d49ca54a5 100644 --- a/Documentation/DocBook/media/v4l/func-munmap.xml +++ b/Documentation/DocBook/media/v4l/func-munmap.xml | |||
@@ -74,11 +74,3 @@ mapped yet.</para> | |||
74 | </variablelist> | 74 | </variablelist> |
75 | </refsect1> | 75 | </refsect1> |
76 | </refentry> | 76 | </refentry> |
77 | |||
78 | <!-- | ||
79 | Local Variables: | ||
80 | mode: sgml | ||
81 | sgml-parent-document: "v4l2.sgml" | ||
82 | indent-tabs-mode: nil | ||
83 | End: | ||
84 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-open.xml b/Documentation/DocBook/media/v4l/func-open.xml index 7595d07a8c72..cf64e207c3ee 100644 --- a/Documentation/DocBook/media/v4l/func-open.xml +++ b/Documentation/DocBook/media/v4l/func-open.xml | |||
@@ -111,11 +111,3 @@ system has been reached.</para> | |||
111 | </variablelist> | 111 | </variablelist> |
112 | </refsect1> | 112 | </refsect1> |
113 | </refentry> | 113 | </refentry> |
114 | |||
115 | <!-- | ||
116 | Local Variables: | ||
117 | mode: sgml | ||
118 | sgml-parent-document: "v4l2.sgml" | ||
119 | indent-tabs-mode: nil | ||
120 | End: | ||
121 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-poll.xml b/Documentation/DocBook/media/v4l/func-poll.xml index ec3c718f5963..85cad8bff5ba 100644 --- a/Documentation/DocBook/media/v4l/func-poll.xml +++ b/Documentation/DocBook/media/v4l/func-poll.xml | |||
@@ -117,11 +117,3 @@ than <constant>OPEN_MAX</constant>.</para> | |||
117 | </variablelist> | 117 | </variablelist> |
118 | </refsect1> | 118 | </refsect1> |
119 | </refentry> | 119 | </refentry> |
120 | |||
121 | <!-- | ||
122 | Local Variables: | ||
123 | mode: sgml | ||
124 | sgml-parent-document: "v4l2.sgml" | ||
125 | indent-tabs-mode: nil | ||
126 | End: | ||
127 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-read.xml b/Documentation/DocBook/media/v4l/func-read.xml index a5089bf8873d..e218bbfbd362 100644 --- a/Documentation/DocBook/media/v4l/func-read.xml +++ b/Documentation/DocBook/media/v4l/func-read.xml | |||
@@ -179,11 +179,3 @@ type of device.</para> | |||
179 | </variablelist> | 179 | </variablelist> |
180 | </refsect1> | 180 | </refsect1> |
181 | </refentry> | 181 | </refentry> |
182 | |||
183 | <!-- | ||
184 | Local Variables: | ||
185 | mode: sgml | ||
186 | sgml-parent-document: "v4l2.sgml" | ||
187 | indent-tabs-mode: nil | ||
188 | End: | ||
189 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-select.xml b/Documentation/DocBook/media/v4l/func-select.xml index b6713623181f..e12a60d9bd85 100644 --- a/Documentation/DocBook/media/v4l/func-select.xml +++ b/Documentation/DocBook/media/v4l/func-select.xml | |||
@@ -128,11 +128,3 @@ zero or greater than <constant>FD_SETSIZE</constant>.</para> | |||
128 | </variablelist> | 128 | </variablelist> |
129 | </refsect1> | 129 | </refsect1> |
130 | </refentry> | 130 | </refentry> |
131 | |||
132 | <!-- | ||
133 | Local Variables: | ||
134 | mode: sgml | ||
135 | sgml-parent-document: "v4l2.sgml" | ||
136 | indent-tabs-mode: nil | ||
137 | End: | ||
138 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/func-write.xml b/Documentation/DocBook/media/v4l/func-write.xml index 2c09c09371c3..575207885726 100644 --- a/Documentation/DocBook/media/v4l/func-write.xml +++ b/Documentation/DocBook/media/v4l/func-write.xml | |||
@@ -126,11 +126,3 @@ type of device.</para> | |||
126 | </variablelist> | 126 | </variablelist> |
127 | </refsect1> | 127 | </refsect1> |
128 | </refentry> | 128 | </refentry> |
129 | |||
130 | <!-- | ||
131 | Local Variables: | ||
132 | mode: sgml | ||
133 | sgml-parent-document: "v4l2.sgml" | ||
134 | indent-tabs-mode: nil | ||
135 | End: | ||
136 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml index 3f47df1aa54a..b815929b5bba 100644 --- a/Documentation/DocBook/media/v4l/io.xml +++ b/Documentation/DocBook/media/v4l/io.xml | |||
@@ -1282,11 +1282,3 @@ line, top field first. The bottom field is transmitted first.</entry> | |||
1282 | </mediaobject> | 1282 | </mediaobject> |
1283 | </figure> | 1283 | </figure> |
1284 | </section> | 1284 | </section> |
1285 | |||
1286 | <!-- | ||
1287 | Local Variables: | ||
1288 | mode: sgml | ||
1289 | sgml-parent-document: "v4l2.sgml" | ||
1290 | indent-tabs-mode: nil | ||
1291 | End: | ||
1292 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/libv4l.xml b/Documentation/DocBook/media/v4l/libv4l.xml index 3cb10ec51929..d3b71e20003c 100644 --- a/Documentation/DocBook/media/v4l/libv4l.xml +++ b/Documentation/DocBook/media/v4l/libv4l.xml | |||
@@ -158,10 +158,3 @@ still don't use libv4l.</para> | |||
158 | </section> | 158 | </section> |
159 | 159 | ||
160 | </section> | 160 | </section> |
161 | <!-- | ||
162 | Local Variables: | ||
163 | mode: sgml | ||
164 | sgml-parent-document: "v4l2.sgml" | ||
165 | indent-tabs-mode: nil | ||
166 | End: | ||
167 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-grey.xml b/Documentation/DocBook/media/v4l/pixfmt-grey.xml index 3b72bc6b2de7..bee970d3f76d 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-grey.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-grey.xml | |||
@@ -60,11 +60,3 @@ pixel image</title> | |||
60 | </example> | 60 | </example> |
61 | </refsect1> | 61 | </refsect1> |
62 | </refentry> | 62 | </refentry> |
63 | |||
64 | <!-- | ||
65 | Local Variables: | ||
66 | mode: sgml | ||
67 | sgml-parent-document: "pixfmt.sgml" | ||
68 | indent-tabs-mode: nil | ||
69 | End: | ||
70 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-m420.xml b/Documentation/DocBook/media/v4l/pixfmt-m420.xml index ce4bc019e5c0..aadae92c5d04 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-m420.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-m420.xml | |||
@@ -137,11 +137,3 @@ pixel image</title> | |||
137 | </example> | 137 | </example> |
138 | </refsect1> | 138 | </refsect1> |
139 | </refentry> | 139 | </refentry> |
140 | |||
141 | <!-- | ||
142 | Local Variables: | ||
143 | mode: sgml | ||
144 | sgml-parent-document: "pixfmt.sgml" | ||
145 | indent-tabs-mode: nil | ||
146 | End: | ||
147 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12.xml index 873f67035181..84dd4fd7cb80 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-nv12.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-nv12.xml | |||
@@ -141,11 +141,3 @@ pixel image</title> | |||
141 | </example> | 141 | </example> |
142 | </refsect1> | 142 | </refsect1> |
143 | </refentry> | 143 | </refentry> |
144 | |||
145 | <!-- | ||
146 | Local Variables: | ||
147 | mode: sgml | ||
148 | sgml-parent-document: "pixfmt.sgml" | ||
149 | indent-tabs-mode: nil | ||
150 | End: | ||
151 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml index c9e166d9ded8..3fd3ce5df270 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml | |||
@@ -144,11 +144,3 @@ CbCr plane has as many pad bytes after its rows.</para> | |||
144 | </example> | 144 | </example> |
145 | </refsect1> | 145 | </refsect1> |
146 | </refentry> | 146 | </refentry> |
147 | |||
148 | <!-- | ||
149 | Local Variables: | ||
150 | mode: sgml | ||
151 | sgml-parent-document: "pixfmt.sgml" | ||
152 | indent-tabs-mode: nil | ||
153 | End: | ||
154 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml index 7a2855a526c1..2f82b1da8dfe 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-nv12mt.xml | |||
@@ -64,11 +64,3 @@ layout of macroblocks</title> | |||
64 | </example> | 64 | </example> |
65 | </refsect1> | 65 | </refsect1> |
66 | </refentry> | 66 | </refentry> |
67 | |||
68 | <!-- | ||
69 | Local Variables: | ||
70 | mode: sgml | ||
71 | sgml-parent-document: "pixfmt.sgml" | ||
72 | indent-tabs-mode: nil | ||
73 | End: | ||
74 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv16.xml b/Documentation/DocBook/media/v4l/pixfmt-nv16.xml index 26094035fc04..8ae1f8a810d0 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-nv16.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-nv16.xml | |||
@@ -164,11 +164,3 @@ pixel image</title> | |||
164 | </example> | 164 | </example> |
165 | </refsect1> | 165 | </refsect1> |
166 | </refentry> | 166 | </refentry> |
167 | |||
168 | <!-- | ||
169 | Local Variables: | ||
170 | mode: sgml | ||
171 | sgml-parent-document: "pixfmt.sgml" | ||
172 | indent-tabs-mode: nil | ||
173 | End: | ||
174 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml index 4db272b8a0d3..166c8d65e4f7 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-packed-rgb.xml | |||
@@ -428,8 +428,11 @@ colorspace <constant>V4L2_COLORSPACE_SRGB</constant>.</para> | |||
428 | <para>Bit 7 is the most significant bit. The value of a = alpha | 428 | <para>Bit 7 is the most significant bit. The value of a = alpha |
429 | bits is undefined when reading from the driver, ignored when writing | 429 | bits is undefined when reading from the driver, ignored when writing |
430 | to the driver, except when alpha blending has been negotiated for a | 430 | to the driver, except when alpha blending has been negotiated for a |
431 | <link linkend="overlay">Video Overlay</link> or <link | 431 | <link linkend="overlay">Video Overlay</link> or <link linkend="osd"> |
432 | linkend="osd">Video Output Overlay</link>.</para> | 432 | Video Output Overlay</link> or when alpha component has been configured |
433 | for a <link linkend="capture">Video Capture</link> by means of <link | ||
434 | linkend="v4l2-alpha-component"> <constant>V4L2_CID_ALPHA_COMPONENT | ||
435 | </constant> </link> control.</para> | ||
433 | 436 | ||
434 | <example> | 437 | <example> |
435 | <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel | 438 | <title><constant>V4L2_PIX_FMT_BGR24</constant> 4 × 4 pixel |
@@ -930,11 +933,3 @@ See &v4l-dvb; for access instructions.</para> | |||
930 | 933 | ||
931 | </refsect1> | 934 | </refsect1> |
932 | </refentry> | 935 | </refentry> |
933 | |||
934 | <!-- | ||
935 | Local Variables: | ||
936 | mode: sgml | ||
937 | sgml-parent-document: "pixfmt.sgml" | ||
938 | indent-tabs-mode: nil | ||
939 | End: | ||
940 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml b/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml index 3cab5d0ca75d..33fa5a47a865 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-packed-yuv.xml | |||
@@ -234,11 +234,3 @@ linkend="osd">Video Output Overlay</link>.</para> | |||
234 | 234 | ||
235 | </refsect1> | 235 | </refsect1> |
236 | </refentry> | 236 | </refentry> |
237 | |||
238 | <!-- | ||
239 | Local Variables: | ||
240 | mode: sgml | ||
241 | sgml-parent-document: "pixfmt.sgml" | ||
242 | indent-tabs-mode: nil | ||
243 | End: | ||
244 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml b/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml index 519a9efbac10..6494b05d84a1 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-sbggr16.xml | |||
@@ -81,11 +81,3 @@ pixel image</title> | |||
81 | </example> | 81 | </example> |
82 | </refsect1> | 82 | </refsect1> |
83 | </refentry> | 83 | </refentry> |
84 | |||
85 | <!-- | ||
86 | Local Variables: | ||
87 | mode: sgml | ||
88 | sgml-parent-document: "pixfmt.sgml" | ||
89 | indent-tabs-mode: nil | ||
90 | End: | ||
91 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml b/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml index 5fe84ecc2ebe..5eaf2b42d3f7 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-sbggr8.xml | |||
@@ -65,11 +65,3 @@ pixel image</title> | |||
65 | </example> | 65 | </example> |
66 | </refsect1> | 66 | </refsect1> |
67 | </refentry> | 67 | </refentry> |
68 | |||
69 | <!-- | ||
70 | Local Variables: | ||
71 | mode: sgml | ||
72 | sgml-parent-document: "pixfmt.sgml" | ||
73 | indent-tabs-mode: nil | ||
74 | End: | ||
75 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml b/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml index d67a472b0880..fee65dca79c5 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-sgbrg8.xml | |||
@@ -65,11 +65,3 @@ pixel image</title> | |||
65 | </example> | 65 | </example> |
66 | </refsect1> | 66 | </refsect1> |
67 | </refentry> | 67 | </refentry> |
68 | |||
69 | <!-- | ||
70 | Local Variables: | ||
71 | mode: sgml | ||
72 | sgml-parent-document: "pixfmt.sgml" | ||
73 | indent-tabs-mode: nil | ||
74 | End: | ||
75 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml b/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml index 0cdf13b8ac1c..19727ab4c757 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-sgrbg8.xml | |||
@@ -65,11 +65,3 @@ columns and rows.</para> | |||
65 | </example> | 65 | </example> |
66 | </refsect1> | 66 | </refsect1> |
67 | </refentry> | 67 | </refentry> |
68 | |||
69 | <!-- | ||
70 | Local Variables: | ||
71 | mode: sgml | ||
72 | sgml-parent-document: "pixfmt.sgml" | ||
73 | indent-tabs-mode: nil | ||
74 | End: | ||
75 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml b/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml index 816c8d467c16..b1f6801a17ff 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-uyvy.xml | |||
@@ -118,11 +118,3 @@ pixel image</title> | |||
118 | </example> | 118 | </example> |
119 | </refsect1> | 119 | </refsect1> |
120 | </refentry> | 120 | </refentry> |
121 | |||
122 | <!-- | ||
123 | Local Variables: | ||
124 | mode: sgml | ||
125 | sgml-parent-document: "pixfmt.sgml" | ||
126 | indent-tabs-mode: nil | ||
127 | End: | ||
128 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml b/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml index 61f12a5e68d9..82803408b389 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-vyuy.xml | |||
@@ -118,11 +118,3 @@ pixel image</title> | |||
118 | </example> | 118 | </example> |
119 | </refsect1> | 119 | </refsect1> |
120 | </refentry> | 120 | </refentry> |
121 | |||
122 | <!-- | ||
123 | Local Variables: | ||
124 | mode: sgml | ||
125 | sgml-parent-document: "pixfmt.sgml" | ||
126 | indent-tabs-mode: nil | ||
127 | End: | ||
128 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-y16.xml b/Documentation/DocBook/media/v4l/pixfmt-y16.xml index d58404015078..ff4f727d5624 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-y16.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-y16.xml | |||
@@ -79,11 +79,3 @@ pixel image</title> | |||
79 | </example> | 79 | </example> |
80 | </refsect1> | 80 | </refsect1> |
81 | </refentry> | 81 | </refentry> |
82 | |||
83 | <!-- | ||
84 | Local Variables: | ||
85 | mode: sgml | ||
86 | sgml-parent-document: "pixfmt.sgml" | ||
87 | indent-tabs-mode: nil | ||
88 | End: | ||
89 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-y41p.xml b/Documentation/DocBook/media/v4l/pixfmt-y41p.xml index 73c8536efb05..98dcb91d2917 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-y41p.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-y41p.xml | |||
@@ -147,11 +147,3 @@ pixel image</title> | |||
147 | </example> | 147 | </example> |
148 | </refsect1> | 148 | </refsect1> |
149 | </refentry> | 149 | </refentry> |
150 | |||
151 | <!-- | ||
152 | Local Variables: | ||
153 | mode: sgml | ||
154 | sgml-parent-document: "pixfmt.sgml" | ||
155 | indent-tabs-mode: nil | ||
156 | End: | ||
157 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml index 8eb4a193d770..0869dce5f92c 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv410.xml | |||
@@ -131,11 +131,3 @@ pixel image</title> | |||
131 | </example> | 131 | </example> |
132 | </refsect1> | 132 | </refsect1> |
133 | </refentry> | 133 | </refentry> |
134 | |||
135 | <!-- | ||
136 | Local Variables: | ||
137 | mode: sgml | ||
138 | sgml-parent-document: "pixfmt.sgml" | ||
139 | indent-tabs-mode: nil | ||
140 | End: | ||
141 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml index 00e0960a9869..086dc731bf02 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv411p.xml | |||
@@ -145,11 +145,3 @@ pixel image</title> | |||
145 | </example> | 145 | </example> |
146 | </refsect1> | 146 | </refsect1> |
147 | </refentry> | 147 | </refentry> |
148 | |||
149 | <!-- | ||
150 | Local Variables: | ||
151 | mode: sgml | ||
152 | sgml-parent-document: "v4l2.sgml" | ||
153 | indent-tabs-mode: nil | ||
154 | End: | ||
155 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml index 42d7de5e456d..48649fac1596 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420.xml | |||
@@ -147,11 +147,3 @@ pixel image</title> | |||
147 | </example> | 147 | </example> |
148 | </refsect1> | 148 | </refsect1> |
149 | </refentry> | 149 | </refentry> |
150 | |||
151 | <!-- | ||
152 | Local Variables: | ||
153 | mode: sgml | ||
154 | sgml-parent-document: "pixfmt.sgml" | ||
155 | indent-tabs-mode: nil | ||
156 | End: | ||
157 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml index f5d8f57495c8..9957863daf18 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml | |||
@@ -152,11 +152,3 @@ pixel image</title> | |||
152 | </example> | 152 | </example> |
153 | </refsect1> | 153 | </refsect1> |
154 | </refentry> | 154 | </refentry> |
155 | |||
156 | <!-- | ||
157 | Local Variables: | ||
158 | mode: sgml | ||
159 | sgml-parent-document: "pixfmt.sgml" | ||
160 | indent-tabs-mode: nil | ||
161 | End: | ||
162 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml index 4348bd9f0d01..4ce6463fe0a5 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuv422p.xml | |||
@@ -151,11 +151,3 @@ pixel image</title> | |||
151 | </example> | 151 | </example> |
152 | </refsect1> | 152 | </refsect1> |
153 | </refentry> | 153 | </refentry> |
154 | |||
155 | <!-- | ||
156 | Local Variables: | ||
157 | mode: sgml | ||
158 | sgml-parent-document: "pixfmt.sgml" | ||
159 | indent-tabs-mode: nil | ||
160 | End: | ||
161 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml b/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml index bdb2ffacbbcc..58384092251a 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yuyv.xml | |||
@@ -118,11 +118,3 @@ pixel image</title> | |||
118 | </example> | 118 | </example> |
119 | </refsect1> | 119 | </refsect1> |
120 | </refentry> | 120 | </refentry> |
121 | |||
122 | <!-- | ||
123 | Local Variables: | ||
124 | mode: sgml | ||
125 | sgml-parent-document: "pixfmt.sgml" | ||
126 | indent-tabs-mode: nil | ||
127 | End: | ||
128 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml b/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml index 40d17ae39dde..bfffdc76d3da 100644 --- a/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml +++ b/Documentation/DocBook/media/v4l/pixfmt-yvyu.xml | |||
@@ -118,11 +118,3 @@ pixel image</title> | |||
118 | </example> | 118 | </example> |
119 | </refsect1> | 119 | </refsect1> |
120 | </refentry> | 120 | </refentry> |
121 | |||
122 | <!-- | ||
123 | Local Variables: | ||
124 | mode: sgml | ||
125 | sgml-parent-document: "pixfmt.sgml" | ||
126 | indent-tabs-mode: nil | ||
127 | End: | ||
128 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml index aef4615fb07b..31eaae2469f9 100644 --- a/Documentation/DocBook/media/v4l/pixfmt.xml +++ b/Documentation/DocBook/media/v4l/pixfmt.xml | |||
@@ -891,6 +891,11 @@ kernel sources in the file <filename>Documentation/video4linux/cx2341x/README.hm | |||
891 | <entry>'M310'</entry> | 891 | <entry>'M310'</entry> |
892 | <entry>Compressed BGGR Bayer format used by the gspca driver.</entry> | 892 | <entry>Compressed BGGR Bayer format used by the gspca driver.</entry> |
893 | </row> | 893 | </row> |
894 | <row id="V4L2-PIX-FMT-JL2005BCD"> | ||
895 | <entry><constant>V4L2_PIX_FMT_JL2005BCD</constant></entry> | ||
896 | <entry>'JL20'</entry> | ||
897 | <entry>JPEG compressed RGGB Bayer format used by the gspca driver.</entry> | ||
898 | </row> | ||
894 | <row id="V4L2-PIX-FMT-OV511"> | 899 | <row id="V4L2-PIX-FMT-OV511"> |
895 | <entry><constant>V4L2_PIX_FMT_OV511</constant></entry> | 900 | <entry><constant>V4L2_PIX_FMT_OV511</constant></entry> |
896 | <entry>'O511'</entry> | 901 | <entry>'O511'</entry> |
@@ -998,11 +1003,3 @@ the other bits are set to 0.</entry> | |||
998 | </tgroup> | 1003 | </tgroup> |
999 | </table> | 1004 | </table> |
1000 | </section> | 1005 | </section> |
1001 | |||
1002 | <!-- | ||
1003 | Local Variables: | ||
1004 | mode: sgml | ||
1005 | sgml-parent-document: "v4l2.sgml" | ||
1006 | indent-tabs-mode: nil | ||
1007 | End: | ||
1008 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/selection-api.xml b/Documentation/DocBook/media/v4l/selection-api.xml new file mode 100644 index 000000000000..2f0bdb4d5551 --- /dev/null +++ b/Documentation/DocBook/media/v4l/selection-api.xml | |||
@@ -0,0 +1,321 @@ | |||
1 | <section id="selection-api"> | ||
2 | |||
3 | <title>Experimental API for cropping, composing and scaling</title> | ||
4 | |||
5 | <note> | ||
6 | <title>Experimental</title> | ||
7 | |||
8 | <para>This is an <link linkend="experimental">experimental</link> | ||
9 | interface and may change in the future.</para> | ||
10 | </note> | ||
11 | |||
12 | <section> | ||
13 | <title>Introduction</title> | ||
14 | |||
15 | <para>Some video capture devices can sample a subsection of a picture and | ||
16 | shrink or enlarge it to an image of arbitrary size. Next, the devices can | ||
17 | insert the image into larger one. Some video output devices can crop part of an | ||
18 | input image, scale it up or down and insert it at an arbitrary scan line and | ||
19 | horizontal offset into a video signal. We call these abilities cropping, | ||
20 | scaling and composing.</para> | ||
21 | |||
22 | <para>On a video <emphasis>capture</emphasis> device the source is a video | ||
23 | signal, and the cropping target determine the area actually sampled. The sink | ||
24 | is an image stored in a memory buffer. The composing area specifies which part | ||
25 | of the buffer is actually written to by the hardware. </para> | ||
26 | |||
27 | <para>On a video <emphasis>output</emphasis> device the source is an image in a | ||
28 | memory buffer, and the cropping target is a part of an image to be shown on a | ||
29 | display. The sink is the display or the graphics screen. The application may | ||
30 | select the part of display where the image should be displayed. The size and | ||
31 | position of such a window is controlled by the compose target.</para> | ||
32 | |||
33 | <para>Rectangles for all cropping and composing targets are defined even if the | ||
34 | device does supports neither cropping nor composing. Their size and position | ||
35 | will be fixed in such a case. If the device does not support scaling then the | ||
36 | cropping and composing rectangles have the same size.</para> | ||
37 | |||
38 | </section> | ||
39 | |||
40 | <section> | ||
41 | <title>Selection targets</title> | ||
42 | |||
43 | <figure id="sel-targets-capture"> | ||
44 | <title>Cropping and composing targets</title> | ||
45 | <mediaobject> | ||
46 | <imageobject> | ||
47 | <imagedata fileref="selection.png" format="PNG" /> | ||
48 | </imageobject> | ||
49 | <textobject> | ||
50 | <phrase>Targets used by a cropping, composing and scaling | ||
51 | process</phrase> | ||
52 | </textobject> | ||
53 | </mediaobject> | ||
54 | </figure> | ||
55 | </section> | ||
56 | |||
57 | <section> | ||
58 | |||
59 | <title>Configuration</title> | ||
60 | |||
61 | <para>Applications can use the <link linkend="vidioc-g-selection">selection | ||
62 | API</link> to select an area in a video signal or a buffer, and to query for | ||
63 | default settings and hardware limits.</para> | ||
64 | |||
65 | <para>Video hardware can have various cropping, composing and scaling | ||
66 | limitations. It may only scale up or down, support only discrete scaling | ||
67 | factors, or have different scaling abilities in the horizontal and vertical | ||
68 | directions. Also it may not support scaling at all. At the same time the | ||
69 | cropping/composing rectangles may have to be aligned, and both the source and | ||
70 | the sink may have arbitrary upper and lower size limits. Therefore, as usual, | ||
71 | drivers are expected to adjust the requested parameters and return the actual | ||
72 | values selected. An application can control the rounding behaviour using <link | ||
73 | linkend="v4l2-sel-flags"> constraint flags </link>.</para> | ||
74 | |||
75 | <section> | ||
76 | |||
77 | <title>Configuration of video capture</title> | ||
78 | |||
79 | <para>See figure <xref linkend="sel-targets-capture" /> for examples of the | ||
80 | selection targets available for a video capture device. It is recommended to | ||
81 | configure the cropping targets before to the composing targets.</para> | ||
82 | |||
83 | <para>The range of coordinates of the top left corner, width and height of | ||
84 | areas that can be sampled is given by the <constant> V4L2_SEL_TGT_CROP_BOUNDS | ||
85 | </constant> target. It is recommended for the driver developers to put the | ||
86 | top/left corner at position <constant> (0,0) </constant>. The rectangle's | ||
87 | coordinates are expressed in pixels.</para> | ||
88 | |||
89 | <para>The top left corner, width and height of the source rectangle, that is | ||
90 | the area actually sampled, is given by the <constant> V4L2_SEL_TGT_CROP_ACTIVE | ||
91 | </constant> target. It uses the same coordinate system as <constant> | ||
92 | V4L2_SEL_TGT_CROP_BOUNDS </constant>. The active cropping area must lie | ||
93 | completely inside the capture boundaries. The driver may further adjust the | ||
94 | requested size and/or position according to hardware limitations.</para> | ||
95 | |||
96 | <para>Each capture device has a default source rectangle, given by the | ||
97 | <constant> V4L2_SEL_TGT_CROP_DEFAULT </constant> target. This rectangle shall | ||
98 | over what the driver writer considers the complete picture. Drivers shall set | ||
99 | the active crop rectangle to the default when the driver is first loaded, but | ||
100 | not later.</para> | ||
101 | |||
102 | <para>The composing targets refer to a memory buffer. The limits of composing | ||
103 | coordinates are obtained using <constant> V4L2_SEL_TGT_COMPOSE_BOUNDS | ||
104 | </constant>. All coordinates are expressed in pixels. The rectangle's top/left | ||
105 | corner must be located at position <constant> (0,0) </constant>. The width and | ||
106 | height are equal to the image size set by <constant> VIDIOC_S_FMT </constant>. | ||
107 | </para> | ||
108 | |||
109 | <para>The part of a buffer into which the image is inserted by the hardware is | ||
110 | controlled by the <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target. | ||
111 | The rectangle's coordinates are also expressed in the same coordinate system as | ||
112 | the bounds rectangle. The composing rectangle must lie completely inside bounds | ||
113 | rectangle. The driver must adjust the composing rectangle to fit to the | ||
114 | bounding limits. Moreover, the driver can perform other adjustments according | ||
115 | to hardware limitations. The application can control rounding behaviour using | ||
116 | <link linkend="v4l2-sel-flags"> constraint flags </link>.</para> | ||
117 | |||
118 | <para>For capture devices the default composing rectangle is queried using | ||
119 | <constant> V4L2_SEL_TGT_COMPOSE_DEFAULT </constant>. It is usually equal to the | ||
120 | bounding rectangle.</para> | ||
121 | |||
122 | <para>The part of a buffer that is modified by the hardware is given by | ||
123 | <constant> V4L2_SEL_TGT_COMPOSE_PADDED </constant>. It contains all pixels | ||
124 | defined using <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> plus all | ||
125 | padding data modified by hardware during insertion process. All pixels outside | ||
126 | this rectangle <emphasis>must not</emphasis> be changed by the hardware. The | ||
127 | content of pixels that lie inside the padded area but outside active area is | ||
128 | undefined. The application can use the padded and active rectangles to detect | ||
129 | where the rubbish pixels are located and remove them if needed.</para> | ||
130 | |||
131 | </section> | ||
132 | |||
133 | <section> | ||
134 | |||
135 | <title>Configuration of video output</title> | ||
136 | |||
137 | <para>For output devices targets and ioctls are used similarly to the video | ||
138 | capture case. The <emphasis> composing </emphasis> rectangle refers to the | ||
139 | insertion of an image into a video signal. The cropping rectangles refer to a | ||
140 | memory buffer. It is recommended to configure the composing targets before to | ||
141 | the cropping targets.</para> | ||
142 | |||
143 | <para>The cropping targets refer to the memory buffer that contains an image to | ||
144 | be inserted into a video signal or graphical screen. The limits of cropping | ||
145 | coordinates are obtained using <constant> V4L2_SEL_TGT_CROP_BOUNDS </constant>. | ||
146 | All coordinates are expressed in pixels. The top/left corner is always point | ||
147 | <constant> (0,0) </constant>. The width and height is equal to the image size | ||
148 | specified using <constant> VIDIOC_S_FMT </constant> ioctl.</para> | ||
149 | |||
150 | <para>The top left corner, width and height of the source rectangle, that is | ||
151 | the area from which image date are processed by the hardware, is given by the | ||
152 | <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant>. Its coordinates are expressed | ||
153 | in in the same coordinate system as the bounds rectangle. The active cropping | ||
154 | area must lie completely inside the crop boundaries and the driver may further | ||
155 | adjust the requested size and/or position according to hardware | ||
156 | limitations.</para> | ||
157 | |||
158 | <para>For output devices the default cropping rectangle is queried using | ||
159 | <constant> V4L2_SEL_TGT_CROP_DEFAULT </constant>. It is usually equal to the | ||
160 | bounding rectangle.</para> | ||
161 | |||
162 | <para>The part of a video signal or graphics display where the image is | ||
163 | inserted by the hardware is controlled by <constant> | ||
164 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target. The rectangle's coordinates | ||
165 | are expressed in pixels. The composing rectangle must lie completely inside the | ||
166 | bounds rectangle. The driver must adjust the area to fit to the bounding | ||
167 | limits. Moreover, the driver can perform other adjustments according to | ||
168 | hardware limitations. </para> | ||
169 | |||
170 | <para>The device has a default composing rectangle, given by the <constant> | ||
171 | V4L2_SEL_TGT_COMPOSE_DEFAULT </constant> target. This rectangle shall cover what | ||
172 | the driver writer considers the complete picture. It is recommended for the | ||
173 | driver developers to put the top/left corner at position <constant> (0,0) | ||
174 | </constant>. Drivers shall set the active composing rectangle to the default | ||
175 | one when the driver is first loaded.</para> | ||
176 | |||
177 | <para>The devices may introduce additional content to video signal other than | ||
178 | an image from memory buffers. It includes borders around an image. However, | ||
179 | such a padded area is driver-dependent feature not covered by this document. | ||
180 | Driver developers are encouraged to keep padded rectangle equal to active one. | ||
181 | The padded target is accessed by the <constant> V4L2_SEL_TGT_COMPOSE_PADDED | ||
182 | </constant> identifier. It must contain all pixels from the <constant> | ||
183 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> target.</para> | ||
184 | |||
185 | </section> | ||
186 | |||
187 | <section> | ||
188 | |||
189 | <title>Scaling control.</title> | ||
190 | |||
191 | <para>An application can detect if scaling is performed by comparing the width | ||
192 | and the height of rectangles obtained using <constant> V4L2_SEL_TGT_CROP_ACTIVE | ||
193 | </constant> and <constant> V4L2_SEL_TGT_COMPOSE_ACTIVE </constant> targets. If | ||
194 | these are not equal then the scaling is applied. The application can compute | ||
195 | the scaling ratios using these values.</para> | ||
196 | |||
197 | </section> | ||
198 | |||
199 | </section> | ||
200 | |||
201 | <section> | ||
202 | |||
203 | <title>Comparison with old cropping API.</title> | ||
204 | |||
205 | <para>The selection API was introduced to cope with deficiencies of previous | ||
206 | <link linkend="crop"> API </link>, that was designed to control simple capture | ||
207 | devices. Later the cropping API was adopted by video output drivers. The ioctls | ||
208 | are used to select a part of the display were the video signal is inserted. It | ||
209 | should be considered as an API abuse because the described operation is | ||
210 | actually the composing. The selection API makes a clear distinction between | ||
211 | composing and cropping operations by setting the appropriate targets. The V4L2 | ||
212 | API lacks any support for composing to and cropping from an image inside a | ||
213 | memory buffer. The application could configure a capture device to fill only a | ||
214 | part of an image by abusing V4L2 API. Cropping a smaller image from a larger | ||
215 | one is achieved by setting the field <structfield> | ||
216 | &v4l2-pix-format;::bytesperline </structfield>. Introducing an image offsets | ||
217 | could be done by modifying field <structfield> &v4l2-buffer;::m:userptr | ||
218 | </structfield> before calling <constant> VIDIOC_QBUF </constant>. Those | ||
219 | operations should be avoided because they are not portable (endianness), and do | ||
220 | not work for macroblock and Bayer formats and mmap buffers. The selection API | ||
221 | deals with configuration of buffer cropping/composing in a clear, intuitive and | ||
222 | portable way. Next, with the selection API the concepts of the padded target | ||
223 | and constraints flags are introduced. Finally, <structname> &v4l2-crop; | ||
224 | </structname> and <structname> &v4l2-cropcap; </structname> have no reserved | ||
225 | fields. Therefore there is no way to extend their functionality. The new | ||
226 | <structname> &v4l2-selection; </structname> provides a lot of place for future | ||
227 | extensions. Driver developers are encouraged to implement only selection API. | ||
228 | The former cropping API would be simulated using the new one. </para> | ||
229 | |||
230 | </section> | ||
231 | |||
232 | <section> | ||
233 | <title>Examples</title> | ||
234 | <example> | ||
235 | <title>Resetting the cropping parameters</title> | ||
236 | |||
237 | <para>(A video capture device is assumed; change <constant> | ||
238 | V4L2_BUF_TYPE_VIDEO_CAPTURE </constant> for other devices; change target to | ||
239 | <constant> V4L2_SEL_TGT_COMPOSE_* </constant> family to configure composing | ||
240 | area)</para> | ||
241 | |||
242 | <programlisting> | ||
243 | |||
244 | &v4l2-selection; sel = { | ||
245 | .type = V4L2_BUF_TYPE_VIDEO_CAPTURE, | ||
246 | .target = V4L2_SEL_TGT_CROP_DEFAULT, | ||
247 | }; | ||
248 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); | ||
249 | if (ret) | ||
250 | exit(-1); | ||
251 | sel.target = V4L2_SEL_TGT_CROP_ACTIVE; | ||
252 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); | ||
253 | if (ret) | ||
254 | exit(-1); | ||
255 | |||
256 | </programlisting> | ||
257 | </example> | ||
258 | |||
259 | <example> | ||
260 | <title>Simple downscaling</title> | ||
261 | <para>Setting a composing area on output of size of <emphasis> at most | ||
262 | </emphasis> half of limit placed at a center of a display.</para> | ||
263 | <programlisting> | ||
264 | |||
265 | &v4l2-selection; sel = { | ||
266 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, | ||
267 | .target = V4L2_SEL_TGT_COMPOSE_BOUNDS, | ||
268 | }; | ||
269 | struct v4l2_rect r; | ||
270 | |||
271 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &sel); | ||
272 | if (ret) | ||
273 | exit(-1); | ||
274 | /* setting smaller compose rectangle */ | ||
275 | r.width = sel.r.width / 2; | ||
276 | r.height = sel.r.height / 2; | ||
277 | r.left = sel.r.width / 4; | ||
278 | r.top = sel.r.height / 4; | ||
279 | sel.r = r; | ||
280 | sel.target = V4L2_SEL_TGT_COMPOSE_ACTIVE; | ||
281 | sel.flags = V4L2_SEL_FLAG_LE; | ||
282 | ret = ioctl(fd, &VIDIOC-S-SELECTION;, &sel); | ||
283 | if (ret) | ||
284 | exit(-1); | ||
285 | |||
286 | </programlisting> | ||
287 | </example> | ||
288 | |||
289 | <example> | ||
290 | <title>Querying for scaling factors</title> | ||
291 | <para>A video output device is assumed; change <constant> | ||
292 | V4L2_BUF_TYPE_VIDEO_OUTPUT </constant> for other devices</para> | ||
293 | <programlisting> | ||
294 | |||
295 | &v4l2-selection; compose = { | ||
296 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, | ||
297 | .target = V4L2_SEL_TGT_COMPOSE_ACTIVE, | ||
298 | }; | ||
299 | &v4l2-selection; crop = { | ||
300 | .type = V4L2_BUF_TYPE_VIDEO_OUTPUT, | ||
301 | .target = V4L2_SEL_TGT_CROP_ACTIVE, | ||
302 | }; | ||
303 | double hscale, vscale; | ||
304 | |||
305 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &compose); | ||
306 | if (ret) | ||
307 | exit(-1); | ||
308 | ret = ioctl(fd, &VIDIOC-G-SELECTION;, &crop); | ||
309 | if (ret) | ||
310 | exit(-1); | ||
311 | |||
312 | /* computing scaling factors */ | ||
313 | hscale = (double)compose.r.width / crop.r.width; | ||
314 | vscale = (double)compose.r.height / crop.r.height; | ||
315 | |||
316 | </programlisting> | ||
317 | </example> | ||
318 | |||
319 | </section> | ||
320 | |||
321 | </section> | ||
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index 2ab365c10fb9..e97c512861bb 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml | |||
@@ -501,6 +501,7 @@ and discussions on the V4L mailing list.</revremark> | |||
501 | &sub-g-output; | 501 | &sub-g-output; |
502 | &sub-g-parm; | 502 | &sub-g-parm; |
503 | &sub-g-priority; | 503 | &sub-g-priority; |
504 | &sub-g-selection; | ||
504 | &sub-g-sliced-vbi-cap; | 505 | &sub-g-sliced-vbi-cap; |
505 | &sub-g-std; | 506 | &sub-g-std; |
506 | &sub-g-tuner; | 507 | &sub-g-tuner; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml index 1d31427edd1b..0be17c232d3a 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enum-dv-presets.xml | |||
@@ -228,11 +228,3 @@ is out of bounds.</para> | |||
228 | </variablelist> | 228 | </variablelist> |
229 | </refsect1> | 229 | </refsect1> |
230 | </refentry> | 230 | </refentry> |
231 | |||
232 | <!-- | ||
233 | Local Variables: | ||
234 | mode: sgml | ||
235 | sgml-parent-document: "v4l2.sgml" | ||
236 | indent-tabs-mode: nil | ||
237 | End: | ||
238 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml b/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml index 71d373b6d36a..347d142e7431 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enum-fmt.xml | |||
@@ -156,11 +156,3 @@ bounds.</para> | |||
156 | </variablelist> | 156 | </variablelist> |
157 | </refsect1> | 157 | </refsect1> |
158 | </refentry> | 158 | </refentry> |
159 | |||
160 | <!-- | ||
161 | Local Variables: | ||
162 | mode: sgml | ||
163 | sgml-parent-document: "v4l2.sgml" | ||
164 | indent-tabs-mode: nil | ||
165 | End: | ||
166 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml index 476fe1d2bba0..9b8efcd6e947 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enuminput.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enuminput.xml | |||
@@ -311,11 +311,3 @@ out of bounds.</para> | |||
311 | </variablelist> | 311 | </variablelist> |
312 | </refsect1> | 312 | </refsect1> |
313 | </refentry> | 313 | </refentry> |
314 | |||
315 | <!-- | ||
316 | Local Variables: | ||
317 | mode: sgml | ||
318 | sgml-parent-document: "v4l2.sgml" | ||
319 | indent-tabs-mode: nil | ||
320 | End: | ||
321 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml index a281d26a195f..a64d5ef103fa 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enumoutput.xml | |||
@@ -196,11 +196,3 @@ is out of bounds.</para> | |||
196 | </variablelist> | 196 | </variablelist> |
197 | </refsect1> | 197 | </refsect1> |
198 | </refentry> | 198 | </refentry> |
199 | |||
200 | <!-- | ||
201 | Local Variables: | ||
202 | mode: sgml | ||
203 | sgml-parent-document: "v4l2.sgml" | ||
204 | indent-tabs-mode: nil | ||
205 | End: | ||
206 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-enumstd.xml b/Documentation/DocBook/media/v4l/vidioc-enumstd.xml index 95803fe2c8e4..3a5fc5405f96 100644 --- a/Documentation/DocBook/media/v4l/vidioc-enumstd.xml +++ b/Documentation/DocBook/media/v4l/vidioc-enumstd.xml | |||
@@ -381,11 +381,3 @@ is out of bounds.</para> | |||
381 | </variablelist> | 381 | </variablelist> |
382 | </refsect1> | 382 | </refsect1> |
383 | </refentry> | 383 | </refentry> |
384 | |||
385 | <!-- | ||
386 | Local Variables: | ||
387 | mode: sgml | ||
388 | sgml-parent-document: "v4l2.sgml" | ||
389 | indent-tabs-mode: nil | ||
390 | End: | ||
391 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml b/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml index 5146d00782e3..12b1d0503e26 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-ctrl.xml | |||
@@ -127,11 +127,3 @@ this control belongs to.</para> | |||
127 | </variablelist> | 127 | </variablelist> |
128 | </refsect1> | 128 | </refsect1> |
129 | </refentry> | 129 | </refentry> |
130 | |||
131 | <!-- | ||
132 | Local Variables: | ||
133 | mode: sgml | ||
134 | sgml-parent-document: "v4l2.sgml" | ||
135 | indent-tabs-mode: nil | ||
136 | End: | ||
137 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml index 5122ce87e0b8..6f1f9a629dc3 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-ext-ctrls.xml | |||
@@ -312,10 +312,3 @@ to store the payload and this error code is returned.</para> | |||
312 | </refsect1> | 312 | </refsect1> |
313 | </refentry> | 313 | </refentry> |
314 | 314 | ||
315 | <!-- | ||
316 | Local Variables: | ||
317 | mode: sgml | ||
318 | sgml-parent-document: "v4l2.sgml" | ||
319 | indent-tabs-mode: nil | ||
320 | End: | ||
321 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml b/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml index 055718231bc1..93817f337033 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-fbuf.xml | |||
@@ -295,7 +295,8 @@ set this field to zero.</entry> | |||
295 | <entry>The device is capable of non-destructive overlays. | 295 | <entry>The device is capable of non-destructive overlays. |
296 | When the driver clears this flag, only destructive overlays are | 296 | When the driver clears this flag, only destructive overlays are |
297 | supported. There are no drivers yet which support both destructive and | 297 | supported. There are no drivers yet which support both destructive and |
298 | non-destructive overlays.</entry> | 298 | non-destructive overlays. Video Output Overlays are in practice always |
299 | non-destructive.</entry> | ||
299 | </row> | 300 | </row> |
300 | <row> | 301 | <row> |
301 | <entry><constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> | 302 | <entry><constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> |
@@ -339,8 +340,8 @@ blending makes no sense for destructive overlays.</entry> | |||
339 | <row> | 340 | <row> |
340 | <entry><constant>V4L2_FBUF_CAP_SRC_CHROMAKEY</constant></entry> | 341 | <entry><constant>V4L2_FBUF_CAP_SRC_CHROMAKEY</constant></entry> |
341 | <entry>0x0080</entry> | 342 | <entry>0x0080</entry> |
342 | <entry>The device supports Source Chroma-keying. Framebuffer pixels | 343 | <entry>The device supports Source Chroma-keying. Video pixels |
343 | with the chroma-key colors are replaced by video pixels, which is exactly opposite of | 344 | with the chroma-key colors are replaced by framebuffer pixels, which is exactly opposite of |
344 | <constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> | 345 | <constant>V4L2_FBUF_CAP_CHROMAKEY</constant></entry> |
345 | </row> | 346 | </row> |
346 | </tbody> | 347 | </tbody> |
@@ -356,7 +357,9 @@ with the chroma-key colors are replaced by video pixels, which is exactly opposi | |||
356 | <entry><constant>V4L2_FBUF_FLAG_PRIMARY</constant></entry> | 357 | <entry><constant>V4L2_FBUF_FLAG_PRIMARY</constant></entry> |
357 | <entry>0x0001</entry> | 358 | <entry>0x0001</entry> |
358 | <entry>The framebuffer is the primary graphics surface. | 359 | <entry>The framebuffer is the primary graphics surface. |
359 | In other words, the overlay is destructive. [?]</entry> | 360 | In other words, the overlay is destructive. This flag is typically set by any |
361 | driver that doesn't have the <constant>V4L2_FBUF_CAP_EXTERNOVERLAY</constant> | ||
362 | capability and it is cleared otherwise.</entry> | ||
360 | </row> | 363 | </row> |
361 | <row> | 364 | <row> |
362 | <entry><constant>V4L2_FBUF_FLAG_OVERLAY</constant></entry> | 365 | <entry><constant>V4L2_FBUF_FLAG_OVERLAY</constant></entry> |
@@ -366,9 +369,8 @@ size as the capture. [?]</entry> | |||
366 | </row> | 369 | </row> |
367 | <row> | 370 | <row> |
368 | <entry spanname="hspan">The purpose of | 371 | <entry spanname="hspan">The purpose of |
369 | <constant>V4L2_FBUF_FLAG_PRIMARY</constant> and | ||
370 | <constant>V4L2_FBUF_FLAG_OVERLAY</constant> was never quite clear. | 372 | <constant>V4L2_FBUF_FLAG_OVERLAY</constant> was never quite clear. |
371 | Most drivers seem to ignore these flags. For compatibility with the | 373 | Most drivers seem to ignore this flag. For compatibility with the |
372 | <wordasword>bttv</wordasword> driver applications should set the | 374 | <wordasword>bttv</wordasword> driver applications should set the |
373 | <constant>V4L2_FBUF_FLAG_OVERLAY</constant> flag.</entry> | 375 | <constant>V4L2_FBUF_FLAG_OVERLAY</constant> flag.</entry> |
374 | </row> | 376 | </row> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml index 062d72069090..16431813bebd 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-frequency.xml | |||
@@ -135,11 +135,3 @@ wrong.</para> | |||
135 | </variablelist> | 135 | </variablelist> |
136 | </refsect1> | 136 | </refsect1> |
137 | </refentry> | 137 | </refentry> |
138 | |||
139 | <!-- | ||
140 | Local Variables: | ||
141 | mode: sgml | ||
142 | sgml-parent-document: "v4l2.sgml" | ||
143 | indent-tabs-mode: nil | ||
144 | End: | ||
145 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml b/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml index 15ce660f0f5a..7f4ac7e41fa8 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-modulator.xml | |||
@@ -236,11 +236,3 @@ mode.</entry> | |||
236 | </variablelist> | 236 | </variablelist> |
237 | </refsect1> | 237 | </refsect1> |
238 | </refentry> | 238 | </refentry> |
239 | |||
240 | <!-- | ||
241 | Local Variables: | ||
242 | mode: sgml | ||
243 | sgml-parent-document: "v4l2.sgml" | ||
244 | indent-tabs-mode: nil | ||
245 | End: | ||
246 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-priority.xml b/Documentation/DocBook/media/v4l/vidioc-g-priority.xml index 8f5e3da7002f..6a81b4fe9538 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-priority.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-priority.xml | |||
@@ -133,11 +133,3 @@ priority.</para> | |||
133 | </variablelist> | 133 | </variablelist> |
134 | </refsect1> | 134 | </refsect1> |
135 | </refentry> | 135 | </refentry> |
136 | |||
137 | <!-- | ||
138 | Local Variables: | ||
139 | mode: sgml | ||
140 | sgml-parent-document: "v4l2.sgml" | ||
141 | indent-tabs-mode: nil | ||
142 | End: | ||
143 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-selection.xml b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml new file mode 100644 index 000000000000..a9d36e0c090e --- /dev/null +++ b/Documentation/DocBook/media/v4l/vidioc-g-selection.xml | |||
@@ -0,0 +1,304 @@ | |||
1 | <refentry id="vidioc-g-selection"> | ||
2 | |||
3 | <refmeta> | ||
4 | <refentrytitle>ioctl VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</refentrytitle> | ||
5 | &manvol; | ||
6 | </refmeta> | ||
7 | |||
8 | <refnamediv> | ||
9 | <refname>VIDIOC_G_SELECTION</refname> | ||
10 | <refname>VIDIOC_S_SELECTION</refname> | ||
11 | <refpurpose>Get or set one of the selection rectangles</refpurpose> | ||
12 | </refnamediv> | ||
13 | |||
14 | <refsynopsisdiv> | ||
15 | <funcsynopsis> | ||
16 | <funcprototype> | ||
17 | <funcdef>int <function>ioctl</function></funcdef> | ||
18 | <paramdef>int <parameter>fd</parameter></paramdef> | ||
19 | <paramdef>int <parameter>request</parameter></paramdef> | ||
20 | <paramdef>struct v4l2_selection *<parameter>argp</parameter></paramdef> | ||
21 | </funcprototype> | ||
22 | </funcsynopsis> | ||
23 | </refsynopsisdiv> | ||
24 | |||
25 | <refsect1> | ||
26 | <title>Arguments</title> | ||
27 | |||
28 | <variablelist> | ||
29 | <varlistentry> | ||
30 | <term><parameter>fd</parameter></term> | ||
31 | <listitem> | ||
32 | <para>&fd;</para> | ||
33 | </listitem> | ||
34 | </varlistentry> | ||
35 | <varlistentry> | ||
36 | <term><parameter>request</parameter></term> | ||
37 | <listitem> | ||
38 | <para>VIDIOC_G_SELECTION, VIDIOC_S_SELECTION</para> | ||
39 | </listitem> | ||
40 | </varlistentry> | ||
41 | <varlistentry> | ||
42 | <term><parameter>argp</parameter></term> | ||
43 | <listitem> | ||
44 | <para></para> | ||
45 | </listitem> | ||
46 | </varlistentry> | ||
47 | </variablelist> | ||
48 | </refsect1> | ||
49 | |||
50 | <refsect1> | ||
51 | <title>Description</title> | ||
52 | |||
53 | <note> | ||
54 | <title>Experimental</title> | ||
55 | <para>This is an <link linkend="experimental"> experimental </link> | ||
56 | interface and may change in the future.</para> | ||
57 | </note> | ||
58 | |||
59 | <para>The ioctls are used to query and configure selection rectangles.</para> | ||
60 | |||
61 | <para> To query the cropping (composing) rectangle set <structfield> | ||
62 | &v4l2-selection;::type </structfield> to the respective buffer type. Do not | ||
63 | use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE | ||
64 | </constant> instead of <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE | ||
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 | ||
67 | setting <structfield> &v4l2-selection;::target </structfield> to value | ||
68 | <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant> | ||
69 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref | ||
70 | linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional | ||
71 | targets. Fields <structfield> &v4l2-selection;::flags </structfield> and | ||
72 | <structfield> &v4l2-selection;::reserved </structfield> are ignored and they | ||
73 | must be filled with zeros. The driver fills the rest of the structure or | ||
74 | returns &EINVAL; if incorrect buffer type or target was used. If cropping | ||
75 | (composing) is not supported then the active rectangle is not mutable and it is | ||
76 | always equal to the bounds rectangle. Finally, structure <structfield> | ||
77 | &v4l2-selection;::r </structfield> is filled with the current cropping | ||
78 | (composing) coordinates. The coordinates are expressed in driver-dependent | ||
79 | units. The only exception are rectangles for images in raw formats, whose | ||
80 | coordinates are always expressed in pixels. </para> | ||
81 | |||
82 | <para> To change the cropping (composing) rectangle set <structfield> | ||
83 | &v4l2-selection;::type </structfield> to the respective buffer type. Do not | ||
84 | use multiplanar buffers. Use <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE | ||
85 | </constant> instead of <constant> V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE | ||
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 | ||
88 | setting <structfield> &v4l2-selection;::target </structfield> to value | ||
89 | <constant> V4L2_SEL_TGT_CROP_ACTIVE </constant> (<constant> | ||
90 | V4L2_SEL_TGT_COMPOSE_ACTIVE </constant>). Please refer to table <xref | ||
91 | linkend="v4l2-sel-target" /> or <xref linkend="selection-api" /> for additional | ||
92 | targets. Set desired active area into the field <structfield> | ||
93 | &v4l2-selection;::r </structfield>. Field <structfield> | ||
94 | &v4l2-selection;::reserved </structfield> is ignored and must be filled with | ||
95 | zeros. The driver may adjust the rectangle coordinates. An application may | ||
96 | introduce constraints to control rounding behaviour. Set the field | ||
97 | <structfield> &v4l2-selection;::flags </structfield> to one of values: | ||
98 | |||
99 | <itemizedlist> | ||
100 | <listitem> | ||
101 | <para><constant>0</constant> - The driver can adjust the rectangle size freely | ||
102 | and shall choose a crop/compose rectangle as close as possible to the requested | ||
103 | one.</para> | ||
104 | </listitem> | ||
105 | <listitem> | ||
106 | <para><constant>V4L2_SEL_FLAG_GE</constant> - The driver is not allowed to | ||
107 | shrink the rectangle. The original rectangle must lay inside the adjusted | ||
108 | one.</para> | ||
109 | </listitem> | ||
110 | <listitem> | ||
111 | <para><constant>V4L2_SEL_FLAG_LE</constant> - The driver is not allowed to | ||
112 | enlarge the rectangle. The adjusted rectangle must lay inside the original | ||
113 | one.</para> | ||
114 | </listitem> | ||
115 | <listitem> | ||
116 | <para><constant>V4L2_SEL_FLAG_GE | V4L2_SEL_FLAG_LE</constant> - The driver | ||
117 | must choose the size exactly the same as in the requested rectangle.</para> | ||
118 | </listitem> | ||
119 | </itemizedlist> | ||
120 | |||
121 | Please refer to <xref linkend="sel-const-adjust" />. | ||
122 | |||
123 | </para> | ||
124 | |||
125 | <para> The driver may have to adjusts the requested dimensions against hardware | ||
126 | limits and other parts as the pipeline, i.e. the bounds given by the | ||
127 | capture/output window or TV display. The closest possible values of horizontal | ||
128 | and vertical offset and sizes are chosen according to following priority: | ||
129 | |||
130 | <orderedlist> | ||
131 | <listitem> | ||
132 | <para>Satisfy constraints from <structfield>&v4l2-selection;::flags</structfield>.</para> | ||
133 | </listitem> | ||
134 | <listitem> | ||
135 | <para>Adjust width, height, left, and top to hardware limits and alignments.</para> | ||
136 | </listitem> | ||
137 | <listitem> | ||
138 | <para>Keep center of adjusted rectangle as close as possible to the original one.</para> | ||
139 | </listitem> | ||
140 | <listitem> | ||
141 | <para>Keep width and height as close as possible to original ones.</para> | ||
142 | </listitem> | ||
143 | <listitem> | ||
144 | <para>Keep horizontal and vertical offset as close as possible to original ones.</para> | ||
145 | </listitem> | ||
146 | </orderedlist> | ||
147 | |||
148 | On success the field <structfield> &v4l2-selection;::r </structfield> contains | ||
149 | the adjusted rectangle. When the parameters are unsuitable the application may | ||
150 | modify the cropping (composing) or image parameters and repeat the cycle until | ||
151 | satisfactory parameters have been negotiated. If constraints flags have to be | ||
152 | violated at then ERANGE is returned. The error indicates that <emphasis> there | ||
153 | exist no rectangle </emphasis> that satisfies the constraints.</para> | ||
154 | |||
155 | </refsect1> | ||
156 | |||
157 | <refsect1> | ||
158 | <table frame="none" pgwide="1" id="v4l2-sel-target"> | ||
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>0</entry> | ||
166 | <entry>area that is currently cropped by hardware</entry> | ||
167 | </row> | ||
168 | <row> | ||
169 | <entry><constant>V4L2_SEL_TGT_CROP_DEFAULT</constant></entry> | ||
170 | <entry>1</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>2</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>256</entry> | ||
181 | <entry>area to which data are composed by hardware</entry> | ||
182 | </row> | ||
183 | <row> | ||
184 | <entry><constant>V4L2_SEL_TGT_COMPOSE_DEFAULT</constant></entry> | ||
185 | <entry>257</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>258</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>259</entry> | ||
196 | <entry>the active area and all padding pixels that are inserted or modified by the 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>indicate that adjusted rectangle must contain a rectangle from <structfield>&v4l2-selection;::r</structfield></entry> | ||
213 | </row> | ||
214 | <row> | ||
215 | <entry><constant>V4L2_SEL_FLAG_LE</constant></entry> | ||
216 | <entry>0x00000002</entry> | ||
217 | <entry>indicate that adjusted rectangle must be inside a rectangle from <structfield>&v4l2-selection;::r</structfield></entry> | ||
218 | </row> | ||
219 | </tbody> | ||
220 | </tgroup> | ||
221 | </table> | ||
222 | </refsect1> | ||
223 | |||
224 | <section> | ||
225 | <figure id="sel-const-adjust"> | ||
226 | <title>Size adjustments with constraint flags.</title> | ||
227 | <mediaobject> | ||
228 | <imageobject> | ||
229 | <imagedata fileref="constraints.png" format="PNG" /> | ||
230 | </imageobject> | ||
231 | <textobject> | ||
232 | <phrase>Behaviour of rectangle adjustment for different constraint | ||
233 | flags.</phrase> | ||
234 | </textobject> | ||
235 | </mediaobject> | ||
236 | </figure> | ||
237 | </section> | ||
238 | |||
239 | <refsect1> | ||
240 | <table pgwide="1" frame="none" id="v4l2-selection"> | ||
241 | <title>struct <structname>v4l2_selection</structname></title> | ||
242 | <tgroup cols="3"> | ||
243 | &cs-str; | ||
244 | <tbody valign="top"> | ||
245 | <row> | ||
246 | <entry>__u32</entry> | ||
247 | <entry><structfield>type</structfield></entry> | ||
248 | <entry>Type of the buffer (from &v4l2-buf-type;)</entry> | ||
249 | </row> | ||
250 | <row> | ||
251 | <entry>__u32</entry> | ||
252 | <entry><structfield>target</structfield></entry> | ||
253 | <entry>used to select between <link linkend="v4l2-sel-target"> cropping and composing rectangles </link></entry> | ||
254 | </row> | ||
255 | <row> | ||
256 | <entry>__u32</entry> | ||
257 | <entry><structfield>flags</structfield></entry> | ||
258 | <entry>control over coordinates adjustments, refer to <link linkend="v4l2-sel-flags">selection flags</link></entry> | ||
259 | </row> | ||
260 | <row> | ||
261 | <entry>&v4l2-rect;</entry> | ||
262 | <entry><structfield>r</structfield></entry> | ||
263 | <entry>selection rectangle</entry> | ||
264 | </row> | ||
265 | <row> | ||
266 | <entry>__u32</entry> | ||
267 | <entry><structfield>reserved[9]</structfield></entry> | ||
268 | <entry>Reserved fields for future use</entry> | ||
269 | </row> | ||
270 | </tbody> | ||
271 | </tgroup> | ||
272 | </table> | ||
273 | </refsect1> | ||
274 | |||
275 | <refsect1> | ||
276 | &return-value; | ||
277 | <variablelist> | ||
278 | <varlistentry> | ||
279 | <term><errorcode>EINVAL</errorcode></term> | ||
280 | <listitem> | ||
281 | <para>The buffer <structfield> &v4l2-selection;::type </structfield> | ||
282 | or <structfield> &v4l2-selection;::target </structfield> is not supported, or | ||
283 | the <structfield> &v4l2-selection;::flags </structfield> are invalid.</para> | ||
284 | </listitem> | ||
285 | </varlistentry> | ||
286 | <varlistentry> | ||
287 | <term><errorcode>ERANGE</errorcode></term> | ||
288 | <listitem> | ||
289 | <para>it is not possible to adjust a rectangle <structfield> | ||
290 | &v4l2-selection;::r </structfield> that satisfies all contraints from | ||
291 | <structfield> &v4l2-selection;::flags </structfield>.</para> | ||
292 | </listitem> | ||
293 | </varlistentry> | ||
294 | <varlistentry> | ||
295 | <term><errorcode>EBUSY</errorcode></term> | ||
296 | <listitem> | ||
297 | <para>it is not possible to apply change of selection rectangle at the moment. | ||
298 | Usually because streaming is in progress.</para> | ||
299 | </listitem> | ||
300 | </varlistentry> | ||
301 | </variablelist> | ||
302 | </refsect1> | ||
303 | |||
304 | </refentry> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-std.xml b/Documentation/DocBook/media/v4l/vidioc-g-std.xml index 37996f25b5d4..99ff1a016220 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-std.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-std.xml | |||
@@ -88,11 +88,3 @@ standards.</para> | |||
88 | </variablelist> | 88 | </variablelist> |
89 | </refsect1> | 89 | </refsect1> |
90 | </refentry> | 90 | </refentry> |
91 | |||
92 | <!-- | ||
93 | Local Variables: | ||
94 | mode: sgml | ||
95 | sgml-parent-document: "v4l2.sgml" | ||
96 | indent-tabs-mode: nil | ||
97 | End: | ||
98 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml index bd98c734c06b..91ec2fb658f8 100644 --- a/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml +++ b/Documentation/DocBook/media/v4l/vidioc-g-tuner.xml | |||
@@ -318,6 +318,16 @@ standard.</para><!-- FIXME what if PAL+NTSC and Bi but not SAP? --></entry> | |||
318 | <entry>RDS capture is supported. This capability is only valid for | 318 | <entry>RDS capture is supported. This capability is only valid for |
319 | radio tuners.</entry> | 319 | radio tuners.</entry> |
320 | </row> | 320 | </row> |
321 | <row> | ||
322 | <entry><constant>V4L2_TUNER_CAP_RDS_BLOCK_IO</constant></entry> | ||
323 | <entry>0x0100</entry> | ||
324 | <entry>The RDS data is passed as unparsed RDS blocks.</entry> | ||
325 | </row> | ||
326 | <row> | ||
327 | <entry><constant>V4L2_TUNER_CAP_RDS_CONTROLS</constant></entry> | ||
328 | <entry>0x0200</entry> | ||
329 | <entry>The RDS data is parsed by the hardware and set via controls.</entry> | ||
330 | </row> | ||
321 | </tbody> | 331 | </tbody> |
322 | </tgroup> | 332 | </tgroup> |
323 | </table> | 333 | </table> |
@@ -525,11 +535,3 @@ out of bounds.</para> | |||
525 | </variablelist> | 535 | </variablelist> |
526 | </refsect1> | 536 | </refsect1> |
527 | </refentry> | 537 | </refentry> |
528 | |||
529 | <!-- | ||
530 | Local Variables: | ||
531 | mode: sgml | ||
532 | sgml-parent-document: "v4l2.sgml" | ||
533 | indent-tabs-mode: nil | ||
534 | End: | ||
535 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml index 5c104d42d31c..6e414d7b6df7 100644 --- a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml +++ b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml | |||
@@ -100,11 +100,3 @@ supported, or the <structfield>index</structfield> is out of bounds.</para> | |||
100 | </variablelist> | 100 | </variablelist> |
101 | </refsect1> | 101 | </refsect1> |
102 | </refentry> | 102 | </refentry> |
103 | |||
104 | <!-- | ||
105 | Local Variables: | ||
106 | mode: sgml | ||
107 | sgml-parent-document: "v4l2.sgml" | ||
108 | indent-tabs-mode: nil | ||
109 | End: | ||
110 | --> | ||
diff --git a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml index 0ac0057a51c4..36660d311b51 100644 --- a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml +++ b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml | |||
@@ -443,11 +443,3 @@ or this particular menu item is not supported by the driver.</para> | |||
443 | </variablelist> | 443 | </variablelist> |
444 | </refsect1> | 444 | </refsect1> |
445 | </refentry> | 445 | </refentry> |
446 | |||
447 | <!-- | ||
448 | Local Variables: | ||
449 | mode: sgml | ||
450 | sgml-parent-document: "v4l2.sgml" | ||
451 | indent-tabs-mode: nil | ||
452 | End: | ||
453 | --> | ||
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 c30dcc4232c0..e013da845b11 100644 --- a/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml +++ b/Documentation/DocBook/media/v4l/vidioc-s-hw-freq-seek.xml | |||
@@ -125,11 +125,3 @@ wrong.</para> | |||
125 | </variablelist> | 125 | </variablelist> |
126 | </refsect1> | 126 | </refsect1> |
127 | </refentry> | 127 | </refentry> |
128 | |||
129 | <!-- | ||
130 | Local Variables: | ||
131 | mode: sgml | ||
132 | sgml-parent-document: "v4l2.sgml" | ||
133 | indent-tabs-mode: nil | ||
134 | End: | ||
135 | --> | ||