xref: /openbmc/linux/Documentation/userspace-api/media/v4l/pixfmt-srggb12p.rst (revision 8be98d2f2a0a262f8bf8a0bc1fdf522b3c7aab17)
1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
254f38fcaSMauro Carvalho Chehab
354f38fcaSMauro Carvalho Chehab.. _V4L2-PIX-FMT-SRGGB12P:
454f38fcaSMauro Carvalho Chehab.. _v4l2-pix-fmt-sbggr12p:
554f38fcaSMauro Carvalho Chehab.. _v4l2-pix-fmt-sgbrg12p:
654f38fcaSMauro Carvalho Chehab.. _v4l2-pix-fmt-sgrbg12p:
754f38fcaSMauro Carvalho Chehab
854f38fcaSMauro Carvalho Chehab*******************************************************************************************************************************
954f38fcaSMauro Carvalho ChehabV4L2_PIX_FMT_SRGGB12P ('pRCC'), V4L2_PIX_FMT_SGRBG12P ('pgCC'), V4L2_PIX_FMT_SGBRG12P ('pGCC'), V4L2_PIX_FMT_SBGGR12P ('pBCC'),
1054f38fcaSMauro Carvalho Chehab*******************************************************************************************************************************
1154f38fcaSMauro Carvalho Chehab
1254f38fcaSMauro Carvalho Chehab
1354f38fcaSMauro Carvalho Chehab12-bit packed Bayer formats
1454f38fcaSMauro Carvalho Chehab---------------------------
1554f38fcaSMauro Carvalho Chehab
1654f38fcaSMauro Carvalho Chehab
1754f38fcaSMauro Carvalho ChehabDescription
1854f38fcaSMauro Carvalho Chehab===========
1954f38fcaSMauro Carvalho Chehab
2054f38fcaSMauro Carvalho ChehabThese four pixel formats are packed raw sRGB / Bayer formats with 12
2154f38fcaSMauro Carvalho Chehabbits per colour. Every two consecutive samples are packed into three
2254f38fcaSMauro Carvalho Chehabbytes. Each of the first two bytes contain the 8 high order bits of
2354f38fcaSMauro Carvalho Chehabthe pixels, and the third byte contains the four least significants
2454f38fcaSMauro Carvalho Chehabbits of each pixel, in the same order.
2554f38fcaSMauro Carvalho Chehab
2654f38fcaSMauro Carvalho ChehabEach n-pixel row contains n/2 green samples and n/2 blue or red
2754f38fcaSMauro Carvalho Chehabsamples, with alternating green-red and green-blue rows. They are
2854f38fcaSMauro Carvalho Chehabconventionally described as GRGR... BGBG..., RGRG... GBGB..., etc.
2954f38fcaSMauro Carvalho ChehabBelow is an example of a small V4L2_PIX_FMT_SBGGR12P image:
3054f38fcaSMauro Carvalho Chehab
3154f38fcaSMauro Carvalho Chehab**Byte Order.**
3254f38fcaSMauro Carvalho ChehabEach cell is one byte.
3354f38fcaSMauro Carvalho Chehab
34*fea13a69SMauro Carvalho Chehab.. tabularcolumns:: |p{2.2cm}|p{1.2cm}|p{1.2cm}|p{3.1cm}|p{1.2cm}|p{1.2cm}|p{6.4cm}|
3554f38fcaSMauro Carvalho Chehab
3654f38fcaSMauro Carvalho Chehab
3754f38fcaSMauro Carvalho Chehab.. flat-table::
3854f38fcaSMauro Carvalho Chehab    :header-rows:  0
3954f38fcaSMauro Carvalho Chehab    :stub-columns: 0
4054f38fcaSMauro Carvalho Chehab    :widths:       2 1 1 1 1 1 1
4154f38fcaSMauro Carvalho Chehab
4254f38fcaSMauro Carvalho Chehab
4354f38fcaSMauro Carvalho Chehab    -  -  start + 0:
4454f38fcaSMauro Carvalho Chehab       -  B\ :sub:`00high`
4554f38fcaSMauro Carvalho Chehab       -  G\ :sub:`01high`
4654f38fcaSMauro Carvalho Chehab       -  G\ :sub:`01low`\ (bits 7--4)
4754f38fcaSMauro Carvalho Chehab
4854f38fcaSMauro Carvalho Chehab          B\ :sub:`00low`\ (bits 3--0)
4954f38fcaSMauro Carvalho Chehab       -  B\ :sub:`02high`
5054f38fcaSMauro Carvalho Chehab       -  G\ :sub:`03high`
5154f38fcaSMauro Carvalho Chehab       -  G\ :sub:`03low`\ (bits 7--4)
5254f38fcaSMauro Carvalho Chehab
5354f38fcaSMauro Carvalho Chehab          B\ :sub:`02low`\ (bits 3--0)
5454f38fcaSMauro Carvalho Chehab
5554f38fcaSMauro Carvalho Chehab    -  -  start + 6:
5654f38fcaSMauro Carvalho Chehab       -  G\ :sub:`10high`
5754f38fcaSMauro Carvalho Chehab       -  R\ :sub:`11high`
5854f38fcaSMauro Carvalho Chehab       -  R\ :sub:`11low`\ (bits 7--4)
5954f38fcaSMauro Carvalho Chehab
6054f38fcaSMauro Carvalho Chehab          G\ :sub:`10low`\ (bits 3--0)
6154f38fcaSMauro Carvalho Chehab       -  G\ :sub:`12high`
6254f38fcaSMauro Carvalho Chehab       -  R\ :sub:`13high`
6354f38fcaSMauro Carvalho Chehab       -  R\ :sub:`13low`\ (bits 3--2)
6454f38fcaSMauro Carvalho Chehab
6554f38fcaSMauro Carvalho Chehab          G\ :sub:`12low`\ (bits 3--0)
6654f38fcaSMauro Carvalho Chehab    -  -  start + 12:
6754f38fcaSMauro Carvalho Chehab       -  B\ :sub:`20high`
6854f38fcaSMauro Carvalho Chehab       -  G\ :sub:`21high`
6954f38fcaSMauro Carvalho Chehab       -  G\ :sub:`21low`\ (bits 7--4)
7054f38fcaSMauro Carvalho Chehab
7154f38fcaSMauro Carvalho Chehab          B\ :sub:`20low`\ (bits 3--0)
7254f38fcaSMauro Carvalho Chehab       -  B\ :sub:`22high`
7354f38fcaSMauro Carvalho Chehab       -  G\ :sub:`23high`
7454f38fcaSMauro Carvalho Chehab       -  G\ :sub:`23low`\ (bits 7--4)
7554f38fcaSMauro Carvalho Chehab
7654f38fcaSMauro Carvalho Chehab          B\ :sub:`22low`\ (bits 3--0)
7754f38fcaSMauro Carvalho Chehab    -  -  start + 18:
7854f38fcaSMauro Carvalho Chehab       -  G\ :sub:`30high`
7954f38fcaSMauro Carvalho Chehab       -  R\ :sub:`31high`
8054f38fcaSMauro Carvalho Chehab       -  R\ :sub:`31low`\ (bits 7--4)
8154f38fcaSMauro Carvalho Chehab
8254f38fcaSMauro Carvalho Chehab          G\ :sub:`30low`\ (bits 3--0)
8354f38fcaSMauro Carvalho Chehab       -  G\ :sub:`32high`
8454f38fcaSMauro Carvalho Chehab       -  R\ :sub:`33high`
8554f38fcaSMauro Carvalho Chehab       -  R\ :sub:`33low`\ (bits 3--2)
8654f38fcaSMauro Carvalho Chehab
8754f38fcaSMauro Carvalho Chehab          G\ :sub:`32low`\ (bits 3--0)
88