162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci.. _V4L2-PIX-FMT-SRGGB12P: 462306a36Sopenharmony_ci.. _v4l2-pix-fmt-sbggr12p: 562306a36Sopenharmony_ci.. _v4l2-pix-fmt-sgbrg12p: 662306a36Sopenharmony_ci.. _v4l2-pix-fmt-sgrbg12p: 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci******************************************************************************************************************************* 962306a36Sopenharmony_ciV4L2_PIX_FMT_SRGGB12P ('pRCC'), V4L2_PIX_FMT_SGRBG12P ('pgCC'), V4L2_PIX_FMT_SGBRG12P ('pGCC'), V4L2_PIX_FMT_SBGGR12P ('pBCC'), 1062306a36Sopenharmony_ci******************************************************************************************************************************* 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci12-bit packed Bayer formats 1462306a36Sopenharmony_ci--------------------------- 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ciDescription 1862306a36Sopenharmony_ci=========== 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciThese four pixel formats are packed raw sRGB / Bayer formats with 12 2162306a36Sopenharmony_cibits per colour. Every two consecutive samples are packed into three 2262306a36Sopenharmony_cibytes. Each of the first two bytes contain the 8 high order bits of 2362306a36Sopenharmony_cithe pixels, and the third byte contains the four least significants 2462306a36Sopenharmony_cibits of each pixel, in the same order. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciEach n-pixel row contains n/2 green samples and n/2 blue or red 2762306a36Sopenharmony_cisamples, with alternating green-red and green-blue rows. They are 2862306a36Sopenharmony_ciconventionally described as GRGR... BGBG..., RGRG... GBGB..., etc. 2962306a36Sopenharmony_ciBelow is an example of a small V4L2_PIX_FMT_SBGGR12P image: 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci**Byte Order.** 3262306a36Sopenharmony_ciEach cell is one byte. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci.. tabularcolumns:: |p{2.2cm}|p{1.2cm}|p{1.2cm}|p{3.1cm}|p{1.2cm}|p{1.2cm}|p{6.4cm}| 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci.. flat-table:: 3862306a36Sopenharmony_ci :header-rows: 0 3962306a36Sopenharmony_ci :stub-columns: 0 4062306a36Sopenharmony_ci :widths: 2 1 1 1 1 1 1 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci - - start + 0: 4462306a36Sopenharmony_ci - B\ :sub:`00high` 4562306a36Sopenharmony_ci - G\ :sub:`01high` 4662306a36Sopenharmony_ci - G\ :sub:`01low`\ (bits 7--4) 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci B\ :sub:`00low`\ (bits 3--0) 4962306a36Sopenharmony_ci - B\ :sub:`02high` 5062306a36Sopenharmony_ci - G\ :sub:`03high` 5162306a36Sopenharmony_ci - G\ :sub:`03low`\ (bits 7--4) 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci B\ :sub:`02low`\ (bits 3--0) 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci - - start + 6: 5662306a36Sopenharmony_ci - G\ :sub:`10high` 5762306a36Sopenharmony_ci - R\ :sub:`11high` 5862306a36Sopenharmony_ci - R\ :sub:`11low`\ (bits 7--4) 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci G\ :sub:`10low`\ (bits 3--0) 6162306a36Sopenharmony_ci - G\ :sub:`12high` 6262306a36Sopenharmony_ci - R\ :sub:`13high` 6362306a36Sopenharmony_ci - R\ :sub:`13low`\ (bits 3--2) 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci G\ :sub:`12low`\ (bits 3--0) 6662306a36Sopenharmony_ci - - start + 12: 6762306a36Sopenharmony_ci - B\ :sub:`20high` 6862306a36Sopenharmony_ci - G\ :sub:`21high` 6962306a36Sopenharmony_ci - G\ :sub:`21low`\ (bits 7--4) 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci B\ :sub:`20low`\ (bits 3--0) 7262306a36Sopenharmony_ci - B\ :sub:`22high` 7362306a36Sopenharmony_ci - G\ :sub:`23high` 7462306a36Sopenharmony_ci - G\ :sub:`23low`\ (bits 7--4) 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci B\ :sub:`22low`\ (bits 3--0) 7762306a36Sopenharmony_ci - - start + 18: 7862306a36Sopenharmony_ci - G\ :sub:`30high` 7962306a36Sopenharmony_ci - R\ :sub:`31high` 8062306a36Sopenharmony_ci - R\ :sub:`31low`\ (bits 7--4) 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci G\ :sub:`30low`\ (bits 3--0) 8362306a36Sopenharmony_ci - G\ :sub:`32high` 8462306a36Sopenharmony_ci - R\ :sub:`33high` 8562306a36Sopenharmony_ci - R\ :sub:`33low`\ (bits 3--2) 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci G\ :sub:`32low`\ (bits 3--0) 88