Lines Matching +full:sub +full:- +full:components
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
13 stores the Y components. The second plane is the chroma plane and stores the
14 Cb and Cr components interleaved.
16 - Fully planar formats use three planes to store the Y, Cb and Cr components
19 Within a plane, components are stored in pixel order, which may be linear or
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
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
46 For non-contiguous formats, no constraints are enforced by the format on the
49 All components are stored with the same number of bits per component.
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
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.
339 .. kernel-figure:: nv12mt.svg
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.
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
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 -------------------
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 --------------
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`
834 These formats store the Y, Cb and Cr components in three separate planes. The
844 For non-contiguous formats, no constraints are enforced by the format on the
847 All components are stored with the same number of bits per component.
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 -------------------
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`