2016-06-30 15:18:56 +02:00
.. -*- coding: utf-8; mode: rst -*-
.. _V4L2-PIX-FMT-SRGGB12:
2016-07-07 16:16:21 -03:00
.. _v4l2-pix-fmt-sbggr12:
.. _v4l2-pix-fmt-sgbrg12:
.. _v4l2-pix-fmt-sgrbg12:
2016-06-30 15:18:56 +02:00
***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***
V4L2_PIX_FMT_SRGGB12 ('RG12'), V4L2_PIX_FMT_SGRBG12 ('BA12'), V4L2_PIX_FMT_SGBRG12 ('GB12'), V4L2_PIX_FMT_SBGGR12 ('BG12'),
***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***** ***
V4L2_PIX_FMT_SGRBG12
V4L2_PIX_FMT_SGBRG12
V4L2_PIX_FMT_SBGGR12
12-bit Bayer formats expanded to 16 bits
Description
===========
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
2016-06-20 12:53:55 -03:00
of one of these formats:
2016-06-30 15:18:56 +02:00
2016-07-04 13:58:01 -03:00
**Byte Order.**
2016-06-20 12:53:55 -03:00
Each cell is one byte, the 4 most significant bits in the high bytes are
0.
2016-06-30 15:18:56 +02:00
[media] docs-rst: add tabularcolumns to all tables
LaTeX doesn't handle too well auto-width on tables, and ReST
markup requires an special tag to give it the needed hints.
As we're using A4 paper, we have 17cm of useful spaces. As
most media tables have widths, let's use it to generate the
needed via the following perl script:
my ($line_size, $table_header, $has_cols) = (17.5, 0, 0);
my $out;
my $header = "";
my @widths = ();
sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) }
while (<>) {
if (!$table_header) {
$has_cols = 1 if (m/..\s+tabularcolumns::/);
if (m/..\s+flat-table::/) {
$table_header = 1;
$header = $_;
next;
}
$out .= $_;
next;
}
$header .= $_;
@widths = split(/ /, $1) if (m/:widths:\s+(.*)/);
if (m/^\n$/) {
if (!$has_cols && @widths) {
my ($tot, $t, $i) = (0, 0, 0);
foreach my $v(@widths) { $tot += $v; };
$out .= ".. tabularcolumns:: |";
for ($i = 0; $i < scalar @widths - 1; $i++) {
my $v = $widths[$i];
my $w = round(10 * ($v * $line_size) / $tot) / 10;
$out .= sprintf "p{%.1fcm}|", $w;
$t += $w;
}
my $w = $line_size - $t;
$out .= sprintf "p{%.1fcm}|\n\n", $w;
}
$out .= $header;
$table_header = 0;
$has_cols = 0;
$header = "";
@widths = ();
}
}
print $out;
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-08-17 08:14:19 -03:00
2016-06-30 15:18:56 +02:00
.. flat-table ::
:header-rows: 0
:stub-columns: 0
- .. row 1
- start + 0:
- B\ :sub: `00low`
- B\ :sub: `00high`
- G\ :sub: `01low`
- G\ :sub: `01high`
- B\ :sub: `02low`
- B\ :sub: `02high`
- G\ :sub: `03low`
- G\ :sub: `03high`
- .. row 2
- start + 8:
- G\ :sub: `10low`
- G\ :sub: `10high`
- R\ :sub: `11low`
- R\ :sub: `11high`
- G\ :sub: `12low`
- G\ :sub: `12high`
- R\ :sub: `13low`
- R\ :sub: `13high`
- .. row 3
- start + 16:
- B\ :sub: `20low`
- B\ :sub: `20high`
- G\ :sub: `21low`
- G\ :sub: `21high`
- B\ :sub: `22low`
- B\ :sub: `22high`
- G\ :sub: `23low`
- G\ :sub: `23high`
- .. row 4
- start + 24:
- G\ :sub: `30low`
- G\ :sub: `30high`
- R\ :sub: `31low`
- R\ :sub: `31high`
- G\ :sub: `32low`
- G\ :sub: `32high`
- R\ :sub: `33low`
- R\ :sub: `33high`