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