usphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftargetE/translations/zh_CN/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetE/translations/zh_TW/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetE/translations/it_IT/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetE/translations/ja_JP/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetE/translations/ko_KR/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftargetE/translations/sp_SP/userspace-api/media/v4l/vidioc-subdev-g-selectionmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-laterh]h8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhh_/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-selection.rsthKubhtarget)}(h.. _VIDIOC_SUBDEV_G_SELECTION:h]h}(h]h ]h"]h$]h&]refidvidioc-subdev-g-selectionuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h:ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTIONh]h:ioctl VIDIOC_SUBDEV_G_SELECTION, VIDIOC_SUBDEV_S_SELECTION}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hgVIDIOC_SUBDEV_G_SELECTION - VIDIOC_SUBDEV_S_SELECTION - Get or set selection rectangles on a subdev padh]hgVIDIOC_SUBDEV_G_SELECTION - VIDIOC_SUBDEV_S_SELECTION - Get or set selection rectangles on a subdev pad}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubeh}(h]nameah ]h"]nameah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(hSynopsish]hSynopsis}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](single'V4L.VIDIOC_SUBDEV_G_SELECTION (C macro)c.V4L.VIDIOC_SUBDEV_G_SELECTIONhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_SUBDEV_G_SELECTIONh]hdesc_signature_line)}(hVIDIOC_SUBDEV_G_SELECTIONh]h desc_name)}(hVIDIOC_SUBDEV_G_SELECTIONh]h desc_sig_name)}(hj+h]hVIDIOC_SUBDEV_G_SELECTION}(hj;hhhNhNubah}(h]h ]nah"]h$]h&]uh1j9hj5ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j3hj/hhhhhKubah}(h]h ]h"]h$]h&]hh add_permalinkuh1j-sphinx_line_type declaratorhj)hhhhhKubah}(h]j ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j'hhhKhj$hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj$hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjsobjtypejtdesctypejtnoindex noindexentrynocontentsentryuh1j"hhhjhNhNubh)}(hT``int ioctl(int fd, VIDIOC_SUBDEV_G_SELECTION, struct v4l2_subdev_selection *argp)``h]hliteral)}(hjh]hPint ioctl(int fd, VIDIOC_SUBDEV_G_SELECTION, struct v4l2_subdev_selection *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j'V4L.VIDIOC_SUBDEV_S_SELECTION (C macro)c.V4L.VIDIOC_SUBDEV_S_SELECTIONhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hVIDIOC_SUBDEV_S_SELECTIONh]j.)}(hVIDIOC_SUBDEV_S_SELECTIONh]j4)}(hVIDIOC_SUBDEV_S_SELECTIONh]j:)}(hjh]hVIDIOC_SUBDEV_S_SELECTION}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKubah}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKhjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKubeh}(h]h ](jsmacroeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubh)}(hT``int ioctl(int fd, VIDIOC_SUBDEV_S_SELECTION, struct v4l2_subdev_selection *argp)``h]j)}(hjh]hPint ioctl(int fd, VIDIOC_SUBDEV_S_SELECTION, struct v4l2_subdev_selection *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjhhubeh}(h]synopsisah ]h"]synopsisah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Argumentsh]h Arguments}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubhdefinition_list)}(hhh](hdefinition_list_item)}(h5``fd`` File descriptor returned by :c:func:`open()`. h](hterm)}(h``fd``h]j)}(hj"h]hfd}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hj<hhhNhNubh)}(h:c:func:`open()`h]j)}(hjFh]hopen()}(hjHhhhNhNubah}(h]h ](xrefjsc-funceh"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]refdoc1userspace-api/media/v4l/vidioc-subdev-g-selection refdomainjsreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]je ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhj<ubh.}(hj<hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj9ubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h<``argp`` Pointer to struct :c:type:`v4l2_subdev_selection`. h](j)}(h``argp``h]j)}(hjh]hargp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjubj8)}(hhh]h)}(h2Pointer to struct :c:type:`v4l2_subdev_selection`.h](hPointer to struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_selection`h]j)}(hjh]hv4l2_subdev_selection}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_selectionuh1hhhhK!hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK!hjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhK!hjhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h] argumentsah ]h"] argumentsah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK$ubh)}(hThe selections are used to configure various image processing functionality performed by the subdevs which affect the image size. This currently includes cropping, scaling and composition.h]hThe selections are used to configure various image processing functionality performed by the subdevs which affect the image size. This currently includes cropping, scaling and composition.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(hThe selection API replaces :ref:`the old subdev crop API `. All the function of the crop API, and more, are supported by the selections API.h](hThe selection API replaces }(hjhhhNhNubh)}(h5:ref:`the old subdev crop API `h]hinline)}(hjh]hthe old subdev crop API}(hj!hhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainj+reftyperef refexplicitrefwarnjsvidioc_subdev_g_cropuh1hhhhK*hjubhR. All the function of the crop API, and more, are supported by the selections API.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK*hjhhubh)}(hSee :ref:`subdev` for more information on how each selection target affects the image processing pipeline inside the subdevice.h](hSee }(hjGhhhNhNubh)}(h :ref:`subdev`h]j )}(hjQh]hsubdev}(hjShhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]refdocj^ refdomainj]reftyperef refexplicitrefwarnjssubdevuh1hhhhK.hjGubhn for more information on how each selection target affects the image processing pipeline inside the subdevice.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK.hjhhubh)}(hIf the subdev device node has been registered in read-only mode, calls to ``VIDIOC_SUBDEV_S_SELECTION`` are only valid if the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_TRY``, otherwise an error is returned and the errno variable is set to ``-EPERM``.h](hJIf the subdev device node has been registered in read-only mode, calls to }(hjyhhhNhNubj)}(h``VIDIOC_SUBDEV_S_SELECTION``h]hVIDIOC_SUBDEV_S_SELECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh are only valid if the }(hjyhhhNhNubj)}(h ``which``h]hwhich}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh field is set to }(hjyhhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_TRY``h]hV4L2_SUBDEV_FORMAT_TRY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubhB, otherwise an error is returned and the errno variable is set to }(hjyhhhNhNubj)}(h ``-EPERM``h]h-EPERM}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh.}(hjyhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK1hjhhubh)}(hhh](h)}(hTypes of selection targetsh]hTypes of selection targets}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK7ubh)}(hThere are two types of selection targets: actual and bounds. The actual targets are the targets which configure the hardware. The BOUNDS target will return a rectangle that contain all possible actual rectangles.h]hThere are two types of selection targets: actual and bounds. The actual targets are the targets which configure the hardware. The BOUNDS target will return a rectangle that contain all possible actual rectangles.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK9hjhhubeh}(h]types-of-selection-targetsah ]h"]types of selection targetsah$]h&]uh1hhjhhhhhK7ubh)}(hhh](h)}(hDiscovering supported featuresh]hDiscovering supported features}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK>ubh)}(hTo discover which targets are supported, the user can perform ``VIDIOC_SUBDEV_G_SELECTION`` on them. Any unsupported target will return ``EINVAL``.h](h>To discover which targets are supported, the user can perform }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_G_SELECTION``h]hVIDIOC_SUBDEV_G_SELECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh- on them. Any unsupported target will return }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK@hjhhubh)}(hLSelection targets and flags are documented in :ref:`v4l2-selections-common`.h](h.Selection targets and flags are documented in }(hj9hhhNhNubh)}(h:ref:`v4l2-selections-common`h]j )}(hjCh]hv4l2-selections-common}(hjEhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]refdocj^ refdomainjOreftyperef refexplicitrefwarnjsv4l2-selections-commonuh1hhhhKDhj9ubh.}(hj9hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKDhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](j"V4L.v4l2_subdev_selection (C type)c.V4L.v4l2_subdev_selectionhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_subdev_selectionh]j.)}(htype v4l2_subdev_selectionh](hdesc_sig_keyword)}(htypeh]htype}(hjhhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhhhKGubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhhhKGubj4)}(hv4l2_subdev_selectionh]j:)}(hj~h]hv4l2_subdev_selection}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKGubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj|hhhhhKGubah}(h]jwah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKGhjyhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjyhhhhhKGubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1jhhhKIhjhhubhtable)}(hhh](h)}(hstruct v4l2_subdev_selectionh]hstruct v4l2_subdev_selection}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubhtgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhjubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(h__u32h]h__u32}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhj*ubah}(h]h ]h"]h$]h&]uh1j(hj%ubj))}(hhh]h)}(h ``which``h]j)}(hjFh]hwhich}(hjHhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjDubah}(h]h ]h"]h$]h&]uh1hhhhKQhjAubah}(h]h ]h"]h$]h&]uh1j(hj%ubj))}(hhh]h)}(h`Active or try selection, from enum :ref:`v4l2_subdev_format_whence `.h](h#Active or try selection, from enum }(hjdhhhNhNubh)}(h<:ref:`v4l2_subdev_format_whence `h]j )}(hjnh]hv4l2_subdev_format_whence}(hjphhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjlubah}(h]h ]h"]h$]h&]refdocj^ refdomainjzreftyperef refexplicitrefwarnjsv4l2-subdev-format-whenceuh1hhhhKRhjdubh.}(hjdhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKRhjaubah}(h]h ]h"]h$]h&]uh1j(hj%ubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKThjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h``pad``h]j)}(hjh]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h.Pad number as reported by the media framework.h]h.Pad number as reported by the media framework.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h ``target``h]j)}(hjh]htarget}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h>Target selection rectangle. See :ref:`v4l2-selections-common`.h](h Target selection rectangle. See }(hj6hhhNhNubh)}(h:ref:`v4l2-selections-common`h]j )}(hj@h]hv4l2-selections-common}(hjBhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjLreftyperef refexplicitrefwarnjsv4l2-selections-commonuh1hhhhKYhj6ubh.}(hj6hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKYhj3ubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(h__u32h]h__u32}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhjwubah}(h]h ]h"]h$]h&]uh1j(hjtubj))}(hhh]h)}(h ``flags``h]j)}(hjh]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK[hjubah}(h]h ]h"]h$]h&]uh1j(hjtubj))}(hhh]h)}(h'Flags. See :ref:`v4l2-selection-flags`.h](h Flags. See }(hjhhhNhNubh)}(h:ref:`v4l2-selection-flags`h]j )}(hjh]hv4l2-selection-flags}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjsv4l2-selection-flagsuh1hhhhK\hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK\hjubah}(h]h ]h"]h$]h&]uh1j(hjtubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(hstruct :c:type:`v4l2_rect`h](hstruct }(hjhhhNhNubh)}(h:c:type:`v4l2_rect`h]j)}(hjh]h v4l2_rect}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjs v4l2_rectuh1hhhhK]hjubeh}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h``r``h]j)}(hj-h]hr}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj+ubah}(h]h ]h"]h$]h&]uh1hhhhK^hj(ubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(hSelection rectangle, in pixels.h]hSelection rectangle, in pixels.}(hjKhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjHubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(h__u32h]h__u32}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hjhubah}(h]h ]h"]h$]h&]uh1j(hjeubj))}(hhh]h)}(h ``stream``h]j)}(hjh]hstream}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKahjubah}(h]h ]h"]h$]h&]uh1j(hjeubj))}(hhh]h)}(hStream identifier.h]hStream identifier.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjubah}(h]h ]h"]h$]h&]uh1j(hjeubeh}(h]h ]h"]h$]h&]uh1j#hj ubj$)}(hhh](j))}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(h``reserved``\ [7]h](j)}(h ``reserved``h]hreserved}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [7]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1j(hjubj))}(hhh]h)}(hTReserved for future extensions. Applications and drivers must set the array to zero.h]hTReserved for future extensions. Applications and drivers must set the array to zero.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1j(hjubeh}(h]h ]h"]h$]h&]uh1j#hj ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubeh}(h]discovering-supported-featuresah ]h"]discovering supported featuresah$]h&]uh1hhjhhhhhK>ubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj?hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj<hhhhhKiubh)}(hOn success 0 is returned, on error -1 and the ``errno`` variable is set appropriately. The generic error codes are described at the :ref:`Generic Error Codes ` chapter.h](h.On success 0 is returned, on error -1 and the }(hjMhhhNhNubj)}(h ``errno``h]herrno}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjMubhM variable is set appropriately. The generic error codes are described at the }(hjMhhhNhNubh)}(h':ref:`Generic Error Codes `h]j )}(hjih]hGeneric Error Codes}(hjkhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]refdocj^ refdomainjureftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKkhjMubh chapter.}(hjMhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKkhj<hhubj)}(hhh](j)}(hX#EBUSY The selection rectangle can't be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by ``VIDIOC_SUBDEV_S_SELECTION`` h](j)}(hEBUSYh]hEBUSY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKthjubj8)}(hhh]h)}(hXThe selection rectangle can't be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by ``VIDIOC_SUBDEV_S_SELECTION``h](hXThe selection rectangle can’t be changed because the pad is currently busy. This can be caused, for instance, by an active video stream on the pad. The ioctl must not be retried without performing another action to fix the problem first. Only returned by }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_S_SELECTION``h]hVIDIOC_SUBDEV_S_SELECTION}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKthjubj)}(hEINVAL The struct :c:type:`v4l2_subdev_selection` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or the selection target is not supported on the given subdev pad. h](j)}(hEINVALh]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKyhjubj8)}(hhh]h)}(hThe struct :c:type:`v4l2_subdev_selection` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or the selection target is not supported on the given subdev pad.h](h The struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_selection`h]j)}(hjh]hv4l2_subdev_selection}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_selectionuh1hhhhKwhjubh }(hjhhhNhNubj)}(h``pad``h]hpad}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ references a non-existing pad, the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hj# hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhb field has an unsupported value, or the selection target is not supported on the given subdev pad.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhKyhjhhubj)}(hEPERM The ``VIDIOC_SUBDEV_S_SELECTION`` ioctl has been called on a read-only subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.h](j)}(hEPERMh]hEPERM}(hjK hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK|hjG ubj8)}(hhh]h)}(hThe ``VIDIOC_SUBDEV_S_SELECTION`` ioctl has been called on a read-only subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.h](hThe }(hj\ hhhNhNubj)}(h``VIDIOC_SUBDEV_S_SELECTION``h]hVIDIOC_SUBDEV_S_SELECTION}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ ubh8 ioctl has been called on a read-only subdevice and the }(hj\ hhhNhNubj)}(h ``which``h]hwhich}(hjv hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ ubh field is set to }(hj\ hhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_ACTIVE``h]hV4L2_SUBDEV_FORMAT_ACTIVE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj\ ubh.}(hj\ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK|hjY ubah}(h]h ]h"]h$]h&]uh1j7hjG ubeh}(h]h ]h"]h$]h&]uh1jhhhK|hjhhubeh}(h]h ]h"]h$]h&]uh1jhj<hhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKiubeh}(h](9ioctl-vidioc-subdev-g-selection-vidioc-subdev-s-selectionheh ]h"](:ioctl vidioc_subdev_g_selection, vidioc_subdev_s_selectionvidioc_subdev_g_selectioneh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}j hsexpect_referenced_by_id}hhsubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksj(footnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerj error_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}h]hasnameids}(j hj j hhjjjjj9j6jjj1j.j j u nametypes}(j j hjjj9jj1j uh}(hhj hhhjjj j)jjjjj6jjjj.jjwj|j j<j'ju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j KsRparse_messages]transform_messages]hsystem_message)}(hhh]h)}(hhh]h?Hyperlink target "vidioc-subdev-g-selection" is not referenced.}hjS sbah}(h]h ]h"]h$]h&]uh1hhjP ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jN uba transformerN include_log] decorationNhhub.