Skip to content

Commit bf3b202

Browse files
author
Mauro Carvalho Chehab
committed
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 ...
2 parents 782cd9e + 1fdead8 commit bf3b202

171 files changed

Lines changed: 8076 additions & 3212 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/DocBook/media/v4l/compat.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2582,6 +2582,10 @@ ioctls.</para>
25822582
<listitem>
25832583
<para>Support for frequency band enumeration: &VIDIOC-ENUM-FREQ-BANDS; ioctl.</para>
25842584
</listitem>
2585+
<listitem>
2586+
<para>Vendor and device specific media bus pixel formats.
2587+
<xref linkend="v4l2-mbus-vendor-spec-fmts" />.</para>
2588+
</listitem>
25852589
</itemizedlist>
25862590
</section>
25872591

Documentation/DocBook/media/v4l/controls.xml

Lines changed: 277 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1586,7 +1586,6 @@ frame counter of the frame that is currently displayed (decoded). This value is
15861586
the decoder is started.</entry>
15871587
</row>
15881588

1589-
15901589
<row><entry></entry></row>
15911590
<row>
15921591
<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE</constant>&nbsp;</entry>
@@ -2269,6 +2268,14 @@ encoder or editing process may produce.".
22692268
Applicable to the MPEG1, MPEG2, MPEG4 encoders.</entry>
22702269
</row>
22712270

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
2276+
VBV buffer control.</entry>
2277+
</row>
2278+
22722279
<row><entry></entry></row>
22732280
<row>
22742281
<entry spanname="id"><constant>V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE</constant>&nbsp;</entry>
@@ -2334,6 +2341,265 @@ Applicable to the MPEG4 decoder.</entry>
23342341
</row><row><entry spanname="descr">vop_time_increment value for MPEG4. Applicable to the MPEG4 encoder.</entry>
23352342
</row>
23362343

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.
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>&nbsp;</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>&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.
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>&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
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>&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.
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>&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.
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>&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.
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>&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.
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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&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.
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>&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.
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>&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.
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+
23372603
</tbody>
23382604
</tgroup>
23392605
</table>
@@ -4267,6 +4533,16 @@ interface and may change in the future.</para>
42674533
pixels / second.
42684534
</entry>
42694535
</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>
42704546
<row><entry></entry></row>
42714547
</tbody>
42724548
</tgroup>

Documentation/DocBook/media/v4l/io.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -677,8 +677,10 @@ memory, set by the application. See <xref linkend="userp" /> for details.
677677
<entry><structfield>length</structfield></entry>
678678
<entry></entry>
679679
<entry>Size of the buffer (not the payload) in bytes for the
680-
single-planar API. For the multi-planar API should contain the
681-
number of elements in the <structfield>planes</structfield> array.
680+
single-planar API. For the multi-planar API the application sets
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.
682684
</entry>
683685
</row>
684686
<row>

Documentation/DocBook/media/v4l/pixfmt-nv12m.xml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
<refentry id="V4L2-PIX-FMT-NV12M">
1+
<refentry>
22
<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>
44
&manvol;
55
</refmeta>
66
<refnamediv>
7-
<refname> <constant>V4L2_PIX_FMT_NV12M</constant></refname>
8-
<refpurpose>Variation of <constant>V4L2_PIX_FMT_NV12</constant> with planes
7+
<refname id="V4L2-PIX-FMT-NV12M"><constant>V4L2_PIX_FMT_NV12M</constant></refname>
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
911
non contiguous in memory. </refpurpose>
1012
</refnamediv>
1113
<refsect1>
@@ -22,7 +24,12 @@ The CbCr plane is the same width, in bytes, as the Y plane (and of the image),
2224
but is half as tall in pixels. Each CbCr pair belongs to four pixels. For example,
2325
Cb<subscript>0</subscript>/Cr<subscript>0</subscript> belongs to
2426
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>
2633

2734
<para><constant>V4L2_PIX_FMT_NV12M</constant> is intended to be
2835
used only in drivers and applications that support the multi-planar API,

0 commit comments

Comments
 (0)