1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun.. _V4L2-PIX-FMT-SRGGB12: 4*4882a593Smuzhiyun.. _v4l2-pix-fmt-sbggr12: 5*4882a593Smuzhiyun.. _v4l2-pix-fmt-sgbrg12: 6*4882a593Smuzhiyun.. _v4l2-pix-fmt-sgrbg12: 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun*************************************************************************************************************************** 10*4882a593SmuzhiyunV4L2_PIX_FMT_SRGGB12 ('RG12'), V4L2_PIX_FMT_SGRBG12 ('BA12'), V4L2_PIX_FMT_SGBRG12 ('GB12'), V4L2_PIX_FMT_SBGGR12 ('BG12'), 11*4882a593Smuzhiyun*************************************************************************************************************************** 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunV4L2_PIX_FMT_SGRBG12 15*4882a593SmuzhiyunV4L2_PIX_FMT_SGBRG12 16*4882a593SmuzhiyunV4L2_PIX_FMT_SBGGR12 17*4882a593Smuzhiyun12-bit Bayer formats expanded to 16 bits 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunDescription 21*4882a593Smuzhiyun=========== 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunThese four pixel formats are raw sRGB / Bayer formats with 12 bits per 24*4882a593Smuzhiyuncolour. Each colour component is stored in a 16-bit word, with 4 unused 25*4882a593Smuzhiyunhigh bits filled with zeros. Each n-pixel row contains n/2 green samples 26*4882a593Smuzhiyunand n/2 blue or red samples, with alternating red and blue rows. Bytes 27*4882a593Smuzhiyunare stored in memory in little endian order. They are conventionally 28*4882a593Smuzhiyundescribed as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an example 29*4882a593Smuzhiyunof a small V4L2_PIX_FMT_SBGGR12 image: 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun**Byte Order.** 32*4882a593SmuzhiyunEach cell is one byte, the 4 most significant bits in the high bytes are 33*4882a593Smuzhiyun0. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun.. flat-table:: 39*4882a593Smuzhiyun :header-rows: 0 40*4882a593Smuzhiyun :stub-columns: 0 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun * - start + 0: 43*4882a593Smuzhiyun - B\ :sub:`00low` 44*4882a593Smuzhiyun - B\ :sub:`00high` 45*4882a593Smuzhiyun - G\ :sub:`01low` 46*4882a593Smuzhiyun - G\ :sub:`01high` 47*4882a593Smuzhiyun - B\ :sub:`02low` 48*4882a593Smuzhiyun - B\ :sub:`02high` 49*4882a593Smuzhiyun - G\ :sub:`03low` 50*4882a593Smuzhiyun - G\ :sub:`03high` 51*4882a593Smuzhiyun * - start + 8: 52*4882a593Smuzhiyun - G\ :sub:`10low` 53*4882a593Smuzhiyun - G\ :sub:`10high` 54*4882a593Smuzhiyun - R\ :sub:`11low` 55*4882a593Smuzhiyun - R\ :sub:`11high` 56*4882a593Smuzhiyun - G\ :sub:`12low` 57*4882a593Smuzhiyun - G\ :sub:`12high` 58*4882a593Smuzhiyun - R\ :sub:`13low` 59*4882a593Smuzhiyun - R\ :sub:`13high` 60*4882a593Smuzhiyun * - start + 16: 61*4882a593Smuzhiyun - B\ :sub:`20low` 62*4882a593Smuzhiyun - B\ :sub:`20high` 63*4882a593Smuzhiyun - G\ :sub:`21low` 64*4882a593Smuzhiyun - G\ :sub:`21high` 65*4882a593Smuzhiyun - B\ :sub:`22low` 66*4882a593Smuzhiyun - B\ :sub:`22high` 67*4882a593Smuzhiyun - G\ :sub:`23low` 68*4882a593Smuzhiyun - G\ :sub:`23high` 69*4882a593Smuzhiyun * - start + 24: 70*4882a593Smuzhiyun - G\ :sub:`30low` 71*4882a593Smuzhiyun - G\ :sub:`30high` 72*4882a593Smuzhiyun - R\ :sub:`31low` 73*4882a593Smuzhiyun - R\ :sub:`31high` 74*4882a593Smuzhiyun - G\ :sub:`32low` 75*4882a593Smuzhiyun - G\ :sub:`32high` 76*4882a593Smuzhiyun - R\ :sub:`33low` 77*4882a593Smuzhiyun - R\ :sub:`33high` 78