Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) .. _V4L2-PIX-FMT-NV12M:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) .. _v4l2-pix-fmt-nv12mt-16x16:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) .. _V4L2-PIX-FMT-NV21M:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) ***********************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) V4L2_PIX_FMT_NV12M ('NM12'), V4L2_PIX_FMT_NV21M ('NM21'), V4L2_PIX_FMT_NV12MT_16X16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) ***********************************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) V4L2_PIX_FMT_NV21M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) V4L2_PIX_FMT_NV12MT_16X16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) Variation of ``V4L2_PIX_FMT_NV12`` and ``V4L2_PIX_FMT_NV21`` with planes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) non contiguous in memory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) This is a multi-planar, two-plane version of the YUV 4:2:0 format. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) three components are separated into two sub-images or planes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) ``V4L2_PIX_FMT_NV12M`` differs from ``V4L2_PIX_FMT_NV12`` in that the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) two planes are non-contiguous in memory, i.e. the chroma plane do not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) necessarily immediately follows the luma plane. The luminance data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) occupies the first plane. The Y plane has one byte per pixel. In the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) second plane there is a chrominance data with alternating chroma
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) samples. The CbCr plane is the same width, in bytes, as the Y plane (and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) of the image), but is half as tall in pixels. Each CbCr pair belongs to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) four pixels. For example, Cb\ :sub:`0`/Cr\ :sub:`0` belongs to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) Y'\ :sub:`00`, Y'\ :sub:`01`, Y'\ :sub:`10`, Y'\ :sub:`11`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) ``V4L2_PIX_FMT_NV12MT_16X16`` is the tiled version of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) ``V4L2_PIX_FMT_NV12M`` with 16x16 macroblock tiles. Here pixels are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) arranged in 16x16 2D tiles and tiles are arranged in linear order in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) memory. ``V4L2_PIX_FMT_NV21M`` is the same as ``V4L2_PIX_FMT_NV12M``
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) except the Cb and Cr bytes are swapped, the CrCb plane starts with a Cr
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) byte.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) ``V4L2_PIX_FMT_NV12M`` is intended to be used only in drivers and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) applications that support the multi-planar API, described in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) :ref:`planar-apis`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) If the Y plane has pad bytes after each row, then the CbCr plane has as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) many pad bytes after its rows.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) **Byte Order.**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) Each cell is one byte.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)     :header-rows:  0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)     :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)     * - start0 + 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)       - Y'\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)       - Y'\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)       - Y'\ :sub:`02`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)       - Y'\ :sub:`03`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)     * - start0 + 4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)       - Y'\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)       - Y'\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61)       - Y'\ :sub:`12`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)       - Y'\ :sub:`13`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)     * - start0 + 8:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)       - Y'\ :sub:`20`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)       - Y'\ :sub:`21`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)       - Y'\ :sub:`22`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)       - Y'\ :sub:`23`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)     * - start0 + 12:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)       - Y'\ :sub:`30`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)       - Y'\ :sub:`31`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)       - Y'\ :sub:`32`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)       - Y'\ :sub:`33`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)     * - start1 + 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)       - Cb\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)       - Cr\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)       - Cb\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)       - Cr\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)     * - start1 + 4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)       - Cb\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81)       - Cr\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)       - Cb\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)       - Cr\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) **Color Sample Location:**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91)     :header-rows:  0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)     :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95)       - 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)       - 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)       - 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)       - 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)     * - 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)     * - 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)     * - 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)     * - 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)       - Y