~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 
  3 .. planar-yuv:
  4 
  5 ******************
  6 Planar YUV formats
  7 ******************
  8 
  9 Planar formats split luma and chroma data in separate memory regions. They
 10 exist in two variants:
 11 
 12 - Semi-planar formats use two planes. The first plane is the luma plane and
 13   stores the Y components. The second plane is the chroma plane and stores the
 14   Cb and Cr components interleaved.
 15 
 16 - Fully planar formats use three planes to store the Y, Cb and Cr components
 17   separately.
 18 
 19 Within a plane, components are stored in pixel order, which may be linear or
 20 tiled. Padding may be supported at the end of the lines, and the line stride of
 21 the chroma planes may be constrained by the line stride of the luma plane.
 22 
 23 Some planar formats allow planes to be placed in independent memory locations.
 24 They are identified by an 'M' suffix in their name (such as in
 25 ``V4L2_PIX_FMT_NV12M``). Those formats are intended to be used only in drivers
 26 and applications that support the multi-planar API, described in
 27 :ref:`planar-apis`. Unless explicitly documented as supporting non-contiguous
 28 planes, formats require the planes to follow each other immediately in memory.
 29 
 30 
 31 Semi-Planar YUV Formats
 32 =======================
 33 
 34 These formats are commonly referred to as NV formats (NV12, NV16, ...). They
 35 use two planes, and store the luma components in the first plane and the chroma
 36 components in the second plane. The Cb and Cr components are interleaved in the
 37 chroma plane, with Cb and Cr always stored in pairs. The chroma order is
 38 exposed as different formats.
 39 
 40 For memory contiguous formats, the number of padding pixels at the end of the
 41 chroma lines is identical to the padding of the luma lines. Without horizontal
 42 subsampling, the chroma line stride (in bytes) is thus equal to twice the luma
 43 line stride. With horizontal subsampling by 2, the chroma line stride is equal
 44 to the luma line stride. Vertical subsampling doesn't affect the line stride.
 45 
 46 For non-contiguous formats, no constraints are enforced by the format on the
 47 relationship between the luma and chroma line padding and stride.
 48 
 49 All components are stored with the same number of bits per component.
 50 
 51 .. raw:: latex
 52 
 53     \footnotesize
 54 
 55 .. tabularcolumns:: |p{5.2cm}|p{1.0cm}|p{1.5cm}|p{1.9cm}|p{1.2cm}|p{1.8cm}|p{2.7cm}|
 56 
 57 .. flat-table:: Overview of Semi-Planar YUV Formats
 58     :header-rows:  1
 59     :stub-columns: 0
 60 
 61     * - Identifier
 62       - Code
 63       - Bits per component
 64       - Subsampling
 65       - Chroma order [1]_
 66       - Contiguous [2]_
 67       - Tiling [3]_
 68     * - V4L2_PIX_FMT_NV12
 69       - 'NV12'
 70       - 8
 71       - 4:2:0
 72       - Cb, Cr
 73       - Yes
 74       - Linear
 75     * - V4L2_PIX_FMT_NV21
 76       - 'NV21'
 77       - 8
 78       - 4:2:0
 79       - Cr, Cb
 80       - Yes
 81       - Linear
 82     * - V4L2_PIX_FMT_NV12M
 83       - 'NM12'
 84       - 8
 85       - 4:2:0
 86       - Cb, Cr
 87       - No
 88       - Linear
 89     * - V4L2_PIX_FMT_NV21M
 90       - 'NM21'
 91       - 8
 92       - 4:2:0
 93       - Cr, Cb
 94       - No
 95       - Linear
 96     * - V4L2_PIX_FMT_NV12MT
 97       - 'TM12'
 98       - 8
 99       - 4:2:0
