diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-11 14:07:19 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-11 14:07:19 -0400 |
commit | bf3b202b41999f88f091632f13842b7234bd58b7 (patch) | |
tree | e2861fcca522cc299e6106fa6c78d85a4a6eedeb /Documentation/DocBook | |
parent | 782cd9ee985b1523f1ddad57657a24d7855d9e4d (diff) | |
parent | 1fdead8ad31d3aa833bc37739273fcde89ace93c (diff) |
Merge branch 'staging/for_v3.7' into v4l_for_linus
Applied on the top of changeset 782cd9e, as some of those patches
depend on some fixes that went via -arm tree.
* staging/for_v3.7: (109 commits)
[media] m5mols: Add missing #include <linux/sizes.h>
[media] stk1160: Add support for S-Video input
Revert "[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check"
[media] dvb: LNA implementation changes
[media] v4l2-ioctl: fix W=1 warnings
[media] v4l2-ioctl: add blocks check for VIDIOC_SUBDEV_G/S_EDID
[media] omap3isp: Fix compilation error in ispreg.h
[media] rc-msi-digivox-ii: Add full scan keycodes
[media] cx25821: testing the wrong variable
[media] tda18271-common: hold the I2C adapter during write transfers
[media] ds3000: add module parameter to force firmware upload
[media] drivers/media: Remove unnecessary semicolon
[media] winbond: remove space from driver name
[media] iguanair: cannot send data from the stack
[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check
[media] dvb-usb: print small buffers via %*ph
[media] uvc: Add return code check at vb2_queue_init()
[media] em28xx: Replace memcpy with struct assignment
[media] bt8xx: Add video4linux control V4L2_CID_COLOR_KILLER
[media] mem2mem_testdev: Use devm_kzalloc() in probe
...
Diffstat (limited to 'Documentation/DocBook')
-rw-r--r-- | Documentation/DocBook/media/v4l/compat.xml | 4 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/controls.xml | 278 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/io.xml | 6 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/pixfmt-nv12m.xml | 17 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/pixfmt.xml | 38 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/subdev-formats.xml | 44 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-qbuf.xml | 3 | ||||
-rw-r--r-- | Documentation/DocBook/media/v4l/vidioc-querybuf.xml | 11 |
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 | |||
1586 | the decoder is started.</entry> | 1586 | the 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> </entry> | 1591 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant> </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> </entry> | ||
2274 | <entry>integer</entry> | ||
2275 | </row><row><entry spanname="descr">Sets the initial delay in milliseconds for | ||
2276 | VBV 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> </entry> | 2281 | <entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant> </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> </entry> | ||
2347 | <entry>boolean</entry> | ||
2348 | </row> | ||
2349 | <row><entry spanname="descr">Enable generation of frame packing supplemental enhancement information in the encoded bitstream. | ||
2350 | The 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> </entry> | ||
2356 | <entry>boolean</entry> | ||
2357 | </row> | ||
2358 | <row><entry spanname="descr">Sets current frame as frame0 in frame packing SEI. | ||
2359 | Applicable 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> </entry> | ||
2365 | <entry>enum v4l2_mpeg_video_h264_sei_fp_arrangement_type</entry> | ||
2366 | </row> | ||
2367 | <row><entry spanname="descr">Frame packing arrangement type for H264 SEI. | ||
2368 | Applicable to the H264 encoder. | ||
2369 | Possible 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> </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> </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> </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> </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> </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> </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> </entry> | ||
2405 | <entry>boolean</entry> | ||
2406 | </row> | ||
2407 | <row><entry spanname="descr">Enables flexible macroblock ordering in the encoded bitstream. It is a technique | ||
2408 | used 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> </entry> | ||
2414 | <entry>enum 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. | ||
2417 | Applicable to the H264 encoder. | ||
2418 | Possible 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> </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> </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> </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> </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> </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> </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> </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> </entry> | ||
2458 | <entry>integer</entry> | ||
2459 | </row> | ||
2460 | <row><entry spanname="descr">Number of slice groups in FMO. | ||
2461 | Applicable 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> </entry> | ||
2467 | <entry>enum 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. | ||
2470 | Applicable to the H264 encoder. | ||
2471 | Possible 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> </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> </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> </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. | ||
2494 | Applicable 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> </entry> | ||
2500 | <entry>integer</entry> | ||
2501 | </row> | ||
2502 | <row><entry spanname="descr">Specifies the number of consecutive macroblocks for the interleaved map. | ||
2503 | Applicable 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> </entry> | ||
2509 | <entry>boolean</entry> | ||
2510 | </row> | ||
2511 | <row><entry spanname="descr">Enables arbitrary slice ordering in encoded bitstream. | ||
2512 | Applicable 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> </entry> | ||
2518 | <entry>integer</entry> | ||
2519 | </row><row><entry spanname="descr">Specifies the slice order in ASO. Applicable to the H264 encoder. | ||
2520 | The supplied 32-bit integer is interpreted as follows (bit | ||
2521 | 0 = 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> </entry> | ||
2541 | <entry>boolean</entry> | ||
2542 | </row> | ||
2543 | <row><entry spanname="descr">Enables H264 hierarchical coding. | ||
2544 | Applicable 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> </entry> | ||
2550 | <entry>enum v4l2_mpeg_video_h264_hierarchical_coding_type</entry> | ||
2551 | </row> | ||
2552 | <row><entry spanname="descr">Specifies the hierarchical coding type. | ||
2553 | Applicable to the H264 encoder. | ||
2554 | Possible 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> </entry> | ||
2561 | <entry>Hierarchical B coding.</entry> | ||
2562 | </row> | ||
2563 | <row> | ||
2564 | <entry><constant>V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P</constant> </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> </entry> | ||
2574 | <entry>integer</entry> | ||
2575 | </row> | ||
2576 | <row><entry spanname="descr">Specifies the number of hierarchical coding layers. | ||
2577 | Applicable 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> </entry> | ||
2583 | <entry>integer</entry> | ||
2584 | </row><row><entry spanname="descr">Specifies a user defined QP for each layer. Applicable to the H264 encoder. | ||
2585 | The supplied 32-bit integer is interpreted as follows (bit | ||
2586 | 0 = 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), | |||
22 | but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, | 24 | but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example, |
23 | Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to | 25 | Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to |
24 | Y'<subscript>00</subscript>, Y'<subscript>01</subscript>, | 26 | Y'<subscript>00</subscript>, Y'<subscript>01</subscript>, |
25 | Y'<subscript>10</subscript>, Y'<subscript>11</subscript>. </para> | 27 | Y'<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 | ||
30 | are 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> | ||
32 | except 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 |
28 | used only in drivers and applications that support the multi-planar API, | 35 | used 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, |
997 | the other bits are set to 0.</entry> | 1007 | the 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 | ||
1013 | first plane contains interleaved JPEG and UYVY image data, followed by meta data | ||
1014 | in form of an array of offsets to the UYVY data blocks. The actual pointer array | ||
1015 | follows immediately the interleaved JPEG/UYVY data, the number of entries in | ||
1016 | this array equals the height of the UYVY image. Each entry is a 4-byte unsigned | ||
1017 | integer in big endian order and it's an offset to a single pixel line of the | ||
1018 | UYVY image. The first plane can start either with JPEG or UYVY data chunk. The | ||
1019 | size of a single UYVY block equals the UYVY image's width multiplied by 2. The | ||
1020 | size 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 | ||
1022 | the pointer array in the first plane. This offset is followed by a 4-byte value | ||
1023 | indicating size of the pointer array. All numbers in the second plane are also | ||
1024 | in big endian order. Remaining data in the second plane is undefined. The | ||
1025 | information in the second plane allows to easily find location of the pointer | ||
1026 | array, which can be different for each frame. The size of the pointer array is | ||
1027 | constant for given UYVY image height.</para> | ||
1028 | <para>In order to extract UYVY and JPEG frames an application can initially set | ||
1029 | a data pointer to the start of first plane and then add an offset from the first | ||
1030 | entry of the pointers table. Such a pointer indicates start of an UYVY image | ||
1031 | pixel line. Whole UYVY line can be copied to a separate buffer. These steps | ||
1032 | should be repeated for each line, i.e. the number of entries in the pointer | ||
1033 | array. Anything what's in between the UYVY lines is JPEG data and should be | ||
1034 | concatenated 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> | ||
2575 | interface 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 | |||
121 | field. It indicates a non-critical (recoverable) streaming error. In such case | 121 | field. It indicates a non-critical (recoverable) streaming error. In such case |
122 | the application may continue as normal, but should be aware that data in the | 122 | the application may continue as normal, but should be aware that data in the |
123 | dequeued buffer might be corrupted. When using the multi-planar API, the | 123 | dequeued buffer might be corrupted. When using the multi-planar API, the |
124 | planes array does not have to be passed; the <structfield>m.planes</structfield> | 124 | planes array must be passed in as well.</para> |
125 | member 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 |
128 | buffer is in the outgoing queue. When the | 127 | buffer 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 |
52 | mapping</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 |
53 | buffer at any time after buffers have been allocated with the | 53 | buffer 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, | |||
79 | the <structfield>length</structfield> field its size. For the multi-planar API, | 80 | the <structfield>length</structfield> field its size. For the multi-planar API, |
80 | fields <structfield>m.mem_offset</structfield> and | 81 | fields <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> |
82 | array elements will be used instead. The driver may or may not set the remaining | 83 | array elements will be used instead and the <structfield>length</structfield> |
83 | fields and flags, they are meaningless in this context.</para> | 84 | field of &v4l2-buffer; is set to the number of filled-in array elements. |
85 | The driver may or may not set the remaining fields and flags, they are | ||
86 | meaningless 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> |