1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun.. _V4L2-PIX-FMT-SRGGB12P: 4*4882a593Smuzhiyun.. _v4l2-pix-fmt-sbggr12p: 5*4882a593Smuzhiyun.. _v4l2-pix-fmt-sgbrg12p: 6*4882a593Smuzhiyun.. _v4l2-pix-fmt-sgrbg12p: 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun******************************************************************************************************************************* 9*4882a593SmuzhiyunV4L2_PIX_FMT_SRGGB12P ('pRCC'), V4L2_PIX_FMT_SGRBG12P ('pgCC'), V4L2_PIX_FMT_SGBRG12P ('pGCC'), V4L2_PIX_FMT_SBGGR12P ('pBCC'), 10*4882a593Smuzhiyun******************************************************************************************************************************* 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun12-bit packed Bayer formats 14*4882a593Smuzhiyun--------------------------- 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunDescription 18*4882a593Smuzhiyun=========== 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunThese four pixel formats are packed raw sRGB / Bayer formats with 12 21*4882a593Smuzhiyunbits per colour. Every two consecutive samples are packed into three 22*4882a593Smuzhiyunbytes. Each of the first two bytes contain the 8 high order bits of 23*4882a593Smuzhiyunthe pixels, and the third byte contains the four least significants 24*4882a593Smuzhiyunbits of each pixel, in the same order. 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunEach n-pixel row contains n/2 green samples and n/2 blue or red 27*4882a593Smuzhiyunsamples, with alternating green-red and green-blue rows. They are 28*4882a593Smuzhiyunconventionally described as GRGR... BGBG..., RGRG... GBGB..., etc. 29*4882a593SmuzhiyunBelow is an example of a small V4L2_PIX_FMT_SBGGR12P image: 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun**Byte Order.** 32*4882a593SmuzhiyunEach cell is one byte. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun.. tabularcolumns:: |p{2.2cm}|p{1.2cm}|p{1.2cm}|p{3.1cm}|p{1.2cm}|p{1.2cm}|p{3.1cm}| 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun.. flat-table:: 38*4882a593Smuzhiyun :header-rows: 0 39*4882a593Smuzhiyun :stub-columns: 0 40*4882a593Smuzhiyun :widths: 2 1 1 1 1 1 1 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun - - start + 0: 44*4882a593Smuzhiyun - B\ :sub:`00high` 45*4882a593Smuzhiyun - G\ :sub:`01high` 46*4882a593Smuzhiyun - G\ :sub:`01low`\ (bits 7--4) 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun B\ :sub:`00low`\ (bits 3--0) 49*4882a593Smuzhiyun - B\ :sub:`02high` 50*4882a593Smuzhiyun - G\ :sub:`03high` 51*4882a593Smuzhiyun - G\ :sub:`03low`\ (bits 7--4) 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun B\ :sub:`02low`\ (bits 3--0) 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun - - start + 6: 56*4882a593Smuzhiyun - G\ :sub:`10high` 57*4882a593Smuzhiyun - R\ :sub:`11high` 58*4882a593Smuzhiyun - R\ :sub:`11low`\ (bits 7--4) 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun G\ :sub:`10low`\ (bits 3--0) 61*4882a593Smuzhiyun - G\ :sub:`12high` 62*4882a593Smuzhiyun - R\ :sub:`13high` 63*4882a593Smuzhiyun - R\ :sub:`13low`\ (bits 3--2) 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun G\ :sub:`12low`\ (bits 3--0) 66*4882a593Smuzhiyun - - start + 12: 67*4882a593Smuzhiyun - B\ :sub:`20high` 68*4882a593Smuzhiyun - G\ :sub:`21high` 69*4882a593Smuzhiyun - G\ :sub:`21low`\ (bits 7--4) 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun B\ :sub:`20low`\ (bits 3--0) 72*4882a593Smuzhiyun - B\ :sub:`22high` 73*4882a593Smuzhiyun - G\ :sub:`23high` 74*4882a593Smuzhiyun - G\ :sub:`23low`\ (bits 7--4) 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun B\ :sub:`22low`\ (bits 3--0) 77*4882a593Smuzhiyun - - start + 18: 78*4882a593Smuzhiyun - G\ :sub:`30high` 79*4882a593Smuzhiyun - R\ :sub:`31high` 80*4882a593Smuzhiyun - R\ :sub:`31low`\ (bits 7--4) 81*4882a593Smuzhiyun 82*4882a593Smuzhiyun G\ :sub:`30low`\ (bits 3--0) 83*4882a593Smuzhiyun - G\ :sub:`32high` 84*4882a593Smuzhiyun - R\ :sub:`33high` 85*4882a593Smuzhiyun - R\ :sub:`33low`\ (bits 3--2) 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun G\ :sub:`32low`\ (bits 3--0) 88