18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ci.. _V4L2-PIX-FMT-YUV444M:
48c2ecf20Sopenharmony_ci.. _v4l2-pix-fmt-yvu444m:
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci************************************************************
78c2ecf20Sopenharmony_ciV4L2_PIX_FMT_YUV444M ('YM24'), V4L2_PIX_FMT_YVU444M ('YM42')
88c2ecf20Sopenharmony_ci************************************************************
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciV4L2_PIX_FMT_YVU444M
128c2ecf20Sopenharmony_ciPlanar formats with full horizontal resolution, also known as YUV and
138c2ecf20Sopenharmony_ciYVU 4:4:4
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciDescription
178c2ecf20Sopenharmony_ci===========
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciThis is a multi-planar format, as opposed to a packed format. The three
208c2ecf20Sopenharmony_cicomponents are separated into three sub-images or planes.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciThe Y plane is first. The Y plane has one byte per pixel. For
238c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_YUV444M`` the Cb data constitutes the second plane which
248c2ecf20Sopenharmony_ciis the same width and height as the Y plane (and as the image). The Cr
258c2ecf20Sopenharmony_cidata, just like the Cb plane, is in the third plane.
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_YVU444M`` is the same except the Cr data is stored in the
288c2ecf20Sopenharmony_cisecond plane and the Cb data in the third plane.
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciIf the Y plane has pad bytes after each row, then the Cb and Cr planes
318c2ecf20Sopenharmony_cihave the same number of pad bytes after their rows.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_YUV444M`` and ``V4L2_PIX_FMT_YUV444M`` are intended to be
348c2ecf20Sopenharmony_ciused only in drivers and applications that support the multi-planar API,
358c2ecf20Sopenharmony_cidescribed in :ref:`planar-apis`.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci**Byte Order.**
388c2ecf20Sopenharmony_ciEach cell is one byte.
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci.. flat-table::
428c2ecf20Sopenharmony_ci    :header-rows:  0
438c2ecf20Sopenharmony_ci    :stub-columns: 0
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci    * - start0 + 0:
468c2ecf20Sopenharmony_ci      - Y'\ :sub:`00`
478c2ecf20Sopenharmony_ci      - Y'\ :sub:`01`
488c2ecf20Sopenharmony_ci      - Y'\ :sub:`02`
498c2ecf20Sopenharmony_ci      - Y'\ :sub:`03`
508c2ecf20Sopenharmony_ci    * - start0 + 4:
518c2ecf20Sopenharmony_ci      - Y'\ :sub:`10`
528c2ecf20Sopenharmony_ci      - Y'\ :sub:`11`
538c2ecf20Sopenharmony_ci      - Y'\ :sub:`12`
548c2ecf20Sopenharmony_ci      - Y'\ :sub:`13`
558c2ecf20Sopenharmony_ci    * - start0 + 8:
568c2ecf20Sopenharmony_ci      - Y'\ :sub:`20`
578c2ecf20Sopenharmony_ci      - Y'\ :sub:`21`
588c2ecf20Sopenharmony_ci      - Y'\ :sub:`22`
598c2ecf20Sopenharmony_ci      - Y'\ :sub:`23`
608c2ecf20Sopenharmony_ci    * - start0 + 12:
618c2ecf20Sopenharmony_ci      - Y'\ :sub:`30`
628c2ecf20Sopenharmony_ci      - Y'\ :sub:`31`
638c2ecf20Sopenharmony_ci      - Y'\ :sub:`32`
648c2ecf20Sopenharmony_ci      - Y'\ :sub:`33`
658c2ecf20Sopenharmony_ci    * -
668c2ecf20Sopenharmony_ci    * - start1 + 0:
678c2ecf20Sopenharmony_ci      - Cb\ :sub:`00`
688c2ecf20Sopenharmony_ci      - Cb\ :sub:`01`
698c2ecf20Sopenharmony_ci      - Cb\ :sub:`02`
708c2ecf20Sopenharmony_ci      - Cb\ :sub:`03`
718c2ecf20Sopenharmony_ci    * - start1 + 4:
728c2ecf20Sopenharmony_ci      - Cb\ :sub:`10`
738c2ecf20Sopenharmony_ci      - Cb\ :sub:`11`
748c2ecf20Sopenharmony_ci      - Cb\ :sub:`12`
758c2ecf20Sopenharmony_ci      - Cb\ :sub:`13`
768c2ecf20Sopenharmony_ci    * - start1 + 8:
778c2ecf20Sopenharmony_ci      - Cb\ :sub:`20`
788c2ecf20Sopenharmony_ci      - Cb\ :sub:`21`
798c2ecf20Sopenharmony_ci      - Cb\ :sub:`22`
808c2ecf20Sopenharmony_ci      - Cb\ :sub:`23`
818c2ecf20Sopenharmony_ci    * - start1 + 12:
828c2ecf20Sopenharmony_ci      - Cb\ :sub:`20`
838c2ecf20Sopenharmony_ci      - Cb\ :sub:`21`
848c2ecf20Sopenharmony_ci      - Cb\ :sub:`32`
858c2ecf20Sopenharmony_ci      - Cb\ :sub:`33`
868c2ecf20Sopenharmony_ci    * -
878c2ecf20Sopenharmony_ci    * - start2 + 0:
888c2ecf20Sopenharmony_ci      - Cr\ :sub:`00`
898c2ecf20Sopenharmony_ci      - Cr\ :sub:`01`
908c2ecf20Sopenharmony_ci      - Cr\ :sub:`02`
918c2ecf20Sopenharmony_ci      - Cr\ :sub:`03`
928c2ecf20Sopenharmony_ci    * - start2 + 4:
938c2ecf20Sopenharmony_ci      - Cr\ :sub:`10`
948c2ecf20Sopenharmony_ci      - Cr\ :sub:`11`
958c2ecf20Sopenharmony_ci      - Cr\ :sub:`12`
968c2ecf20Sopenharmony_ci      - Cr\ :sub:`13`
978c2ecf20Sopenharmony_ci    * - start2 + 8:
988c2ecf20Sopenharmony_ci      - Cr\ :sub:`20`
998c2ecf20Sopenharmony_ci      - Cr\ :sub:`21`
1008c2ecf20Sopenharmony_ci      - Cr\ :sub:`22`
1018c2ecf20Sopenharmony_ci      - Cr\ :sub:`23`
1028c2ecf20Sopenharmony_ci    * - start2 + 12:
1038c2ecf20Sopenharmony_ci      - Cr\ :sub:`30`
1048c2ecf20Sopenharmony_ci      - Cr\ :sub:`31`
1058c2ecf20Sopenharmony_ci      - Cr\ :sub:`32`
1068c2ecf20Sopenharmony_ci      - Cr\ :sub:`33`
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci**Color Sample Location:**
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci
1138c2ecf20Sopenharmony_ci.. flat-table::
1148c2ecf20Sopenharmony_ci    :header-rows:  0
1158c2ecf20Sopenharmony_ci    :stub-columns: 0
1168c2ecf20Sopenharmony_ci
1178c2ecf20Sopenharmony_ci    * -
1188c2ecf20Sopenharmony_ci      - 0
1198c2ecf20Sopenharmony_ci      - 1
1208c2ecf20Sopenharmony_ci      - 2
1218c2ecf20Sopenharmony_ci      - 3
1228c2ecf20Sopenharmony_ci    * - 0
1238c2ecf20Sopenharmony_ci      - YC
1248c2ecf20Sopenharmony_ci      - YC
1258c2ecf20Sopenharmony_ci      - YC
1268c2ecf20Sopenharmony_ci      - YC
1278c2ecf20Sopenharmony_ci    * - 1
1288c2ecf20Sopenharmony_ci      - YC
1298c2ecf20Sopenharmony_ci      - YC
1308c2ecf20Sopenharmony_ci      - YC
1318c2ecf20Sopenharmony_ci      - YC
1328c2ecf20Sopenharmony_ci    * - 2
1338c2ecf20Sopenharmony_ci      - YC
1348c2ecf20Sopenharmony_ci      - YC
1358c2ecf20Sopenharmony_ci      - YC
1368c2ecf20Sopenharmony_ci      - YC
1378c2ecf20Sopenharmony_ci    * - 3
1388c2ecf20Sopenharmony_ci      - YC
1398c2ecf20Sopenharmony_ci      - YC
1408c2ecf20Sopenharmony_ci      - YC
1418c2ecf20Sopenharmony_ci      - YC
142