aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook/media
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/DocBook/media')
-rw-r--r--Documentation/DocBook/media/v4l/compat.xml4
-rw-r--r--Documentation/DocBook/media/v4l/controls.xml278
-rw-r--r--Documentation/DocBook/media/v4l/io.xml6
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12m.xml17
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt.xml38
-rw-r--r--Documentation/DocBook/media/v4l/subdev-formats.xml44
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-qbuf.xml3
-rw-r--r--Documentation/DocBook/media/v4l/vidioc-querybuf.xml11
8 files changed, 387 insertions, 14 deletions
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml
index c6ae4c9d0e0c..4fdf6b562d1c 100644
--- a/Documentation/DocBook/media/v4l/compat.xml
+++ b/Documentation/DocBook/media/v4l/compat.xml
@@ -2582,6 +2582,10 @@ ioctls.</para>
2582 <listitem> 2582 <listitem>
2583 <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para> 2583 <para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
2584 </listitem> 2584 </listitem>
2585 <listitem>
2586 <para>Vendor and device specific media bus pixel formats.
2587 <xref linkend="v4l2-mbus-vendor-spec-fmts" />.</para>
2588 </listitem>
2585 </itemizedlist> 2589 </itemizedlist>
2586 </section> 2590 </section>
2587 2591
diff --git a/Documentation/DocBook/media/v4l/controls.xml b/Documentation/DocBook/media/v4l/controls.xml
index 272a5f718509..7fe5be1d3bbb 100644
--- a/Documentation/DocBook/media/v4l/controls.xml
+++ b/Documentation/DocBook/media/v4l/controls.xml
@@ -1586,7 +1586,6 @@ frame counter of the frame that is currently displayed (decoded). This value is
1586the decoder is started.</entry> 1586the decoder is started.</entry>
1587 </row> 1587 </row>
1588 1588
1589
1590 <row><entry></entry></row> 1589 <row><entry></entry></row>
1591 <row> 1590 <row>
1592 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry> 1591 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
@@ -2270,6 +2269,14 @@ Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
2270 </row> 2269 </row>
2271 2270
2272 <row><entry></entry></row> 2271 <row><entry></entry></row>
2272 <row id="v4l2-mpeg-video-vbv-delay">
2273 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_VBV_DELAY</constant>&nbsp;</entry>
2274 <entry>integer</entry>
2275 </row><row><entry spanname="descr">Sets the initial delay in milliseconds for
2276VBV buffer control.</entry>
2277 </row>
2278
2279 <row><entry></entry></row>
2273 <row> 2280 <row>
2274 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry> 2281 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
2275 <entry>integer</entry> 2282 <entry>integer</entry>
@@ -2334,6 +2341,265 @@ Applicable to the MPEG4 decoder.</entry>
2334 </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry> 2341 </row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
2335 </row> 2342 </row>
2336 2343
2344 <row><entry></entry></row>
2345 <row>
2346 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING</constant>&nbsp;</entry>
2347 <entry>boolean</entry>
2348 </row>
2349 <row><entry spanname="descr">Enable generation of frame packing supplemental enhancement information in the encoded bitstream.
2350The frame packing SEI message contains the arrangement of L and R planes for 3D viewing. Applicable to the H264 encoder.</entry>
2351 </row>
2352
2353 <row><entry></entry></row>
2354 <row>
2355 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0</constant>&nbsp;</entry>
2356 <entry>boolean</entry>
2357 </row>
2358 <row><entry spanname="descr">Sets current frame as frame0 in frame packing SEI.
2359Applicable to the H264 encoder.</entry>
2360 </row>
2361
2362 <row><entry></entry></row>
2363 <row id="v4l2-mpeg-video-h264-sei-fp-arrangement-type">
2364 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE</constant>&nbsp;</entry>
2365 <entry>enum&nbsp;v4l2_mpeg_video_h264_sei_fp_arrangement_type</entry>
2366 </row>
2367 <row><entry spanname="descr">Frame packing arrangement type for H264 SEI.
2368Applicable to the H264 encoder.
2369Possible values are:</entry>
2370 </row>
2371 <row>
2372 <entrytbl spanname="descr" cols="2">
2373 <tbody valign="top">
2374 <row>
2375 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHEKERBOARD</constant>&nbsp;</entry>
2376 <entry>Pixels are alternatively from L and R.</entry>
2377 </row>
2378 <row>
2379 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN</constant>&nbsp;</entry>
2380 <entry>L and R are interlaced by column.</entry>
2381 </row>
2382 <row>
2383 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW</constant>&nbsp;</entry>
2384 <entry>L and R are interlaced by row.</entry>
2385 </row>
2386 <row>
2387 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE</constant>&nbsp;</entry>
2388 <entry>L is on the left, R on the right.</entry>
2389 </row>
2390 <row>
2391 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM</constant>&nbsp;</entry>
2392 <entry>L is on top, R on bottom.</entry>
2393 </row>
2394 <row>
2395 <entry><constant>V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL</constant>&nbsp;</entry>
2396 <entry>One view per frame.</entry>
2397 </row>
2398 </tbody>
2399 </entrytbl>
2400 </row>
2401
2402 <row><entry></entry></row>
2403 <row>
2404 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO</constant>&nbsp;</entry>
2405 <entry>boolean</entry>
2406 </row>
2407 <row><entry spanname="descr">Enables flexible macroblock ordering in the encoded bitstream. It is a technique
2408used for restructuring the ordering of macroblocks in pictures. Applicable to the H264 encoder.</entry>
2409 </row>
2410
2411 <row><entry></entry></row>
2412 <row id="v4l2-mpeg-video-h264-fmo-map-type">
2413 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE</constant>&nbsp;</entry>
2414 <entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_map_type</entry>
2415 </row>
2416 <row><entry spanname="descr">When using FMO, the map type divides the image in different scan patterns of macroblocks.
2417Applicable to the H264 encoder.
2418Possible values are:</entry>
2419 </row>
2420 <row>
2421 <entrytbl spanname="descr" cols="2">
2422 <tbody valign="top">
2423 <row>
2424 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES</constant>&nbsp;</entry>
2425 <entry>Slices are interleaved one after other with macroblocks in run length order.</entry>
2426 </row>
2427 <row>
2428 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES</constant>&nbsp;</entry>
2429 <entry>Scatters the macroblocks based on a mathematical function known to both encoder and decoder.</entry>
2430 </row>
2431 <row>
2432 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER</constant>&nbsp;</entry>
2433 <entry>Macroblocks arranged in rectangular areas or regions of interest.</entry>
2434 </row>
2435 <row>
2436 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT</constant>&nbsp;</entry>
2437 <entry>Slice groups grow in a cyclic way from centre to outwards.</entry>
2438 </row>
2439 <row>
2440 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN</constant>&nbsp;</entry>
2441 <entry>Slice groups grow in raster scan pattern from left to right.</entry>
2442 </row>
2443 <row>
2444 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN</constant>&nbsp;</entry>
2445 <entry>Slice groups grow in wipe scan pattern from top to bottom.</entry>
2446 </row>
2447 <row>
2448 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT</constant>&nbsp;</entry>
2449 <entry>User defined map type.</entry>
2450 </row>
2451 </tbody>
2452 </entrytbl>
2453 </row>
2454
2455 <row><entry></entry></row>
2456 <row>
2457 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP</constant>&nbsp;</entry>
2458 <entry>integer</entry>
2459 </row>
2460 <row><entry spanname="descr">Number of slice groups in FMO.
2461Applicable to the H264 encoder.</entry>
2462 </row>
2463
2464 <row><entry></entry></row>
2465 <row id="v4l2-mpeg-video-h264-fmo-change-direction">
2466 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION</constant>&nbsp;</entry>
2467 <entry>enum&nbsp;v4l2_mpeg_video_h264_fmo_change_dir</entry>
2468 </row>
2469 <row><entry spanname="descr">Specifies a direction of the slice group change for raster and wipe maps.
2470Applicable to the H264 encoder.
2471Possible values are:</entry>
2472 </row>
2473 <row>
2474 <entrytbl spanname="descr" cols="2">
2475 <tbody valign="top">
2476 <row>
2477 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT</constant>&nbsp;</entry>
2478 <entry>Raster scan or wipe right.</entry>
2479 </row>
2480 <row>
2481 <entry><constant>V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT</constant>&nbsp;</entry>
2482 <entry>Reverse raster scan or wipe left.</entry>
2483 </row>
2484 </tbody>
2485 </entrytbl>
2486 </row>
2487
2488 <row><entry></entry></row>
2489 <row>
2490 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE</constant>&nbsp;</entry>
2491 <entry>integer</entry>
2492 </row>
2493 <row><entry spanname="descr">Specifies the size of the first slice group for raster and wipe map.
2494Applicable to the H264 encoder.</entry>
2495 </row>
2496
2497 <row><entry></entry></row>
2498 <row>
2499 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH</constant>&nbsp;</entry>
2500 <entry>integer</entry>
2501 </row>
2502 <row><entry spanname="descr">Specifies the number of consecutive macroblocks for the interleaved map.
2503Applicable to the H264 encoder.</entry>
2504 </row>
2505
2506 <row><entry></entry></row>
2507 <row>
2508 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO</constant>&nbsp;</entry>
2509 <entry>boolean</entry>
2510 </row>
2511 <row><entry spanname="descr">Enables arbitrary slice ordering in encoded bitstream.
2512Applicable to the H264 encoder.</entry>
2513 </row>
2514
2515 <row><entry></entry></row>
2516 <row>
2517 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER</constant>&nbsp;</entry>
2518 <entry>integer</entry>
2519 </row><row><entry spanname="descr">Specifies the slice order in ASO. Applicable to the H264 encoder.
2520The supplied 32-bit integer is interpreted as follows (bit
25210 = least significant bit):</entry>
2522 </row>
2523 <row>
2524 <entrytbl spanname="descr" cols="2">
2525 <tbody valign="top">
2526 <row>
2527 <entry>Bit 0:15</entry>
2528 <entry>Slice ID</entry>
2529 </row>
2530 <row>
2531 <entry>Bit 16:32</entry>
2532 <entry>Slice position or order</entry>
2533 </row>
2534 </tbody>
2535 </entrytbl>
2536 </row>
2537
2538 <row><entry></entry></row>
2539 <row>
2540 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING</constant>&nbsp;</entry>
2541 <entry>boolean</entry>
2542 </row>
2543 <row><entry spanname="descr">Enables H264 hierarchical coding.
2544Applicable to the H264 encoder.</entry>
2545 </row>
2546
2547 <row><entry></entry></row>
2548 <row id="v4l2-mpeg-video-h264-hierarchical-coding-type">
2549 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE</constant>&nbsp;</entry>
2550 <entry>enum&nbsp;v4l2_mpeg_video_h264_hierarchical_coding_type</entry>
2551 </row>
2552 <row><entry spanname="descr">Specifies the hierarchical coding type.
2553Applicable to the H264 encoder.
2554Possible values are:</entry>
2555 </row>
2556 <row>
2557 <entrytbl spanname="descr" cols="2">
2558 <tbody valign="top">
2559 <row>
2560 <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B</constant>&nbsp;</entry>
2561 <entry>Hierarchical B coding.</entry>
2562 </row>
2563 <row>
2564 <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</constant>&nbsp;</entry>
2565 <entry>Hierarchical P coding.</entry>
2566 </row>
2567 </tbody>
2568 </entrytbl>
2569 </row>
2570
2571 <row><entry></entry></row>
2572 <row>
2573 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER</constant>&nbsp;</entry>
2574 <entry>integer</entry>
2575 </row>
2576 <row><entry spanname="descr">Specifies the number of hierarchical coding layers.
2577Applicable to the H264 encoder.</entry>
2578 </row>
2579
2580 <row><entry></entry></row>
2581 <row>
2582 <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP</constant>&nbsp;</entry>
2583 <entry>integer</entry>
2584 </row><row><entry spanname="descr">Specifies a user defined QP for each layer. Applicable to the H264 encoder.
2585The supplied 32-bit integer is interpreted as follows (bit
25860 = least significant bit):</entry>
2587 </row>
2588 <row>
2589 <entrytbl spanname="descr" cols="2">
2590 <tbody valign="top">
2591 <row>
2592 <entry>Bit 0:15</entry>
2593 <entry>QP value</entry>
2594 </row>
2595 <row>
2596 <entry>Bit 16:32</entry>
2597 <entry>Layer number</entry>
2598 </row>
2599 </tbody>
2600 </entrytbl>
2601 </row>
2602
2337 </tbody> 2603 </tbody>
2338 </tgroup> 2604 </tgroup>
2339 </table> 2605 </table>
@@ -4267,6 +4533,16 @@ interface and may change in the future.</para>
4267 pixels / second. 4533 pixels / second.
4268 </entry> 4534 </entry>
4269 </row> 4535 </row>
4536 <row>
4537 <entry spanname="id"><constant>V4L2_CID_TEST_PATTERN</constant></entry>
4538 <entry>menu</entry>
4539 </row>
4540 <row id="v4l2-test-pattern">
4541 <entry spanname="descr"> Some capture/display/sensor devices have
4542 the capability to generate test pattern images. These hardware
4543 specific test patterns can be used to test if a device is working
4544 properly.</entry>
4545 </row>
4270 <row><entry></entry></row> 4546 <row><entry></entry></row>
4271 </tbody> 4547 </tbody>
4272 </tgroup> 4548 </tgroup>
diff --git a/Documentation/DocBook/media/v4l/io.xml b/Documentation/DocBook/media/v4l/io.xml
index 97f785add841..b5d1cbdc558b 100644
--- a/Documentation/DocBook/media/v4l/io.xml
+++ b/Documentation/DocBook/media/v4l/io.xml
@@ -677,8 +677,10 @@ memory, set by the application. See <xref linkend="userp" /> for details.
677 <entry><structfield>length</structfield></entry> 677 <entry><structfield>length</structfield></entry>
678 <entry></entry> 678 <entry></entry>
679 <entry>Size of the buffer (not the payload) in bytes for the 679 <entry>Size of the buffer (not the payload) in bytes for the
680 single-planar API. For the multi-planar API should contain the 680 single-planar API. For the multi-planar API the application sets
681 number of elements in the <structfield>planes</structfield> array. 681 this to the number of elements in the <structfield>planes</structfield>
682 array. The driver will fill in the actual number of valid elements in
683 that array.
682 </entry> 684 </entry>
683 </row> 685 </row>
684 <row> 686 <row>
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
index 5274c24d11e0..a990b34d911a 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
@@ -1,11 +1,13 @@
1 <refentry id="V4L2-PIX-FMT-NV12M"> 1 <refentry>
2 <refmeta> 2 <refmeta>
3 <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12')</refentrytitle> 3 <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16</refentrytitle>
4 &manvol; 4 &manvol;
5 </refmeta> 5 </refmeta>
6 <refnamediv> 6 <refnamediv>
7 <refname> <constant>V4L2_PIX_FMT_NV12M</constant></refname> 7 <refname id="V4L2-PIX-FMT-NV12M"><constant>V4L2_PIX_FMT_NV12M</constant></refname>
8 <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> with planes 8 <refname id="V4L2-PIX-FMT-NV21M"><constant>V4L2_PIX_FMT_NV21M</constant></refname>
9 <refname id="V4L2-PIX-FMT-NV12MT_16X16"><constant>V4L2_PIX_FMT_NV12MT_16X16</constant></refname>
10 <refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> and <constant>V4L2_PIX_FMT_NV21</constant> with planes
9 non contiguous in memory. </refpurpose> 11 non contiguous in memory. </refpurpose>
10 </refnamediv> 12 </refnamediv>
11 <refsect1> 13 <refsect1>
@@ -22,7 +24,12 @@ The CbCr plane is the same width, in bytes, as the Y plane (and of the image),
22but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, 24but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example,
23Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to 25Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
24Y'<subscript>00</subscript>, Y'<subscript>01</subscript>, 26Y'<subscript>00</subscript>, Y'<subscript>01</subscript>,
25Y'<subscript>10</subscript>, Y'<subscript>11</subscript>. </para> 27Y'<subscript>10</subscript>, Y'<subscript>11</subscript>.
28<constant>V4L2_PIX_FMT_NV12MT_16X16</constant> is the tiled version of
29<constant>V4L2_PIX_FMT_NV12M</constant> with 16x16 macroblock tiles. Here pixels
30are arranged in 16x16 2D tiles and tiles are arranged in linear order in memory.
31<constant>V4L2_PIX_FMT_NV21M</constant> is the same as <constant>V4L2_PIX_FMT_NV12M</constant>
32except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr byte.</para>
26 33
27 <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be 34 <para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be
28used only in drivers and applications that support the multi-planar API, 35used only in drivers and applications that support the multi-planar API,
diff --git a/Documentation/DocBook/media/v4l/pixfmt.xml b/Documentation/DocBook/media/v4l/pixfmt.xml
index 1ddbfabe3195..bf94f417592c 100644
--- a/Documentation/DocBook/media/v4l/pixfmt.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt.xml
@@ -758,6 +758,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see
758 <entry>'AVC1'</entry> 758 <entry>'AVC1'</entry>
759 <entry>H264 video elementary stream without start codes.</entry> 759 <entry>H264 video elementary stream without start codes.</entry>
760 </row> 760 </row>
761 <row id="V4L2-PIX-FMT-H264-MVC">
762 <entry><constant>V4L2_PIX_FMT_H264_MVC</constant></entry>
763 <entry>'MVC'</entry>
764 <entry>H264 MVC video elementary stream.</entry>
765 </row>
761 <row id="V4L2-PIX-FMT-H263"> 766 <row id="V4L2-PIX-FMT-H263">
762 <entry><constant>V4L2_PIX_FMT_H263</constant></entry> 767 <entry><constant>V4L2_PIX_FMT_H263</constant></entry>
763 <entry>'H263'</entry> 768 <entry>'H263'</entry>
@@ -793,6 +798,11 @@ extended control <constant>V4L2_CID_MPEG_STREAM_TYPE</constant>, see
793 <entry>'VC1L'</entry> 798 <entry>'VC1L'</entry>
794 <entry>VC1, SMPTE 421M Annex L compliant stream.</entry> 799 <entry>VC1, SMPTE 421M Annex L compliant stream.</entry>
795 </row> 800 </row>
801 <row id="V4L2-PIX-FMT-VP8">
802 <entry><constant>V4L2_PIX_FMT_VP8</constant></entry>
803 <entry>'VP8'</entry>
804 <entry>VP8 video elementary stream.</entry>
805 </row>
796 </tbody> 806 </tbody>
797 </tgroup> 807 </tgroup>
798 </table> 808 </table>
@@ -996,6 +1006,34 @@ the other bits are set to 0.</entry>
996 <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used, 1006 <entry>Old 6-bit greyscale format. Only the most significant 6 bits of each byte are used,
997the other bits are set to 0.</entry> 1007the other bits are set to 0.</entry>
998 </row> 1008 </row>
1009 <row id="V4L2-PIX-FMT-S5C-UYVY-JPG">
1010 <entry><constant>V4L2_PIX_FMT_S5C_UYVY_JPG</constant></entry>
1011 <entry>'S5CI'</entry>
1012 <entry>Two-planar format used by Samsung S5C73MX cameras. The
1013first plane contains interleaved JPEG and UYVY image data, followed by meta data
1014in form of an array of offsets to the UYVY data blocks. The actual pointer array
1015follows immediately the interleaved JPEG/UYVY data, the number of entries in
1016this array equals the height of the UYVY image. Each entry is a 4-byte unsigned
1017integer in big endian order and it's an offset to a single pixel line of the
1018UYVY image. The first plane can start either with JPEG or UYVY data chunk. The
1019size of a single UYVY block equals the UYVY image's width multiplied by 2. The
1020size of a JPEG chunk depends on the image and can vary with each line.
1021<para>The second plane, at an offset of 4084 bytes, contains a 4-byte offset to
1022the pointer array in the first plane. This offset is followed by a 4-byte value
1023indicating size of the pointer array. All numbers in the second plane are also
1024in big endian order. Remaining data in the second plane is undefined. The
1025information in the second plane allows to easily find location of the pointer
1026array, which can be different for each frame. The size of the pointer array is
1027constant for given UYVY image height.</para>
1028<para>In order to extract UYVY and JPEG frames an application can initially set
1029a data pointer to the start of first plane and then add an offset from the first
1030entry of the pointers table. Such a pointer indicates start of an UYVY image
1031pixel line. Whole UYVY line can be copied to a separate buffer. These steps
1032should be repeated for each line, i.e. the number of entries in the pointer
1033array. Anything what's in between the UYVY lines is JPEG data and should be
1034concatenated to form the JPEG stream. </para>
1035</entry>
1036 </row>
999 </tbody> 1037 </tbody>
1000 </tgroup> 1038 </tgroup>
1001 </table> 1039 </table>
diff --git a/Documentation/DocBook/media/v4l/subdev-formats.xml b/Documentation/DocBook/media/v4l/subdev-formats.xml
index 49c532ebbbbe..a0a936455fae 100644
--- a/Documentation/DocBook/media/v4l/subdev-formats.xml
+++ b/Documentation/DocBook/media/v4l/subdev-formats.xml
@@ -2565,5 +2565,49 @@
2565 </tgroup> 2565 </tgroup>
2566 </table> 2566 </table>
2567 </section> 2567 </section>
2568
2569 <section id="v4l2-mbus-vendor-spec-fmts">
2570 <title>Vendor and Device Specific Formats</title>
2571
2572 <note>
2573 <title>Experimental</title>
2574 <para>This is an <link linkend="experimental">experimental</link>
2575interface and may change in the future.</para>
2576 </note>
2577
2578 <para>This section lists complex data formats that are either vendor or
2579 device specific.
2580 </para>
2581
2582 <para>The following table lists the existing vendor and device specific
2583 formats.</para>
2584
2585 <table pgwide="0" frame="none" id="v4l2-mbus-pixelcode-vendor-specific">
2586 <title>Vendor and device specific formats</title>
2587 <tgroup cols="3">
2588 <colspec colname="id" align="left" />
2589 <colspec colname="code" align="left"/>
2590 <colspec colname="remarks" align="left"/>
2591 <thead>
2592 <row>
2593 <entry>Identifier</entry>
2594 <entry>Code</entry>
2595 <entry>Comments</entry>
2596 </row>
2597 </thead>
2598 <tbody valign="top">
2599 <row id="V4L2-MBUS-FMT-S5C-UYVY-JPEG-1X8">
2600 <entry>V4L2_MBUS_FMT_S5C_UYVY_JPEG_1X8</entry>
2601 <entry>0x5001</entry>
2602 <entry>
2603 Interleaved raw UYVY and JPEG image format with embedded
2604 meta-data used by Samsung S3C73MX camera sensors.
2605 </entry>
2606 </row>
2607 </tbody>
2608 </tgroup>
2609 </table>
2610 </section>
2611
2568 </section> 2612 </section>
2569</section> 2613</section>
diff --git a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
index 6a821a65a5ae..2d37abefce13 100644
--- a/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-qbuf.xml
@@ -121,8 +121,7 @@ remaining fields or returns an error code. The driver may also set
121field. It indicates a non-critical (recoverable) streaming error. In such case 121field. It indicates a non-critical (recoverable) streaming error. In such case
122the application may continue as normal, but should be aware that data in the 122the application may continue as normal, but should be aware that data in the
123dequeued buffer might be corrupted. When using the multi-planar API, the 123dequeued buffer might be corrupted. When using the multi-planar API, the
124planes array does not have to be passed; the <structfield>m.planes</structfield> 124planes array must be passed in as well.</para>
125member must be set to NULL in that case.</para>
126 125
127 <para>By default <constant>VIDIOC_DQBUF</constant> blocks when no 126 <para>By default <constant>VIDIOC_DQBUF</constant> blocks when no
128buffer is in the outgoing queue. When the 127buffer is in the outgoing queue. When the
diff --git a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
index 6e414d7b6df7..a597155c052d 100644
--- a/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
+++ b/Documentation/DocBook/media/v4l/vidioc-querybuf.xml
@@ -48,8 +48,8 @@
48 <refsect1> 48 <refsect1>
49 <title>Description</title> 49 <title>Description</title>
50 50
51 <para>This ioctl is part of the <link linkend="mmap">memory 51 <para>This ioctl is part of the <link linkend="mmap">streaming
52mapping</link> I/O method. It can be used to query the status of a 52</link> I/O method. It can be used to query the status of a
53buffer at any time after buffers have been allocated with the 53buffer at any time after buffers have been allocated with the
54&VIDIOC-REQBUFS; ioctl.</para> 54&VIDIOC-REQBUFS; ioctl.</para>
55 55
@@ -71,6 +71,7 @@ the structure.</para>
71 71
72 <para>In the <structfield>flags</structfield> field the 72 <para>In the <structfield>flags</structfield> field the
73<constant>V4L2_BUF_FLAG_MAPPED</constant>, 73<constant>V4L2_BUF_FLAG_MAPPED</constant>,
74<constant>V4L2_BUF_FLAG_PREPARED</constant>,
74<constant>V4L2_BUF_FLAG_QUEUED</constant> and 75<constant>V4L2_BUF_FLAG_QUEUED</constant> and
75<constant>V4L2_BUF_FLAG_DONE</constant> flags will be valid. The 76<constant>V4L2_BUF_FLAG_DONE</constant> flags will be valid. The
76<structfield>memory</structfield> field will be set to the current 77<structfield>memory</structfield> field will be set to the current
@@ -79,8 +80,10 @@ contains the offset of the buffer from the start of the device memory,
79the <structfield>length</structfield> field its size. For the multi-planar API, 80the <structfield>length</structfield> field its size. For the multi-planar API,
80fields <structfield>m.mem_offset</structfield> and 81fields <structfield>m.mem_offset</structfield> and
81<structfield>length</structfield> in the <structfield>m.planes</structfield> 82<structfield>length</structfield> in the <structfield>m.planes</structfield>
82array elements will be used instead. The driver may or may not set the remaining 83array elements will be used instead and the <structfield>length</structfield>
83fields and flags, they are meaningless in this context.</para> 84field of &v4l2-buffer; is set to the number of filled-in array elements.
85The driver may or may not set the remaining fields and flags, they are
86meaningless in this context.</para>
84 87
85 <para>The <structname>v4l2_buffer</structname> structure is 88 <para>The <structname>v4l2_buffer</structname> structure is
86 specified in <xref linkend="buffer" />.</para> 89 specified in <xref linkend="buffer" />.</para>