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-YUV420M:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) .. _v4l2-pix-fmt-yvu420m:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) ************************************************************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) V4L2_PIX_FMT_YUV420M ('YM12'), V4L2_PIX_FMT_YVU420M ('YM21')
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) ************************************************************
^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) V4L2_PIX_FMT_YVU420M
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) Variation of ``V4L2_PIX_FMT_YUV420`` and ``V4L2_PIX_FMT_YVU420`` with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) planes non contiguous in memory.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) ===========
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) This is a multi-planar format, as opposed to a packed format. The three
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) components are separated into three sub-images or planes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) The Y plane is first. The Y plane has one byte per pixel. For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) ``V4L2_PIX_FMT_YUV420M`` the Cb data constitutes the second plane which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) is half the width and half the height of the Y plane (and of the image).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) Each Cb belongs to four pixels, a two-by-two square of the image. For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) example, Cb\ :sub:`0` belongs to Y'\ :sub:`00`, Y'\ :sub:`01`,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) Y'\ :sub:`10`, and Y'\ :sub:`11`. The Cr data, just like the Cb plane,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) is in the third plane.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) ``V4L2_PIX_FMT_YVU420M`` is the same except the Cr data is stored in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) second plane and the Cb data in the third plane.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) If the Y plane has pad bytes after each row, then the Cb and Cr planes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) have half as many pad bytes after their rows. In other words, two Cx
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) rows (including padding) is exactly as long as one Y row (including
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) padding).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) ``V4L2_PIX_FMT_YUV420M`` and ``V4L2_PIX_FMT_YVU420M`` are intended to be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) used only in drivers and applications that support the multi-planar API,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) described in :ref:`planar-apis`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) **Byte Order.**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) Each cell is one byte.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)     :header-rows:  0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)     :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52)     * - start0 + 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)       - Y'\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54)       - Y'\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)       - Y'\ :sub:`02`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)       - Y'\ :sub:`03`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)     * - start0 + 4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58)       - Y'\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59)       - Y'\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60)       - Y'\ :sub:`12`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61)       - Y'\ :sub:`13`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62)     * - start0 + 8:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)       - Y'\ :sub:`20`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64)       - Y'\ :sub:`21`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)       - Y'\ :sub:`22`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)       - Y'\ :sub:`23`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)     * - start0 + 12:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)       - Y'\ :sub:`30`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69)       - Y'\ :sub:`31`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70)       - Y'\ :sub:`32`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71)       - Y'\ :sub:`33`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73)     * - start1 + 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74)       - Cb\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75)       - Cb\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76)     * - start1 + 2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77)       - Cb\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78)       - Cb\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80)     * - start2 + 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81)       - Cr\ :sub:`00`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82)       - Cr\ :sub:`01`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83)     * - start2 + 2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84)       - Cr\ :sub:`10`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85)       - Cr\ :sub:`11`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) **Color Sample Location:**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) .. flat-table::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93)     :header-rows:  0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)     :stub-columns: 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)       - 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99)       - 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101)       - 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103)       - 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)     * - 0
^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)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)     * - 1
^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)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)       -
^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)     * - 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)     * -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)       - C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)     * - 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)       - Y
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)       -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)       - Y