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: GPL-2.0+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ===================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4)  Arm Framebuffer Compression (AFBC)
^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) AFBC is a proprietary lossless image compression protocol and format.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) It provides fine-grained random access and minimizes the amount of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) data transferred between IP blocks.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) AFBC can be enabled on drivers which support it via use of the AFBC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) format modifiers defined in drm_fourcc.h. See DRM_FORMAT_MOD_ARM_AFBC(*).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) All users of the AFBC modifiers must follow the usage guidelines laid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) out in this document, to ensure compatibility across different AFBC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) producers and consumers.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) Components and Ordering
^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) AFBC streams can contain several components - where a component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) corresponds to a color channel (i.e. R, G, B, X, A, Y, Cb, Cr).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) The assignment of input/output color channels must be consistent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) between the encoder and the decoder for correct operation, otherwise
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) the consumer will interpret the decoded data incorrectly.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) Furthermore, when the lossless colorspace transform is used
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) (AFBC_FORMAT_MOD_YTR, which should be enabled for RGB buffers for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) maximum compression efficiency), the component order must be:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31)  * Component 0: R
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32)  * Component 1: G
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33)  * Component 2: B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) The component ordering is communicated via the fourcc code in the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) fourcc:modifier pair. In general, component '0' is considered to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) reside in the least-significant bits of the corresponding linear
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) format. For example, COMP(bits):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40)  * DRM_FORMAT_ABGR8888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42)    * Component 0: R(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43)    * Component 1: G(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44)    * Component 2: B(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45)    * Component 3: A(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47)  * DRM_FORMAT_BGR888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49)    * Component 0: R(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50)    * Component 1: G(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51)    * Component 2: B(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53)  * DRM_FORMAT_YUYV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55)    * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56)    * Component 1: Cb(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57)    * Component 2: Cr(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) In AFBC, 'X' components are not treated any differently from any other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) component. Therefore, an AFBC buffer with fourcc DRM_FORMAT_XBGR8888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) encodes with 4 components, like so:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63)  * DRM_FORMAT_XBGR8888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65)    * Component 0: R(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66)    * Component 1: G(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67)    * Component 2: B(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68)    * Component 3: X(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) Please note, however, that the inclusion of a "wasted" 'X' channel is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) bad for compression efficiency, and so it's recommended to avoid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) formats containing 'X' bits. If a fourth component is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) required/expected by the encoder/decoder, then it is recommended to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) instead use an equivalent format with alpha, setting all alpha bits to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) '1'. If there is no requirement for a fourth component, then a format
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) which doesn't include alpha can be used, e.g. DRM_FORMAT_BGR888.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) Number of Planes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) ================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) Formats which are typically multi-planar in linear layouts (e.g. YUV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 420), can be encoded into one, or multiple, AFBC planes. As with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) component order, the encoder and decoder must agree about the number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) of planes in order to correctly decode the buffer. The fourcc code is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) used to determine the number of encoded planes in an AFBC buffer,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) matching the number of planes for the linear (unmodified) format.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) Within each plane, the component ordering also follows the fourcc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) code:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) For example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92)  * DRM_FORMAT_YUYV: nplanes = 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94)    * Plane 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96)      * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97)      * Component 1: Cb(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98)      * Component 2: Cr(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100)  * DRM_FORMAT_NV12: nplanes = 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)    * Plane 0:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)      * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)    * Plane 1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)      * Component 0: Cb(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)      * Component 1: Cr(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Cross-device interoperability
^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) For maximum compatibility across devices, the table below defines
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) canonical formats for use between AFBC-enabled devices. Formats which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) are listed here must be used exactly as specified when using the AFBC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) modifiers. Formats which are not listed should be avoided.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) .. flat-table:: AFBC formats
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121)    * - Fourcc code
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122)      - Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123)      - Planes/Components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)    * - DRM_FORMAT_ABGR2101010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)      - 10-bit per component RGB, with 2-bit alpha
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)      - Plane 0: 4 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128)               * Component 0: R(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129)               * Component 1: G(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)               * Component 2: B(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)               * Component 3: A(2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)    * - DRM_FORMAT_ABGR8888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134)      - 8-bit per component RGB, with 8-bit alpha
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)      - Plane 0: 4 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136)               * Component 0: R(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)               * Component 1: G(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138)               * Component 2: B(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)               * Component 3: A(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)    * - DRM_FORMAT_BGR888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)      - 8-bit per component RGB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144)               * Component 0: R(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)               * Component 1: G(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)               * Component 2: B(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)    * - DRM_FORMAT_BGR565
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)      - 5/6-bit per component RGB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)               * Component 0: R(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152)               * Component 1: G(6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)               * Component 2: B(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)    * - DRM_FORMAT_ABGR1555
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)      - 5-bit per component RGB, with 1-bit alpha
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)      - Plane 0: 4 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)               * Component 0: R(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)               * Component 1: G(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)               * Component 2: B(5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)               * Component 3: A(1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)    * - DRM_FORMAT_VUY888
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)      - 8-bit per component YCbCr 444, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166)               * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)               * Component 1: Cb(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168)               * Component 2: Cr(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)    * - DRM_FORMAT_VUY101010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171)      - 10-bit per component YCbCr 444, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)               * Component 0: Y(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)               * Component 1: Cb(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)               * Component 2: Cr(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)    * - DRM_FORMAT_YUYV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178)      - 8-bit per component YCbCr 422, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)               * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)               * Component 1: Cb(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)               * Component 2: Cr(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)    * - DRM_FORMAT_NV16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)      - 8-bit per component YCbCr 422, two plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)      - Plane 0: 1 component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)               * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)        Plane 1: 2 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189)               * Component 0: Cb(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)               * Component 1: Cr(8, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)    * - DRM_FORMAT_Y210
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193)      - 10-bit per component YCbCr 422, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195)               * Component 0: Y(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196)               * Component 1: Cb(10, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)               * Component 2: Cr(10, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199)    * - DRM_FORMAT_P210
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)      - 10-bit per component YCbCr 422, two plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)      - Plane 0: 1 component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202)               * Component 0: Y(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)        Plane 1: 2 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204)               * Component 0: Cb(10, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)               * Component 1: Cr(10, 2x1 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207)    * - DRM_FORMAT_YUV420_8BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)      - 8-bit per component YCbCr 420, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)               * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)               * Component 1: Cb(8, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212)               * Component 2: Cr(8, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)    * - DRM_FORMAT_YUV420_10BIT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)      - 10-bit per component YCbCr 420, single plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)      - Plane 0: 3 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217)               * Component 0: Y(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)               * Component 1: Cb(10, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219)               * Component 2: Cr(10, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221)    * - DRM_FORMAT_NV12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)      - 8-bit per component YCbCr 420, two plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)      - Plane 0: 1 component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224)               * Component 0: Y(8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)        Plane 1: 2 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226)               * Component 0: Cb(8, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)               * Component 1: Cr(8, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)    * - DRM_FORMAT_P010
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230)      - 10-bit per component YCbCr 420, two plane
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)      - Plane 0: 1 component
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)               * Component 0: Y(10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)        Plane 1: 2 components
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)               * Component 0: Cb(10, 2x2 subsampled)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)               * Component 1: Cr(10, 2x2 subsampled)