2018-08-30 22:15:26 +08:00
|
|
|
.. Permission is granted to copy, distribute and/or modify this
|
|
|
|
.. document under the terms of the GNU Free Documentation License,
|
|
|
|
.. Version 1.1 or any later version published by the Free Software
|
|
|
|
.. Foundation, with no Invariant Sections, no Front-Cover Texts
|
|
|
|
.. and no Back-Cover Texts. A copy of the license is included at
|
|
|
|
.. Documentation/media/uapi/fdl-appendix.rst.
|
|
|
|
..
|
|
|
|
.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections
|
|
|
|
|
2016-06-30 21:18:56 +08:00
|
|
|
.. _v4l2-selection-targets:
|
|
|
|
|
|
|
|
*****************
|
|
|
|
Selection targets
|
|
|
|
*****************
|
|
|
|
|
|
|
|
The precise meaning of the selection targets may be dependent on which
|
|
|
|
of the two interfaces they are used.
|
|
|
|
|
|
|
|
|
|
|
|
.. _v4l2-selection-targets-table:
|
|
|
|
|
2017-09-03 04:50:45 +08:00
|
|
|
.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{7.4cm}|p{1.2cm}|p{1.4cm}|
|
2016-08-19 18:34:13 +08:00
|
|
|
|
2016-06-30 21:18:56 +08:00
|
|
|
.. flat-table:: Selection target definitions
|
|
|
|
:header-rows: 1
|
|
|
|
: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
|
|
|
* - Target name
|
|
|
|
- id
|
|
|
|
- Definition
|
|
|
|
- Valid for V4L2
|
|
|
|
- Valid for V4L2 subdev
|
|
|
|
* - ``V4L2_SEL_TGT_CROP``
|
|
|
|
- 0x0000
|
|
|
|
- Crop rectangle. Defines the cropped area.
|
|
|
|
- Yes
|
|
|
|
- Yes
|
|
|
|
* - ``V4L2_SEL_TGT_CROP_DEFAULT``
|
|
|
|
- 0x0001
|
|
|
|
- Suggested cropping rectangle that covers the "whole picture".
|
|
|
|
- Yes
|
|
|
|
- No
|
|
|
|
* - ``V4L2_SEL_TGT_CROP_BOUNDS``
|
|
|
|
- 0x0002
|
|
|
|
- Bounds of the crop rectangle. All valid crop rectangles fit inside
|
|
|
|
the crop bounds rectangle.
|
|
|
|
- Yes
|
|
|
|
- Yes
|
|
|
|
* - ``V4L2_SEL_TGT_NATIVE_SIZE``
|
|
|
|
- 0x0003
|
|
|
|
- The native size of the device, e.g. a sensor's pixel array.
|
2018-11-07 23:02:30 +08:00
|
|
|
``left`` and ``top`` fields are zero for this target.
|
[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
|
|
|
- Yes
|
|
|
|
- Yes
|
|
|
|
* - ``V4L2_SEL_TGT_COMPOSE``
|
|
|
|
- 0x0100
|
|
|
|
- Compose rectangle. Used to configure scaling and composition.
|
|
|
|
- Yes
|
|
|
|
- Yes
|
|
|
|
* - ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
|
|
|
|
- 0x0101
|
|
|
|
- Suggested composition rectangle that covers the "whole picture".
|
|
|
|
- Yes
|
|
|
|
- No
|
|
|
|
* - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
|
|
|
|
- 0x0102
|
|
|
|
- Bounds of the compose rectangle. All valid compose rectangles fit
|
|
|
|
inside the compose bounds rectangle.
|
|
|
|
- Yes
|
|
|
|
- Yes
|
|
|
|
* - ``V4L2_SEL_TGT_COMPOSE_PADDED``
|
|
|
|
- 0x0103
|
|
|
|
- The active area and all padding pixels that are inserted or
|
|
|
|
modified by hardware.
|
|
|
|
- Yes
|
|
|
|
- No
|