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 | |
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')
86 files changed, 1069 insertions, 600 deletions
diff --git a/Documentation/DocBook/media/constraints.png.b64 b/Documentation/DocBook/media/constraints.png.b64 new file mode 100644 index 000000000000..125b4a94962c --- /dev/null +++ b/Documentation/DocBook/media/constraints.png.b64 | |||
@@ -0,0 +1,59 @@ | |||
1 | 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 | ||
59 | RU5ErkJggg== | ||
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml index 3bc8a61efe30..ffee1fbbc001 100644 --- a/Documentation/DocBook/media/dvb/dvbproperty.xml +++ b/Documentation/DocBook/media/dvb/dvbproperty.xml | |||
@@ -334,9 +334,10 @@ typedef enum fe_rolloff { | |||
334 | <title>fe_delivery_system type</title> | 334 | <title>fe_delivery_system type</title> |
335 | <para>Possible values: </para> | 335 | <para>Possible values: </para> |
336 | <programlisting> | 336 | <programlisting> |
337 | |||
337 | typedef enum fe_delivery_system { | 338 | typedef enum fe_delivery_system { |
338 | SYS_UNDEFINED, | 339 | SYS_UNDEFINED, |
339 | SYS_DVBC_ANNEX_AC, | 340 | SYS_DVBC_ANNEX_A, |
340 | SYS_DVBC_ANNEX_B, | 341 | SYS_DVBC_ANNEX_B, |
341 | SYS_DVBT, | 342 | SYS_DVBT, |
342 | SYS_DSS, | 343 | SYS_DSS, |
@@ -353,6 +354,7 @@ typedef enum fe_delivery_system { | |||
353 | SYS_DAB, | 354 | SYS_DAB, |
354 | SYS_DVBT2, | 355 | SYS_DVBT2, |
355 | SYS_TURBO, | 356 | SYS_TURBO, |
357 | SYS_DVBC_ANNEX_C, | ||
356 | } fe_delivery_system_t; | 358 | } fe_delivery_system_t; |
357 | </programlisting> | 359 | </programlisting> |
358 | </section> | 360 | </section> |
@@ -647,6 +649,18 @@ typedef enum fe_hierarchy { | |||
647 | many data types via a single multiplex. The API will soon support this | 649 | many data types via a single multiplex. The API will soon support this |
648 | at which point this section will be expanded.</para> | 650 | at which point this section will be expanded.</para> |
649 | </section> | 651 | </section> |
652 | <section id="DTV_ENUM_DELSYS"> | ||
653 | <title><constant>DTV_ENUM_DELSYS</constant></title> | ||
654 | <para>A Multi standard frontend needs to advertise the delivery systems provided. | ||
655 | Applications need to enumerate the provided delivery systems, before using | ||
656 | any other operation with the frontend. Prior to it's introduction, | ||
657 | FE_GET_INFO was used to determine a frontend type. A frontend which | ||
658 | provides more than a single delivery system, FE_GET_INFO doesn't help much. | ||
659 | Applications which intends to use a multistandard frontend must enumerate | ||
660 | the delivery systems associated with it, rather than trying to use | ||
661 | FE_GET_INFO. In the case of a legacy frontend, the result is just the same | ||
662 | as with FE_GET_INFO, but in a more structured format </para> | ||
663 | </section> | ||
650 | </section> | 664 | </section> |
651 | <section id="frontend-property-terrestrial-systems"> | 665 | <section id="frontend-property-terrestrial-systems"> |
652 | <title>Properties used on terrestrial delivery systems</title> | 666 | <title>Properties used on terrestrial delivery systems</title> |
@@ -767,7 +781,8 @@ typedef enum fe_hierarchy { | |||
767 | <title>Properties used on cable delivery systems</title> | 781 | <title>Properties used on cable delivery systems</title> |
768 | <section id="dvbc-params"> | 782 | <section id="dvbc-params"> |
769 | <title>DVB-C delivery system</title> | 783 | <title>DVB-C delivery system</title> |
770 | <para>The DVB-C Annex-A/C is the widely used cable standard. Transmission uses QAM modulation.</para> | 784 | <para>The DVB-C Annex-A is the widely used cable standard. Transmission uses QAM modulation.</para> |
785 | <para>The DVB-C Annex-C is optimized for 6MHz, and is used in Japan. It supports a subset of the Annex A modulation types, and a roll-off of 0.13, instead of 0.15</para> | ||
771 | <para>The following parameters are valid for DVB-C Annex A/C:</para> | 786 | <para>The following parameters are valid for DVB-C Annex A/C:</para> |
772 | <itemizedlist mark='opencircle'> | 787 | <itemizedlist mark='opencircle'> |
773 | <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem> | 788 | <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem> |
diff --git a/Documentation/DocBook/media/dvb/frontend.xml b/Documentation/DocBook/media/dvb/frontend.xml index 61407eaba020..aeaed59d0f1f 100644 --- a/Documentation/DocBook/media/dvb/frontend.xml +++ b/Documentation/DocBook/media/dvb/frontend.xml | |||
@@ -45,8 +45,8 @@ transmission. The fontend types are given by fe_type_t type, defined as:</para> | |||
45 | </row> | 45 | </row> |
46 | <row> | 46 | <row> |
47 | <entry id="FE_QAM"><constant>FE_QAM</constant></entry> | 47 | <entry id="FE_QAM"><constant>FE_QAM</constant></entry> |
48 | <entry>For DVB-C annex A/C standard</entry> | 48 | <entry>For DVB-C annex A standard</entry> |
49 | <entry><constant>SYS_DVBC_ANNEX_AC</constant></entry> | 49 | <entry><constant>SYS_DVBC_ANNEX_A</constant></entry> |
50 | </row> | 50 | </row> |
51 | <row> | 51 | <row> |
52 | <entry id="FE_OFDM"><constant>FE_OFDM</constant></entry> | 52 | <entry id="FE_OFDM"><constant>FE_OFDM</constant></entry> |
@@ -63,6 +63,10 @@ transmission. The fontend types are given by fe_type_t type, defined as:</para> | |||
63 | <para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're | 63 | <para>Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're |
64 | supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter. | 64 | supported via the new <link linkend="FE_GET_SET_PROPERTY">FE_GET_PROPERTY/FE_GET_SET_PROPERTY</link> ioctl's, using the <link linkend="DTV-DELIVERY-SYSTEM">DTV_DELIVERY_SYSTEM</link> parameter. |
65 | </para> | 65 | </para> |
66 | |||
67 | <para>The usage of this field is deprecated, as it doesn't report all supported standards, and | ||
68 | will provide an incomplete information for frontends that support multiple delivery systems. | ||
69 | Please use <link linkend="DTV_ENUM_DELSYS">DTV_ENUM_DELSYS</link> instead.</para> | ||
66 | </section> | 70 | </section> |
67 | 71 | ||
68 | <section id="fe-caps-t"> | 72 | <section id="fe-caps-t"> |
diff --git a/Documentation/DocBook/media/selection.png.b64 b/Documentation/DocBook/media/selection.png.b64 new file mode 100644 index 000000000000..416186558cb2 --- /dev/null +++ b/Documentation/DocBook/media/selection.png.b64 | |||
@@ -0,0 +1,206 @@ | |||
1 | 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 | ||
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 | --> | ||
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware index e67be7afc78b..d1d4a179a382 100755 --- a/Documentation/dvb/get_dvb_firmware +++ b/Documentation/dvb/get_dvb_firmware | |||
@@ -27,8 +27,8 @@ use IO::Handle; | |||
27 | "or51211", "or51132_qam", "or51132_vsb", "bluebird", | 27 | "or51211", "or51132_qam", "or51132_vsb", "bluebird", |
28 | "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", | 28 | "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", |
29 | "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", | 29 | "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", |
30 | "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "tda10071", | 30 | "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", |
31 | "it9135" ); | 31 | "drxk_hauppauge_hvr930c", "tda10071", "it9135", "it9137"); |
32 | 32 | ||
33 | # Check args | 33 | # Check args |
34 | syntax() if (scalar(@ARGV) != 1); | 34 | syntax() if (scalar(@ARGV) != 1); |
@@ -644,6 +644,24 @@ sub drxk { | |||
644 | "$fwfile" | 644 | "$fwfile" |
645 | } | 645 | } |
646 | 646 | ||
647 | sub drxk_hauppauge_hvr930c { | ||
648 | my $url = "http://www.wintvcd.co.uk/drivers/"; | ||
649 | my $zipfile = "HVR-9x0_5_10_325_28153_SIGNED.zip"; | ||
650 | my $hash = "83ab82e7e9480ec8bf1ae0155ca63c88"; | ||
651 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); | ||
652 | my $drvfile = "HVR-900/emOEM.sys"; | ||
653 | my $fwfile = "dvb-usb-hauppauge-hvr930c-drxk.fw"; | ||
654 | |||
655 | checkstandard(); | ||
656 | |||
657 | wgetfile($zipfile, $url . $zipfile); | ||
658 | verify($zipfile, $hash); | ||
659 | unzip($zipfile, $tmpdir); | ||
660 | extract("$tmpdir/$drvfile", 0x117b0, 42692, "$fwfile"); | ||
661 | |||
662 | "$fwfile" | ||
663 | } | ||
664 | |||
647 | sub drxk_terratec_h5 { | 665 | sub drxk_terratec_h5 { |
648 | my $url = "http://www.linuxtv.org/downloads/firmware/"; | 666 | my $url = "http://www.linuxtv.org/downloads/firmware/"; |
649 | my $hash = "19000dada8e2741162ccc50cc91fa7f1"; | 667 | my $hash = "19000dada8e2741162ccc50cc91fa7f1"; |
@@ -658,6 +676,26 @@ sub drxk_terratec_h5 { | |||
658 | } | 676 | } |
659 | 677 | ||
660 | sub it9135 { | 678 | sub it9135 { |
679 | my $sourcefile = "dvb-usb-it9135.zip"; | ||
680 | my $url = "http://www.ite.com.tw/uploads/firmware/v3.6.0.0/$sourcefile"; | ||
681 | my $hash = "1e55f6c8833f1d0ae067c2bb2953e6a9"; | ||
682 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); | ||
683 | my $outfile = "dvb-usb-it9135.fw"; | ||
684 | my $fwfile1 = "dvb-usb-it9135-01.fw"; | ||
685 | my $fwfile2 = "dvb-usb-it9135-02.fw"; | ||
686 | |||
687 | checkstandard(); | ||
688 | |||
689 | wgetfile($sourcefile, $url); | ||
690 | unzip($sourcefile, $tmpdir); | ||
691 | verify("$tmpdir/$outfile", $hash); | ||
692 | extract("$tmpdir/$outfile", 64, 8128, "$fwfile1"); | ||
693 | extract("$tmpdir/$outfile", 12866, 5817, "$fwfile2"); | ||
694 | |||
695 | "$fwfile1 $fwfile2" | ||
696 | } | ||
697 | |||
698 | sub it9137 { | ||
661 | my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/"; | 699 | my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/"; |
662 | my $zipfile = "Driver_V10.323.1.0412.100412.zip"; | 700 | my $zipfile = "Driver_V10.323.1.0412.100412.zip"; |
663 | my $hash = "79b597dc648698ed6820845c0c9d0d37"; | 701 | my $hash = "79b597dc648698ed6820845c0c9d0d37"; |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index d49c2ec72d12..d725c0dfe032 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -439,41 +439,6 @@ Who: Jean Delvare <khali@linux-fr.org> | |||
439 | 439 | ||
440 | ---------------------------- | 440 | ---------------------------- |
441 | 441 | ||
442 | What: Support for driver specific ioctls in the pwc driver (everything | ||
443 | defined in media/pwc-ioctl.h) | ||
444 | When: 3.3 | ||
445 | Why: This stems from the v4l1 era, with v4l2 everything can be done with | ||
446 | standardized v4l2 API calls | ||
447 | Who: Hans de Goede <hdegoede@redhat.com> | ||
448 | |||
449 | ---------------------------- | ||
450 | |||
451 | What: Driver specific sysfs API in the pwc driver | ||
452 | When: 3.3 | ||
453 | Why: Setting pan/tilt should be done with v4l2 controls, like with other | ||
454 | cams. The button is available as a standard input device | ||
455 | Who: Hans de Goede <hdegoede@redhat.com> | ||
456 | |||
457 | ---------------------------- | ||
458 | |||
459 | What: Driver specific use of pixfmt.priv in the pwc driver | ||
460 | When: 3.3 | ||
461 | Why: The .priv field never was intended for this, setting a framerate is | ||
462 | support using the standardized S_PARM ioctl | ||
463 | Who: Hans de Goede <hdegoede@redhat.com> | ||
464 | |||
465 | ---------------------------- | ||
466 | |||
467 | What: Software emulation of arbritary resolutions in the pwc driver | ||
468 | When: 3.3 | ||
469 | Why: The pwc driver claims to support any resolution between 160x120 | ||
470 | and 640x480, but emulates this by simply drawing a black border | ||
471 | around the image. Userspace can draw its own black border if it | ||
472 | really wants one. | ||
473 | Who: Hans de Goede <hdegoede@redhat.com> | ||
474 | |||
475 | ---------------------------- | ||
476 | |||
477 | What: For VIDIOC_S_FREQUENCY the type field must match the device node's type. | 442 | What: For VIDIOC_S_FREQUENCY the type field must match the device node's type. |
478 | If not, return -EINVAL. | 443 | If not, return -EINVAL. |
479 | When: 3.2 | 444 | When: 3.2 |
diff --git a/Documentation/video4linux/CARDLIST.au0828 b/Documentation/video4linux/CARDLIST.au0828 index d5cb4ea287b2..7b59e953c4bf 100644 --- a/Documentation/video4linux/CARDLIST.au0828 +++ b/Documentation/video4linux/CARDLIST.au0828 | |||
@@ -1,5 +1,5 @@ | |||
1 | 0 -> Unknown board (au0828) | 1 | 0 -> Unknown board (au0828) |
2 | 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008] | 2 | 1 -> Hauppauge HVR950Q (au0828) [2040:7200,2040:7210,2040:7217,2040:721b,2040:721e,2040:721f,2040:7280,0fd9:0008,2040:7260,2040:7213] |
3 | 2 -> Hauppauge HVR850 (au0828) [2040:7240] | 3 | 2 -> Hauppauge HVR850 (au0828) [2040:7240] |
4 | 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] | 4 | 3 -> DViCO FusionHDTV USB (au0828) [0fe9:d620] |
5 | 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] | 5 | 4 -> Hauppauge HVR950Q rev xxF8 (au0828) [2040:7201,2040:7211,2040:7281] |
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv index 4739d5684305..b753906c7183 100644 --- a/Documentation/video4linux/CARDLIST.bttv +++ b/Documentation/video4linux/CARDLIST.bttv | |||
@@ -71,7 +71,7 @@ | |||
71 | 70 -> Prolink Pixelview PV-BT878P+ (Rev.4C,8E) | 71 | 70 -> Prolink Pixelview PV-BT878P+ (Rev.4C,8E) |
72 | 71 -> Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851] | 72 | 71 -> Lifeview FlyVideo 98EZ (capture only) LR51 [1851:1851] |
73 | 72 -> Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011] | 73 | 72 -> Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM) [1554:4011] |
74 | 73 -> Sensoray 311 [6000:0311] | 74 | 73 -> Sensoray 311/611 [6000:0311,6000:0611] |
75 | 74 -> RemoteVision MX (RV605) | 75 | 74 -> RemoteVision MX (RV605) |
76 | 75 -> Powercolor MTV878/ MTV878R/ MTV878F | 76 | 75 -> Powercolor MTV878/ MTV878R/ MTV878F |
77 | 76 -> Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079] | 77 | 76 -> Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP) [0e11:0079] |
@@ -158,3 +158,4 @@ | |||
158 | 157 -> Geovision GV-800(S) (master) [800a:763d] | 158 | 157 -> Geovision GV-800(S) (master) [800a:763d] |
159 | 158 -> Geovision GV-800(S) (slave) [800b:763d,800c:763d,800d:763d] | 159 | 158 -> Geovision GV-800(S) (slave) [800b:763d,800c:763d,800d:763d] |
160 | 159 -> ProVideo PV183 [1830:1540,1831:1540,1832:1540,1833:1540,1834:1540,1835:1540,1836:1540,1837:1540] | 160 | 159 -> ProVideo PV183 [1830:1540,1831:1540,1832:1540,1833:1540,1834:1540,1835:1540,1836:1540,1837:1540] |
161 | 160 -> Tongwei Video Technology TD-3116 [f200:3116] | ||
diff --git a/Documentation/video4linux/CARDLIST.cx23885 b/Documentation/video4linux/CARDLIST.cx23885 index 8910449d23a8..23584d0c6a75 100644 --- a/Documentation/video4linux/CARDLIST.cx23885 +++ b/Documentation/video4linux/CARDLIST.cx23885 | |||
@@ -29,3 +29,6 @@ | |||
29 | 28 -> LEADTEK WinFast PxTV1200 [107d:6f22] | 29 | 28 -> LEADTEK WinFast PxTV1200 [107d:6f22] |
30 | 29 -> GoTView X5 3D Hybrid [5654:2390] | 30 | 29 -> GoTView X5 3D Hybrid [5654:2390] |
31 | 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4] | 31 | 30 -> NetUP Dual DVB-T/C-CI RF [1b55:e2e4] |
32 | 31 -> Leadtek Winfast PxDVR3200 H XC4000 [107d:6f39] | ||
33 | 32 -> MPX-885 | ||
34 | 33 -> Mygica X8507 [14f1:8502] | ||
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 index d9c0f119196d..eee18e6962b6 100644 --- a/Documentation/video4linux/CARDLIST.cx88 +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -85,3 +85,5 @@ | |||
85 | 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd] | 85 | 84 -> Samsung SMT 7020 DVB-S [18ac:dc00,18ac:dccd] |
86 | 85 -> Twinhan VP-1027 DVB-S [1822:0023] | 86 | 85 -> Twinhan VP-1027 DVB-S [1822:0023] |
87 | 86 -> TeVii S464 DVB-S/S2 [d464:9022] | 87 | 86 -> TeVii S464 DVB-S/S2 [d464:9022] |
88 | 87 -> Leadtek WinFast DTV2000 H PLUS [107d:6f42] | ||
89 | 88 -> Leadtek WinFast DTV1800 H (XC4000) [107d:6f38] | ||
diff --git a/Documentation/video4linux/CARDLIST.em28xx b/Documentation/video4linux/CARDLIST.em28xx index 4a7b3df6d8bd..e7be3ac49ead 100644 --- a/Documentation/video4linux/CARDLIST.em28xx +++ b/Documentation/video4linux/CARDLIST.em28xx | |||
@@ -11,7 +11,7 @@ | |||
11 | 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] | 11 | 10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500] |
12 | 11 -> Terratec Hybrid XS (em2880) | 12 | 11 -> Terratec Hybrid XS (em2880) |
13 | 12 -> Kworld PVR TV 2800 RF (em2820/em2840) | 13 | 12 -> Kworld PVR TV 2800 RF (em2820/em2840) |
14 | 13 -> Terratec Prodigy XS (em2880) [0ccd:0047] | 14 | 13 -> Terratec Prodigy XS (em2880) |
15 | 14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) | 15 | 14 -> SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0 (em2820/em2840) |
16 | 15 -> V-Gear PocketTV (em2800) | 16 | 15 -> V-Gear PocketTV (em2800) |
17 | 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b] | 17 | 16 -> Hauppauge WinTV HVR 950 (em2883) [2040:6513,2040:6517,2040:651b] |
@@ -40,7 +40,7 @@ | |||
40 | 39 -> KWorld PVRTV 300U (em2861) [eb1a:e300] | 40 | 39 -> KWorld PVRTV 300U (em2861) [eb1a:e300] |
41 | 40 -> Plextor ConvertX PX-TV100U (em2861) [093b:a005] | 41 | 40 -> Plextor ConvertX PX-TV100U (em2861) [093b:a005] |
42 | 41 -> Kworld 350 U DVB-T (em2870) [eb1a:e350] | 42 | 41 -> Kworld 350 U DVB-T (em2870) [eb1a:e350] |
43 | 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357] | 43 | 42 -> Kworld 355 U DVB-T (em2870) [eb1a:e355,eb1a:e357,eb1a:e359] |
44 | 43 -> Terratec Cinergy T XS (em2870) [0ccd:0043] | 44 | 43 -> Terratec Cinergy T XS (em2870) [0ccd:0043] |
45 | 44 -> Terratec Cinergy T XS (MT2060) (em2870) | 45 | 44 -> Terratec Cinergy T XS (MT2060) (em2870) |
46 | 45 -> Pinnacle PCTV DVB-T (em2870) | 46 | 45 -> Pinnacle PCTV DVB-T (em2870) |
@@ -64,7 +64,7 @@ | |||
64 | 64 -> Easy Cap Capture DC-60 (em2860) | 64 | 64 -> Easy Cap Capture DC-60 (em2860) |
65 | 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] | 65 | 65 -> IO-DATA GV-MVP/SZ (em2820/em2840) [04bb:0515] |
66 | 66 -> Empire dual TV (em2880) | 66 | 66 -> Empire dual TV (em2880) |
67 | 67 -> Terratec Grabby (em2860) [0ccd:0096] | 67 | 67 -> Terratec Grabby (em2860) [0ccd:0096,0ccd:10AF] |
68 | 68 -> Terratec AV350 (em2860) [0ccd:0084] | 68 | 68 -> Terratec AV350 (em2860) [0ccd:0084] |
69 | 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313] | 69 | 69 -> KWorld ATSC 315U HDTV TV Box (em2882) [eb1a:a313] |
70 | 70 -> Evga inDtube (em2882) | 70 | 70 -> Evga inDtube (em2882) |
@@ -76,3 +76,7 @@ | |||
76 | 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] | 76 | 76 -> KWorld PlusTV 340U or UB435-Q (ATSC) (em2870) [1b80:a340] |
77 | 77 -> EM2874 Leadership ISDBT (em2874) | 77 | 77 -> EM2874 Leadership ISDBT (em2874) |
78 | 78 -> PCTV nanoStick T2 290e (em28174) | 78 | 78 -> PCTV nanoStick T2 290e (em28174) |
79 | 79 -> Terratec Cinergy H5 (em2884) [0ccd:10a2,0ccd:10ad] | ||
80 | 80 -> PCTV DVB-S2 Stick (460e) (em28174) | ||
81 | 81 -> Hauppauge WinTV HVR 930C (em2884) [2040:1605] | ||
82 | 82 -> Terratec Cinergy HTC Stick (em2884) [0ccd:00b2] | ||
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index 7efae9bd73ed..e7ef38a19859 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -186,3 +186,4 @@ | |||
186 | 185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136] | 186 | 185 -> MagicPro ProHDTV Pro2 DMB-TH/Hybrid [17de:d136] |
187 | 186 -> Beholder BeholdTV 501 [5ace:5010] | 187 | 186 -> Beholder BeholdTV 501 [5ace:5010] |
188 | 187 -> Beholder BeholdTV 503 FM [5ace:5030] | 188 | 187 -> Beholder BeholdTV 503 FM [5ace:5030] |
189 | 188 -> Sensoray 811/911 [6000:0811,6000:0911] | ||
diff --git a/Documentation/video4linux/CARDLIST.saa7164 b/Documentation/video4linux/CARDLIST.saa7164 index 152bd7b781ca..2205e8d55537 100644 --- a/Documentation/video4linux/CARDLIST.saa7164 +++ b/Documentation/video4linux/CARDLIST.saa7164 | |||
@@ -7,3 +7,5 @@ | |||
7 | 6 -> Hauppauge WinTV-HVR2200 [0070:8901] | 7 | 6 -> Hauppauge WinTV-HVR2200 [0070:8901] |
8 | 7 -> Hauppauge WinTV-HVR2250 [0070:8891,0070:8851] | 8 | 7 -> Hauppauge WinTV-HVR2250 [0070:8891,0070:8851] |
9 | 8 -> Hauppauge WinTV-HVR2250 [0070:88A1] | 9 | 8 -> Hauppauge WinTV-HVR2250 [0070:88A1] |
10 | 9 -> Hauppauge WinTV-HVR2200 [0070:8940] | ||
11 | 10 -> Hauppauge WinTV-HVR2200 [0070:8953] | ||
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt index b15e29f31121..f2060f0dc02c 100644 --- a/Documentation/video4linux/gspca.txt +++ b/Documentation/video4linux/gspca.txt | |||
@@ -189,6 +189,7 @@ ov519 05a9:0511 Video Blaster WebCam 3/WebCam Plus, D-Link USB Digital Video Ca | |||
189 | ov519 05a9:0518 Creative WebCam | 189 | ov519 05a9:0518 Creative WebCam |
190 | ov519 05a9:0519 OV519 Microphone | 190 | ov519 05a9:0519 OV519 Microphone |
191 | ov519 05a9:0530 OmniVision | 191 | ov519 05a9:0530 OmniVision |
192 | ov534_9 05a9:1550 OmniVision VEHO Filmscanner | ||
192 | ov519 05a9:2800 OmniVision SuperCAM | 193 | ov519 05a9:2800 OmniVision SuperCAM |
193 | ov519 05a9:4519 Webcam Classic | 194 | ov519 05a9:4519 Webcam Classic |
194 | ov534_9 05a9:8065 OmniVision test kit ov538+ov9712 | 195 | ov534_9 05a9:8065 OmniVision test kit ov538+ov9712 |
@@ -278,6 +279,7 @@ pac7302 093a:2628 Genius iLook 300 | |||
278 | pac7302 093a:2629 Genious iSlim 300 | 279 | pac7302 093a:2629 Genious iSlim 300 |
279 | pac7302 093a:262a Webcam 300k | 280 | pac7302 093a:262a Webcam 300k |
280 | pac7302 093a:262c Philips SPC 230 NC | 281 | pac7302 093a:262c Philips SPC 230 NC |
282 | jl2005bcd 0979:0227 Various brands, 19 known cameras supported | ||
281 | jeilinj 0979:0280 Sakar 57379 | 283 | jeilinj 0979:0280 Sakar 57379 |
282 | jeilinj 0979:0280 Sportscam DV15 | 284 | jeilinj 0979:0280 Sportscam DV15 |
283 | zc3xx 0ac8:0302 Z-star Vimicro zc0302 | 285 | zc3xx 0ac8:0302 Z-star Vimicro zc0302 |
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt index f8dcabf7852c..659b2ba12a4f 100644 --- a/Documentation/video4linux/v4l2-framework.txt +++ b/Documentation/video4linux/v4l2-framework.txt | |||
@@ -612,6 +612,12 @@ You can set a pointer to a mutex_lock in struct video_device. Usually this | |||
612 | will be either a top-level mutex or a mutex per device node. If you want | 612 | will be either a top-level mutex or a mutex per device node. If you want |
613 | finer-grained locking then you have to set it to NULL and do you own locking. | 613 | finer-grained locking then you have to set it to NULL and do you own locking. |
614 | 614 | ||
615 | It is up to the driver developer to decide which method to use. However, if | ||
616 | your driver has high-latency operations (for example, changing the exposure | ||
617 | of a USB webcam might take a long time), then you might be better off with | ||
618 | doing your own locking if you want to allow the user to do other things with | ||
619 | the device while waiting for the high-latency command to finish. | ||
620 | |||
615 | If a lock is specified then all file operations will be serialized on that | 621 | If a lock is specified then all file operations will be serialized on that |
616 | lock. If you use videobuf then you must pass the same lock to the videobuf | 622 | lock. If you use videobuf then you must pass the same lock to the videobuf |
617 | queue initialize function: if videobuf has to wait for a frame to arrive, then | 623 | queue initialize function: if videobuf has to wait for a frame to arrive, then |
@@ -619,6 +625,11 @@ it will temporarily unlock the lock and relock it afterwards. If your driver | |||
619 | also waits in the code, then you should do the same to allow other processes | 625 | also waits in the code, then you should do the same to allow other processes |
620 | to access the device node while the first process is waiting for something. | 626 | to access the device node while the first process is waiting for something. |
621 | 627 | ||
628 | In the case of videobuf2 you will need to implement the wait_prepare and | ||
629 | wait_finish callbacks to unlock/lock if applicable. In particular, if you use | ||
630 | the lock in struct video_device then you must unlock/lock this mutex in | ||
631 | wait_prepare and wait_finish. | ||
632 | |||
622 | The implementation of a hotplug disconnect should also take the lock before | 633 | The implementation of a hotplug disconnect should also take the lock before |
623 | calling v4l2_device_disconnect. | 634 | calling v4l2_device_disconnect. |
624 | 635 | ||