linux/Documentation/media/uapi/v4l/v4l2-selection-targets.rst
Laurent Pinchart c2b66cafdf [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-22 07:03:14 -03:00

75 lines
2.1 KiB
ReStructuredText

.. -*- 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{5.8cm}|p{1.4cm}|p{6.5cm}|p{1.2cm}|p{1.6cm}|
.. flat-table:: Selection target definitions
:header-rows: 1
:stub-columns: 0
* - 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