summaryrefslogtreecommitdiffstats
path: root/Documentation/DocBook/media/v4l/pixfmt-srggb12.xml
blob: 0c8e4adf417f0536618c21aa0aa8cce8da036b74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
    <refentry>
      <refmeta>
	<refentrytitle>V4L2_PIX_FMT_SRGGB12 ('RG12'),
	 V4L2_PIX_FMT_SGRBG12 ('BA12'),
	 V4L2_PIX_FMT_SGBRG12 ('GB12'),
	 V4L2_PIX_FMT_SBGGR12 ('BG12'),
	 </refentrytitle>
	&manvol;
      </refmeta>
      <refnamediv>
	<refname id="V4L2-PIX-FMT-SRGGB12"><constant>V4L2_PIX_FMT_SRGGB12</constant></refname>
	<refname id="V4L2-PIX-FMT-SGRBG12"><constant>V4L2_PIX_FMT_SGRBG12</constant></refname>
	<refname id="V4L2-PIX-FMT-SGBRG12"><constant>V4L2_PIX_FMT_SGBRG12</constant></refname>
	<refname id="V4L2-PIX-FMT-SBGGR12"><constant>V4L2_PIX_FMT_SBGGR12</constant></refname>
	<refpurpose>12-bit Bayer formats expanded to 16 bits</refpurpose>
      </refnamediv>
      <refsect1>
	<title>Description</title>

	<para>These four pixel formats are raw sRGB / Bayer formats with
12 bits per colour. Each colour component is stored in a 16-bit word, with 4
unused high bits filled with zeros. Each n-pixel row contains n/2 green samples
and n/2 blue or red samples, with alternating red and blue rows. Bytes are
stored in memory in little endian order. They are conventionally described
as GRGR... BGBG..., RGRG... GBGB..., etc. Below is an example of one of these
formats</para>

    <example>
      <title><constant>V4L2_PIX_FMT_SBGGR12</constant> 4 &times; 4
pixel image</title>

      <formalpara>
	<title>Byte Order.</title>
	<para>Each cell is one byte, high 6 bits in high bytes are 0.
	  <informaltable frame="none">
	    <tgroup cols="5" align="center">
	      <colspec align="left" colwidth="2*" />
	      <tbody valign="top">
		<row>
		  <entry>start&nbsp;+&nbsp;0:</entry>
		  <entry>B<subscript>00low</subscript></entry>
		  <entry>B<subscript>00high</subscript></entry>
		  <entry>G<subscript>01low</subscript></entry>
		  <entry>G<subscript>01high</subscript></entry>
		  <entry>B<subscript>02low</subscript></entry>
		  <entry>B<subscript>02high</subscript></entry>
		  <entry>G<subscript>03low</subscript></entry>
		  <entry>G<subscript>03high</subscript></entry>
		</row>
		<row>
		  <entry>start&nbsp;+&nbsp;8:</entry>
		  <entry>G<subscript>10low</subscript></entry>
		  <entry>G<subscript>10high</subscript></entry>
		  <entry>R<subscript>11low</subscript></entry>
		  <entry>R<subscript>11high</subscript></entry>
		  <entry>G<subscript>12low</subscript></entry>
		  <entry>G<subscript>12high</subscript></entry>
		  <entry>R<subscript>13low</subscript></entry>
		  <entry>R<subscript>13high</subscript></entry>
		</row>
		<row>
		  <entry>start&nbsp;+&nbsp;16:</entry>
		  <entry>B<subscript>20low</subscript></entry>
		  <entry>B<subscript>20high</subscript></entry>
		  <entry>G<subscript>21low</subscript></entry>
		  <entry>G<subscript>21high</subscript></entry>
		  <entry>B<subscript>22low</subscript></entry>
		  <entry>B<subscript>22high</subscript></entry>
		  <entry>G<subscript>23low</subscript></entry>
		  <entry>G<subscript>23high</subscript></entry>
		</row>
		<row>
		  <entry>start&nbsp;+&nbsp;24:</entry>
		  <entry>G<subscript>30low</subscript></entry>
		  <entry>G<subscript>30high</subscript></entry>
		  <entry>R<subscript>31low</subscript></entry>
		  <entry>R<subscript>31high</subscript></entry>
		  <entry>G<subscript>32low</subscript></entry>
		  <entry>G<subscript>32high</subscript></entry>
		  <entry>R<subscript>33low</subscript></entry>
		  <entry>R<subscript>33high</subscript></entry>
		</row>
	      </tbody>
	    </tgroup>
	  </informaltable>
	</para>
      </formalpara>
    </example>
  </refsect1>
</refentry>