Linux 6.7-rc7
[linux-modified.git] / Documentation / userspace-api / media / v4l / pixfmt-srggb14.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _V4L2-PIX-FMT-SRGGB14:
4 .. _v4l2-pix-fmt-sbggr14:
5 .. _v4l2-pix-fmt-sgbrg14:
6 .. _v4l2-pix-fmt-sgrbg14:
7
8
9 ***************************************************************************************************************************
10 V4L2_PIX_FMT_SRGGB14 ('RG14'), V4L2_PIX_FMT_SGRBG14 ('GR14'), V4L2_PIX_FMT_SGBRG14 ('GB14'), V4L2_PIX_FMT_SBGGR14 ('BG14'),
11 ***************************************************************************************************************************
12
13
14 ========================================
15 14-bit Bayer formats expanded to 16 bits
16 ========================================
17
18
19 Description
20 ===========
21
22 These four pixel formats are raw sRGB / Bayer formats with 14 bits per
23 colour. Each sample is stored in a 16-bit word, with two unused high
24 bits filled with zeros. Each n-pixel row contains n/2 green samples
25 and n/2 blue or red samples, with alternating red and blue rows. Bytes
26 are stored in memory in little endian order. They are conventionally
27 described as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an
28 example of a small V4L2_PIX_FMT_SBGGR14 image:
29
30 **Byte Order.**
31 Each cell is one byte, the two most significant bits in the high bytes are
32 zero.
33
34
35
36 .. flat-table::
37     :header-rows:  0
38     :stub-columns: 0
39     :widths:       2 1 1 1 1 1 1 1 1
40
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`