Linux 6.7-rc7
[linux-modified.git] / Documentation / userspace-api / media / v4l / pixfmt-srggb16.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _V4L2-PIX-FMT-SRGGB16:
4 .. _v4l2-pix-fmt-sbggr16:
5 .. _v4l2-pix-fmt-sgbrg16:
6 .. _v4l2-pix-fmt-sgrbg16:
7
8
9 ***************************************************************************************************************************
10 V4L2_PIX_FMT_SRGGB16 ('RG16'), V4L2_PIX_FMT_SGRBG16 ('GR16'), V4L2_PIX_FMT_SGBRG16 ('GB16'), V4L2_PIX_FMT_SBGGR16 ('BYR2'),
11 ***************************************************************************************************************************
12
13
14 ====================
15 16-bit Bayer formats
16 ====================
17
18
19 Description
20 ===========
21
22 These four pixel formats are raw sRGB / Bayer formats with 16 bits per
23 sample. Each sample is stored in a 16-bit word. Each n-pixel row contains
24 n/2 green samples and n/2 blue or red samples, with alternating red and blue
25 rows. Bytes are stored in memory in little endian order. They are
26 conventionally described as GRGR... BGBG..., RGRG... GBGB..., etc. Below is
27 an example of a small V4L2_PIX_FMT_SBGGR16 image:
28
29 **Byte Order.**
30 Each cell is one byte.
31
32 .. flat-table::
33     :header-rows:  0
34     :stub-columns: 0
35
36     * - start + 0:
37       - B\ :sub:`00low`
38       - B\ :sub:`00high`
39       - G\ :sub:`01low`
40       - G\ :sub:`01high`
41       - B\ :sub:`02low`
42       - B\ :sub:`02high`
43       - G\ :sub:`03low`
44       - G\ :sub:`03high`
45     * - start + 8:
46       - G\ :sub:`10low`
47       - G\ :sub:`10high`
48       - R\ :sub:`11low`
49       - R\ :sub:`11high`
50       - G\ :sub:`12low`
51       - G\ :sub:`12high`
52       - R\ :sub:`13low`
53       - R\ :sub:`13high`
54     * - start + 16:
55       - B\ :sub:`20low`
56       - B\ :sub:`20high`
57       - G\ :sub:`21low`
58       - G\ :sub:`21high`
59       - B\ :sub:`22low`
60       - B\ :sub:`22high`
61       - G\ :sub:`23low`
62       - G\ :sub:`23high`
63     * - start + 24:
64       - G\ :sub:`30low`
65       - G\ :sub:`30high`
66       - R\ :sub:`31low`
67       - R\ :sub:`31high`
68       - G\ :sub:`32low`
69       - G\ :sub:`32high`
70       - R\ :sub:`33low`
71       - R\ :sub:`33high`