ysphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget@/translations/zh_CN/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/zh_TW/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/it_IT/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/ja_JP/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/ko_KR/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget@/translations/sp_SP/userspace-api/media/v4l/vidioc-subdev-g-cropmodnameN 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:spacepreserveuh1hhhhhhZ/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-crop.rsthKubhtarget)}(h.. _VIDIOC_SUBDEV_G_CROP:h]h}(h]h ]h"]h$]h&]refidvidioc-subdev-g-cropuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h0ioctl VIDIOC_SUBDEV_G_CROP, VIDIOC_SUBDEV_S_CROPh]h0ioctl VIDIOC_SUBDEV_G_CROP, VIDIOC_SUBDEV_S_CROP}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(h[VIDIOC_SUBDEV_G_CROP - VIDIOC_SUBDEV_S_CROP - Get or set the crop rectangle on a subdev padh]h[VIDIOC_SUBDEV_G_CROP - VIDIOC_SUBDEV_S_CROP - Get or set the crop rectangle 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_CROP (C macro)c.V4L.VIDIOC_SUBDEV_G_CROPhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_SUBDEV_G_CROPh]hdesc_signature_line)}(hVIDIOC_SUBDEV_G_CROPh]h desc_name)}(hVIDIOC_SUBDEV_G_CROPh]h desc_sig_name)}(hj+h]hVIDIOC_SUBDEV_G_CROP}(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)}(hJ``int ioctl(int fd, VIDIOC_SUBDEV_G_CROP, struct v4l2_subdev_crop *argp)``h]hliteral)}(hjh]hFint ioctl(int fd, VIDIOC_SUBDEV_G_CROP, struct v4l2_subdev_crop *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_CROP (C macro)c.V4L.VIDIOC_SUBDEV_S_CROPhNtauh1jhjhhhNhNubj#)}(hhh](j()}(hVIDIOC_SUBDEV_S_CROPh]j.)}(hVIDIOC_SUBDEV_S_CROPh]j4)}(hVIDIOC_SUBDEV_S_CROPh]j:)}(hjh]hVIDIOC_SUBDEV_S_CROP}(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)}(hP``int ioctl(int fd, VIDIOC_SUBDEV_S_CROP, const struct v4l2_subdev_crop *argp)``h]j)}(hjh]hLint ioctl(int fd, VIDIOC_SUBDEV_S_CROP, const struct v4l2_subdev_crop *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&]refdoc,userspace-api/media/v4l/vidioc-subdev-g-crop 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)}(h7``argp`` Pointer to struct :c:type:`v4l2_subdev_crop`. h](j)}(h``argp``h]j)}(hjh]hargp}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhK!hjubj8)}(hhh]h)}(h-Pointer to struct :c:type:`v4l2_subdev_crop`.h](hPointer to struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_crop`h]j)}(hjh]hv4l2_subdev_crop}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_cropuh1hhhhK!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$ubhnote)}(hThis is an :ref:`obsolete` interface and may be removed in the future. It is superseded by :ref:`the selection API `. No new extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.h]h)}(hThis is an :ref:`obsolete` interface and may be removed in the future. It is superseded by :ref:`the selection API `. No new extensions to the :c:type:`v4l2_subdev_crop` structure will be accepted.h](h This is an }(hj hhhNhNubh)}(h:ref:`obsolete`h]hinline)}(hjh]hobsolete}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainj#reftyperef refexplicitrefwarnjsobsoleteuh1hhhhK(hj ubhA interface and may be removed in the future. It is superseded by }(hj hhhNhNubh)}(h4:ref:`the selection API `h]j)}(hj;h]hthe selection API}(hj=hhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhj9ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjGreftyperef refexplicitrefwarnjsvidioc_subdev_g_selectionuh1hhhhK(hj ubh. No new extensions to the }(hj hhhNhNubh)}(h:c:type:`v4l2_subdev_crop`h]j)}(hj_h]hv4l2_subdev_crop}(hjahhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_cropuh1hhhhK(hj ubh structure will be accepted.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK(hjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubh)}(hXTo retrieve the current crop rectangle applications set the ``pad`` field of a struct :c:type:`v4l2_subdev_crop` to the desired pad number as reported by the media API and the ``which`` field to ``V4L2_SUBDEV_FORMAT_ACTIVE``. They then call the ``VIDIOC_SUBDEV_G_CROP`` ioctl with a pointer to this structure. The driver fills the members of the ``rect`` field or returns ``EINVAL`` error code if the input arguments are invalid, or if cropping is not supported on the given pad.h](hApplications can query the device capabilities by setting the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to }(hjhhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_TRY``h]hV4L2_SUBDEV_FORMAT_TRY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhX. When set, ‘try’ crop rectangles are not applied to the device by the driver, but are mangled exactly as active crop rectangles and stored in the sub-device file handle. Two applications querying the same sub-device would thus not interact with each other.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK>hjhhubh)}(hIf the subdev device node has been registered in read-only mode, calls to ``VIDIOC_SUBDEV_S_CROP`` 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 }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_S_CROP``h]hVIDIOC_SUBDEV_S_CROP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh are only valid if the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field is set to }(hjhhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_TRY``h]hV4L2_SUBDEV_FORMAT_TRY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhB, otherwise an error is returned and the errno variable is set to }(hjhhhNhNubj)}(h ``-EPERM``h]h-EPERM}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKEhjhhubh)}(hXDrivers must not return an error solely because the requested crop rectangle doesn't match the device capabilities. They must instead modify the rectangle to match what the hardware can provide. The modified format should be as close as possible to the original request.h]hXDrivers must not return an error solely because the requested crop rectangle doesn’t match the device capabilities. They must instead modify the rectangle to match what the hardware can provide. The modified format should be as close as possible to the original request.}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_subdev_crop (C type)c.V4L.v4l2_subdev_crophNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_subdev_croph]j.)}(htype v4l2_subdev_croph](hdesc_sig_keyword)}(htypeh]htype}(hjehhhNhNubah}(h]h ]kah"]h$]h&]uh1jchj_hhhhhKOubhdesc_sig_space)}(h h]h }(hjvhhhNhNubah}(h]h ]wah"]h$]h&]uh1jthj_hhhhhKOubj4)}(hv4l2_subdev_croph]j:)}(hj]h]hv4l2_subdev_crop}(hjhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hj_hhhhhKOubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj[hhhhhKOubah}(h]jVah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKOhjXhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjXhhhhhKOubeh}(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}|uh1jhhhKQhjhhubhtable)}(hhh](h)}(hstruct v4l2_subdev_croph]hstruct v4l2_subdev_crop}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKShjubhtgroup)}(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&]uh1hhhhKXhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``pad``h]j)}(hj%h]hpad}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj#ubah}(h]h ]h"]h$]h&]uh1hhhhKYhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h.Pad number as reported by the media framework.h]h.Pad number as reported by the media framework.}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKZhj@ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hj`ubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(h ``which``h]j)}(hj|h]hwhich}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]uh1hhhhK\hjwubah}(h]h ]h"]h$]h&]uh1jhj]ubj)}(hhh]h)}(heCrop rectangle to get or set, from enum :ref:`v4l2_subdev_format_whence `.h](h(Crop rectangle to get or set, from enum }(hjhhhNhNubh)}(h<:ref:`v4l2_subdev_format_whence `h]j)}(hjh]hv4l2_subdev_format_whence}(hjhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjreftyperef refexplicitrefwarnjsv4l2-subdev-format-whenceuh1hhhhK]hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhj]ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1jhjubj)}(hhh]h)}(h``rect``h]j)}(hjh]hrect}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK`hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h%Crop rectangle boundaries, in pixels.h]h%Crop rectangle boundaries, in pixels.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKahj1ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjThhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKbhjQubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(h ``stream``h]j)}(hjmh]hstream}(hjohhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkubah}(h]h ]h"]h$]h&]uh1hhhhKchjhubah}(h]h ]h"]h$]h&]uh1jhjNubj)}(hhh]h)}(hStream identifier.h]hStream identifier.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjNubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhKfhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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&]uh1hhhhKghjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKkubh)}(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 }(hj.hhhNhNubj)}(h ``errno``h]herrno}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj.ubhM variable is set appropriately. The generic error codes are described at the }(hj.hhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hjJh]hGeneric Error Codes}(hjLhhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jhjHubah}(h]h ]h"]h$]h&]refdocj^ refdomainjVreftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKmhj.ubh chapter.}(hj.hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKmhjhhubj)}(hhh](j)}(hXEBUSY The crop 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_CROP`` h](j)}(hEBUSYh]hEBUSY}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKvhjuubj8)}(hhh]h)}(hXThe crop 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_CROP``h](hThe crop 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_CROP``h]hVIDIOC_SUBDEV_S_CROP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1j7hjuubeh}(h]h ]h"]h$]h&]uh1jhhhKvhjrubj)}(hEINVAL The struct :c:type:`v4l2_subdev_crop` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or cropping is not supported on the given subdev pad. h](j)}(hEINVALh]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK{hjubj8)}(hhh]h)}(hThe struct :c:type:`v4l2_subdev_crop` ``pad`` references a non-existing pad, the ``which`` field has an unsupported value, or cropping is not supported on the given subdev pad.h](h The struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_crop`h]j)}(hjh]hv4l2_subdev_crop}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_cropuh1hhhhKyhjubh }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ references a non-existing pad, the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhV field has an unsupported value, or cropping is not supported on the given subdev pad.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1j7hjubeh}(h]h ]h"]h$]h&]uh1jhhhK{hjrhhubj)}(hEPERM The ``VIDIOC_SUBDEV_S_CROP`` ioctl has been called on a read-only subdevice and the ``which`` field is set to ``V4L2_SUBDEV_FORMAT_ACTIVE``.h](j)}(hEPERMh]hEPERM}(hj, hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhK~hj( ubj8)}(hhh]h)}(hThe ``VIDIOC_SUBDEV_S_CROP`` 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_CROP``h]hVIDIOC_SUBDEV_S_CROP}(hjE 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}(hjW hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj= ubh field is set to }(hj= hhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_ACTIVE``h]hV4L2_SUBDEV_FORMAT_ACTIVE}(hji hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj= ubh.}(hj= hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK~hj: ubah}(h]h ]h"]h$]h&]uh1j7hj( ubeh}(h]h ]h"]h$]h&]uh1jhhhK~hjrhhubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKkubeh}(h](/ioctl-vidioc-subdev-g-crop-vidioc-subdev-s-cropheh ]h"](0ioctl vidioc_subdev_g_crop, vidioc_subdev_s_cropvidioc_subdev_g_cropeh$]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_backlinksjfootnote_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 hhjjjjjjj j u nametypes}(j j hjjjj uh}(hhj hhhjjj j)jjjjjjjVj[j jjju 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-crop" is not referenced.}hj4 sbah}(h]h ]h"]h$]h&]uh1hhj1 ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1j/ uba transformerN include_log] decorationNhhub.