162306a36Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci.. _V4L2-PIX-FMT-SRGGB12:
462306a36Sopenharmony_ci.. _v4l2-pix-fmt-sbggr12:
562306a36Sopenharmony_ci.. _v4l2-pix-fmt-sgbrg12:
662306a36Sopenharmony_ci.. _v4l2-pix-fmt-sgrbg12:
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci***************************************************************************************************************************
1062306a36Sopenharmony_ciV4L2_PIX_FMT_SRGGB12 ('RG12'), V4L2_PIX_FMT_SGRBG12 ('BA12'), V4L2_PIX_FMT_SGBRG12 ('GB12'), V4L2_PIX_FMT_SBGGR12 ('BG12'),
1162306a36Sopenharmony_ci***************************************************************************************************************************
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciV4L2_PIX_FMT_SGRBG12
1562306a36Sopenharmony_ciV4L2_PIX_FMT_SGBRG12
1662306a36Sopenharmony_ciV4L2_PIX_FMT_SBGGR12
1762306a36Sopenharmony_ci12-bit Bayer formats expanded to 16 bits
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciDescription
2162306a36Sopenharmony_ci===========
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ciThese four pixel formats are raw sRGB / Bayer formats with 12 bits per
2462306a36Sopenharmony_cicolour. Each colour component is stored in a 16-bit word, with 4 unused
2562306a36Sopenharmony_cihigh bits filled with zeros. Each n-pixel row contains n/2 green samples
2662306a36Sopenharmony_ciand n/2 blue or red samples, with alternating red and blue rows. Bytes
2762306a36Sopenharmony_ciare stored in memory in little endian order. They are conventionally
2862306a36Sopenharmony_cidescribed as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an example
2962306a36Sopenharmony_ciof a small V4L2_PIX_FMT_SBGGR12 image:
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci**Byte Order.**
3262306a36Sopenharmony_ciEach cell is one byte, the 4 most significant bits in the high bytes are
3362306a36Sopenharmony_ci0.
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ci.. flat-table::
3962306a36Sopenharmony_ci    :header-rows:  0
4062306a36Sopenharmony_ci    :stub-columns: 0
4162306a36Sopenharmony_ci
4262306a36Sopenharmony_ci    * - start + 0:
4362306a36Sopenharmony_ci      - B\ :sub:`00low`
4462306a36Sopenharmony_ci      - B\ :sub:`00high`
4562306a36Sopenharmony_ci      - G\ :sub:`01low`
4662306a36Sopenharmony_ci      - G\ :sub:`01high`
4762306a36Sopenharmony_ci      - B\ :sub:`02low`
4862306a36Sopenharmony_ci      - B\ :sub:`02high`
4962306a36Sopenharmony_ci      - G\ :sub:`03low`
5062306a36Sopenharmony_ci      - G\ :sub:`03high`
5162306a36Sopenharmony_ci    * - start + 8:
5262306a36Sopenharmony_ci      - G\ :sub:`10low`
5362306a36Sopenharmony_ci      - G\ :sub:`10high`
5462306a36Sopenharmony_ci      - R\ :sub:`11low`
5562306a36Sopenharmony_ci      - R\ :sub:`11high`
5662306a36Sopenharmony_ci      - G\ :sub:`12low`
5762306a36Sopenharmony_ci      - G\ :sub:`12high`
5862306a36Sopenharmony_ci      - R\ :sub:`13low`
5962306a36Sopenharmony_ci      - R\ :sub:`13high`
6062306a36Sopenharmony_ci    * - start + 16:
6162306a36Sopenharmony_ci      - B\ :sub:`20low`
6262306a36Sopenharmony_ci      - B\ :sub:`20high`
6362306a36Sopenharmony_ci      - G\ :sub:`21low`
6462306a36Sopenharmony_ci      - G\ :sub:`21high`
6562306a36Sopenharmony_ci      - B\ :sub:`22low`
6662306a36Sopenharmony_ci      - B\ :sub:`22high`
6762306a36Sopenharmony_ci      - G\ :sub:`23low`
6862306a36Sopenharmony_ci      - G\ :sub:`23high`
6962306a36Sopenharmony_ci    * - start + 24:
7062306a36Sopenharmony_ci      - G\ :sub:`30low`
7162306a36Sopenharmony_ci      - G\ :sub:`30high`
7262306a36Sopenharmony_ci      - R\ :sub:`31low`
7362306a36Sopenharmony_ci      - R\ :sub:`31high`
7462306a36Sopenharmony_ci      - G\ :sub:`32low`
7562306a36Sopenharmony_ci      - G\ :sub:`32high`
7662306a36Sopenharmony_ci      - R\ :sub:`33low`
7762306a36Sopenharmony_ci      - R\ :sub:`33high`
78