1da785536SLaurent Pinchart.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2da785536SLaurent Pinchart 3da785536SLaurent Pinchart.. planar-yuv: 4da785536SLaurent Pinchart 5da785536SLaurent Pinchart****************** 6da785536SLaurent PinchartPlanar YUV formats 7da785536SLaurent Pinchart****************** 8da785536SLaurent Pinchart 9da785536SLaurent PinchartPlanar formats split luma and chroma data in separate memory regions. They 10da785536SLaurent Pinchartexist in two variants: 11da785536SLaurent Pinchart 12da785536SLaurent Pinchart- Semi-planar formats use two planes. The first plane is the luma plane and 13da785536SLaurent Pinchart stores the Y components. The second plane is the chroma plane and stores the 14da785536SLaurent Pinchart Cb and Cr components interleaved. 15da785536SLaurent Pinchart 16da785536SLaurent Pinchart- Fully planar formats use three planes to store the Y, Cb and Cr components 17da785536SLaurent Pinchart separately. 18da785536SLaurent Pinchart 19da785536SLaurent PinchartWithin a plane, components are stored in pixel order, which may be linear or 20da785536SLaurent Pincharttiled. Padding may be supported at the end of the lines, and the line stride of 21da785536SLaurent Pinchartthe chroma planes may be constrained by the line stride of the luma plane. 22da785536SLaurent Pinchart 23da785536SLaurent PinchartSome planar formats allow planes to be placed in independent memory locations. 24da785536SLaurent PinchartThey are identified by an 'M' suffix in their name (such as in 25da785536SLaurent Pinchart``V4L2_PIX_FMT_NV12M``). Those formats are intended to be used only in drivers 26da785536SLaurent Pinchartand applications that support the multi-planar API, described in 27da785536SLaurent Pinchart:ref:`planar-apis`. Unless explicitly documented as supporting non-contiguous 28da785536SLaurent Pinchartplanes, formats require the planes to follow each other immediately in memory. 29da785536SLaurent Pinchart 30da785536SLaurent Pinchart 31da785536SLaurent PinchartSemi-Planar YUV Formats 32da785536SLaurent Pinchart======================= 33da785536SLaurent Pinchart 34da785536SLaurent PinchartThese formats are commonly referred to as NV formats (NV12, NV16, ...). They 35da785536SLaurent Pinchartuse two planes, and store the luma components in the first plane and the chroma 36da785536SLaurent Pinchartcomponents in the second plane. The Cb and Cr components are interleaved in the 37da785536SLaurent Pinchartchroma plane, with Cb and Cr always stored in pairs. The chroma order is 38da785536SLaurent Pinchartexposed as different formats. 39da785536SLaurent Pinchart 40da785536SLaurent PinchartFor memory contiguous formats, the number of padding pixels at the end of the 41da785536SLaurent Pinchartchroma lines is identical to the padding of the luma lines. Without horizontal 42da785536SLaurent Pinchartsubsampling, the chroma line stride (in bytes) is thus equal to twice the luma 43da785536SLaurent Pinchartline stride. With horizontal subsampling by 2, the chroma line stride is equal 44da785536SLaurent Pinchartto the luma line stride. Vertical subsampling doesn't affect the line stride. 45da785536SLaurent Pinchart 46da785536SLaurent PinchartFor non-contiguous formats, no constraints are enforced by the format on the 47da785536SLaurent Pinchartrelationship between the luma and chroma line padding and stride. 48da785536SLaurent Pinchart 49da785536SLaurent PinchartAll components are stored with the same number of bits per component. 50da785536SLaurent Pinchart 514a1873f5SMauro Carvalho Chehab.. raw:: latex 524a1873f5SMauro Carvalho Chehab 534a1873f5SMauro Carvalho Chehab \footnotesize 544a1873f5SMauro Carvalho Chehab 554a1873f5SMauro Carvalho Chehab.. tabularcolumns:: |p{5.2cm}|p{1.0cm}|p{1.5cm}|p{1.9cm}|p{1.2cm}|p{1.8cm}|p{2.7cm}| 564a1873f5SMauro Carvalho Chehab 57da785536SLaurent Pinchart.. flat-table:: Overview of Semi-Planar YUV Formats 58da785536SLaurent Pinchart :header-rows: 1 59da785536SLaurent Pinchart :stub-columns: 0 60da785536SLaurent Pinchart 61da785536SLaurent Pinchart * - Identifier 62da785536SLaurent Pinchart - Code 63da785536SLaurent Pinchart - Bits per component 64da785536SLaurent Pinchart - Subsampling 65da785536SLaurent Pinchart - Chroma order [1]_ 66da785536SLaurent Pinchart - Contiguous [2]_ 67da785536SLaurent Pinchart - Tiling [3]_ 68da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV12 69da785536SLaurent Pinchart - 'NV12' 70da785536SLaurent Pinchart - 8 71da785536SLaurent Pinchart - 4:2:0 72da785536SLaurent Pinchart - Cb, Cr 73da785536SLaurent Pinchart - Yes 74da785536SLaurent Pinchart - Linear 75da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV21 76da785536SLaurent Pinchart - 'NV21' 77da785536SLaurent Pinchart - 8 78da785536SLaurent Pinchart - 4:2:0 797f9cfb54SHans Verkuil - Cr, Cb 80da785536SLaurent Pinchart - Yes 81da785536SLaurent Pinchart - Linear 82da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV12M 83da785536SLaurent Pinchart - 'NM12' 84da785536SLaurent Pinchart - 8 85da785536SLaurent Pinchart - 4:2:0 86da785536SLaurent Pinchart - Cb, Cr 87da785536SLaurent Pinchart - No 88da785536SLaurent Pinchart - Linear 89da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV21M 90da785536SLaurent Pinchart - 'NM21' 91da785536SLaurent Pinchart - 8 92da785536SLaurent Pinchart - 4:2:0 937f9cfb54SHans Verkuil - Cr, Cb 94da785536SLaurent Pinchart - No 95da785536SLaurent Pinchart - Linear 96da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV12MT 97da785536SLaurent Pinchart - 'TM12' 98da785536SLaurent Pinchart - 8 99da785536SLaurent Pinchart - 4:2:0 100da785536SLaurent Pinchart - Cb, Cr 101da785536SLaurent Pinchart - No 10275b8f8f2SEzequiel Garcia - 64x32 tiles 103da785536SLaurent Pinchart 104da785536SLaurent Pinchart Horizontal Z order 105da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV12MT_16X16 106da785536SLaurent Pinchart - 'VM12' 107da785536SLaurent Pinchart - 8 108da785536SLaurent Pinchart - 4:2:2 109da785536SLaurent Pinchart - Cb, Cr 110da785536SLaurent Pinchart - No 11175b8f8f2SEzequiel Garcia - 16x16 tiles 1125374d8fbSBenjamin Gaignard * - V4L2_PIX_FMT_P010 1135374d8fbSBenjamin Gaignard - 'P010' 1145374d8fbSBenjamin Gaignard - 10 1155374d8fbSBenjamin Gaignard - 4:2:0 1165374d8fbSBenjamin Gaignard - Cb, Cr 1175374d8fbSBenjamin Gaignard - Yes 1185374d8fbSBenjamin Gaignard - Linear 1193c8e19d3SEzequiel Garcia * - V4L2_PIX_FMT_P010_4L4 1203c8e19d3SEzequiel Garcia - 'T010' 1213c8e19d3SEzequiel Garcia - 10 1223c8e19d3SEzequiel Garcia - 4:2:0 1233c8e19d3SEzequiel Garcia - Cb, Cr 1243c8e19d3SEzequiel Garcia - Yes 1253c8e19d3SEzequiel Garcia - 4x4 tiles 126*aa108040SMing Qian * - V4L2_PIX_FMT_P012 127*aa108040SMing Qian - 'P012' 128*aa108040SMing Qian - 12 129*aa108040SMing Qian - 4:2:0 130*aa108040SMing Qian - Cb, Cr 131*aa108040SMing Qian - Yes 132*aa108040SMing Qian - Linear 133*aa108040SMing Qian * - V4L2_PIX_FMT_P012M 134*aa108040SMing Qian - 'PM12' 135*aa108040SMing Qian - 12 136*aa108040SMing Qian - 4:2:0 137*aa108040SMing Qian - Cb, Cr 138*aa108040SMing Qian - No 139*aa108040SMing Qian - Linear 140da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV15_4L4 141da785536SLaurent Pinchart - 'VT15' 142da785536SLaurent Pinchart - 15 143da785536SLaurent Pinchart - 4:2:0 144da785536SLaurent Pinchart - Cb, Cr 145da785536SLaurent Pinchart - Yes 146da785536SLaurent Pinchart - 4x4 tiles 147da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV16 148da785536SLaurent Pinchart - 'NV16' 149da785536SLaurent Pinchart - 8 150da785536SLaurent Pinchart - 4:2:2 1517f9cfb54SHans Verkuil - Cb, Cr 152da785536SLaurent Pinchart - Yes 153da785536SLaurent Pinchart - Linear 154da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV61 155da785536SLaurent Pinchart - 'NV61' 156da785536SLaurent Pinchart - 8 157da785536SLaurent Pinchart - 4:2:2 158da785536SLaurent Pinchart - Cr, Cb 159da785536SLaurent Pinchart - Yes 160da785536SLaurent Pinchart - Linear 161da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV16M 162da785536SLaurent Pinchart - 'NM16' 163da785536SLaurent Pinchart - 8 164da785536SLaurent Pinchart - 4:2:2 1657f9cfb54SHans Verkuil - Cb, Cr 166da785536SLaurent Pinchart - No 167da785536SLaurent Pinchart - Linear 168da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV61M 169da785536SLaurent Pinchart - 'NM61' 170da785536SLaurent Pinchart - 8 171da785536SLaurent Pinchart - 4:2:2 172da785536SLaurent Pinchart - Cr, Cb 173da785536SLaurent Pinchart - No 174da785536SLaurent Pinchart - Linear 175da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV24 176da785536SLaurent Pinchart - 'NV24' 177da785536SLaurent Pinchart - 8 178da785536SLaurent Pinchart - 4:4:4 1797f9cfb54SHans Verkuil - Cb, Cr 180da785536SLaurent Pinchart - Yes 181da785536SLaurent Pinchart - Linear 182da785536SLaurent Pinchart * - V4L2_PIX_FMT_NV42 1834a1873f5SMauro Carvalho Chehab - 'NV42' 1844a1873f5SMauro Carvalho Chehab - 8 1854a1873f5SMauro Carvalho Chehab - 4:4:4 186da785536SLaurent Pinchart - Cr, Cb 187da785536SLaurent Pinchart - Yes 188da785536SLaurent Pinchart - Linear 189da785536SLaurent Pinchart 190da785536SLaurent Pinchart.. raw:: latex 191da785536SLaurent Pinchart 192da785536SLaurent Pinchart \normalsize 193da785536SLaurent Pinchart 194da785536SLaurent Pinchart.. [1] Order of chroma samples in the second plane 195da785536SLaurent Pinchart.. [2] Indicates if planes have to be contiguous in memory or can be 196da785536SLaurent Pinchart disjoint 197da785536SLaurent Pinchart.. [3] Macroblock size in pixels 198da785536SLaurent Pinchart 199da785536SLaurent Pinchart 200da785536SLaurent Pinchart**Color Sample Location:** 201da785536SLaurent PinchartChroma samples are :ref:`interstitially sited<yuv-chroma-centered>` 2025374d8fbSBenjamin Gaignardhorizontally. 203da785536SLaurent Pinchart 204da785536SLaurent Pinchart 205da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12: 206da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV21: 207da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12M: 208da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV21M: 209da785536SLaurent Pinchart.. _V4L2-PIX-FMT-P010: 210da785536SLaurent Pinchart 211da785536SLaurent PinchartNV12, NV21, NV12M and NV21M 212da785536SLaurent Pinchart--------------------------- 213da785536SLaurent Pinchart 214da785536SLaurent PinchartSemi-planar YUV 4:2:0 formats. The chroma plane is subsampled by 2 in each 215da785536SLaurent Pinchartdirection. Chroma lines contain half the number of pixels and the same number 216da785536SLaurent Pinchartof bytes as luma lines, and the chroma plane contains half the number of lines 217da785536SLaurent Pinchartof the luma plane. 218da785536SLaurent Pinchart 219da785536SLaurent Pinchart.. flat-table:: Sample 4x4 NV12 Image 220da785536SLaurent Pinchart :header-rows: 0 221da785536SLaurent Pinchart :stub-columns: 0 222da785536SLaurent Pinchart 223da785536SLaurent Pinchart * - start + 0: 224da785536SLaurent Pinchart - Y'\ :sub:`00` 225da785536SLaurent Pinchart - Y'\ :sub:`01` 226da785536SLaurent Pinchart - Y'\ :sub:`02` 227da785536SLaurent Pinchart - Y'\ :sub:`03` 228da785536SLaurent Pinchart * - start + 4: 229da785536SLaurent Pinchart - Y'\ :sub:`10` 230da785536SLaurent Pinchart - Y'\ :sub:`11` 231da785536SLaurent Pinchart - Y'\ :sub:`12` 232da785536SLaurent Pinchart - Y'\ :sub:`13` 233da785536SLaurent Pinchart * - start + 8: 234da785536SLaurent Pinchart - Y'\ :sub:`20` 235da785536SLaurent Pinchart - Y'\ :sub:`21` 236da785536SLaurent Pinchart - Y'\ :sub:`22` 237da785536SLaurent Pinchart - Y'\ :sub:`23` 238da785536SLaurent Pinchart * - start + 12: 239da785536SLaurent Pinchart - Y'\ :sub:`30` 240da785536SLaurent Pinchart - Y'\ :sub:`31` 241da785536SLaurent Pinchart - Y'\ :sub:`32` 242da785536SLaurent Pinchart - Y'\ :sub:`33` 243da785536SLaurent Pinchart * - start + 16: 244da785536SLaurent Pinchart - Cb\ :sub:`00` 245da785536SLaurent Pinchart - Cr\ :sub:`00` 246da785536SLaurent Pinchart - Cb\ :sub:`01` 247da785536SLaurent Pinchart - Cr\ :sub:`01` 248da785536SLaurent Pinchart * - start + 20: 249da785536SLaurent Pinchart - Cb\ :sub:`10` 250da785536SLaurent Pinchart - Cr\ :sub:`10` 251da785536SLaurent Pinchart - Cb\ :sub:`11` 252da785536SLaurent Pinchart - Cr\ :sub:`11` 253da785536SLaurent Pinchart 254da785536SLaurent Pinchart.. flat-table:: Sample 4x4 NV12M Image 255da785536SLaurent Pinchart :header-rows: 0 256da785536SLaurent Pinchart :stub-columns: 0 257da785536SLaurent Pinchart 258da785536SLaurent Pinchart * - start0 + 0: 259da785536SLaurent Pinchart - Y'\ :sub:`00` 260da785536SLaurent Pinchart - Y'\ :sub:`01` 261da785536SLaurent Pinchart - Y'\ :sub:`02` 262da785536SLaurent Pinchart - Y'\ :sub:`03` 263da785536SLaurent Pinchart * - start0 + 4: 264da785536SLaurent Pinchart - Y'\ :sub:`10` 265da785536SLaurent Pinchart - Y'\ :sub:`11` 266da785536SLaurent Pinchart - Y'\ :sub:`12` 267da785536SLaurent Pinchart - Y'\ :sub:`13` 268da785536SLaurent Pinchart * - start0 + 8: 269da785536SLaurent Pinchart - Y'\ :sub:`20` 270da785536SLaurent Pinchart - Y'\ :sub:`21` 271da785536SLaurent Pinchart - Y'\ :sub:`22` 272da785536SLaurent Pinchart - Y'\ :sub:`23` 273da785536SLaurent Pinchart * - start0 + 12: 274da785536SLaurent Pinchart - Y'\ :sub:`30` 275da785536SLaurent Pinchart - Y'\ :sub:`31` 276da785536SLaurent Pinchart - Y'\ :sub:`32` 277da785536SLaurent Pinchart - Y'\ :sub:`33` 278da785536SLaurent Pinchart * - 279da785536SLaurent Pinchart * - start1 + 0: 280da785536SLaurent Pinchart - Cb\ :sub:`00` 281da785536SLaurent Pinchart - Cr\ :sub:`00` 282da785536SLaurent Pinchart - Cb\ :sub:`01` 283da785536SLaurent Pinchart - Cr\ :sub:`01` 284da785536SLaurent Pinchart * - start1 + 4: 285da785536SLaurent Pinchart - Cb\ :sub:`10` 286683f71ebSEzequiel Garcia - Cr\ :sub:`10` 28778eee7b5SEzequiel Garcia - Cb\ :sub:`11` 288b84f60a3SEzequiel Garcia - Cr\ :sub:`11` 289f1b7d5ffSHans Verkuil 2905b8bb216SMing Qian 291f1b7d5ffSHans Verkuil.. _V4L2-PIX-FMT-NV12MT: 2925b8bb216SMing Qian.. _V4L2-PIX-FMT-NV12MT-16X16: 293f1b7d5ffSHans Verkuil.. _V4L2-PIX-FMT-NV12-4L4: 294da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12-16L16: 295b84f60a3SEzequiel Garcia.. _V4L2-PIX-FMT-NV12-32L32: 296b84f60a3SEzequiel Garcia.. _V4L2-PIX-FMT-NV12M-8L128: 297da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12-8L128: 298da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12M-10BE-8L128: 299da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV12-10BE-8L128: 300da785536SLaurent Pinchart.. _V4L2-PIX-FMT-MM21: 301b84f60a3SEzequiel Garcia 302b84f60a3SEzequiel GarciaTiled NV12 303da785536SLaurent Pinchart---------- 30475b8f8f2SEzequiel Garcia 30575b8f8f2SEzequiel GarciaSemi-planar YUV 4:2:0 formats, using macroblock tiling. The chroma plane is 30675b8f8f2SEzequiel Garciasubsampled by 2 in each direction. Chroma lines contain half the number of 30775b8f8f2SEzequiel Garciapixels and the same number of bytes as luma lines, and the chroma plane 308da785536SLaurent Pinchartcontains half the number of lines of the luma plane. Each tile follows the 30975b8f8f2SEzequiel Garciaprevious one linearly in memory (from left to right, top to bottom). 31075b8f8f2SEzequiel Garcia 31175b8f8f2SEzequiel Garcia``V4L2_PIX_FMT_NV12MT_16X16`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores 31275b8f8f2SEzequiel Garciapixels in 2D 16x16 tiles, and stores tiles linearly in memory. 313da785536SLaurent PinchartThe line stride and image height must be aligned to a multiple of 16. 31475b8f8f2SEzequiel GarciaThe layouts of the luma and chroma planes are identical. 31575b8f8f2SEzequiel Garcia 316da785536SLaurent Pinchart``V4L2_PIX_FMT_NV12MT`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores 317da785536SLaurent Pinchartpixels in 2D 64x32 tiles, and stores 2x2 groups of tiles in 31872a74c8fSMing QianZ-order in memory, alternating Z and mirrored Z shapes horizontally. 319683f71ebSEzequiel GarciaThe line stride must be a multiple of 128 pixels to ensure an 320683f71ebSEzequiel Garciainteger number of Z shapes. The image height must be a multiple of 32 pixels. 321683f71ebSEzequiel GarciaIf the vertical resolution is an odd number of tiles, the last row of 322683f71ebSEzequiel Garciatiles is stored in linear order. The layouts of the luma and chroma 32372a74c8fSMing Qianplanes are identical. 32478eee7b5SEzequiel Garcia 32578eee7b5SEzequiel Garcia``V4L2_PIX_FMT_NV12_4L4`` stores pixels in 4x4 tiles, and stores 32678eee7b5SEzequiel Garciatiles linearly in memory. The line stride and image height must be 32778eee7b5SEzequiel Garciaaligned to a multiple of 4. The layouts of the luma and chroma planes are 32872a74c8fSMing Qianidentical. 329b84f60a3SEzequiel Garcia 330b84f60a3SEzequiel Garcia``V4L2_PIX_FMT_NV12_16L16`` stores pixels in 16x16 tiles, and stores 331b84f60a3SEzequiel Garciatiles linearly in memory. The line stride and image height must be 332b84f60a3SEzequiel Garciaaligned to a multiple of 16. The layouts of the luma and chroma planes are 33372a74c8fSMing Qianidentical. 33472a74c8fSMing Qian 33572a74c8fSMing Qian``V4L2_PIX_FMT_NV12_32L32`` stores pixels in 32x32 tiles, and stores 33672a74c8fSMing Qiantiles linearly in memory. The line stride and image height must be 33772a74c8fSMing Qianaligned to a multiple of 32. The layouts of the luma and chroma planes are 3385b8bb216SMing Qianidentical. 3395b8bb216SMing Qian 3405b8bb216SMing Qian``V4L2_PIX_FMT_NV12M_8L128`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores 34172a74c8fSMing Qianpixels in 2D 8x128 tiles, and stores tiles linearly in memory. 34272a74c8fSMing QianThe image height must be aligned to a multiple of 128. 34372a74c8fSMing QianThe layouts of the luma and chroma planes are identical. 34472a74c8fSMing Qian 34572a74c8fSMing Qian``V4L2_PIX_FMT_NV12_8L128`` is similar to ``V4L2_PIX_FMT_NV12M_8L128`` but stores 34672a74c8fSMing Qiantwo planes in one memory. 34772a74c8fSMing Qian 34872a74c8fSMing Qian``V4L2_PIX_FMT_NV12M_10BE_8L128`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores 34972a74c8fSMing Qian10 bits pixels in 2D 8x128 tiles, and stores tiles linearly in memory. 35072a74c8fSMing Qianthe data is arranged in big endian order. 35172a74c8fSMing QianThe image height must be aligned to a multiple of 128. 35272a74c8fSMing QianThe layouts of the luma and chroma planes are identical. 35372a74c8fSMing QianNote the tile size is 8bytes multiplied by 128 bytes, 35472a74c8fSMing Qianit means that the low bits and high bits of one pixel may be in different tiles. 35572a74c8fSMing QianThe 10 bit pixels are packed, so 5 bytes contain 4 10-bit pixels layout like 3565b8bb216SMing Qianthis (for luma): 3575b8bb216SMing Qianbyte 0: Y0(bits 9-2) 3585b8bb216SMing Qianbyte 1: Y0(bits 1-0) Y1(bits 9-4) 3599c634d6dSNicolas Dufresnebyte 2: Y1(bits 3-0) Y2(bits 9-6) 3609c634d6dSNicolas Dufresnebyte 3: Y2(bits 5-0) Y3(bits 9-8) 3619c634d6dSNicolas Dufresnebyte 4: Y3(bits 7-0) 3629c634d6dSNicolas Dufresne 3639c634d6dSNicolas Dufresne``V4L2_PIX_FMT_NV12_10BE_8L128`` is similar to ``V4L2_PIX_FMT_NV12M_10BE_8L128`` but stores 3649c634d6dSNicolas Dufresnetwo planes in one memory. 365da785536SLaurent Pinchart 366da785536SLaurent Pinchart``V4L2_PIX_FMT_MM21`` store luma pixel in 16x32 tiles, and chroma pixels 367da785536SLaurent Pinchartin 16x16 tiles. The line stride must be aligned to a multiple of 16 and the 368da785536SLaurent Pinchartimage height must be aligned to a multiple of 32. The number of luma and chroma 369da785536SLaurent Pincharttiles are identical, even though the tile size differ. The image is formed of 370da785536SLaurent Pincharttwo non-contiguous planes. 371da785536SLaurent Pinchart 372da785536SLaurent Pinchart.. _nv12mt: 373da785536SLaurent Pinchart 374da785536SLaurent Pinchart.. kernel-figure:: nv12mt.svg 375da785536SLaurent Pinchart :alt: nv12mt.svg 376da785536SLaurent Pinchart :align: center 377da785536SLaurent Pinchart 378da785536SLaurent Pinchart V4L2_PIX_FMT_NV12MT macroblock Z shape memory layout 37975b8f8f2SEzequiel Garcia 380da785536SLaurent Pinchart.. _nv12mt_ex: 381da785536SLaurent Pinchart 382da785536SLaurent Pinchart.. kernel-figure:: nv12mt_example.svg 383da785536SLaurent Pinchart :alt: nv12mt_example.svg 384da785536SLaurent Pinchart :align: center 385da785536SLaurent Pinchart 386da785536SLaurent Pinchart Example V4L2_PIX_FMT_NV12MT memory layout of tiles 387da785536SLaurent Pinchart 388da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV15-4L4: 389da785536SLaurent Pinchart 390da785536SLaurent PinchartTiled NV15 391da785536SLaurent Pinchart---------- 392da785536SLaurent Pinchart 393da785536SLaurent PinchartSemi-planar 10-bit YUV 4:2:0 formats, using 4x4 tiling. 394da785536SLaurent PinchartAll components are packed without any padding between each other. 395da785536SLaurent PinchartAs a side-effect, each group of 4 components are stored over 5 bytes 396da785536SLaurent Pinchart(YYYY or UVUV = 4 * 10 bits = 40 bits = 5 bytes). 397da785536SLaurent Pinchart 398da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV16: 399da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV61: 400da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV16M: 401da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV61M: 402da785536SLaurent Pinchart 403da785536SLaurent PinchartNV16, NV61, NV16M and NV61M 404da785536SLaurent Pinchart--------------------------- 405da785536SLaurent Pinchart 406da785536SLaurent PinchartSemi-planar YUV 4:2:2 formats. The chroma plane is subsampled by 2 in the 407da785536SLaurent Pincharthorizontal direction. Chroma lines contain half the number of pixels and the 408da785536SLaurent Pinchartsame number of bytes as luma lines, and the chroma plane contains the same 409da785536SLaurent Pinchartnumber of lines as the luma plane. 410da785536SLaurent Pinchart 411da785536SLaurent Pinchart.. flat-table:: Sample 4x4 NV16 Image 412da785536SLaurent Pinchart :header-rows: 0 413da785536SLaurent Pinchart :stub-columns: 0 414da785536SLaurent Pinchart 415da785536SLaurent Pinchart * - start + 0: 416da785536SLaurent Pinchart - Y'\ :sub:`00` 417da785536SLaurent Pinchart - Y'\ :sub:`01` 418da785536SLaurent Pinchart - Y'\ :sub:`02` 419da785536SLaurent Pinchart - Y'\ :sub:`03` 420da785536SLaurent Pinchart * - start + 4: 421da785536SLaurent Pinchart - Y'\ :sub:`10` 422da785536SLaurent Pinchart - Y'\ :sub:`11` 423da785536SLaurent Pinchart - Y'\ :sub:`12` 424da785536SLaurent Pinchart - Y'\ :sub:`13` 425da785536SLaurent Pinchart * - start + 8: 426da785536SLaurent Pinchart - Y'\ :sub:`20` 427da785536SLaurent Pinchart - Y'\ :sub:`21` 428da785536SLaurent Pinchart - Y'\ :sub:`22` 429da785536SLaurent Pinchart - Y'\ :sub:`23` 430da785536SLaurent Pinchart * - start + 12: 431da785536SLaurent Pinchart - Y'\ :sub:`30` 432da785536SLaurent Pinchart - Y'\ :sub:`31` 433da785536SLaurent Pinchart - Y'\ :sub:`32` 434da785536SLaurent Pinchart - Y'\ :sub:`33` 435da785536SLaurent Pinchart * - start + 16: 436da785536SLaurent Pinchart - Cb\ :sub:`00` 437da785536SLaurent Pinchart - Cr\ :sub:`00` 438da785536SLaurent Pinchart - Cb\ :sub:`01` 439da785536SLaurent Pinchart - Cr\ :sub:`01` 440da785536SLaurent Pinchart * - start + 20: 441da785536SLaurent Pinchart - Cb\ :sub:`10` 442da785536SLaurent Pinchart - Cr\ :sub:`10` 443da785536SLaurent Pinchart - Cb\ :sub:`11` 444da785536SLaurent Pinchart - Cr\ :sub:`11` 445da785536SLaurent Pinchart * - start + 24: 446da785536SLaurent Pinchart - Cb\ :sub:`20` 447da785536SLaurent Pinchart - Cr\ :sub:`20` 448da785536SLaurent Pinchart - Cb\ :sub:`21` 449da785536SLaurent Pinchart - Cr\ :sub:`21` 450da785536SLaurent Pinchart * - start + 28: 451da785536SLaurent Pinchart - Cb\ :sub:`30` 452da785536SLaurent Pinchart - Cr\ :sub:`30` 453da785536SLaurent Pinchart - Cb\ :sub:`31` 454da785536SLaurent Pinchart - Cr\ :sub:`31` 455da785536SLaurent Pinchart 456da785536SLaurent Pinchart.. flat-table:: Sample 4x4 NV16M Image 457da785536SLaurent Pinchart :header-rows: 0 458da785536SLaurent Pinchart :stub-columns: 0 459da785536SLaurent Pinchart 460da785536SLaurent Pinchart * - start0 + 0: 461da785536SLaurent Pinchart - Y'\ :sub:`00` 462da785536SLaurent Pinchart - Y'\ :sub:`01` 463da785536SLaurent Pinchart - Y'\ :sub:`02` 464da785536SLaurent Pinchart - Y'\ :sub:`03` 465da785536SLaurent Pinchart * - start0 + 4: 466da785536SLaurent Pinchart - Y'\ :sub:`10` 467da785536SLaurent Pinchart - Y'\ :sub:`11` 468da785536SLaurent Pinchart - Y'\ :sub:`12` 469da785536SLaurent Pinchart - Y'\ :sub:`13` 470da785536SLaurent Pinchart * - start0 + 8: 471da785536SLaurent Pinchart - Y'\ :sub:`20` 472da785536SLaurent Pinchart - Y'\ :sub:`21` 473da785536SLaurent Pinchart - Y'\ :sub:`22` 474da785536SLaurent Pinchart - Y'\ :sub:`23` 475da785536SLaurent Pinchart * - start0 + 12: 476da785536SLaurent Pinchart - Y'\ :sub:`30` 477da785536SLaurent Pinchart - Y'\ :sub:`31` 478da785536SLaurent Pinchart - Y'\ :sub:`32` 479da785536SLaurent Pinchart - Y'\ :sub:`33` 480da785536SLaurent Pinchart * - 481da785536SLaurent Pinchart * - start1 + 0: 482da785536SLaurent Pinchart - Cb\ :sub:`00` 483da785536SLaurent Pinchart - Cr\ :sub:`00` 484da785536SLaurent Pinchart - Cb\ :sub:`02` 485da785536SLaurent Pinchart - Cr\ :sub:`02` 486da785536SLaurent Pinchart * - start1 + 4: 487da785536SLaurent Pinchart - Cb\ :sub:`10` 488da785536SLaurent Pinchart - Cr\ :sub:`10` 489da785536SLaurent Pinchart - Cb\ :sub:`12` 490da785536SLaurent Pinchart - Cr\ :sub:`12` 491da785536SLaurent Pinchart * - start1 + 8: 492da785536SLaurent Pinchart - Cb\ :sub:`20` 493c0133e9dSHelen Koike - Cr\ :sub:`20` 494c0133e9dSHelen Koike - Cb\ :sub:`22` 495c0133e9dSHelen Koike - Cr\ :sub:`22` 496da785536SLaurent Pinchart * - start1 + 12: 497da785536SLaurent Pinchart - Cb\ :sub:`30` 498da785536SLaurent Pinchart - Cr\ :sub:`30` 499da785536SLaurent Pinchart - Cb\ :sub:`32` 500da785536SLaurent Pinchart - Cr\ :sub:`32` 501da785536SLaurent Pinchart 502da785536SLaurent Pinchart 503da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV24: 504da785536SLaurent Pinchart.. _V4L2-PIX-FMT-NV42: 505da785536SLaurent Pinchart 506da785536SLaurent PinchartNV24 and NV42 507da785536SLaurent Pinchart------------- 508da785536SLaurent Pinchart 509da785536SLaurent PinchartSemi-planar YUV 4:4:4 formats. The chroma plane is not subsampled. 510da785536SLaurent PinchartChroma lines contain the same number of pixels and twice the 511da785536SLaurent Pinchartnumber of bytes as luma lines, and the chroma plane contains the same 512da785536SLaurent Pinchartnumber of lines as the luma plane. 513da785536SLaurent Pinchart 514da785536SLaurent Pinchart.. flat-table:: Sample 4x4 NV24 Image 515da785536SLaurent Pinchart :header-rows: 0 516da785536SLaurent Pinchart :stub-columns: 0 517da785536SLaurent Pinchart 518da785536SLaurent Pinchart * - start + 0: 519da785536SLaurent Pinchart - Y'\ :sub:`00` 520da785536SLaurent Pinchart - Y'\ :sub:`01` 521da785536SLaurent Pinchart - Y'\ :sub:`02` 522da785536SLaurent Pinchart - Y'\ :sub:`03` 523da785536SLaurent Pinchart * - start + 4: 524da785536SLaurent Pinchart - Y'\ :sub:`10` 525da785536SLaurent Pinchart - Y'\ :sub:`11` 526da785536SLaurent Pinchart - Y'\ :sub:`12` 527da785536SLaurent Pinchart - Y'\ :sub:`13` 528da785536SLaurent Pinchart * - start + 8: 529da785536SLaurent Pinchart - Y'\ :sub:`20` 530da785536SLaurent Pinchart - Y'\ :sub:`21` 531da785536SLaurent Pinchart - Y'\ :sub:`22` 532da785536SLaurent Pinchart - Y'\ :sub:`23` 533da785536SLaurent Pinchart * - start + 12: 534da785536SLaurent Pinchart - Y'\ :sub:`30` 535da785536SLaurent Pinchart - Y'\ :sub:`31` 536da785536SLaurent Pinchart - Y'\ :sub:`32` 537da785536SLaurent Pinchart - Y'\ :sub:`33` 538da785536SLaurent Pinchart * - start + 16: 539da785536SLaurent Pinchart - Cb\ :sub:`00` 540da785536SLaurent Pinchart - Cr\ :sub:`00` 541da785536SLaurent Pinchart - Cb\ :sub:`01` 542da785536SLaurent Pinchart - Cr\ :sub:`01` 543da785536SLaurent Pinchart - Cb\ :sub:`02` 544da785536SLaurent Pinchart - Cr\ :sub:`02` 545da785536SLaurent Pinchart - Cb\ :sub:`03` 546da785536SLaurent Pinchart - Cr\ :sub:`03` 547da785536SLaurent Pinchart * - start + 24: 548da785536SLaurent Pinchart - Cb\ :sub:`10` 549da785536SLaurent Pinchart - Cr\ :sub:`10` 550da785536SLaurent Pinchart - Cb\ :sub:`11` 551da785536SLaurent Pinchart - Cr\ :sub:`11` 552da785536SLaurent Pinchart - Cb\ :sub:`12` 553da785536SLaurent Pinchart - Cr\ :sub:`12` 554da785536SLaurent Pinchart - Cb\ :sub:`13` 555da785536SLaurent Pinchart - Cr\ :sub:`13` 556da785536SLaurent Pinchart * - start + 32: 557da785536SLaurent Pinchart - Cb\ :sub:`20` 5582b006e74SLaurent Pinchart - Cr\ :sub:`20` 5595374d8fbSBenjamin Gaignard - Cb\ :sub:`21` 5603c8e19d3SEzequiel Garcia - Cr\ :sub:`21` 5615374d8fbSBenjamin Gaignard - Cb\ :sub:`22` 5623c8e19d3SEzequiel Garcia - Cr\ :sub:`22` 5633c8e19d3SEzequiel Garcia - Cb\ :sub:`23` 5645374d8fbSBenjamin Gaignard - Cr\ :sub:`23` 5653c8e19d3SEzequiel Garcia * - start + 40: 5665374d8fbSBenjamin Gaignard - Cb\ :sub:`30` 5675374d8fbSBenjamin Gaignard - Cr\ :sub:`30` 5685374d8fbSBenjamin Gaignard - Cb\ :sub:`31` 5695374d8fbSBenjamin Gaignard - Cr\ :sub:`31` 5705374d8fbSBenjamin Gaignard - Cb\ :sub:`32` 5715374d8fbSBenjamin Gaignard - Cr\ :sub:`32` 5725374d8fbSBenjamin Gaignard - Cb\ :sub:`33` 5735374d8fbSBenjamin Gaignard - Cr\ :sub:`33` 5745374d8fbSBenjamin Gaignard 5755374d8fbSBenjamin Gaignard.. _V4L2_PIX_FMT_P010: 5765374d8fbSBenjamin Gaignard.. _V4L2-PIX-FMT-P010-4L4: 5775374d8fbSBenjamin Gaignard 5785374d8fbSBenjamin GaignardP010 and tiled P010 5795374d8fbSBenjamin Gaignard------------------- 5805374d8fbSBenjamin Gaignard 5815374d8fbSBenjamin GaignardP010 is like NV12 with 10 bits per component, expanded to 16 bits. 5825374d8fbSBenjamin GaignardData in the 10 high bits, zeros in the 6 low bits, arranged in little endian order. 5835374d8fbSBenjamin Gaignard 5845374d8fbSBenjamin Gaignard.. flat-table:: Sample 4x4 P010 Image 5855374d8fbSBenjamin Gaignard :header-rows: 0 5865374d8fbSBenjamin Gaignard :stub-columns: 0 5875374d8fbSBenjamin Gaignard 5885374d8fbSBenjamin Gaignard * - start + 0: 5895374d8fbSBenjamin Gaignard - Y'\ :sub:`00` 5905374d8fbSBenjamin Gaignard - Y'\ :sub:`01` 5915374d8fbSBenjamin Gaignard - Y'\ :sub:`02` 5925374d8fbSBenjamin Gaignard - Y'\ :sub:`03` 5935374d8fbSBenjamin Gaignard * - start + 8: 5945374d8fbSBenjamin Gaignard - Y'\ :sub:`10` 5955374d8fbSBenjamin Gaignard - Y'\ :sub:`11` 5965374d8fbSBenjamin Gaignard - Y'\ :sub:`12` 5975374d8fbSBenjamin Gaignard - Y'\ :sub:`13` 5985374d8fbSBenjamin Gaignard * - start + 16: 5995374d8fbSBenjamin Gaignard - Y'\ :sub:`20` 6005374d8fbSBenjamin Gaignard - Y'\ :sub:`21` 6015374d8fbSBenjamin Gaignard - Y'\ :sub:`22` 6025374d8fbSBenjamin Gaignard - Y'\ :sub:`23` 603*aa108040SMing Qian * - start + 24: 604*aa108040SMing Qian - Y'\ :sub:`30` 605*aa108040SMing Qian - Y'\ :sub:`31` 606*aa108040SMing Qian - Y'\ :sub:`32` 607*aa108040SMing Qian - Y'\ :sub:`33` 608*aa108040SMing Qian * - start + 32: 609*aa108040SMing Qian - Cb\ :sub:`00` 610*aa108040SMing Qian - Cr\ :sub:`00` 611*aa108040SMing Qian - Cb\ :sub:`01` 612*aa108040SMing Qian - Cr\ :sub:`01` 613*aa108040SMing Qian * - start + 40: 614*aa108040SMing Qian - Cb\ :sub:`10` 615*aa108040SMing Qian - Cr\ :sub:`10` 616*aa108040SMing Qian - Cb\ :sub:`11` 617*aa108040SMing Qian - Cr\ :sub:`11` 618*aa108040SMing Qian 619*aa108040SMing Qian.. _V4L2-PIX-FMT-P012: 620*aa108040SMing Qian.. _V4L2-PIX-FMT-P012M: 621*aa108040SMing Qian 622*aa108040SMing QianP012 and P012M 623*aa108040SMing Qian-------------- 624*aa108040SMing Qian 625*aa108040SMing QianP012 is like NV12 with 12 bits per component, expanded to 16 bits. 626*aa108040SMing QianData in the 12 high bits, zeros in the 4 low bits, arranged in little endian order. 627*aa108040SMing Qian 628*aa108040SMing Qian.. flat-table:: Sample 4x4 P012 Image 629*aa108040SMing Qian :header-rows: 0 630*aa108040SMing Qian :stub-columns: 0 631*aa108040SMing Qian 632*aa108040SMing Qian * - start + 0: 633*aa108040SMing Qian - Y'\ :sub:`00` 634*aa108040SMing Qian - Y'\ :sub:`01` 635*aa108040SMing Qian - Y'\ :sub:`02` 636*aa108040SMing Qian - Y'\ :sub:`03` 637*aa108040SMing Qian * - start + 8: 638*aa108040SMing Qian - Y'\ :sub:`10` 639*aa108040SMing Qian - Y'\ :sub:`11` 640*aa108040SMing Qian - Y'\ :sub:`12` 641*aa108040SMing Qian - Y'\ :sub:`13` 642*aa108040SMing Qian * - start + 16: 643*aa108040SMing Qian - Y'\ :sub:`20` 644*aa108040SMing Qian - Y'\ :sub:`21` 645*aa108040SMing Qian - Y'\ :sub:`22` 646*aa108040SMing Qian - Y'\ :sub:`23` 647*aa108040SMing Qian * - start + 24: 648*aa108040SMing Qian - Y'\ :sub:`30` 649*aa108040SMing Qian - Y'\ :sub:`31` 650*aa108040SMing Qian - Y'\ :sub:`32` 651*aa108040SMing Qian - Y'\ :sub:`33` 652*aa108040SMing Qian * - start + 32: 653*aa108040SMing Qian - Cb\ :sub:`00` 654*aa108040SMing Qian - Cr\ :sub:`00` 655*aa108040SMing Qian - Cb\ :sub:`01` 656*aa108040SMing Qian - Cr\ :sub:`01` 657*aa108040SMing Qian * - start + 40: 658*aa108040SMing Qian - Cb\ :sub:`10` 659*aa108040SMing Qian - Cr\ :sub:`10` 660*aa108040SMing Qian - Cb\ :sub:`11` 661*aa108040SMing Qian - Cr\ :sub:`11` 662*aa108040SMing Qian 663*aa108040SMing Qian.. flat-table:: Sample 4x4 P012M Image 664*aa108040SMing Qian :header-rows: 0 665*aa108040SMing Qian :stub-columns: 0 666*aa108040SMing Qian 667*aa108040SMing Qian * - start0 + 0: 668*aa108040SMing Qian - Y'\ :sub:`00` 669*aa108040SMing Qian - Y'\ :sub:`01` 670*aa108040SMing Qian - Y'\ :sub:`02` 671*aa108040SMing Qian - Y'\ :sub:`03` 672*aa108040SMing Qian * - start0 + 8: 673*aa108040SMing Qian - Y'\ :sub:`10` 674*aa108040SMing Qian - Y'\ :sub:`11` 675*aa108040SMing Qian - Y'\ :sub:`12` 676*aa108040SMing Qian - Y'\ :sub:`13` 677*aa108040SMing Qian * - start0 + 16: 678*aa108040SMing Qian - Y'\ :sub:`20` 679*aa108040SMing Qian - Y'\ :sub:`21` 680*aa108040SMing Qian - Y'\ :sub:`22` 681*aa108040SMing Qian - Y'\ :sub:`23` 682*aa108040SMing Qian * - start0 + 24: 6832b006e74SLaurent Pinchart - Y'\ :sub:`30` 6842b006e74SLaurent Pinchart - Y'\ :sub:`31` 6852b006e74SLaurent Pinchart - Y'\ :sub:`32` 6862b006e74SLaurent Pinchart - Y'\ :sub:`33` 6872b006e74SLaurent Pinchart * - 6882b006e74SLaurent Pinchart * - start1 + 0: 6892b006e74SLaurent Pinchart - Cb\ :sub:`00` 6902b006e74SLaurent Pinchart - Cr\ :sub:`00` 6912b006e74SLaurent Pinchart - Cb\ :sub:`01` 6922b006e74SLaurent Pinchart - Cr\ :sub:`01` 6932b006e74SLaurent Pinchart * - start1 + 8: 6942b006e74SLaurent Pinchart - Cb\ :sub:`10` 6952b006e74SLaurent Pinchart - Cr\ :sub:`10` 6962b006e74SLaurent Pinchart - Cb\ :sub:`11` 6972b006e74SLaurent Pinchart - Cr\ :sub:`11` 6982b006e74SLaurent Pinchart 6992b006e74SLaurent Pinchart 7002b006e74SLaurent PinchartFully Planar YUV Formats 7012b006e74SLaurent Pinchart======================== 7023c8e19d3SEzequiel Garcia 7033c8e19d3SEzequiel GarciaThese formats store the Y, Cb and Cr components in three separate planes. The 7043c8e19d3SEzequiel Garcialuma plane comes first, and the order of the two chroma planes varies between 7053c8e19d3SEzequiel Garciaformats. The two chroma planes always use the same subsampling. 7064a1873f5SMauro Carvalho Chehab 7074a1873f5SMauro Carvalho ChehabFor memory contiguous formats, the number of padding pixels at the end of the 7084a1873f5SMauro Carvalho Chehabchroma lines is identical to the padding of the luma lines. The chroma line 7094a1873f5SMauro Carvalho Chehabstride (in bytes) is thus equal to the luma line stride divided by the 7104a1873f5SMauro Carvalho Chehabhorizontal subsampling factor. Vertical subsampling doesn't affect the line 7114a1873f5SMauro Carvalho Chehabstride. 7122b006e74SLaurent Pinchart 7132b006e74SLaurent PinchartFor non-contiguous formats, no constraints are enforced by the format on the 7142b006e74SLaurent Pinchartrelationship between the luma and chroma line padding and stride. 7152b006e74SLaurent Pinchart 7162b006e74SLaurent PinchartAll components are stored with the same number of bits per component. 7172b006e74SLaurent Pinchart 7182b006e74SLaurent Pinchart``V4L2_PIX_FMT_P010_4L4`` stores pixels in 4x4 tiles, and stores tiles linearly 7192b006e74SLaurent Pinchartin memory. The line stride must be aligned to multiple of 8 and image height to 7202b006e74SLaurent Pincharta multiple of 4. The layouts of the luma and chroma planes are identical. 7212b006e74SLaurent Pinchart 7222b006e74SLaurent Pinchart.. raw:: latex 7232b006e74SLaurent Pinchart 7242b006e74SLaurent Pinchart \small 7252b006e74SLaurent Pinchart 7262b006e74SLaurent Pinchart.. tabularcolumns:: |p{5.0cm}|p{1.1cm}|p{1.5cm}|p{2.2cm}|p{1.2cm}|p{3.7cm}| 7272b006e74SLaurent Pinchart 7282b006e74SLaurent Pinchart.. flat-table:: Overview of Fully Planar YUV Formats 7292b006e74SLaurent Pinchart :header-rows: 1 7302b006e74SLaurent Pinchart :stub-columns: 0 7312b006e74SLaurent Pinchart 7322b006e74SLaurent Pinchart * - Identifier 7332b006e74SLaurent Pinchart - Code 7342b006e74SLaurent Pinchart - Bits per component 7352b006e74SLaurent Pinchart - Subsampling 7362b006e74SLaurent Pinchart - Planes order [4]_ 7372b006e74SLaurent Pinchart - Contiguous [5]_ 7382b006e74SLaurent Pinchart 7392b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV410 7402b006e74SLaurent Pinchart - 'YUV9' 7412b006e74SLaurent Pinchart - 8 7422b006e74SLaurent Pinchart - 4:1:0 7432b006e74SLaurent Pinchart - Y, Cb, Cr 7442b006e74SLaurent Pinchart - Yes 7452b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YVU410 7462b006e74SLaurent Pinchart - 'YVU9' 7472b006e74SLaurent Pinchart - 8 7482b006e74SLaurent Pinchart - 4:1:0 7492b006e74SLaurent Pinchart - Y, Cr, Cb 7502b006e74SLaurent Pinchart - Yes 7512b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV411P 7522b006e74SLaurent Pinchart - '411P' 7532b006e74SLaurent Pinchart - 8 7542b006e74SLaurent Pinchart - 4:1:1 7552b006e74SLaurent Pinchart - Y, Cb, Cr 7562b006e74SLaurent Pinchart - Yes 7572b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV420M 7582b006e74SLaurent Pinchart - 'YM12' 7592b006e74SLaurent Pinchart - 8 7602b006e74SLaurent Pinchart - 4:2:0 7612b006e74SLaurent Pinchart - Y, Cb, Cr 7622b006e74SLaurent Pinchart - No 7632b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YVU420M 7642b006e74SLaurent Pinchart - 'YM21' 7652b006e74SLaurent Pinchart - 8 7662b006e74SLaurent Pinchart - 4:2:0 7672b006e74SLaurent Pinchart - Y, Cr, Cb 7682b006e74SLaurent Pinchart - No 7692b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV420 7702b006e74SLaurent Pinchart - 'YU12' 7712b006e74SLaurent Pinchart - 8 7722b006e74SLaurent Pinchart - 4:2:0 7732b006e74SLaurent Pinchart - Y, Cb, Cr 7742b006e74SLaurent Pinchart - Yes 7752b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YVU420 7762b006e74SLaurent Pinchart - 'YV12' 7772b006e74SLaurent Pinchart - 8 7782b006e74SLaurent Pinchart - 4:2:0 7792b006e74SLaurent Pinchart - Y, Cr, Cb 7802b006e74SLaurent Pinchart - Yes 7812b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV422P 7822b006e74SLaurent Pinchart - '422P' 7832b006e74SLaurent Pinchart - 8 7842b006e74SLaurent Pinchart - 4:2:2 7852b006e74SLaurent Pinchart - Y, Cb, Cr 7862b006e74SLaurent Pinchart - Yes 7872b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV422M 7882b006e74SLaurent Pinchart - 'YM16' 7892b006e74SLaurent Pinchart - 8 7902b006e74SLaurent Pinchart - 4:2:2 7912b006e74SLaurent Pinchart - Y, Cb, Cr 7922b006e74SLaurent Pinchart - No 7932b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YVU422M 7942b006e74SLaurent Pinchart - 'YM61' 7952b006e74SLaurent Pinchart - 8 7964a1873f5SMauro Carvalho Chehab - 4:2:2 7974a1873f5SMauro Carvalho Chehab - Y, Cr, Cb 7984a1873f5SMauro Carvalho Chehab - No 7992b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YUV444M 8002b006e74SLaurent Pinchart - 'YM24' 8012b006e74SLaurent Pinchart - 8 8022b006e74SLaurent Pinchart - 4:4:4 8032b006e74SLaurent Pinchart - Y, Cb, Cr 8042b006e74SLaurent Pinchart - No 8052b006e74SLaurent Pinchart * - V4L2_PIX_FMT_YVU444M 8062b006e74SLaurent Pinchart - 'YM42' 8072b006e74SLaurent Pinchart - 8 8082b006e74SLaurent Pinchart - 4:4:4 8092b006e74SLaurent Pinchart - Y, Cr, Cb 8102b006e74SLaurent Pinchart - No 8112b006e74SLaurent Pinchart 8122b006e74SLaurent Pinchart.. raw:: latex 8132b006e74SLaurent Pinchart 8142b006e74SLaurent Pinchart \normalsize 8152b006e74SLaurent Pinchart 8162b006e74SLaurent Pinchart.. [4] Order of luma and chroma planes 8172b006e74SLaurent Pinchart.. [5] Indicates if planes have to be contiguous in memory or can be 8182b006e74SLaurent Pinchart disjoint 8192b006e74SLaurent Pinchart 8202b006e74SLaurent Pinchart 8212b006e74SLaurent Pinchart**Color Sample Location:** 8222b006e74SLaurent PinchartChroma samples are :ref:`interstitially sited<yuv-chroma-centered>` 8232b006e74SLaurent Pincharthorizontally. 8242b006e74SLaurent Pinchart 8252b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV410: 8262b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YVU410: 8272b006e74SLaurent Pinchart 8282b006e74SLaurent PinchartYUV410 and YVU410 8292b006e74SLaurent Pinchart----------------- 8302b006e74SLaurent Pinchart 8312b006e74SLaurent PinchartPlanar YUV 4:1:0 formats. The chroma planes are subsampled by 4 in each 8322b006e74SLaurent Pinchartdirection. Chroma lines contain a quarter of the number of pixels and bytes of 8332b006e74SLaurent Pinchartthe luma lines, and the chroma planes contain a quarter of the number of lines 8342b006e74SLaurent Pinchartof the luma plane. 8352b006e74SLaurent Pinchart 8362b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV410 Image 8372b006e74SLaurent Pinchart :header-rows: 0 8382b006e74SLaurent Pinchart :stub-columns: 0 8392b006e74SLaurent Pinchart 8402b006e74SLaurent Pinchart * - start + 0: 8412b006e74SLaurent Pinchart - Y'\ :sub:`00` 8422b006e74SLaurent Pinchart - Y'\ :sub:`01` 8432b006e74SLaurent Pinchart - Y'\ :sub:`02` 8442b006e74SLaurent Pinchart - Y'\ :sub:`03` 8452b006e74SLaurent Pinchart * - start + 4: 8462b006e74SLaurent Pinchart - Y'\ :sub:`10` 8472b006e74SLaurent Pinchart - Y'\ :sub:`11` 8482b006e74SLaurent Pinchart - Y'\ :sub:`12` 8492b006e74SLaurent Pinchart - Y'\ :sub:`13` 8502b006e74SLaurent Pinchart * - start + 8: 8512b006e74SLaurent Pinchart - Y'\ :sub:`20` 8522b006e74SLaurent Pinchart - Y'\ :sub:`21` 8532b006e74SLaurent Pinchart - Y'\ :sub:`22` 8542b006e74SLaurent Pinchart - Y'\ :sub:`23` 8552b006e74SLaurent Pinchart * - start + 12: 8562b006e74SLaurent Pinchart - Y'\ :sub:`30` 8572b006e74SLaurent Pinchart - Y'\ :sub:`31` 8582b006e74SLaurent Pinchart - Y'\ :sub:`32` 8592b006e74SLaurent Pinchart - Y'\ :sub:`33` 8602b006e74SLaurent Pinchart * - start + 16: 8612b006e74SLaurent Pinchart - Cr\ :sub:`00` 8622b006e74SLaurent Pinchart * - start + 17: 8632b006e74SLaurent Pinchart - Cb\ :sub:`00` 8642b006e74SLaurent Pinchart 8652b006e74SLaurent Pinchart 8662b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV411P: 8672b006e74SLaurent Pinchart 8682b006e74SLaurent PinchartYUV411P 8692b006e74SLaurent Pinchart------- 8702b006e74SLaurent Pinchart 8712b006e74SLaurent PinchartPlanar YUV 4:1:1 formats. The chroma planes are subsampled by 4 in the 8722b006e74SLaurent Pincharthorizontal direction. Chroma lines contain a quarter of the number of pixels 8732b006e74SLaurent Pinchartand bytes of the luma lines, and the chroma planes contain the same number of 8742b006e74SLaurent Pinchartlines as the luma plane. 8752b006e74SLaurent Pinchart 8762b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV411P Image 8772b006e74SLaurent Pinchart :header-rows: 0 8782b006e74SLaurent Pinchart :stub-columns: 0 8792b006e74SLaurent Pinchart 8802b006e74SLaurent Pinchart * - start + 0: 8812b006e74SLaurent Pinchart - Y'\ :sub:`00` 8822b006e74SLaurent Pinchart - Y'\ :sub:`01` 8832b006e74SLaurent Pinchart - Y'\ :sub:`02` 8842b006e74SLaurent Pinchart - Y'\ :sub:`03` 8852b006e74SLaurent Pinchart * - start + 4: 8862b006e74SLaurent Pinchart - Y'\ :sub:`10` 8872b006e74SLaurent Pinchart - Y'\ :sub:`11` 8882b006e74SLaurent Pinchart - Y'\ :sub:`12` 8892b006e74SLaurent Pinchart - Y'\ :sub:`13` 8902b006e74SLaurent Pinchart * - start + 8: 8912b006e74SLaurent Pinchart - Y'\ :sub:`20` 8922b006e74SLaurent Pinchart - Y'\ :sub:`21` 8932b006e74SLaurent Pinchart - Y'\ :sub:`22` 8942b006e74SLaurent Pinchart - Y'\ :sub:`23` 8952b006e74SLaurent Pinchart * - start + 12: 8962b006e74SLaurent Pinchart - Y'\ :sub:`30` 8972b006e74SLaurent Pinchart - Y'\ :sub:`31` 8982b006e74SLaurent Pinchart - Y'\ :sub:`32` 8992b006e74SLaurent Pinchart - Y'\ :sub:`33` 9002b006e74SLaurent Pinchart * - start + 16: 9012b006e74SLaurent Pinchart - Cb\ :sub:`00` 9022b006e74SLaurent Pinchart * - start + 17: 9032b006e74SLaurent Pinchart - Cb\ :sub:`10` 9042b006e74SLaurent Pinchart * - start + 18: 9052b006e74SLaurent Pinchart - Cb\ :sub:`20` 9062b006e74SLaurent Pinchart * - start + 19: 9072b006e74SLaurent Pinchart - Cb\ :sub:`30` 9082b006e74SLaurent Pinchart * - start + 20: 9092b006e74SLaurent Pinchart - Cr\ :sub:`00` 9102b006e74SLaurent Pinchart * - start + 21: 9112b006e74SLaurent Pinchart - Cr\ :sub:`10` 9122b006e74SLaurent Pinchart * - start + 22: 9132b006e74SLaurent Pinchart - Cr\ :sub:`20` 9142b006e74SLaurent Pinchart * - start + 23: 9152b006e74SLaurent Pinchart - Cr\ :sub:`30` 9162b006e74SLaurent Pinchart 9172b006e74SLaurent Pinchart 9182b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV420: 9192b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YVU420: 9202b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV420M: 9212b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YVU420M: 9222b006e74SLaurent Pinchart 9232b006e74SLaurent PinchartYUV420, YVU420, YUV420M and YVU420M 9242b006e74SLaurent Pinchart----------------------------------- 9252b006e74SLaurent Pinchart 9262b006e74SLaurent PinchartPlanar YUV 4:2:0 formats. The chroma planes are subsampled by 2 in each 9272b006e74SLaurent Pinchartdirection. Chroma lines contain half of the number of pixels and bytes of the 9282b006e74SLaurent Pinchartluma lines, and the chroma planes contain half of the number of lines of the 9292b006e74SLaurent Pinchartluma plane. 9302b006e74SLaurent Pinchart 9312b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV420 Image 9322b006e74SLaurent Pinchart :header-rows: 0 9332b006e74SLaurent Pinchart :stub-columns: 0 9342b006e74SLaurent Pinchart 9352b006e74SLaurent Pinchart * - start + 0: 9362b006e74SLaurent Pinchart - Y'\ :sub:`00` 9372b006e74SLaurent Pinchart - Y'\ :sub:`01` 9382b006e74SLaurent Pinchart - Y'\ :sub:`02` 9392b006e74SLaurent Pinchart - Y'\ :sub:`03` 9402b006e74SLaurent Pinchart * - start + 4: 9412b006e74SLaurent Pinchart - Y'\ :sub:`10` 9422b006e74SLaurent Pinchart - Y'\ :sub:`11` 9432b006e74SLaurent Pinchart - Y'\ :sub:`12` 9442b006e74SLaurent Pinchart - Y'\ :sub:`13` 9452b006e74SLaurent Pinchart * - start + 8: 9462b006e74SLaurent Pinchart - Y'\ :sub:`20` 9472b006e74SLaurent Pinchart - Y'\ :sub:`21` 9482b006e74SLaurent Pinchart - Y'\ :sub:`22` 9492b006e74SLaurent Pinchart - Y'\ :sub:`23` 9502b006e74SLaurent Pinchart * - start + 12: 9512b006e74SLaurent Pinchart - Y'\ :sub:`30` 9522b006e74SLaurent Pinchart - Y'\ :sub:`31` 9532b006e74SLaurent Pinchart - Y'\ :sub:`32` 9542b006e74SLaurent Pinchart - Y'\ :sub:`33` 9552b006e74SLaurent Pinchart * - start + 16: 9562b006e74SLaurent Pinchart - Cr\ :sub:`00` 9572b006e74SLaurent Pinchart - Cr\ :sub:`01` 9582b006e74SLaurent Pinchart * - start + 18: 9592b006e74SLaurent Pinchart - Cr\ :sub:`10` 9602b006e74SLaurent Pinchart - Cr\ :sub:`11` 9612b006e74SLaurent Pinchart * - start + 20: 9622b006e74SLaurent Pinchart - Cb\ :sub:`00` 9632b006e74SLaurent Pinchart - Cb\ :sub:`01` 9642b006e74SLaurent Pinchart * - start + 22: 9652b006e74SLaurent Pinchart - Cb\ :sub:`10` 9662b006e74SLaurent Pinchart - Cb\ :sub:`11` 9672b006e74SLaurent Pinchart 9682b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV420M Image 9692b006e74SLaurent Pinchart :header-rows: 0 9702b006e74SLaurent Pinchart :stub-columns: 0 9712b006e74SLaurent Pinchart 9722b006e74SLaurent Pinchart * - start0 + 0: 9732b006e74SLaurent Pinchart - Y'\ :sub:`00` 9742b006e74SLaurent Pinchart - Y'\ :sub:`01` 9752b006e74SLaurent Pinchart - Y'\ :sub:`02` 9762b006e74SLaurent Pinchart - Y'\ :sub:`03` 9772b006e74SLaurent Pinchart * - start0 + 4: 9782b006e74SLaurent Pinchart - Y'\ :sub:`10` 9792b006e74SLaurent Pinchart - Y'\ :sub:`11` 9802b006e74SLaurent Pinchart - Y'\ :sub:`12` 9812b006e74SLaurent Pinchart - Y'\ :sub:`13` 9822b006e74SLaurent Pinchart * - start0 + 8: 9832b006e74SLaurent Pinchart - Y'\ :sub:`20` 9842b006e74SLaurent Pinchart - Y'\ :sub:`21` 9852b006e74SLaurent Pinchart - Y'\ :sub:`22` 9862b006e74SLaurent Pinchart - Y'\ :sub:`23` 9872b006e74SLaurent Pinchart * - start0 + 12: 9882b006e74SLaurent Pinchart - Y'\ :sub:`30` 9892b006e74SLaurent Pinchart - Y'\ :sub:`31` 9902b006e74SLaurent Pinchart - Y'\ :sub:`32` 9912b006e74SLaurent Pinchart - Y'\ :sub:`33` 9922b006e74SLaurent Pinchart * - 9932b006e74SLaurent Pinchart * - start1 + 0: 9942b006e74SLaurent Pinchart - Cb\ :sub:`00` 9952b006e74SLaurent Pinchart - Cb\ :sub:`01` 9962b006e74SLaurent Pinchart * - start1 + 2: 9972b006e74SLaurent Pinchart - Cb\ :sub:`10` 9982b006e74SLaurent Pinchart - Cb\ :sub:`11` 9992b006e74SLaurent Pinchart * - 10002b006e74SLaurent Pinchart * - start2 + 0: 10012b006e74SLaurent Pinchart - Cr\ :sub:`00` 10022b006e74SLaurent Pinchart - Cr\ :sub:`01` 10032b006e74SLaurent Pinchart * - start2 + 2: 10042b006e74SLaurent Pinchart - Cr\ :sub:`10` 10052b006e74SLaurent Pinchart - Cr\ :sub:`11` 10062b006e74SLaurent Pinchart 10072b006e74SLaurent Pinchart 10082b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV422P: 10092b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV422M: 10102b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YVU422M: 10112b006e74SLaurent Pinchart 10122b006e74SLaurent PinchartYUV422P, YUV422M and YVU422M 10132b006e74SLaurent Pinchart---------------------------- 10142b006e74SLaurent Pinchart 10152b006e74SLaurent PinchartPlanar YUV 4:2:2 formats. The chroma planes are subsampled by 2 in the 10162b006e74SLaurent Pincharthorizontal direction. Chroma lines contain half of the number of pixels and 10172b006e74SLaurent Pinchartbytes of the luma lines, and the chroma planes contain the same number of lines 10182b006e74SLaurent Pinchartas the luma plane. 10192b006e74SLaurent Pinchart 10202b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV422P Image 10212b006e74SLaurent Pinchart :header-rows: 0 10222b006e74SLaurent Pinchart :stub-columns: 0 10232b006e74SLaurent Pinchart 10242b006e74SLaurent Pinchart * - start + 0: 10252b006e74SLaurent Pinchart - Y'\ :sub:`00` 10262b006e74SLaurent Pinchart - Y'\ :sub:`01` 10272b006e74SLaurent Pinchart - Y'\ :sub:`02` 10282b006e74SLaurent Pinchart - Y'\ :sub:`03` 10292b006e74SLaurent Pinchart * - start + 4: 10302b006e74SLaurent Pinchart - Y'\ :sub:`10` 10312b006e74SLaurent Pinchart - Y'\ :sub:`11` 10322b006e74SLaurent Pinchart - Y'\ :sub:`12` 10332b006e74SLaurent Pinchart - Y'\ :sub:`13` 10342b006e74SLaurent Pinchart * - start + 8: 10352b006e74SLaurent Pinchart - Y'\ :sub:`20` 10362b006e74SLaurent Pinchart - Y'\ :sub:`21` 10372b006e74SLaurent Pinchart - Y'\ :sub:`22` 10382b006e74SLaurent Pinchart - Y'\ :sub:`23` 10392b006e74SLaurent Pinchart * - start + 12: 10402b006e74SLaurent Pinchart - Y'\ :sub:`30` 10412b006e74SLaurent Pinchart - Y'\ :sub:`31` 10422b006e74SLaurent Pinchart - Y'\ :sub:`32` 10432b006e74SLaurent Pinchart - Y'\ :sub:`33` 10442b006e74SLaurent Pinchart * - start + 16: 10452b006e74SLaurent Pinchart - Cb\ :sub:`00` 10462b006e74SLaurent Pinchart - Cb\ :sub:`01` 10472b006e74SLaurent Pinchart * - start + 18: 10482b006e74SLaurent Pinchart - Cb\ :sub:`10` 10492b006e74SLaurent Pinchart - Cb\ :sub:`11` 10502b006e74SLaurent Pinchart * - start + 20: 10512b006e74SLaurent Pinchart - Cb\ :sub:`20` 10522b006e74SLaurent Pinchart - Cb\ :sub:`21` 10532b006e74SLaurent Pinchart * - start + 22: 10542b006e74SLaurent Pinchart - Cb\ :sub:`30` 10552b006e74SLaurent Pinchart - Cb\ :sub:`31` 10562b006e74SLaurent Pinchart * - start + 24: 10572b006e74SLaurent Pinchart - Cr\ :sub:`00` 10582b006e74SLaurent Pinchart - Cr\ :sub:`01` 10592b006e74SLaurent Pinchart * - start + 26: 10602b006e74SLaurent Pinchart - Cr\ :sub:`10` 10612b006e74SLaurent Pinchart - Cr\ :sub:`11` 10622b006e74SLaurent Pinchart * - start + 28: 10632b006e74SLaurent Pinchart - Cr\ :sub:`20` 10642b006e74SLaurent Pinchart - Cr\ :sub:`21` 10652b006e74SLaurent Pinchart * - start + 30: 10662b006e74SLaurent Pinchart - Cr\ :sub:`30` 10672b006e74SLaurent Pinchart - Cr\ :sub:`31` 10682b006e74SLaurent Pinchart 10692b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV422M Image 10702b006e74SLaurent Pinchart :header-rows: 0 10712b006e74SLaurent Pinchart :stub-columns: 0 10722b006e74SLaurent Pinchart 10732b006e74SLaurent Pinchart * - start0 + 0: 10742b006e74SLaurent Pinchart - Y'\ :sub:`00` 10752b006e74SLaurent Pinchart - Y'\ :sub:`01` 10762b006e74SLaurent Pinchart - Y'\ :sub:`02` 10772b006e74SLaurent Pinchart - Y'\ :sub:`03` 10782b006e74SLaurent Pinchart * - start0 + 4: 10792b006e74SLaurent Pinchart - Y'\ :sub:`10` 10802b006e74SLaurent Pinchart - Y'\ :sub:`11` 10812b006e74SLaurent Pinchart - Y'\ :sub:`12` 10822b006e74SLaurent Pinchart - Y'\ :sub:`13` 10832b006e74SLaurent Pinchart * - start0 + 8: 10842b006e74SLaurent Pinchart - Y'\ :sub:`20` 10852b006e74SLaurent Pinchart - Y'\ :sub:`21` 10862b006e74SLaurent Pinchart - Y'\ :sub:`22` 10872b006e74SLaurent Pinchart - Y'\ :sub:`23` 10882b006e74SLaurent Pinchart * - start0 + 12: 10892b006e74SLaurent Pinchart - Y'\ :sub:`30` 10902b006e74SLaurent Pinchart - Y'\ :sub:`31` 10912b006e74SLaurent Pinchart - Y'\ :sub:`32` 10922b006e74SLaurent Pinchart - Y'\ :sub:`33` 10932b006e74SLaurent Pinchart * - 10942b006e74SLaurent Pinchart * - start1 + 0: 10952b006e74SLaurent Pinchart - Cb\ :sub:`00` 10962b006e74SLaurent Pinchart - Cb\ :sub:`01` 10972b006e74SLaurent Pinchart * - start1 + 2: 10982b006e74SLaurent Pinchart - Cb\ :sub:`10` 10992b006e74SLaurent Pinchart - Cb\ :sub:`11` 11002b006e74SLaurent Pinchart * - start1 + 4: 11012b006e74SLaurent Pinchart - Cb\ :sub:`20` 11022b006e74SLaurent Pinchart - Cb\ :sub:`21` 11032b006e74SLaurent Pinchart * - start1 + 6: 11042b006e74SLaurent Pinchart - Cb\ :sub:`30` 11052b006e74SLaurent Pinchart - Cb\ :sub:`31` 11062b006e74SLaurent Pinchart * - 11072b006e74SLaurent Pinchart * - start2 + 0: 11082b006e74SLaurent Pinchart - Cr\ :sub:`00` 11092b006e74SLaurent Pinchart - Cr\ :sub:`01` 11102b006e74SLaurent Pinchart * - start2 + 2: 11112b006e74SLaurent Pinchart - Cr\ :sub:`10` 11122b006e74SLaurent Pinchart - Cr\ :sub:`11` 11132b006e74SLaurent Pinchart * - start2 + 4: 11142b006e74SLaurent Pinchart - Cr\ :sub:`20` 11152b006e74SLaurent Pinchart - Cr\ :sub:`21` 11162b006e74SLaurent Pinchart * - start2 + 6: 11172b006e74SLaurent Pinchart - Cr\ :sub:`30` 11182b006e74SLaurent Pinchart - Cr\ :sub:`31` 11192b006e74SLaurent Pinchart 11202b006e74SLaurent Pinchart 11212b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YUV444M: 11222b006e74SLaurent Pinchart.. _V4L2-PIX-FMT-YVU444M: 11232b006e74SLaurent Pinchart 11242b006e74SLaurent PinchartYUV444M and YVU444M 11252b006e74SLaurent Pinchart------------------- 11262b006e74SLaurent Pinchart 11272b006e74SLaurent PinchartPlanar YUV 4:4:4 formats. The chroma planes are no subsampled. Chroma lines 11282b006e74SLaurent Pinchartcontain the same number of pixels and bytes of the luma lines, and the chroma 11292b006e74SLaurent Pinchartplanes contain the same number of lines as the luma plane. 11302b006e74SLaurent Pinchart 11312b006e74SLaurent Pinchart.. flat-table:: Sample 4x4 YUV444M Image 11322b006e74SLaurent Pinchart :header-rows: 0 11332b006e74SLaurent Pinchart :stub-columns: 0 11342b006e74SLaurent Pinchart 11352b006e74SLaurent Pinchart * - start0 + 0: 11362b006e74SLaurent Pinchart - Y'\ :sub:`00` 11372b006e74SLaurent Pinchart - Y'\ :sub:`01` 11382b006e74SLaurent Pinchart - Y'\ :sub:`02` 11392b006e74SLaurent Pinchart - Y'\ :sub:`03` 11402b006e74SLaurent Pinchart * - start0 + 4: 11412b006e74SLaurent Pinchart - Y'\ :sub:`10` 11422b006e74SLaurent Pinchart - Y'\ :sub:`11` 11432b006e74SLaurent Pinchart - Y'\ :sub:`12` 11442b006e74SLaurent Pinchart - Y'\ :sub:`13` 11452b006e74SLaurent Pinchart * - start0 + 8: 11462b006e74SLaurent Pinchart - Y'\ :sub:`20` 11472b006e74SLaurent Pinchart - Y'\ :sub:`21` 11482b006e74SLaurent Pinchart - Y'\ :sub:`22` 11492b006e74SLaurent Pinchart - Y'\ :sub:`23` 11502b006e74SLaurent Pinchart * - start0 + 12: 11512b006e74SLaurent Pinchart - Y'\ :sub:`30` 11522b006e74SLaurent Pinchart - Y'\ :sub:`31` 11532b006e74SLaurent Pinchart - Y'\ :sub:`32` 11542b006e74SLaurent Pinchart - Y'\ :sub:`33` 11552b006e74SLaurent Pinchart * - 11562b006e74SLaurent Pinchart * - start1 + 0: 11572b006e74SLaurent Pinchart - Cb\ :sub:`00` 11582b006e74SLaurent Pinchart - Cb\ :sub:`01` 11592b006e74SLaurent Pinchart - Cb\ :sub:`02` 11602b006e74SLaurent Pinchart - Cb\ :sub:`03` 11612b006e74SLaurent Pinchart * - start1 + 4: 11622b006e74SLaurent Pinchart - Cb\ :sub:`10` 11632b006e74SLaurent Pinchart - Cb\ :sub:`11` 11642b006e74SLaurent Pinchart - Cb\ :sub:`12` 11652b006e74SLaurent Pinchart - Cb\ :sub:`13` 11662b006e74SLaurent Pinchart * - start1 + 8: 11672b006e74SLaurent Pinchart - Cb\ :sub:`20` 11682b006e74SLaurent Pinchart - Cb\ :sub:`21` 11692b006e74SLaurent Pinchart - Cb\ :sub:`22` 11702b006e74SLaurent Pinchart - Cb\ :sub:`23` 11712b006e74SLaurent Pinchart * - start1 + 12: 11722b006e74SLaurent Pinchart - Cb\ :sub:`20` 11732b006e74SLaurent Pinchart - Cb\ :sub:`21` 11742b006e74SLaurent Pinchart - Cb\ :sub:`32` 11752b006e74SLaurent Pinchart - Cb\ :sub:`33` 11762b006e74SLaurent Pinchart * - 11772b006e74SLaurent Pinchart * - start2 + 0: 11782b006e74SLaurent Pinchart - Cr\ :sub:`00` 11792b006e74SLaurent Pinchart - Cr\ :sub:`01` 11802b006e74SLaurent Pinchart - Cr\ :sub:`02` 1181 - Cr\ :sub:`03` 1182 * - start2 + 4: 1183 - Cr\ :sub:`10` 1184 - Cr\ :sub:`11` 1185 - Cr\ :sub:`12` 1186 - Cr\ :sub:`13` 1187 * - start2 + 8: 1188 - Cr\ :sub:`20` 1189 - Cr\ :sub:`21` 1190 - Cr\ :sub:`22` 1191 - Cr\ :sub:`23` 1192 * - start2 + 12: 1193 - Cr\ :sub:`30` 1194 - Cr\ :sub:`31` 1195 - Cr\ :sub:`32` 1196 - Cr\ :sub:`33` 1197