linux/Documentation/media/uapi/v4l/v4l2-selection-targets.rst

75 lines
2.1 KiB
ReStructuredText
Raw Normal View History

.. -*- coding: utf-8; mode: rst -*-
.. _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:
.. tabularcolumns:: |p{6.0cm}|p{1.4cm}|p{7.4cm}|p{1.2cm}|p{1.4cm}|
.. 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.
``left`` and ``top`` fields are zero for this target. Setting the
native size will generally only make sense for memory to memory
devices where the software can create a canvas of a given size in
which for example a video frame can be composed. In that case
V4L2_SEL_TGT_NATIVE_SIZE can be used to configure the size of
that canvas.
- 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