1 .. SPDX-License-Identifier: GFDL-1.1-no-invari 2 3 .. _planar-apis: 4 5 ***************************** 6 Single- and multi-planar APIs 7 ***************************** 8 9 Some devices require data for each input or ou 10 placed in discontiguous memory buffers. In suc 11 has to be addressed using more than one memory 12 per "plane". A plane is a sub-buffer of the cu 13 of such formats see :ref:`pixfmt`. 14 15 Initially, V4L2 API did not support multi-plan 16 extensions has been introduced to handle them. 17 constitute what is being referred to as the "m 18 19 Some of the V4L2 API calls and structures are 20 depending on whether single- or multi-planar A 21 application can choose whether to use one or t 22 corresponding buffer type to its ioctl calls. 23 buffer types are suffixed with an ``_MPLANE`` 24 available multi-planar buffer types see enum 25 :c:type:`v4l2_buf_type`. 26 27 28 Multi-planar formats 29 ==================== 30 31 Multi-planar API introduces new multi-planar f 32 a separate set of FourCC codes. It is importan 33 the multi-planar API and a multi-planar format 34 can handle all single-planar formats as well ( 35 in multi-planar API structures), while the sin 36 handle multi-planar formats. 37 38 39 Calls that distinguish between single and mult 40 ============================================== 41 42 :ref:`VIDIOC_QUERYCAP <VIDIOC_QUERYCAP>` 43 Two additional multi-planar capabilities a 44 together with non-multi-planar ones for de 45 single- and multi-planar formats. 46 47 :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>`, :ref:`VIDI 48 New structures for describing multi-planar 49 :c:type:`v4l2_pix_format_mplane` and 50 struct :c:type:`v4l2_plane_pix_format`. 51 Drivers may define new multi-planar format 52 FourCC codes from the existing single-plan 53 54 :ref:`VIDIOC_QBUF <VIDIOC_QBUF>`, :ref:`VIDIOC 55 A new struct :c:type:`v4l2_plane` structur 56 describing planes is added. Arrays of this 57 the new ``m.planes`` field of struct 58 :c:type:`v4l2_buffer`. 59 60 :ref:`VIDIOC_REQBUFS <VIDIOC_REQBUFS>` 61 Will allocate multi-planar buffers as requ
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.