Lines Matching +full:no +full:- +full:ref +full:- +full:high +full:- +full:z

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
3 .. planar-yuv:
12 - Semi-planar formats use two planes. The first plane is the luma plane and
16 - Fully planar formats use three planes to store the Y, Cb and Cr components
26 and applications that support the multi-planar API, described in
27 :ref:`planar-apis`. Unless explicitly documented as supporting non-contiguous
31 Semi-Planar YUV Formats
46 For non-contiguous formats, no constraints are enforced by the format on the
57 .. flat-table:: Overview of Semi-Planar YUV Formats
58 :header-rows: 1
59 :stub-columns: 0
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
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
215 Chroma samples are :ref:`interstitially sited<yuv-chroma-centered>`
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:
226 ---------------------------
228 Semi-planar YUV 4:2:0 formats. The chroma plane is subsampled by 2 in each
233 .. flat-table:: Sample 4x4 NV12 Image
234 :header-rows: 0
235 :stub-columns: 0
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`
268 .. flat-table:: Sample 4x4 NV12M Image
269 :header-rows: 0
270 :stub-columns: 0
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`
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:
315 ----------
317 Semi-planar YUV 4:2:0 formats, using macroblock tiling. The chroma plane is
330 Z-order in memory, alternating Z and mirrored Z shapes horizontally.
332 integer number of Z shapes. The image height must be a multiple of 32 pixels.
339 .. kernel-figure:: nv12mt.svg
343 V4L2_PIX_FMT_NV12MT macroblock Z shape memory layout
347 .. kernel-figure:: nv12mt_example.svg
380 two non-contiguous planes.
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:
390 ----------
392 ``V4L2_PIX_FMT_NV15_4L4`` Semi-planar 10-bit YUV 4:2:0 formats, using 4x4 tiling.
394 As a side-effect, each group of 4 components are stored over 5 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
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)
423 .. kernel-figure:: mt2110t.svg
430 ``V4L2_PIX_FMT_MM21`` frame. A partition is a sub-tile of size 16 x 4. The
435 .. flat-table:: MT2110T LSB bits layout
436 :header-rows: 1
437 :stub-columns: 1
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`
469 .. flat-table:: MT2110R LSB bits layout
470 :header-rows: 2
471 :stub-columns: 1
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`
529 .. _V4L2-PIX-FMT-NV16:
530 .. _V4L2-PIX-FMT-NV61:
531 .. _V4L2-PIX-FMT-NV16M:
532 .. _V4L2-PIX-FMT-NV61M:
535 ---------------------------
537 Semi-planar YUV 4:2:2 formats. The chroma plane is subsampled by 2 in the
542 .. flat-table:: Sample 4x4 NV16 Image
543 :header-rows: 0
544 :stub-columns: 0
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`
587 .. flat-table:: Sample 4x4 NV16M Image
588 :header-rows: 0
589 :stub-columns: 0
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`
634 .. _V4L2-PIX-FMT-NV24:
635 .. _V4L2-PIX-FMT-NV42:
638 -------------
640 Semi-planar YUV 4:4:4 formats. The chroma plane is not subsampled.
645 .. flat-table:: Sample 4x4 NV24 Image
646 :header-rows: 0
647 :stub-columns: 0
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`
707 .. _V4L2-PIX-FMT-P010-4L4:
710 -------------------
713 Data in the 10 high bits, zeros in the 6 low bits, arranged in little endian order.
715 .. flat-table:: Sample 4x4 P010 Image
716 :header-rows: 0
717 :stub-columns: 0
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`
750 .. _V4L2-PIX-FMT-P012:
751 .. _V4L2-PIX-FMT-P012M:
754 --------------
757 Data in the 12 high bits, zeros in the 4 low bits, arranged in little endian order.
759 .. flat-table:: Sample 4x4 P012 Image
760 :header-rows: 0
761 :stub-columns: 0
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`
794 .. flat-table:: Sample 4x4 P012M Image
795 :header-rows: 0
796 :stub-columns: 0
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`
844 For non-contiguous formats, no constraints are enforced by the format on the
859 .. flat-table:: Overview of Fully Planar YUV Formats
860 :header-rows: 1
861 :stub-columns: 0
863 * - Identifier
864 - Code
865 - Bits per component
866 - Subsampling
867 - Planes order [4]_
868 - Contiguous [5]_
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
953 Chroma samples are :ref:`interstitially sited<yuv-chroma-centered>`
956 .. _V4L2-PIX-FMT-YUV410:
957 .. _V4L2-PIX-FMT-YVU410:
960 -----------------
967 .. flat-table:: Sample 4x4 YUV410 Image
968 :header-rows: 0
969 :stub-columns: 0
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`
997 .. _V4L2-PIX-FMT-YUV411P:
1000 -------
1007 .. flat-table:: Sample 4x4 YUV411P Image
1008 :header-rows: 0
1009 :stub-columns: 0
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`
1049 .. _V4L2-PIX-FMT-YUV420:
1050 .. _V4L2-PIX-FMT-YVU420:
1051 .. _V4L2-PIX-FMT-YUV420M:
1052 .. _V4L2-PIX-FMT-YVU420M:
1055 -----------------------------------
1062 .. flat-table:: Sample 4x4 YUV420 Image
1063 :header-rows: 0
1064 :stub-columns: 0
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`
1099 .. flat-table:: Sample 4x4 YUV420M Image
1100 :header-rows: 0
1101 :stub-columns: 0
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`
1139 .. _V4L2-PIX-FMT-YUV422P:
1140 .. _V4L2-PIX-FMT-YUV422M:
1141 .. _V4L2-PIX-FMT-YVU422M:
1144 ----------------------------
1151 .. flat-table:: Sample 4x4 YUV422P Image
1152 :header-rows: 0
1153 :stub-columns: 0
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`
1200 .. flat-table:: Sample 4x4 YUV422M Image
1201 :header-rows: 0
1202 :stub-columns: 0
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`
1252 .. _V4L2-PIX-FMT-YUV444M:
1253 .. _V4L2-PIX-FMT-YVU444M:
1256 -------------------
1258 Planar YUV 4:4:4 formats. The chroma planes are no subsampled. Chroma lines
1262 .. flat-table:: Sample 4x4 YUV444M Image
1263 :header-rows: 0
1264 :stub-columns: 0
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`