~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rst (Architecture alpha) and /Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rst (Architecture i386)


  1 .. SPDX-License-Identifier: GFDL-1.1-no-invari      1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
  2 .. c:namespace:: V4L                                2 .. c:namespace:: V4L
  3                                                     3 
  4 .. _VIDIOC_SUBDEV_G_SELECTION:                      4 .. _VIDIOC_SUBDEV_G_SELECTION:
  5                                                     5 
  6 **********************************************      6 **********************************************************
  7 ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV      7 ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION
  8 **********************************************      8 **********************************************************
  9                                                     9 
 10 Name                                               10 Name
 11 ====                                               11 ====
 12                                                    12 
 13 VIDIOC_SUBDEV_G_SELECTION - VIDIOC_SUBDEV_S_SE     13 VIDIOC_SUBDEV_G_SELECTION - VIDIOC_SUBDEV_S_SELECTION - Get or set selection rectangles on a subdev pad
 14                                                    14 
 15 Synopsis                                           15 Synopsis
 16 ========                                           16 ========
 17                                                    17 
 18 .. c:macro:: VIDIOC_SUBDEV_G_SELECTION             18 .. c:macro:: VIDIOC_SUBDEV_G_SELECTION
 19                                                    19 
 20 ``int ioctl(int fd, VIDIOC_SUBDEV_G_SELECTION,     20 ``int ioctl(int fd, VIDIOC_SUBDEV_G_SELECTION, struct v4l2_subdev_selection *argp)``
 21                                                    21 
 22 .. c:macro:: VIDIOC_SUBDEV_S_SELECTION             22 .. c:macro:: VIDIOC_SUBDEV_S_SELECTION
 23                                                    23 
 24 ``int ioctl(int fd, VIDIOC_SUBDEV_S_SELECTION,     24 ``int ioctl(int fd, VIDIOC_SUBDEV_S_SELECTION, struct v4l2_subdev_selection *argp)``
 25                                                    25 
 26 Arguments                                          26 Arguments
 27 =========                                          27 =========
 28                                                    28 
 29 ``fd``                                             29 ``fd``
 30     File descriptor returned by :c:func:`open(     30     File descriptor returned by :c:func:`open()`.
 31                                                    31 
 32 ``argp``                                           32 ``argp``
 33     Pointer to struct :c:type:`v4l2_subdev_sel     33     Pointer to struct :c:type:`v4l2_subdev_selection`.
 34                                                    34 
 35 Description                                        35 Description
 36 ===========                                        36 ===========
 37                                                    37 
 38 The selections are used to configure various i     38 The selections are used to configure various image processing
 39 functionality performed by the subdevs which a     39 functionality performed by the subdevs which affect the image size. This
 40 currently includes cropping, scaling and compo     40 currently includes cropping, scaling and composition.
 41                                                    41 
 42 The selection API replaces                         42 The selection API replaces
 43 :ref:`the old subdev crop API <VIDIOC_SUBDEV_G     43 :ref:`the old subdev crop API <VIDIOC_SUBDEV_G_CROP>`. All the
 44 function of the crop API, and more, are suppor     44 function of the crop API, and more, are supported by the selections API.
 45                                                    45 
 46 See :ref:`subdev` for more information on how      46 See :ref:`subdev` for more information on how each selection target
 47 affects the image processing pipeline inside t     47 affects the image processing pipeline inside the subdevice.
 48                                                    48 
 49 If the subdev device node has been registered      49 If the subdev device node has been registered in read-only mode, calls to
 50 ``VIDIOC_SUBDEV_S_SELECTION`` are only valid i     50 ``VIDIOC_SUBDEV_S_SELECTION`` are only valid if the ``which`` field is set to
 51 ``V4L2_SUBDEV_FORMAT_TRY``, otherwise an error     51 ``V4L2_SUBDEV_FORMAT_TRY``, otherwise an error is returned and the errno
 52 variable is set to ``-EPERM``.                     52 variable is set to ``-EPERM``.
 53                                                    53 
 54 Types of selection targets                         54 Types of selection targets
 55 --------------------------                         55 --------------------------
 56                                                    56 
 57 There are two types of selection targets: actu     57 There are two types of selection targets: actual and bounds. The actual
 58 targets are the targets which configure the ha     58 targets are the targets which configure the hardware. The BOUNDS target
 59 will return a rectangle that contain all possi     59 will return a rectangle that contain all possible actual rectangles.
 60                                                    60 
 61 Discovering supported features                     61 Discovering supported features
 62 ------------------------------                     62 ------------------------------
 63                                                    63 
 64 To discover which targets are supported, the u     64 To discover which targets are supported, the user can perform
 65 ``VIDIOC_SUBDEV_G_SELECTION`` on them. Any uns     65 ``VIDIOC_SUBDEV_G_SELECTION`` on them. Any unsupported target will
 66 return ``EINVAL``.                                 66 return ``EINVAL``.
 67                                                    67 
 68 Selection targets and flags are documented in      68 Selection targets and flags are documented in
 69 :ref:`v4l2-selections-common`.                     69 :ref:`v4l2-selections-common`.
 70                                                    70 
 71 .. c:type:: v4l2_subdev_selection                  71 .. c:type:: v4l2_subdev_selection
 72                                                    72 
 73 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm     73 .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.5cm}|
 74                                                    74 
 75 .. flat-table:: struct v4l2_subdev_selection       75 .. flat-table:: struct v4l2_subdev_selection
 76     :header-rows:  0                               76     :header-rows:  0
 77     :stub-columns: 0                               77     :stub-columns: 0
 78     :widths:       1 1 2                           78     :widths:       1 1 2
 79                                                    79 
 80     * - __u32                                      80     * - __u32
 81       - ``which``                                  81       - ``which``
 82       - Active or try selection, from enum         82       - Active or try selection, from enum
 83         :ref:`v4l2_subdev_format_whence <v4l2-     83         :ref:`v4l2_subdev_format_whence <v4l2-subdev-format-whence>`.
 84     * - __u32                                      84     * - __u32
 85       - ``pad``                                    85       - ``pad``
 86       - Pad number as reported by the media fr     86       - Pad number as reported by the media framework.
 87     * - __u32                                      87     * - __u32
 88       - ``target``                                 88       - ``target``
 89       - Target selection rectangle. See :ref:`     89       - Target selection rectangle. See :ref:`v4l2-selections-common`.
 90     * - __u32                                      90     * - __u32
 91       - ``flags``                                  91       - ``flags``
 92       - Flags. See :ref:`v4l2-selection-flags`     92       - Flags. See :ref:`v4l2-selection-flags`.
 93     * - struct :c:type:`v4l2_rect`                 93     * - struct :c:type:`v4l2_rect`
 94       - ``r``                                      94       - ``r``
 95       - Selection rectangle, in pixels.            95       - Selection rectangle, in pixels.
 96     * - __u32                                      96     * - __u32
 97       - ``stream``                                 97       - ``stream``
 98       - Stream identifier.                         98       - Stream identifier.
 99     * - __u32                                      99     * - __u32
100       - ``reserved``\ [7]                         100       - ``reserved``\ [7]
101       - Reserved for future extensions. Applic    101       - Reserved for future extensions. Applications and drivers must set
102         the array to zero.                        102         the array to zero.
103                                                   103 
104 Return Value                                      104 Return Value
105 ============                                      105 ============
106                                                   106 
107 On success 0 is returned, on error -1 and the     107 On success 0 is returned, on error -1 and the ``errno`` variable is set
108 appropriately. The generic error codes are des    108 appropriately. The generic error codes are described at the
109 :ref:`Generic Error Codes <gen-errors>` chapte    109 :ref:`Generic Error Codes <gen-errors>` chapter.
110                                                   110 
111 EBUSY                                             111 EBUSY
112     The selection rectangle can't be changed b    112     The selection rectangle can't be changed because the pad is
113     currently busy. This can be caused, for in    113     currently busy. This can be caused, for instance, by an active video
114     stream on the pad. The ioctl must not be r    114     stream on the pad. The ioctl must not be retried without performing
115     another action to fix the problem first. O    115     another action to fix the problem first. Only returned by
116     ``VIDIOC_SUBDEV_S_SELECTION``                 116     ``VIDIOC_SUBDEV_S_SELECTION``
117                                                   117 
118 EINVAL                                            118 EINVAL
119     The struct :c:type:`v4l2_subdev_selection`    119     The struct :c:type:`v4l2_subdev_selection` ``pad`` references a
120     non-existing pad, the ``which`` field has     120     non-existing pad, the ``which`` field has an unsupported value, or the
121     selection target is not supported on the g    121     selection target is not supported on the given subdev pad.
122                                                   122 
123 EPERM                                             123 EPERM
124     The ``VIDIOC_SUBDEV_S_SELECTION`` ioctl ha    124     The ``VIDIOC_SUBDEV_S_SELECTION`` ioctl has been called on a read-only
125     subdevice and the ``which`` field is set t    125     subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php