100       - Cb, Cr
101       - No
102       - 64x32 tiles
103 
104         Horizontal Z order
105     * - V4L2_PIX_FMT_NV12MT_16X16
106       - 'VM12'
107       - 8
108       - 4:2:2
109       - Cb, Cr
110       - No
111       - 16x16 tiles
112     * - V4L2_PIX_FMT_P010
113       - 'P010'
114       - 10
115       - 4:2:0
116       - Cb, Cr
117       - Yes
118       - Linear
119     * - V4L2_PIX_FMT_P010_4L4
120       - 'T010'
121       - 10
122       - 4:2:0
123       - Cb, Cr
124       - Yes
125       - 4x4 tiles
126     * - V4L2_PIX_FMT_P012
127       - 'P012'
128       - 12
129       - 4:2:0
130       - Cb, Cr
131       - Yes
132       - Linear
133     * - V4L2_PIX_FMT_P012M
134       - 'PM12'
135       - 12
136       - 4:2:0
137       - Cb, Cr
138       - No
139       - Linear
140     * - V4L2_PIX_FMT_NV15_4L4
141       - 'VT15'
142       - 15
143       - 4:2:0
144       - Cb, Cr
145       - Yes
146       - 4x4 tiles
147     * - V4L2_PIX_FMT_MT2110T
148       - 'MT2T'
149       - 15
150       - 4:2:0
151       - Cb, Cr
152       - No
153       - 16x32 / 16x16 tiles tiled low bits
154     * - V4L2_PIX_FMT_MT2110R
155       - 'MT2R'
156       - 15
157       - 4:2:0
158       - Cb, Cr
159       - No
160       - 16x32 / 16x16 tiles raster low bits
161     * - V4L2_PIX_FMT_NV16
162       - 'NV16'
163       - 8
164       - 4:2:2
165       - Cb, Cr
166       - Yes
167       - Linear
168     * - V4L2_PIX_FMT_NV61
169       - 'NV61'
170       - 8
171       - 4:2:2
172       - Cr, Cb
173       - Yes
174       - Linear
175     * - V4L2_PIX_FMT_NV16M
176       - 'NM16'
177       - 8
178       - 4:2:2
179       - Cb, Cr
180       - No
181       - Linear
182     * - V4L2_PIX_FMT_NV61M
183       - 'NM61'
184       - 8
185       - 4:2:2
186       - Cr, Cb
187       - No
188       - Linear
189     * - V4L2_PIX_FMT_NV24
190       - 'NV24'
191       - 8
192       - 4:4:4
193       - Cb, Cr
194       - Yes
195       - Linear
196     * - V4L2_PIX_FMT_NV42
197       - 'NV42'
198       - 8
199       - 4:4:4
200       - Cr, Cb
201       - Yes
202       - Linear
203 
204 .. raw:: latex
205 
206     \normalsize
207 
208 .. [1] Order of chroma samples in the second plane
209 .. [2] Indicates if planes have to be contiguous in memory or can be
210        disjoint
211 .. [3] Macroblock size in pixels
212 
213 
214 **Color Sample Location:**
215 Chroma samples are :ref:`interstitially sited<yuv-chroma-centered>`
216 horizontally.
217 
218 
219 .. _V4L2-PIX-FMT-NV12:
220 .. _V4L2-PIX-FMT-NV21:
221 .. _V4L2-PIX-FMT-NV12M:
222 .. _V4L2-PIX-FMT-NV21M:
223 .. _V4L2-PIX-FMT-P010:
224 
225 NV12, NV21, NV12M and NV21M
226 ---------------------------
227 
228 Semi-planar YUV 4:2:0 formats. The chroma plane is subsampled by 2 in each
229 direction. Chroma lines contain half the number of pixels and the same number
230 of bytes as luma lines, and the chroma plane contains half the number of lines
231 of the luma plane.
232 
233 .. flat-table:: Sample 4x4 NV12 Image
234     :header-rows:  0
235     :stub-columns: 0
236 
237     * - start + 0:
238       - Y'\ :sub:`00`
239       - Y'\ :sub:`01`
240       - Y'\ :sub:`02`
241       - Y'\ :sub:`03`
242     * - start + 4:
243       - Y'\ :sub:`10`
244       - Y'\ :sub:`11`
245       - Y'\ :sub:`12`
246       - Y'\ :sub:`13`
247     * - start + 8:
248       - Y'\ :sub:`20`
249       - Y'\ :sub:`21`
250       - Y'\ :sub:`22`
251       - Y'\ :sub:`23`
252     * - start + 12:
253       - Y'\ :sub:`30`
254       - Y'\ :sub:`31`
255       - Y'\ :sub:`32`
256       - Y'\ :sub:`33`
257     * - start + 16:
258       - Cb\ :sub:`00`
259       - Cr\ :sub:`00`
260       - Cb\ :sub:`01`
261       - Cr\ :sub:`01`
262     * - start + 20:
263       - Cb\ :sub:`10`
264       - Cr\ :sub:`10`
265       - Cb\ :sub:`11`
266       - Cr\ :sub:`11`
267 
268 .. flat-table:: Sample 4x4 NV12M Image
269     :header-rows:  0
270     :stub-columns: 0
271 
272     * - start0 + 0:
273       - Y'\ :sub:`00`
274       - Y'\ :sub:`01`
275       - Y'\ :sub:`02`
276       - Y'\ :sub:`03`
277     * - start0 + 4:
278       - Y'\ :sub:`10`
279       - Y'\ :sub:`11`
280       - Y'\ :sub:`12`
281       - Y'\ :sub:`13`
282     * - start0 + 8:
283       - Y'\ :sub:`20`
284       - Y'\ :sub:`21`
285       - Y'\ :sub:`22`
286       - Y'\ :sub:`23`
287     * - start0 + 12:
288       - Y'\ :sub:`30`
289       - Y'\ :sub:`31`
290       - Y'\ :sub:`32`
291       - Y'\ :sub:`33`
292     * -
293     * - start1 + 0:
294       - Cb\ :sub:`00`
295       - Cr\ :sub:`00`
296       - Cb\ :sub:`01`
297       - Cr\ :sub:`01`
298     * - start1 + 4:
299       - Cb\ :sub:`10`
300       - Cr\ :sub:`10`
301       - Cb\ :sub:`11`
302       - Cr\ :sub:`11`
303 
304 
305 .. _V4L2-PIX-FMT-NV12MT:
306 .. _V4L2-PIX-FMT-NV12MT-16X16:
307 .. _V4L2-PIX-FMT-NV12-4L4:
308 .. _V4L2-PIX-FMT-NV12-16L16:
309 .. _V4L2-PIX-FMT-NV12-32L32:
310 .. _V4L2-PIX-FMT-NV12M-8L128:
311 .. _V4L2-PIX-FMT-NV12-8L128:
312 .. _V4L2-PIX-FMT-MM21:
313 
314 Tiled NV12
315 ----------
316 
317 Semi-planar YUV 4:2:0 formats, using macroblock tiling. The chroma plane is
318 subsampled by 2 in each direction. Chroma lines contain half the number of
319 pixels and the same number of bytes as luma lines, and the chroma plane
320 contains half the number of lines of the luma plane. Each tile follows the
321 previous one linearly in memory (from left to right, top to bottom).
322 
323 ``V4L2_PIX_FMT_NV12MT_16X16`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores
324 pixels in 2D 16x16 tiles, and stores tiles linearly in memory.
325 The line stride and image height must be aligned to a multiple of 16.
326 The layouts of the luma and chroma planes are identical.
327 
328 ``V4L2_PIX_FMT_NV12MT`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores
329 pixels in 2D 64x32 tiles, and stores 2x2 groups of tiles in
330 Z-order in memory, alternating Z and mirrored Z shapes horizontally.
331 The line stride must be a multiple of 128 pixels to ensure an
332 integer number of Z shapes. The image height must be a multiple of 32 pixels.
333 If the vertical resolution is an odd number of tiles, the last row of
334 tiles is stored in linear order. The layouts of the luma and chroma
335 planes are identical.
336 
337 .. _nv12mt:
338 
339 .. kernel-figure:: nv12mt.svg
340     :alt:    nv12mt.svg
341     :align:  center
342 
343     V4L2_PIX_FMT_NV12MT macroblock Z shape memory layout
344 
345 .. _nv12mt_ex:
346 
347 .. kernel-figure:: nv12mt_example.svg
348     :alt:    nv12mt_example.svg
349     :align:  center
350 
351     Example V4L2_PIX_FMT_NV12MT memory layout of tiles
352 
353 ``V4L2_PIX_FMT_NV12_4L4`` stores pixels in 4x4 tiles, and stores
354 tiles linearly in memory. The line stride and image height must be
355 aligned to a multiple of 4. The layouts of the luma and chroma planes are
356 identical.
357 
358 ``V4L2_PIX_FMT_NV12_16L16`` stores pixels in 16x16 tiles, and stores
359 tiles linearly in memory. The line stride and image height must be
360 aligned to a multiple of 16. The layouts of the luma and chroma planes are
361 identical.
362 
363 ``V4L2_PIX_FMT_NV12_32L32`` stores pixels in 32x32 tiles, and stores
364 tiles linearly in memory. The line stride and image height must be
365 aligned to a multiple of 32. The layouts of the luma and chroma planes are
366 identical.
367 
368 ``V4L2_PIX_FMT_NV12M_8L128`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores
369 pixels in 2D 8x128 tiles, and stores tiles linearly in memory.
370 The image height must be aligned to a multiple of 128.
371 The layouts of the luma and chroma planes are identical.
372 
373 ``V4L2_PIX_FMT_NV12_8L128`` is similar to ``V4L2_PIX_FMT_NV12M_8L128`` but stores
374 two planes in one memory.
375 
376 ``V4L2_PIX_FMT_MM21`` store luma pixel in 16x32 tiles, and chroma pixels
377 in 16x16 tiles. The line stride must be aligned to a multiple of 16 and the
378 image height must be aligned to a multiple of 32. The number of luma and chroma
379 tiles are identical, even though the tile size differ. The image is formed of
380 two non-contiguous planes.
381 
382 
383 .. _V4L2-PIX-FMT-NV15-4L4:
384 .. _V4L2-PIX-FMT-NV12M-10BE-8L128:
385 .. _V4L2-PIX-FMT-NV12-10BE-8L128:
386 .. _V4L2-PIX-FMT-MT2110T:
387 .. _V4L2-PIX-FMT-MT2110R:
388 
389 Tiled NV15
390 ----------
391 
392 ``V4L2_PIX_FMT_NV15_4L4`` Semi-planar 10-bit YUV 4:2:0 formats, using 4x4 tiling.
393 All components are packed without any padding between each other.
394 As a side-effect, each group of 4 components are stored over 5 bytes
395 (YYYY or UVUV = 4 * 10 bits = 40 bits = 5 bytes).
396 
397 ``V4L2_PIX_FMT_NV12M_10BE_8L128`` is similar to ``V4L2_PIX_FMT_NV12M`` but stores
398 10 bits pixels in 2D 8x128 tiles, and stores tiles linearly in memory.
399 the data is arranged in big endian order.
400 The image height must be aligned to a multiple of 128.
401 The layouts of the luma and chroma planes are identical.
402 Note the tile size is 8bytes multiplied by 128 bytes,
403 it means that the low bits and high bits of one pixel may be in different tiles.
404 The 10 bit pixels are packed, so 5 bytes contain 4 10-bit pixels layout like
405 this (for luma):
406 byte 0: Y0(bits 9-2)
407 byte 1: Y0(bits 1-0) Y1(bits 9-4)
408 byte 2: Y1(bits 3-0) Y2(bits 9-6)
409 byte 3: Y2(bits 5-0) Y3(bits 9-8)
410 byte 4: Y3(bits 7-0)
411 
412 ``V4L2_PIX_FMT_NV12_10BE_8L128`` is similar to ``V4L2_PIX_FMT_NV12M_10BE_8L128`` but stores
413 two planes in one memory.
414 
415 ``V4L2_PIX_FMT_MT2110T`` is one of Mediatek packed 10bit YUV 4:2:0 formats.
416 It is fully packed 10bit 4:2:0 format like NV15 (15 bits per pixel), except
417 that the lower two bits data is stored in separate partitions. The format is
418 composed of 16x32 luma tiles, and 16x16 chroma tiles. Each tiles is 640 bytes
419 long, divided into 8 partitions of 80 bytes.  The first 16 bytes of the
420 partition represent the 2 least significant bits of pixel data. The remaining
421 64 bytes represent the 8 most significant bits of pixel data.
422 
423 .. kernel-figure:: mt2110t.svg
424     :alt:    mt2110t.svg
425     :align:  center
426 
427     Layout of MT2110T Chroma Tile
428 
429 Filtering out the upper part of each partitions results in a valid
430 ``V4L2_PIX_FMT_MM21`` frame. A partition is a sub-tile of size 16 x 4. The
431 lower two bits is said to be tiled since each bytes contains the lower two
432 bits of the column of for pixel matching the same index. The chroma tiles
433 only have 4 partitions.
434 
435 .. flat-table:: MT2110T LSB bits layout
436     :header-rows:  1
437     :stub-columns: 1
438 
439     * -
440       - start + 0:
441       - start + 1:
442       - . . .
443       - start\ +\ 15:
444     * - Bits 1:0
445       - Y'\ :sub:`0:0`
446       - Y'\ :sub:`0:1`
447       - . . .
448       - Y'\ :sub:`0:15`
449     * - Bit 3:2
450       - Y'\ :sub:`1:0`
451       - Y'\ :sub:`1:1`
452       - . . .
453       - Y'\ :sub:`1:15`
454     * - Bits 5:4
455       - Y'\ :sub:`2:0`
456       - Y'\ :sub:`2:1`
457       - . . .
458       - Y'\ :sub:`2:15`
459     * - Bits 7:6
460       - Y'\ :sub:`3:0`
461       - Y'\ :sub:`3:1`
462       - . . .
463       - Y'\ :sub:`3:15`
464 
465 ``V4L2_PIX_FMT_MT2110R`` is identical to ``V4L2_PIX_FMT_MT2110T`` except that
466 the least significant two bits layout is in raster order. This means the first byte
467 contains 4 pixels of the first row, with 4 bytes per line.
468 
469 .. flat-table:: MT2110R LSB bits layout
470     :header-rows:  2
471     :stub-columns: 1
472 
473     * -
474       - :cspan:`3` Byte 0
475       - ...
476       - :cspan:`3` Byte 3
477     * -
478       - 7:6
479       - 5:4
480       - 3:2
481       - 1:0
482       - ...
483       - 7:6
484       - 5:4
485       - 3:2
486       - 1:0
487     * - start + 0:
488       - Y'\ :sub:`0:3`
489       - Y'\ :sub:`0:2`
490       - Y'\ :sub:`0:1`
491       - Y'\ :sub:`0:0`
492       - ...
493       - Y'\ :sub:`0:15`
494       - Y'\ :sub:`0:14`
495       - Y'\ :sub:`0:13`
496       - Y'\ :sub:`0:12`
497     * - start + 4:
498       - Y'\ :sub:`1:3`
499       - Y'\ :sub:`1:2`
500       - Y'\ :sub:`1:1`
501       - Y'\ :sub:`1:0`
502       - ...
503       - Y'\ :sub:`1:15`
504       - Y'\ :sub:`1:14`
505       - Y'\ :sub:`1:13`
506       - Y'\ :sub:`1:12`
507     * - start + 8:
508       - Y'\ :sub:`2:3`
509       - Y'\ :sub:`2:2`
510       - Y'\ :sub:`2:1`
511       - Y'\ :sub:`2:0`
512       - ...
513       - Y'\ :sub:`2:15`
514       - Y'\ :sub:`2:14`
515       - Y'\ :sub:`2:13`
516       - Y'\ :sub:`2:12`
517     * - start\ +\ 12:
518       - Y'\ :sub:`3:3`
519       - Y'\ :sub:`3:2`
520       - Y'\ :sub:`3:1`
521       - Y'\ :sub:`3:0`
522       - ...
523       - Y'\ :sub:`3:15`
524       - Y'\ :sub:`3:14`
525       - Y'\ :sub:`3:13`
526       - Y'\ :sub:`3:12`
527 
528 
529 .. _V4L2-PIX-FMT-NV16:
530 .. _V4L2-PIX-FMT-NV61:
531 .. _V4L2-PIX-FMT-NV16M:
532 .. _V4L2-PIX-FMT-NV61M:
533 
534 NV16, NV61, NV16M and NV61M
535 ---------------------------
536 
537 Semi-planar YUV 4:2:2 formats. The chroma plane is subsampled by 2 in the
538 horizontal direction. Chroma lines contain half the number of pixels and the
539 same number of bytes as luma lines, and the chroma plane contains the same
540 number of lines as the luma plane.
541 
542 .. flat-table:: Sample 4x4 NV16 Image
543     :header-rows:  0
544     :stub-columns: 0
545 
546     * - start + 0:
547       - Y'\ :sub:`00`
548       - Y'\ :sub:`01`
549       - Y'\ :sub:`02`
550       - Y'\ :sub:`03`
551     * - start + 4:
552       - Y'\ :sub:`10`
553       - Y'\ :sub:`11`
554       - Y'\ :sub:`12`
555       - Y'\ :sub:`13`
556     * - start + 8:
557       - Y'\ :sub:`20`
558       - Y'\ :sub:`21`
559       - Y'\ :sub:`22`
560       - Y'\ :sub:`23`
561     * - start + 12:
562       - Y'\ :sub:`30`
563       - Y'\ :sub:`31`
564       - Y'\ :sub:`32`
565       - Y'\ :sub:`33`
566     * - start + 16:
567       - Cb\ :sub:`00`
568       - Cr\ :sub:`00`
569       - Cb\ :sub:`01`
570       - Cr\ :sub:`01`
571     * - start + 20:
572       - Cb\ :sub:`10`
573       - Cr\ :sub:`10`
574       - Cb\ :sub:`11`
575       - Cr\ :sub:`11`
576     * - start + 24:
577       - Cb\ :sub:`20`
578       - Cr\ :sub:`20`
579       - Cb\ :sub:`21`
580       - Cr\ :sub:`21`
581     * - start + 28:
582       - Cb\ :sub:`30`
583       - Cr\ :sub:`30`
584       - Cb\ :sub:`31`
585       - Cr\ :sub:`31`
586 
587 .. flat-table:: Sample 4x4 NV16M Image
588     :header-rows:  0
589     :stub-columns: 0
590 
591     * - start0 + 0:
592       - Y'\ :sub:`00`
593       - Y'\ :sub:`01`
594       - Y'\ :sub:`02`
595       - Y'\ :sub:`03`
596     * - start0 + 4:
597       - Y'\ :sub:`10`
598       - Y'\ :sub:`11`
599       - Y'\ :sub:`12`
600       - Y'\ :sub:`13`
601     * - start0 + 8:
602       - Y'\ :sub:`20`
603       - Y'\ :sub:`21`
604       - Y'\ :sub:`22`
605       - Y'\ :sub:`23`
606     * - start0 + 12:
607       - Y'\ :sub:`30`
608       - Y'\ :sub:`31`
609       - Y'\ :sub:`32`
610       - Y'\ :sub:`33`
611     * -
612     * - start1 + 0:
613       - Cb\ :sub:`00`
614       - Cr\ :sub:`00`
615       - Cb\ :sub:`02`
616       - Cr\ :sub:`02`
617     * - start1 + 4:
618       - Cb\ :sub:`10`
619       - Cr\ :sub:`10`
620       - Cb\ :sub:`12`
621       - Cr\ :sub:`12`
622     * - start1 + 8:
623       - Cb\ :sub:`20`
624       - Cr\ :sub:`20`
625       - Cb\ :sub:`22`
626       - Cr\ :sub:`22`
627     * - start1 + 12:
628       - Cb\ :sub:`30`
629       - Cr\ :sub:`30`
630       - Cb\ :sub:`32`
631       - Cr\ :sub:`32`
632 
633 
634 .. _V4L2-PIX-FMT-NV24:
635 .. _V4L2-PIX-FMT-NV42:
636 
637 NV24 and NV42
638 -------------
639 
640 Semi-planar YUV 4:4:4 formats. The chroma plane is not subsampled.
641 Chroma lines contain the same number of pixels and twice the
642 number of bytes as luma lines, and the chroma plane contains the same
643 number of lines as the luma plane.
644 
645 .. flat-table:: Sample 4x4 NV24 Image
646     :header-rows:  0
647     :stub-columns: 0
648 
649     * - start + 0:
650       - Y'\ :sub:`00`
651       - Y'\ :sub:`01`
652       - Y'\ :sub:`02`
653       - Y'\ :sub:`03`
654     * - start + 4:
655       - Y'\ :sub:`10`
656       - Y'\ :sub:`11`
657       - Y'\ :sub:`12`
658       - Y'\ :sub:`13`
659     * - start + 8:
660       - Y'\ :sub:`20`
661       - Y'\ :sub:`21`
662       - Y'\ :sub:`22`
663       - Y'\ :sub:`23`
664     * - start + 12:
665       - Y'\ :sub:`30`
666       - Y'\ :sub:`31`
667       - Y'\ :sub:`32`
668       - Y'\ :sub:`33`
669     * - start + 16:
670       - Cb\ :sub:`00`
671       - Cr\ :sub:`00`
672       - Cb\ :sub:`01`
673       - Cr\ :sub:`01`
674       - Cb\ :sub:`02`
675       - Cr\ :sub:`02`
676       - Cb\ :sub:`03`
677       - Cr\ :sub:`03`
678     * - start + 24:
679       - Cb\ :sub:`10`
680       - Cr\ :sub:`10`
681       - Cb\ :sub:`11`
682       - Cr\ :sub:`11`
683       - Cb\ :sub:`12`
684       - Cr\ :sub:`12`
685       - Cb\ :sub:`13`
686       - Cr\ :sub:`13`
687     * - start + 32:
688       - Cb\ :sub:`20`
689       - Cr\ :sub:`20`
690       - Cb\ :sub:`21`
691       - Cr\ :sub:`21`
692       - Cb\ :sub:`22`
693       - Cr\ :sub:`22`
694       - Cb\ :sub:`23`
695       - Cr\ :sub:`23`
696     * - start + 40:
697       - Cb\ :sub:`30`
698       - Cr\ :sub:`30`
699       - Cb\ :sub:`31`
700       - Cr\ :sub:`31`
701       - Cb\ :sub:`32`
702       - Cr\ :sub:`32`
703       - Cb\ :sub:`33`
704       - Cr\ :sub:`33`
705 
706 .. _V4L2_PIX_FMT_P010:
707 .. _V4L2-PIX-FMT-P010-4L4:
708 
709 P010 and tiled P010
710 -------------------
711 
712 P010 is like NV12 with 10 bits per component, expanded to 16 bits.
713 Data in the 10 high bits, zeros in the 6 low bits, arranged in little endian order.
714 
715 .. flat-table:: Sample 4x4 P010 Image
716     :header-rows:  0
717     :stub-columns: 0
718 
719     * - start + 0:
720       - Y'\ :sub:`00`
721       - Y'\ :sub:`01`
722       - Y'\ :sub:`02`
723       - Y'\ :sub:`03`
724     * - start + 8:
725       - Y'\ :sub:`10`
726       - Y'\ :sub:`11`
727       - Y'\ :sub:`12`
728       - Y'\ :sub:`13`
729     * - start + 16:
730       - Y'\ :sub:`20`
731       - Y'\ :sub:`21`
732       - Y'\ :sub:`22`
733       - Y'\ :sub:`23`
734     * - start + 24:
735       - Y'\ :sub:`30`
736       - Y'\ :sub:`31`
737       - Y'\ :sub:`32`
738       - Y'\ :sub:`33`
739     * - start + 32:
740       - Cb\ :sub:`00`
741       - Cr\ :sub:`00`
742       - Cb\ :sub:`01`
743       - Cr\ :sub:`01`
744     * - start + 40:
745       - Cb\ :sub:`10`
746       - Cr\ :sub:`10`
747       - Cb\ :sub:`11`
748       - Cr\ :sub:`11`
749 
750 .. _V4L2-PIX-FMT-P012:
751 .. _V4L2-PIX-FMT-P012M:
752 
753 P012 and P012M
754 --------------
755 
756 P012 is like NV12 with 12 bits per component, expanded to 16 bits.
757 Data in the 12 high bits, zeros in the 4 low bits, arranged in little endian order.
758 
759 .. flat-table:: Sample 4x4 P012 Image
760     :header-rows:  0
761     :stub-columns: 0
762 
763     * - start + 0:
764       - Y'\ :sub:`00`
765       - Y'\ :sub:`01`
766       - Y'\ :sub:`02`
767       - Y'\ :sub:`03`
768     * - start + 8:
769       - Y'\ :sub:`10`
770       - Y'\ :sub:`11`
771       - Y'\ :sub:`12`
772       - Y'\ :sub:`13`
773     * - start + 16:
774       - Y'\ :sub:`20`
775       - Y'\ :sub:`21`
776       - Y'\ :sub:`22`
777       - Y'\ :sub:`23`
778     * - start + 24:
779       - Y'\ :sub:`30`
780       - Y'\ :sub:`31`
781       - Y'\ :sub:`32`
782       - Y'\ :sub:`33`
783     * - start + 32:
784       - Cb\ :sub:`00`
785       - Cr\ :sub:`00`
786       - Cb\ :sub:`01`
787       - Cr\ :sub:`01`
788     * - start + 40:
789       - Cb\ :sub:`10`
790       - Cr\ :sub:`10`
791       - Cb\ :sub:`11`
792       - Cr\ :sub:`11`
793 
794 .. flat-table:: Sample 4x4 P012M Image
795     :header-rows:  0
796     :stub-columns: 0
797 
798     * - start0 + 0:
799       - Y'\ :sub:`00`
800       - Y'\ :sub:`01`
801       - Y'\ :sub:`02`
802       - Y'\ :sub:`03`
803     * - start0 + 8:
804       - Y'\ :sub:`10`
805       - Y'\ :sub:`11`
806       - Y'\ :sub:`12`
807       - Y'\ :sub:`13`
808     * - start0 + 16:
809       - Y'\ :sub:`20`
810       - Y'\ :sub:`21`
811       - Y'\ :sub:`22`
812       - Y'\ :sub:`23`
813     * - start0 + 24:
814       - Y'\ :sub:`30`
815       - Y'\ :sub:`31`
816       - Y'\ :sub:`32`
817       - Y'\ :sub:`33`
818     * -
819     * - start1 + 0:
820       - Cb\ :sub:`00`
821       - Cr\ :sub:`00`
822       - Cb\ :sub:`01`
823       - Cr\ :sub:`01`
824     * - start1 + 8:
825       - Cb\ :sub:`10`
826       - Cr\ :sub:`10`
827       - Cb\ :sub:`11`
828       - Cr\ :sub:`11`
829 
830 
831 Fully Planar YUV Formats
832 ========================
833 
834 These formats store the Y, Cb and Cr components in three separate planes. The
835 luma plane comes first, and the order of the two chroma planes varies between
836 formats. The two chroma planes always use the same subsampling.
837 
838 For memory contiguous formats, the number of padding pixels at the end of the
839 chroma lines is identical to the padding of the luma lines. The chroma line
840 stride (in bytes) is thus equal to the luma line stride divided by the
841 horizontal subsampling factor. Vertical subsampling doesn't affect the line
842 stride.
843 
844 For non-contiguous formats, no constraints are enforced by the format on the
845 relationship between the luma and chroma line padding and stride.
846 
847 All components are stored with the same number of bits per component.
848 
849 ``V4L2_PIX_FMT_P010_4L4`` stores pixels in 4x4 tiles, and stores tiles linearly
850 in memory. The line stride must be aligned to multiple of 8 and image height to
851 a multiple of 4. The layouts of the luma and chroma planes are identical.
852 
853 .. raw:: latex
854 
855     \small
856 
857 .. tabularcolumns:: |p{5.0cm}|p{1.1cm}|p{1.5cm}|p{2.2cm}|p{1.2cm}|p{3.7cm}|
858 
859 .. flat-table:: Overview of Fully Planar YUV Formats
860     :header-rows:  1
861     :stub-columns: 0
862 
863     * - Identifier
864       - Code
865       - Bits per component
866       - Subsampling
867       - Planes order [4]_
868       - Contiguous [5]_
869 
870     * - V4L2_PIX_FMT_YUV410
871       - 'YUV9'
872       - 8
873       - 4:1:0
874       - Y, Cb, Cr
875       - Yes
876     * - V4L2_PIX_FMT_YVU410
877       - 'YVU9'
878       - 8
879       - 4:1:0
880       - Y, Cr, Cb
881       - Yes
882     * - V4L2_PIX_FMT_YUV411P
883       - '411P'
884       - 8
885       - 4:1:1
886       - Y, Cb, Cr
887       - Yes
888     * - V4L2_PIX_FMT_YUV420M
889       - 'YM12'
890       - 8
891       - 4:2:0
892       - Y, Cb, Cr
893       - No
894     * - V4L2_PIX_FMT_YVU420M
895       - 'YM21'
896       - 8
897       - 4:2:0
898       - Y, Cr, Cb
899       - No
900     * - V4L2_PIX_FMT_YUV420
901       - 'YU12'
902       - 8
903       - 4:2:0
904       - Y, Cb, Cr
905       - Yes
906     * - V4L2_PIX_FMT_YVU420
907       - 'YV12'
908       - 8
909       - 4:2:0
910       - Y, Cr, Cb
911       - Yes
912     * - V4L2_PIX_FMT_YUV422P
913       - '422P'
914       - 8
915       - 4:2:2
916       - Y, Cb, Cr
917       - Yes
918     * - V4L2_PIX_FMT_YUV422M
919       - 'YM16'
920       - 8
921       - 4:2:2
922       - Y, Cb, Cr
923       - No
924     * - V4L2_PIX_FMT_YVU422M
925       - 'YM61'
926       - 8
927       - 4:2:2
928       - Y, Cr, Cb
929       - No
930     * - V4L2_PIX_FMT_YUV444M
931       - 'YM24'
932       - 8
933       - 4:4:4
934       - Y, Cb, Cr
935       - No
936     * - V4L2_PIX_FMT_YVU444M
937       - 'YM42'
938       - 8
939       - 4:4:4
940       - Y, Cr, Cb
941       - No
942 
943 .. raw:: latex
944 
945     \normalsize
946 
947 .. [4] Order of luma and chroma planes
948 .. [5] Indicates if planes have to be contiguous in memory or can be
949        disjoint
950 
951 
952 **Color Sample Location:**
953 Chroma samples are :ref:`interstitially sited<yuv-chroma-centered>`
954 horizontally.
955 
956 .. _V4L2-PIX-FMT-YUV410:
957 .. _V4L2-PIX-FMT-YVU410:
958 
959 YUV410 and YVU410
960 -----------------
961 
962 Planar YUV 4:1:0 formats. The chroma planes are subsampled by 4 in each
963 direction. Chroma lines contain a quarter of the number of pixels and bytes of
964 the luma lines, and the chroma planes contain a quarter of the number of lines
965 of the luma plane.
966 
967 .. flat-table:: Sample 4x4 YUV410 Image
968     :header-rows:  0
969     :stub-columns: 0
970 
971     * - start + 0:
972       - Y'\ :sub:`00`
973       - Y'\ :sub:`01`
974       - Y'\ :sub:`02`
975       - Y'\ :sub:`03`
976     * - start + 4:
977       - Y'\ :sub:`10`
978       - Y'\ :sub:`11`
979       - Y'\ :sub:`12`
980       - Y'\ :sub:`13`
981     * - start + 8:
982       - Y'\ :sub:`20`
983       - Y'\ :sub:`21`
984       - Y'\ :sub:`22`
985       - Y'\ :sub:`23`
986     * - start + 12:
987       - Y'\ :sub:`30`
988       - Y'\ :sub:`31`
989       - Y'\ :sub:`32`
990       - Y'\ :sub:`33`
991     * - start + 16:
992       - Cr\ :sub:`00`
993     * - start + 17:
994       - Cb\ :sub:`00`
995 
996 
997 .. _V4L2-PIX-FMT-YUV411P:
998 
999 YUV411P
1000 -------
1001 
1002 Planar YUV 4:1:1 formats. The chroma planes are subsampled by 4 in the
1003 horizontal direction. Chroma lines contain a quarter of the number of pixels
1004 and bytes of the luma lines, and the chroma planes contain the same number of
1005 lines as the luma plane.
1006 
1007 .. flat-table:: Sample 4x4 YUV411P Image
1008     :header-rows:  0
1009     :stub-columns: 0
1010 
1011     * - start + 0:
1012       - Y'\ :sub:`00`
1013       - Y'\ :sub:`01`
1014       - Y'\ :sub:`02`
1015       - Y'\ :sub:`03`
1016     * - start + 4:
1017       - Y'\ :sub:`10`
1018       - Y'\ :sub:`11`
1019       - Y'\ :sub:`12`
1020       - Y'\ :sub:`13`
1021     * - start + 8:
1022       - Y'\ :sub:`20`
1023       - Y'\ :sub:`21`
1024       - Y'\ :sub:`22`
1025       - Y'\ :sub:`23`
1026     * - start + 12:
1027       - Y'\ :sub:`30`
1028       - Y'\ :sub:`31`
1029       - Y'\ :sub:`32`
1030       - Y'\ :sub:`33`
1031     * - start + 16:
1032       - Cb\ :sub:`00`
1033     * - start + 17:
1034       - Cb\ :sub:`10`
1035     * - start + 18:
1036       - Cb\ :sub:`20`
1037     * - start + 19:
1038       - Cb\ :sub:`30`
1039     * - start + 20:
1040       - Cr\ :sub:`00`
1041     * - start + 21:
1042       - Cr\ :sub:`10`
1043     * - start + 22:
1044       - Cr\ :sub:`20`
1045     * - start + 23:
1046       - Cr\ :sub:`30`
1047 
1048 
1049 .. _V4L2-PIX-FMT-YUV420:
1050 .. _V4L2-PIX-FMT-YVU420:
1051 .. _V4L2-PIX-FMT-YUV420M:
1052 .. _V4L2-PIX-FMT-YVU420M:
1053 
1054 YUV420, YVU420, YUV420M and YVU420M
1055 -----------------------------------
1056 
1057 Planar YUV 4:2:0 formats. The chroma planes are subsampled by 2 in each
1058 direction. Chroma lines contain half of the number of pixels and bytes of the
1059 luma lines, and the chroma planes contain half of the number of lines of the
1060 luma plane.
1061 
1062 .. flat-table:: Sample 4x4 YUV420 Image
1063     :header-rows:  0
1064     :stub-columns: 0
1065 
1066     * - start + 0:
1067       - Y'\ :sub:`00`
1068       - Y'\ :sub:`01`
1069       - Y'\ :sub:`02`
1070       - Y'\ :sub:`03`
1071     * - start + 4:
1072       - Y'\ :sub:`10`
1073       - Y'\ :sub:`11`
1074       - Y'\ :sub:`12`
1075       - Y'\ :sub:`13`
1076     * - start + 8:
1077       - Y'\ :sub:`20`
1078       - Y'\ :sub:`21`
1079       - Y'\ :sub:`22`
1080       - Y'\ :sub:`23`
1081     * - start + 12:
1082       - Y'\ :sub:`30`
1083       - Y'\ :sub:`31`
1084       - Y'\ :sub:`32`
1085       - Y'\ :sub:`33`
1086     * - start + 16:
1087       - Cr\ :sub:`00`
1088       - Cr\ :sub:`01`
1089     * - start + 18:
1090       - Cr\ :sub:`10`
1091       - Cr\ :sub:`11`
1092     * - start + 20:
1093       - Cb\ :sub:`00`
1094       - Cb\ :sub:`01`
1095     * - start + 22:
1096       - Cb\ :sub:`10`
1097       - Cb\ :sub:`11`
1098 
1099 .. flat-table:: Sample 4x4 YUV420M Image
1100     :header-rows:  0
1101     :stub-columns: 0
1102 
1103     * - start0 + 0:
1104       - Y'\ :sub:`00`
1105       - Y'\ :sub:`01`
1106       - Y'\ :sub:`02`
1107       - Y'\ :sub:`03`
1108     * - start0 + 4:
1109       - Y'\ :sub:`10`
1110       - Y'\ :sub:`11`
1111       - Y'\ :sub:`12`
1112       - Y'\ :sub:`13`
1113     * - start0 + 8:
1114       - Y'\ :sub:`20`
1115       - Y'\ :sub:`21`
1116       - Y'\ :sub:`22`
1117       - Y'\ :sub:`23`
1118     * - start0 + 12:
1119       - Y'\ :sub:`30`
1120       - Y'\ :sub:`31`
1121       - Y'\ :sub:`32`
1122       - Y'\ :sub:`33`
1123     * -
1124     * - start1 + 0:
1125       - Cb\ :sub:`00`
1126       - Cb\ :sub:`01`
1127     * - start1 + 2:
1128       - Cb\ :sub:`10`
1129       - Cb\ :sub:`11`
1130     * -
1131     * - start2 + 0:
1132       - Cr\ :sub:`00`
1133       - Cr\ :sub:`01`
1134     * - start2 + 2:
1135       - Cr\ :sub:`10`
1136       - Cr\ :sub:`11`
1137 
1138 
1139 .. _V4L2-PIX-FMT-YUV422P:
1140 .. _V4L2-PIX-FMT-YUV422M:
1141 .. _V4L2-PIX-FMT-YVU422M:
1142 
1143 YUV422P, YUV422M and YVU422M
1144 ----------------------------
1145 
1146 Planar YUV 4:2:2 formats. The chroma planes are subsampled by 2 in the
1147 horizontal direction. Chroma lines contain half of the number of pixels and
1148 bytes of the luma lines, and the chroma planes contain the same number of lines
1149 as the luma plane.
1150 
1151 .. flat-table:: Sample 4x4 YUV422P Image
1152     :header-rows:  0
1153     :stub-columns: 0
1154 
1155     * - start + 0:
1156       - Y'\ :sub:`00`
1157       - Y'\ :sub:`01`
1158       - Y'\ :sub:`02`
1159       - Y'\ :sub:`03`
1160     * - start + 4:
1161       - Y'\ :sub:`10`
1162       - Y'\ :sub:`11`
1163       - Y'\ :sub:`12`
1164       - Y'\ :sub:`13`
1165     * - start + 8:
1166       - Y'\ :sub:`20`
1167       - Y'\ :sub:`21`
1168       - Y'\ :sub:`22`
1169       - Y'\ :sub:`23`
1170     * - start + 12:
1171       - Y'\ :sub:`30`
1172       - Y'\ :sub:`31`
1173       - Y'\ :sub:`32`
1174       - Y'\ :sub:`33`
1175     * - start + 16:
1176       - Cb\ :sub:`00`
1177       - Cb\ :sub:`01`
1178     * - start + 18:
1179       - Cb\ :sub:`10`
1180       - Cb\ :sub:`11`
1181     * - start + 20:
1182       - Cb\ :sub:`20`
1183       - Cb\ :sub:`21`
1184     * - start + 22:
1185       - Cb\ :sub:`30`
1186       - Cb\ :sub:`31`
1187     * - start + 24:
1188       - Cr\ :sub:`00`
1189       - Cr\ :sub:`01`
1190     * - start + 26:
1191       - Cr\ :sub:`10`
1192       - Cr\ :sub:`11`
1193     * - start + 28:
1194       - Cr\ :sub:`20`
1195       - Cr\ :sub:`21`
1196     * - start + 30:
1197       - Cr\ :sub:`30`
1198       - Cr\ :sub:`31`
1199 
1200 .. flat-table:: Sample 4x4 YUV422M Image
1201     :header-rows:  0
1202     :stub-columns: 0
1203 
1204     * - start0 + 0:
1205       - Y'\ :sub:`00`
1206       - Y'\ :sub:`01`
1207       - Y'\ :sub:`02`
1208       - Y'\ :sub:`03`
1209     * - start0 + 4:
1210       - Y'\ :sub:`10`
1211       - Y'\ :sub:`11`
1212       - Y'\ :sub:`12`
1213       - Y'\ :sub:`13`
1214     * - start0 + 8:
1215       - Y'\ :sub:`20`
1216       - Y'\ :sub:`21`
1217       - Y'\ :sub:`22`
1218       - Y'\ :sub:`23`
1219     * - start0 + 12:
1220       - Y'\ :sub:`30`
1221       - Y'\ :sub:`31`
1222       - Y'\ :sub:`32`
1223       - Y'\ :sub:`33`
1224     * -
1225     * - start1 + 0:
1226       - Cb\ :sub:`00`
1227       - Cb\ :sub:`01`
1228     * - start1 + 2:
1229       - Cb\ :sub:`10`
1230       - Cb\ :sub:`11`
1231     * - start1 + 4:
1232       - Cb\ :sub:`20`
1233       - Cb\ :sub:`21`
1234     * - start1 + 6:
1235       - Cb\ :sub:`30`
1236       - Cb\ :sub:`31`
1237     * -
1238     * - start2 + 0:
1239       - Cr\ :sub:`00`
1240       - Cr\ :sub:`01`
1241     * - start2 + 2:
1242       - Cr\ :sub:`10`
1243       - Cr\ :sub:`11`
1244     * - start2 + 4:
1245       - Cr\ :sub:`20`
1246       - Cr\ :sub:`21`
1247     * - start2 + 6:
1248       - Cr\ :sub:`30`
1249       - Cr\ :sub:`31`
1250 
1251 
1252 .. _V4L2-PIX-FMT-YUV444M:
1253 .. _V4L2-PIX-FMT-YVU444M:
1254 
1255 YUV444M and YVU444M
1256 -------------------
1257 
1258 Planar YUV 4:4:4 formats. The chroma planes are no subsampled. Chroma lines
1259 contain the same number of pixels and bytes of the luma lines, and the chroma
1260 planes contain the same number of lines as the luma plane.
1261 
1262 .. flat-table:: Sample 4x4 YUV444M Image
1263     :header-rows:  0
1264     :stub-columns: 0
1265 
1266     * - start0 + 0:
1267       - Y'\ :sub:`00`
1268       - Y'\ :sub:`01`
1269       - Y'\ :sub:`02`
1270       - Y'\ :sub:`03`
1271     * - start0 + 4:
1272       - Y'\ :sub:`10`
1273       - Y'\ :sub:`11`
1274       - Y'\ :sub:`12`
1275       - Y'\ :sub:`13`
1276     * - start0 + 8:
1277       - Y'\ :sub:`20`
1278       - Y'\ :sub:`21`
1279       - Y'\ :sub:`22`
1280       - Y'\ :sub:`23`
1281     * - start0 + 12:
1282       - Y'\ :sub:`30`
1283       - Y'\ :sub:`31`
1284       - Y'\ :sub:`32`
1285       - Y'\ :sub:`33`
1286     * -
1287     * - start1 + 0:
1288       - Cb\ :sub:`00`
1289       - Cb\ :sub:`01`
1290       - Cb\ :sub:`02`
1291       - Cb\ :sub:`03`
1292     * - start1 + 4:
1293       - Cb\ :sub:`10`
1294       - Cb\ :sub:`11`
1295       - Cb\ :sub:`12`
1296       - Cb\ :sub:`13`
1297     * - start1 + 8:
1298       - Cb\ :sub:`20`
1299       - Cb\ :sub:`21`
1300       - Cb\ :sub:`22`
1301       - Cb\ :sub:`23`
1302     * - start1 + 12:
1303       - Cb\ :sub:`20`
1304       - Cb\ :sub:`21`
1305       - Cb\ :sub:`32`
1306       - Cb\ :sub:`33`
1307     * -
1308     * - start2 + 0:
1309       - Cr\ :sub:`00`
1310       - Cr\ :sub:`01`
1311       - Cr\ :sub:`02`
1312       - Cr\ :sub:`03`
1313     * - start2 + 4:
1314       - Cr\ :sub:`10`
1315       - Cr\ :sub:`11`
1316       - Cr\ :sub:`12`
1317       - Cr\ :sub:`13`
1318     * - start2 + 8:
1319       - Cr\ :sub:`20`
1320       - Cr\ :sub:`21`
1321       - Cr\ :sub:`22`
1322       - Cr\ :sub:`23`
1323     * - start2 + 12:
1324       - Cr\ :sub:`30`
1325       - Cr\ :sub:`31`
1326       - Cr\ :sub:`32`
1327       - Cr\ :sub:`33`

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php