18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci.. _V4L2-PIX-FMT-NV16M: 48c2ecf20Sopenharmony_ci.. _v4l2-pix-fmt-nv61m: 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ci******************************************************** 78c2ecf20Sopenharmony_ciV4L2_PIX_FMT_NV16M ('NM16'), V4L2_PIX_FMT_NV61M ('NM61') 88c2ecf20Sopenharmony_ci******************************************************** 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciV4L2_PIX_FMT_NV61M 118c2ecf20Sopenharmony_ciVariation of ``V4L2_PIX_FMT_NV16`` and ``V4L2_PIX_FMT_NV61`` with planes 128c2ecf20Sopenharmony_cinon contiguous in memory. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciDescription 168c2ecf20Sopenharmony_ci=========== 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciThis is a multi-planar, two-plane version of the YUV 4:2:2 format. The 198c2ecf20Sopenharmony_cithree components are separated into two sub-images or planes. 208c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_NV16M`` differs from ``V4L2_PIX_FMT_NV16`` in that the 218c2ecf20Sopenharmony_citwo planes are non-contiguous in memory, i.e. the chroma plane does not 228c2ecf20Sopenharmony_cinecessarily immediately follow the luma plane. The luminance data 238c2ecf20Sopenharmony_cioccupies the first plane. The Y plane has one byte per pixel. In the 248c2ecf20Sopenharmony_cisecond plane there is chrominance data with alternating chroma samples. 258c2ecf20Sopenharmony_ciThe CbCr plane is the same width and height, in bytes, as the Y plane. 268c2ecf20Sopenharmony_ciEach CbCr pair belongs to two pixels. For example, 278c2ecf20Sopenharmony_ciCb\ :sub:`0`/Cr\ :sub:`0` belongs to Y'\ :sub:`00`, Y'\ :sub:`01`. 288c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_NV61M`` is the same as ``V4L2_PIX_FMT_NV16M`` except the 298c2ecf20Sopenharmony_ciCb and Cr bytes are swapped, the CrCb plane starts with a Cr byte. 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci``V4L2_PIX_FMT_NV16M`` and ``V4L2_PIX_FMT_NV61M`` are intended to be 328c2ecf20Sopenharmony_ciused only in drivers and applications that support the multi-planar API, 338c2ecf20Sopenharmony_cidescribed in :ref:`planar-apis`. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci**Byte Order.** 368c2ecf20Sopenharmony_ciEach cell is one byte. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci.. flat-table:: 408c2ecf20Sopenharmony_ci :header-rows: 0 418c2ecf20Sopenharmony_ci :stub-columns: 0 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci * - start0 + 0: 448c2ecf20Sopenharmony_ci - Y'\ :sub:`00` 458c2ecf20Sopenharmony_ci - Y'\ :sub:`01` 468c2ecf20Sopenharmony_ci - Y'\ :sub:`02` 478c2ecf20Sopenharmony_ci - Y'\ :sub:`03` 488c2ecf20Sopenharmony_ci * - start0 + 4: 498c2ecf20Sopenharmony_ci - Y'\ :sub:`10` 508c2ecf20Sopenharmony_ci - Y'\ :sub:`11` 518c2ecf20Sopenharmony_ci - Y'\ :sub:`12` 528c2ecf20Sopenharmony_ci - Y'\ :sub:`13` 538c2ecf20Sopenharmony_ci * - start0 + 8: 548c2ecf20Sopenharmony_ci - Y'\ :sub:`20` 558c2ecf20Sopenharmony_ci - Y'\ :sub:`21` 568c2ecf20Sopenharmony_ci - Y'\ :sub:`22` 578c2ecf20Sopenharmony_ci - Y'\ :sub:`23` 588c2ecf20Sopenharmony_ci * - start0 + 12: 598c2ecf20Sopenharmony_ci - Y'\ :sub:`30` 608c2ecf20Sopenharmony_ci - Y'\ :sub:`31` 618c2ecf20Sopenharmony_ci - Y'\ :sub:`32` 628c2ecf20Sopenharmony_ci - Y'\ :sub:`33` 638c2ecf20Sopenharmony_ci * - 648c2ecf20Sopenharmony_ci * - start1 + 0: 658c2ecf20Sopenharmony_ci - Cb\ :sub:`00` 668c2ecf20Sopenharmony_ci - Cr\ :sub:`00` 678c2ecf20Sopenharmony_ci - Cb\ :sub:`02` 688c2ecf20Sopenharmony_ci - Cr\ :sub:`02` 698c2ecf20Sopenharmony_ci * - start1 + 4: 708c2ecf20Sopenharmony_ci - Cb\ :sub:`10` 718c2ecf20Sopenharmony_ci - Cr\ :sub:`10` 728c2ecf20Sopenharmony_ci - Cb\ :sub:`12` 738c2ecf20Sopenharmony_ci - Cr\ :sub:`12` 748c2ecf20Sopenharmony_ci * - start1 + 8: 758c2ecf20Sopenharmony_ci - Cb\ :sub:`20` 768c2ecf20Sopenharmony_ci - Cr\ :sub:`20` 778c2ecf20Sopenharmony_ci - Cb\ :sub:`22` 788c2ecf20Sopenharmony_ci - Cr\ :sub:`22` 798c2ecf20Sopenharmony_ci * - start1 + 12: 808c2ecf20Sopenharmony_ci - Cb\ :sub:`30` 818c2ecf20Sopenharmony_ci - Cr\ :sub:`30` 828c2ecf20Sopenharmony_ci - Cb\ :sub:`32` 838c2ecf20Sopenharmony_ci - Cr\ :sub:`32` 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci**Color Sample Location:** 878c2ecf20Sopenharmony_ci 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci.. flat-table:: 918c2ecf20Sopenharmony_ci :header-rows: 0 928c2ecf20Sopenharmony_ci :stub-columns: 0 938c2ecf20Sopenharmony_ci 948c2ecf20Sopenharmony_ci * - 958c2ecf20Sopenharmony_ci - 0 968c2ecf20Sopenharmony_ci - 978c2ecf20Sopenharmony_ci - 1 988c2ecf20Sopenharmony_ci - 2 998c2ecf20Sopenharmony_ci - 1008c2ecf20Sopenharmony_ci - 3 1018c2ecf20Sopenharmony_ci * - 0 1028c2ecf20Sopenharmony_ci - Y 1038c2ecf20Sopenharmony_ci - 1048c2ecf20Sopenharmony_ci - Y 1058c2ecf20Sopenharmony_ci - Y 1068c2ecf20Sopenharmony_ci - 1078c2ecf20Sopenharmony_ci - Y 1088c2ecf20Sopenharmony_ci * - 1098c2ecf20Sopenharmony_ci - 1108c2ecf20Sopenharmony_ci - C 1118c2ecf20Sopenharmony_ci - 1128c2ecf20Sopenharmony_ci - 1138c2ecf20Sopenharmony_ci - C 1148c2ecf20Sopenharmony_ci - 1158c2ecf20Sopenharmony_ci * - 1 1168c2ecf20Sopenharmony_ci - Y 1178c2ecf20Sopenharmony_ci - 1188c2ecf20Sopenharmony_ci - Y 1198c2ecf20Sopenharmony_ci - Y 1208c2ecf20Sopenharmony_ci - 1218c2ecf20Sopenharmony_ci - Y 1228c2ecf20Sopenharmony_ci * - 1238c2ecf20Sopenharmony_ci - 1248c2ecf20Sopenharmony_ci - C 1258c2ecf20Sopenharmony_ci - 1268c2ecf20Sopenharmony_ci - 1278c2ecf20Sopenharmony_ci - C 1288c2ecf20Sopenharmony_ci - 1298c2ecf20Sopenharmony_ci * - 1308c2ecf20Sopenharmony_ci * - 2 1318c2ecf20Sopenharmony_ci - Y 1328c2ecf20Sopenharmony_ci - 1338c2ecf20Sopenharmony_ci - Y 1348c2ecf20Sopenharmony_ci - Y 1358c2ecf20Sopenharmony_ci - 1368c2ecf20Sopenharmony_ci - Y 1378c2ecf20Sopenharmony_ci * - 1388c2ecf20Sopenharmony_ci - 1398c2ecf20Sopenharmony_ci - C 1408c2ecf20Sopenharmony_ci - 1418c2ecf20Sopenharmony_ci - 1428c2ecf20Sopenharmony_ci - C 1438c2ecf20Sopenharmony_ci - 1448c2ecf20Sopenharmony_ci * - 3 1458c2ecf20Sopenharmony_ci - Y 1468c2ecf20Sopenharmony_ci - 1478c2ecf20Sopenharmony_ci - Y 1488c2ecf20Sopenharmony_ci - Y 1498c2ecf20Sopenharmony_ci - 1508c2ecf20Sopenharmony_ci - Y 1518c2ecf20Sopenharmony_ci * - 1528c2ecf20Sopenharmony_ci - 1538c2ecf20Sopenharmony_ci - C 1548c2ecf20Sopenharmony_ci - 1558c2ecf20Sopenharmony_ci - 1568c2ecf20Sopenharmony_ci - C 1578c2ecf20Sopenharmony_ci - 158