€•TnŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ9/translations/zh_CN/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/zh_TW/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/it_IT/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/ja_JP/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/ko_KR/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/pt_BR/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ9/translations/sp_SP/userspace-api/media/v4l/vidioc-g-crop”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…””}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒS/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-g-crop.rst”h´KubhŒtarget”“”)”}”(hŒ.. _VIDIOC_G_CROP:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ vidioc-g-crop”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ"ioctl VIDIOC_G_CROP, VIDIOC_S_CROP”h]”hŒ"ioctl VIDIOC_G_CROP, VIDIOC_S_CROP”…””}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒName”h]”hŒName”…””}”(hhîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhëh²hh³hÇh´K ubhŒ paragraph”“”)”}”(hŒIVIDIOC_G_CROP - VIDIOC_S_CROP - Get or set the current cropping rectangle”h]”hŒIVIDIOC_G_CROP - VIDIOC_S_CROP - Get or set the current cropping rectangle”…””}”(hhþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K hhëh²hubeh}”(h]”Œname”ah ]”h"]”Œname”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K ubh×)”}”(hhh]”(hÜ)”}”(hŒSynopsis”h]”hŒSynopsis”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjh²hh³hÇh´KubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”ŒV4L.VIDIOC_G_CROP (C macro)”Œc.V4L.VIDIOC_G_CROP”hNt”auh1j%hjh²hh³Nh´NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒ VIDIOC_G_CROP”h]”hŒdesc_signature_line”“”)”}”(hŒ VIDIOC_G_CROP”h]”hŒ desc_name”“”)”}”(hŒ VIDIOC_G_CROP”h]”hŒ desc_sig_name”“”)”}”(hj?h]”hŒ VIDIOC_G_CROP”…””}”(hjOh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jMhjIubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jGhjCh²hh³hÇh´Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1jAŒsphinx_line_type”Œ declarator”hj=h²hh³hÇh´Kubah}”(h]”j4ah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1j;h³hÇh´Khj8h²hubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jyhj8h²hh³hÇh´Kubeh}”(h]”h ]”(Œc”Œmacro”eh"]”h$]”h&]”Œdomain”j‡Œobjtype”jˆŒdesctype”jˆŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1j6h²hhjh³Nh´Nubhý)”}”(hŒ<``int ioctl(int fd, VIDIOC_G_CROP, struct v4l2_crop *argp)``”h]”hŒliteral”“”)”}”(hj”h]”hŒ8int ioctl(int fd, VIDIOC_G_CROP, struct v4l2_crop *argp)”…””}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khjh²hubj&)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j2ŒV4L.VIDIOC_S_CROP (C macro)”Œc.V4L.VIDIOC_S_CROP”hNt”auh1j%hjh²hh³Nh´Nubj7)”}”(hhh]”(j<)”}”(hŒ VIDIOC_S_CROP”h]”jB)”}”(hŒ VIDIOC_S_CROP”h]”jH)”}”(hŒ VIDIOC_S_CROP”h]”jN)”}”(hj¾h]”hŒ VIDIOC_S_CROP”…””}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jYah"]”h$]”h&]”uh1jMhjÄubah}”(h]”h ]”(j`jaeh"]”h$]”h&]”hÅhÆuh1jGhjÀh²hh³hÇh´Kubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆjkˆuh1jAjljmhj¼h²hh³hÇh´Kubah}”(h]”j·ah ]”(jqjreh"]”h$]”h&]”jvˆjw)jxhuh1j;h³hÇh´Khj¹h²hubjz)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jyhj¹h²hh³hÇh´Kubeh}”(h]”h ]”(j‡Œmacro”eh"]”h$]”h&]”jŒj‡jjójŽjój‰j‰j‘‰uh1j6h²hhjh³Nh´Nubhý)”}”(hŒB``int ioctl(int fd, VIDIOC_S_CROP, const struct v4l2_crop *argp)``”h]”j—)”}”(hjùh]”hŒ>int ioctl(int fd, VIDIOC_S_CROP, const struct v4l2_crop *argp)”…””}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Khjh²hubeh}”(h]”Œsynopsis”ah ]”h"]”Œsynopsis”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒ Arguments”h]”hŒ Arguments”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjh²hh³hÇh´KubhŒdefinition_list”“”)”}”(hhh]”(hŒdefinition_list_item”“”)”}”(hŒ5``fd`` File descriptor returned by :c:func:`open()`. ”h]”(hŒterm”“”)”}”(hŒ``fd``”h]”j—)”}”(hj6h]”hŒfd”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´Khj.ubhŒ definition”“”)”}”(hhh]”hý)”}”(hŒ-File descriptor returned by :c:func:`open()`.”h]”(hŒFile descriptor returned by ”…””}”(hjPh²hh³Nh´Nubh)”}”(hŒ:c:func:`open()`”h]”j—)”}”(hjZh]”hŒopen()”…””}”(hj\h²hh³Nh´Nubah}”(h]”h ]”(Œxref”j‡Œc-func”eh"]”h$]”h&]”uh1j–hjXubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ%userspace-api/media/v4l/vidioc-g-crop”Œ refdomain”j‡Œreftype”Œfunc”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”jyŒ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œopen”uh1hh³hÇh´KhjPubhŒ.”…””}”(hjPh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´Khj)ubj-)”}”(hŒ0``argp`` Pointer to struct :c:type:`v4l2_crop`. ”h]”(j3)”}”(hŒ``argp``”h]”j—)”}”(hj¥h]”hŒargp”…””}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj£ubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´K!hjŸubjL)”}”(hhh]”hý)”}”(hŒ&Pointer to struct :c:type:`v4l2_crop`.”h]”(hŒPointer to struct ”…””}”(hj½h²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_crop`”h]”j—)”}”(hjÇh]”hŒ v4l2_crop”…””}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hjÅubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_crop”uh1hh³hÇh´K!hj½ubhŒ.”…””}”(hj½h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K!hjºubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´K!hj)h²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1j'hjh²hh³hÇh´Nubeh}”(h]”Œ arguments”ah ]”h"]”Œ arguments”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒ Description”h]”hŒ Description”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjh²hh³hÇh´K$ubhý)”}”(hXnTo query the cropping rectangle size and position applications set the ``type`` field of a struct :c:type:`v4l2_crop` structure to the respective buffer (stream) type and call the :ref:`VIDIOC_G_CROP ` ioctl with a pointer to this structure. The driver fills the rest of the structure or returns the ``EINVAL`` error code if cropping is not supported.”h]”(hŒGTo query the cropping rectangle size and position applications set the ”…””}”(hjh²hh³Nh´Nubj—)”}”(hŒ``type``”h]”hŒtype”…””}”(hj!h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubhŒ field of a struct ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_crop`”h]”j—)”}”(hj5h]”hŒ v4l2_crop”…””}”(hj7h²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hj3ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_crop”uh1hh³hÇh´K&hjubhŒ? structure to the respective buffer (stream) type and call the ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_G_CROP `”h]”hŒinline”“”)”}”(hjXh]”hŒ VIDIOC_G_CROP”…””}”(hj\h²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhjVubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”jfŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ vidioc_g_crop”uh1hh³hÇh´K&hjubhŒc ioctl with a pointer to this structure. The driver fills the rest of the structure or returns the ”…””}”(hjh²hh³Nh´Nubj—)”}”(hŒ ``EINVAL``”h]”hŒEINVAL”…””}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjubhŒ) error code if cropping is not supported.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K&hjh²hubhý)”}”(hŒðTo change the cropping rectangle applications initialize the ``type`` and struct :c:type:`v4l2_rect` substructure named ``c`` of a v4l2_crop structure and call the :ref:`VIDIOC_S_CROP ` ioctl with a pointer to this structure.”h]”(hŒ=To change the cropping rectangle applications initialize the ”…””}”(hj”h²hh³Nh´Nubj—)”}”(hŒ``type``”h]”hŒtype”…””}”(hjœh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj”ubhŒ and struct ”…””}”(hj”h²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_rect`”h]”j—)”}”(hj°h]”hŒ v4l2_rect”…””}”(hj²h²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hj®ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_rect”uh1hh³hÇh´K,hj”ubhŒ substructure named ”…””}”(hj”h²hh³Nh´Nubj—)”}”(hŒ``c``”h]”hŒc”…””}”(hjÑh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj”ubhŒ' of a v4l2_crop structure and call the ”…””}”(hj”h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_S_CROP `”h]”j[)”}”(hjåh]”hŒ VIDIOC_S_CROP”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhjãubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”jñŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ vidioc_g_crop”uh1hh³hÇh´K,hj”ubhŒ( ioctl with a pointer to this structure.”…””}”(hj”h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K,hjh²hubhý)”}”(hX|The driver first adjusts the requested dimensions against hardware limits, i. e. the bounds given by the capture/output window, and it rounds to the closest possible values of horizontal and vertical offset, width and height. In particular the driver must round the vertical offset of the cropping rectangle to frame lines modulo two, such that the field order cannot be confused.”h]”hX|The driver first adjusts the requested dimensions against hardware limits, i. e. the bounds given by the capture/output window, and it rounds to the closest possible values of horizontal and vertical offset, width and height. In particular the driver must round the vertical offset of the cropping rectangle to frame lines modulo two, such that the field order cannot be confused.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K1hjh²hubhý)”}”(hŒíSecond the driver adjusts the image size (the opposite rectangle of the scaling process, source or target depending on the data direction) to the closest size possible while maintaining the current horizontal and vertical scaling factor.”h]”hŒíSecond the driver adjusts the image size (the opposite rectangle of the scaling process, source or target depending on the data direction) to the closest size possible while maintaining the current horizontal and vertical scaling factor.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K8hjh²hubhý)”}”(hXÈFinally the driver programs the hardware with the actual cropping and image parameters. :ref:`VIDIOC_S_CROP ` is a write-only ioctl, it does not return the actual parameters. To query them applications must call :ref:`VIDIOC_G_CROP ` and :ref:`VIDIOC_G_FMT`. When the parameters are unsuitable the application may modify the cropping or image parameters and repeat the cycle until satisfactory parameters have been negotiated.”h]”(hŒXFinally the driver programs the hardware with the actual cropping and image parameters. ”…””}”(hj)h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_S_CROP `”h]”j[)”}”(hj3h]”hŒ VIDIOC_S_CROP”…””}”(hj5h²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhj1ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j?Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ vidioc_g_crop”uh1hh³hÇh´K=hj)ubhŒg is a write-only ioctl, it does not return the actual parameters. To query them applications must call ”…””}”(hj)h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_G_CROP `”h]”j[)”}”(hjWh]”hŒ VIDIOC_G_CROP”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhjUubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”jcŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ vidioc_g_crop”uh1hh³hÇh´K=hj)ubhŒ and ”…””}”(hj)h²hh³Nh´Nubh)”}”(hŒ:ref:`VIDIOC_G_FMT`”h]”j[)”}”(hj{h]”hŒ VIDIOC_G_FMT”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhjyubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆj‡Œ vidioc_g_fmt”uh1hh³hÇh´K=hj)ubhŒ©. When the parameters are unsuitable the application may modify the cropping or image parameters and repeat the cycle until satisfactory parameters have been negotiated.”…””}”(hj)h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K=hjh²hubhý)”}”(hŒ‰When cropping is not supported then no parameters are changed and :ref:`VIDIOC_S_CROP ` returns the ``EINVAL`` error code.”h]”(hŒBWhen cropping is not supported then no parameters are changed and ”…””}”(hj£h²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_S_CROP `”h]”j[)”}”(hj­h]”hŒ VIDIOC_S_CROP”…””}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhj«ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j¹Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ vidioc_g_crop”uh1hh³hÇh´KEhj£ubhŒ returns the ”…””}”(hj£h²hh³Nh´Nubj—)”}”(hŒ ``EINVAL``”h]”hŒEINVAL”…””}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj£ubhŒ error code.”…””}”(hj£h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KEhjh²hubj&)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(j2ŒV4L.v4l2_crop (C type)”Œc.V4L.v4l2_crop”hNt”auh1j%hjh²hh³Nh´Nubj7)”}”(hhh]”(j<)”}”(hŒ v4l2_crop”h]”jB)”}”(hŒtype v4l2_crop”h]”(hŒdesc_sig_keyword”“”)”}”(hŒtype”h]”hŒtype”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jhjüh²hh³hÇh´KHubhŒdesc_sig_space”“”)”}”(hŒ ”h]”hŒ ”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhjüh²hh³hÇh´KHubjH)”}”(hŒ v4l2_crop”h]”jN)”}”(hjúh]”hŒ v4l2_crop”…””}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jYah"]”h$]”h&]”uh1jMhj"ubah}”(h]”h ]”(j`jaeh"]”h$]”h&]”hÅhÆuh1jGhjüh²hh³hÇh´KHubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjkˆuh1jAjljmhjøh²hh³hÇh´KHubah}”(h]”jóah ]”(jqjreh"]”h$]”h&]”jvˆjw)jxhuh1j;h³hÇh´KHhjõh²hubjz)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1jyhjõh²hh³hÇh´KHubeh}”(h]”h ]”(j‡Œtype”eh"]”h$]”h&]”jŒj‡jjQjŽjQj‰j‰j‘‰uh1j6h²hhjh³Nh´NubhŒtabular_col_spec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œspec”Œ|p{4.4cm}|p{4.4cm}|p{8.5cm}|”uh1jUh³hÇh´KJhjh²hubhŒtable”“”)”}”(hhh]”(hÜ)”}”(hŒstruct v4l2_crop”h]”hŒstruct v4l2_crop”…””}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛh³hÇh´KLhjdubhŒtgroup”“”)”}”(hhh]”(hŒcolspec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jzhjwubj{)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jzhjwubj{)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1jzhjwubhŒtbody”“”)”}”(hhh]”(hŒrow”“”)”}”(hhh]”(hŒentry”“”)”}”(hhh]”hý)”}”(hŒ__u32”h]”hŒ__u32”…””}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KQhj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj¡ubj¥)”}”(hhh]”hý)”}”(hŒ``type``”h]”j—)”}”(hjÂh]”hŒtype”…””}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KRhj½ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj¡ubj¥)”}”(hhh]”hý)”}”(hX5Type of the data stream, set by the application. Only these types are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``, ``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``, ``V4L2_BUF_TYPE_VIDEO_OUTPUT``, ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE`` and ``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type` and the note below.”h]”(hŒRType of the data stream, set by the application. Only these types are valid here: ”…””}”(hjàh²hh³Nh´Nubj—)”}”(hŒ``V4L2_BUF_TYPE_VIDEO_CAPTURE``”h]”hŒV4L2_BUF_TYPE_VIDEO_CAPTURE”…””}”(hjèh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjàubhŒ, ”…””}”(hjàh²hh³Nh´Nubj—)”}”(hŒ&``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``”h]”hŒ"V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE”…””}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjàubhŒ, ”…””}”(hjàh²hh³Nh´Nubj—)”}”(hŒ``V4L2_BUF_TYPE_VIDEO_OUTPUT``”h]”hŒV4L2_BUF_TYPE_VIDEO_OUTPUT”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjàubhŒ, ”…””}”hjàsbj—)”}”(hŒ%``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``”h]”hŒ!V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjàubhŒ and ”…””}”(hjàh²hh³Nh´Nubj—)”}”(hŒ``V4L2_BUF_TYPE_VIDEO_OVERLAY``”h]”hŒV4L2_BUF_TYPE_VIDEO_OVERLAY”…””}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjàubhŒ. See ”…””}”(hjàh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_buf_type`”h]”j—)”}”(hjDh]”hŒ v4l2_buf_type”…””}”(hjFh²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hjBubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_buf_type”uh1hh³hÇh´KShjàubhŒ and the note below.”…””}”(hjàh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KShjÝubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj¡ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸhjœubj )”}”(hhh]”(j¥)”}”(hhh]”hý)”}”(hŒstruct :c:type:`v4l2_rect`”h]”(hŒstruct ”…””}”(hj}h²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_rect`”h]”j—)”}”(hj‡h]”hŒ v4l2_rect”…””}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hj…ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_rect”uh1hh³hÇh´KWhj}ubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KWhjzubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjwubj¥)”}”(hhh]”hý)”}”(hŒ``c``”h]”j—)”}”(hjµh]”hŒc”…””}”(hj·h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj³ubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KXhj°ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjwubj¥)”}”(hhh]”hý)”}”(hŒhCropping rectangle. The same co-ordinate system as for struct :c:type:`v4l2_cropcap` ``bounds`` is used.”h]”(hŒ>Cropping rectangle. The same co-ordinate system as for struct ”…””}”(hjÓh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_cropcap`”h]”j—)”}”(hjÝh]”hŒ v4l2_cropcap”…””}”(hjßh²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hjÛubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_cropcap”uh1hh³hÇh´KYhjÓubhŒ ”…””}”(hjÓh²hh³Nh´Nubj—)”}”(hŒ ``bounds``”h]”hŒbounds”…””}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjÓubhŒ is used.”…””}”(hjÓh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KYhjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjwubeh}”(h]”h ]”h"]”h$]”h&]”uh1jŸhjœubeh}”(h]”h ]”h"]”h$]”h&]”uh1jšhjwubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1juhjdubeh}”(h]”Œid1”ah ]”h"]”h$]”h&]”uh1jbhjh²hh³Nh´NubhŒnote”“”)”}”(hXÉUnfortunately in the case of multiplanar buffer types (``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE`` and ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``) this API was messed up with regards to how the :c:type:`v4l2_crop` ``type`` field should be filled in. Some drivers only accepted the ``_MPLANE`` buffer type while other drivers only accepted a non-multiplanar buffer type (i.e. without the ``_MPLANE`` at the end). Starting with kernel 4.13 both variations are allowed.”h]”(hý)”}”(hX‘Unfortunately in the case of multiplanar buffer types (``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE`` and ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``) this API was messed up with regards to how the :c:type:`v4l2_crop` ``type`` field should be filled in. Some drivers only accepted the ``_MPLANE`` buffer type while other drivers only accepted a non-multiplanar buffer type (i.e. without the ``_MPLANE`` at the end).”h]”(hŒ7Unfortunately in the case of multiplanar buffer types (”…””}”(hj<h²hh³Nh´Nubj—)”}”(hŒ&``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``”h]”hŒ"V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE”…””}”(hjDh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj<ubhŒ and ”…””}”(hj<h²hh³Nh´Nubj—)”}”(hŒ%``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``”h]”hŒ!V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE”…””}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj<ubhŒ1) this API was messed up with regards to how the ”…””}”(hj<h²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_crop`”h]”j—)”}”(hjjh]”hŒ v4l2_crop”…””}”(hjlh²hh³Nh´Nubah}”(h]”h ]”(jfj‡Œc-type”eh"]”h$]”h&]”uh1j–hjhubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”j‡Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jxj|j‡Œ v4l2_crop”uh1hh³hÇh´K]hj<ubhŒ ”…””}”(hj<h²hh³Nh´Nubj—)”}”(hŒ``type``”h]”hŒtype”…””}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj<ubhŒ; field should be filled in. Some drivers only accepted the ”…””}”(hj<h²hh³Nh´Nubj—)”}”(hŒ ``_MPLANE``”h]”hŒ_MPLANE”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj<ubhŒ_ buffer type while other drivers only accepted a non-multiplanar buffer type (i.e. without the ”…””}”(hj<h²hh³Nh´Nubj—)”}”(hŒ ``_MPLANE``”h]”hŒ_MPLANE”…””}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hj<ubhŒ at the end).”…””}”(hj<h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´K]hj8ubhý)”}”(hŒ6Starting with kernel 4.13 both variations are allowed.”h]”hŒ6Starting with kernel 4.13 both variations are allowed.”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kdhj8ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j6hjh²hh³hÇh´Nubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K$ubh×)”}”(hhh]”(hÜ)”}”(hŒ Return Value”h]”hŒ Return Value”…””}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjãh²hh³hÇh´Kgubhý)”}”(hŒ´On 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ôh²hh³Nh´Nubj—)”}”(hŒ ``errno``”h]”hŒerrno”…””}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j–hjôubhŒM variable is set appropriately. The generic error codes are described at the ”…””}”(hjôh²hh³Nh´Nubh)”}”(hŒ':ref:`Generic Error Codes `”h]”j[)”}”(hjh]”hŒGeneric Error Codes”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jfŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jZhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jrŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj‡Œ gen-errors”uh1hh³hÇh´KihjôubhŒ chapter.”…””}”(hjôh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´Kihjãh²hubj()”}”(hhh]”j-)”}”(hŒ;ENODATA Cropping is not supported for this input or output.”h]”(j3)”}”(hŒENODATA”h]”hŒENODATA”…””}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j2h³hÇh´Kmhj;ubjL)”}”(hhh]”hý)”}”(hŒ3Cropping is not supported for this input or output.”h]”hŒ3Cropping is not supported for this input or output.”…””}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hüh³hÇh´KnhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj;ubeh}”(h]”h ]”h"]”h$]”h&]”uh1j,h³hÇh´Kmhj8ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hjãh²hh³hÇh´Nubeh}”(h]”Œ return-value”ah ]”h"]”Œ return value”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kgubeh}”(h]”(Œ!ioctl-vidioc-g-crop-vidioc-s-crop”hÕeh ]”h"]”(Œ"ioctl vidioc_g_crop, vidioc_s_crop”Œ vidioc_g_crop”eh$]”h&]”uh1hÖhhh²hh³hÇh´KŒexpect_referenced_by_name”}”j~hÊsŒexpect_referenced_by_id”}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”j¤Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j§Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”hÕ]”hÊasŒnameids”}”(j~hÕj}jzjjjjjjjàjÝjujruŒ nametypes”}”(j~ˆj}‰j‰j‰j‰jà‰ju‰uh}”(hÕhØjzhØjhëjjj4j=j·j¼jjjÝjjójøjrjãj1jduŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jµKs…”R”Œparse_messages”]”Œtransform_messages”]”hŒsystem_message”“”)”}”(hhh]”hý)”}”(hhh]”hŒ3Hyperlink target "vidioc-g-crop" is not referenced.”…””}”hj sbah}”(h]”h ]”h"]”h$]”h&]”uh1hühj ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1j ubaŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.