2016-06-30 21:18:56 +08:00
|
|
|
.. -*- coding: utf-8; mode: rst -*-
|
|
|
|
|
2016-06-27 21:46:16 +08:00
|
|
|
.. _V4L2-PIX-FMT-SRGGB16:
|
|
|
|
.. _v4l2-pix-fmt-sbggr16:
|
|
|
|
.. _v4l2-pix-fmt-sgbrg16:
|
|
|
|
.. _v4l2-pix-fmt-sgrbg16:
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
2016-06-27 21:46:16 +08:00
|
|
|
***************************************************************************************************************************
|
|
|
|
V4L2_PIX_FMT_SRGGB16 ('RG16'), V4L2_PIX_FMT_SGRBG16 ('GR16'), V4L2_PIX_FMT_SGBRG16 ('GB16'), V4L2_PIX_FMT_SBGGR16 ('BYR2'),
|
|
|
|
***************************************************************************************************************************
|
|
|
|
|
|
|
|
|
|
|
|
16-bit Bayer formats
|
2016-06-30 21:18:56 +08:00
|
|
|
|
|
|
|
|
|
|
|
Description
|
|
|
|
===========
|
|
|
|
|
2016-06-27 21:46:16 +08:00
|
|
|
These four pixel formats are raw sRGB / Bayer formats with 16 bits per
|
|
|
|
sample. Each sample is stored in a 16-bit word. 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
|
2016-11-16 05:49:43 +08:00
|
|
|
an example of a small V4L2_PIX_FMT_SBGGR16 image:
|
2016-07-10 22:57:43 +08:00
|
|
|
|
2016-07-05 00:58:01 +08:00
|
|
|
**Byte Order.**
|
2016-06-30 21:18:56 +08:00
|
|
|
Each cell is one byte.
|
|
|
|
|
|
|
|
.. flat-table::
|
|
|
|
:header-rows: 0
|
|
|
|
:stub-columns: 0
|
|
|
|
|
[media] v4l: doc: Remove row numbers from tables
Shorten the tables by removing row numbers in comments, allowing for
later insertion of rows with minimal diffs.
All changes have been generated by the following script.
import io
import re
import sys
def process_table(fname, data):
if fname.endswith('hist-v4l2.rst'):
data = re.sub(u'\n{1,2}\t( ?) -( ?) ?', u'\n\t\\1 -\\2', data, flags = re.MULTILINE)
data = re.sub(u'\n(\t| )- \.\. row [0-9]+\n\t ?-( ?) ?', u'\\1* -\\2', data, flags = re.MULTILINE)
else:
data = re.sub(u'\n{1,2} -( ?) ?', u'\n -\\1', data, flags = re.MULTILINE)
data = re.sub(u'(\n?)(\n\n - \.\. row 1\n)', u'\n\\2', data, flags = re.MULTILINE)
data = re.sub(u'\n - \.\. row [0-9]+\n -( ?) ?', u' * -\\1', data, flags = re.MULTILINE)
data = re.sub(u'\n - \.\. row [0-9]+\n \.\. (_[A-Z0-9_`-]*:)', u'\n - .. \\1', data, flags = re.MULTILINE)
data = re.sub(u'\n - \.\. (_[A-Z0-9_`-]*:)\n -', u' * .. \\1\n\n -', data, flags = re.MULTILINE)
data = re.sub(u'^ - ', u' -', data, flags = re.MULTILINE)
data = re.sub(u'^(\t{1,2}) ', u'\\1', data, flags = re.MULTILINE)
return data
def process_file(fname, data):
buf = io.StringIO(data)
output = ''
in_table = False
table_separator = 0
for line in buf.readlines():
if line.find('.. flat-table::') != -1:
in_table = True
table = ''
elif in_table and not re.match('^[\t\n]|( )', line):
in_table = False
output += process_table(fname, table)
if in_table:
table += line
else:
output += line
if in_table:
in_table = False
output += process_table(fname, table)
return output
fname = sys.argv[1]
data = file(fname, 'rb').read().decode('utf-8')
data = process_file(fname, data)
file(fname, 'wb').write(data.encode('utf-8'))
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2016-09-05 19:44:34 +08:00
|
|
|
* - 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`
|
|
|
|
* - 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`
|
|
|
|
* - 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`
|
|
|
|
* - 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`
|