Merge branch 'pm-cpufreq'
[cascardo/linux.git] / Documentation / media / uapi / v4l / v4l2-selection-targets.rst
1 .. -*- coding: utf-8; mode: rst -*-
2
3 .. _v4l2-selection-targets:
4
5 *****************
6 Selection targets
7 *****************
8
9 The precise meaning of the selection targets may be dependent on which
10 of the two interfaces they are used.
11
12
13 .. _v4l2-selection-targets-table:
14
15 .. tabularcolumns:: |p{5.8cm}|p{1.4cm}|p{6.5cm}|p{1.2cm}|p{1.6cm}|
16
17 .. flat-table:: Selection target definitions
18     :header-rows:  1
19     :stub-columns: 0
20
21     * - Target name
22       - id
23       - Definition
24       - Valid for V4L2
25       - Valid for V4L2 subdev
26     * - ``V4L2_SEL_TGT_CROP``
27       - 0x0000
28       - Crop rectangle. Defines the cropped area.
29       - Yes
30       - Yes
31     * - ``V4L2_SEL_TGT_CROP_DEFAULT``
32       - 0x0001
33       - Suggested cropping rectangle that covers the "whole picture".
34       - Yes
35       - No
36     * - ``V4L2_SEL_TGT_CROP_BOUNDS``
37       - 0x0002
38       - Bounds of the crop rectangle. All valid crop rectangles fit inside
39         the crop bounds rectangle.
40       - Yes
41       - Yes
42     * - ``V4L2_SEL_TGT_NATIVE_SIZE``
43       - 0x0003
44       - The native size of the device, e.g. a sensor's pixel array.
45         ``left`` and ``top`` fields are zero for this target. Setting the
46         native size will generally only make sense for memory to memory
47         devices where the software can create a canvas of a given size in
48         which for example a video frame can be composed. In that case
49         V4L2_SEL_TGT_NATIVE_SIZE can be used to configure the size of
50         that canvas.
51       - Yes
52       - Yes
53     * - ``V4L2_SEL_TGT_COMPOSE``
54       - 0x0100
55       - Compose rectangle. Used to configure scaling and composition.
56       - Yes
57       - Yes
58     * - ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
59       - 0x0101
60       - Suggested composition rectangle that covers the "whole picture".
61       - Yes
62       - No
63     * - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
64       - 0x0102
65       - Bounds of the compose rectangle. All valid compose rectangles fit
66         inside the compose bounds rectangle.
67       - Yes
68       - Yes
69     * - ``V4L2_SEL_TGT_COMPOSE_PADDED``
70       - 0x0103
71       - The active area and all padding pixels that are inserted or
72         modified by hardware.
73       - Yes
74       - No