bsphinx.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-fmtmodnameN 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-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/it_IT/userspace-api/media/v4l/vidioc-subdev-g-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/ja_JP/userspace-api/media/v4l/vidioc-subdev-g-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/ko_KR/userspace-api/media/v4l/vidioc-subdev-g-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget?/translations/sp_SP/userspace-api/media/v4l/vidioc-subdev-g-fmtmodnameN 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:spacepreserveuh1hhhhhhY/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-subdev-g-fmt.rsthKubhtarget)}(h.. _VIDIOC_SUBDEV_G_FMT:h]h}(h]h ]h"]h$]h&]refidvidioc-subdev-g-fmtuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h.ioctl VIDIOC_SUBDEV_G_FMT, VIDIOC_SUBDEV_S_FMTh]h.ioctl VIDIOC_SUBDEV_G_FMT, VIDIOC_SUBDEV_S_FMT}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(hVVIDIOC_SUBDEV_G_FMT - VIDIOC_SUBDEV_S_FMT - Get or set the data format on a subdev padh]hVVIDIOC_SUBDEV_G_FMT - VIDIOC_SUBDEV_S_FMT - Get or set the data format 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_FMT (C macro)c.V4L.VIDIOC_SUBDEV_G_FMThNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_SUBDEV_G_FMTh]hdesc_signature_line)}(hVIDIOC_SUBDEV_G_FMTh]h desc_name)}(hVIDIOC_SUBDEV_G_FMTh]h desc_sig_name)}(hj+h]hVIDIOC_SUBDEV_G_FMT}(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)}(hK``int ioctl(int fd, VIDIOC_SUBDEV_G_FMT, struct v4l2_subdev_format *argp)``h]hliteral)}(hjh]hGint ioctl(int fd, VIDIOC_SUBDEV_G_FMT, struct v4l2_subdev_format *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_FMT (C macro)c.V4L.VIDIOC_SUBDEV_S_FMThNtauh1jhjhhhNhNubj#)}(hhh](j()}(hVIDIOC_SUBDEV_S_FMTh]j.)}(hVIDIOC_SUBDEV_S_FMTh]j4)}(hVIDIOC_SUBDEV_S_FMTh]j:)}(hjh]hVIDIOC_SUBDEV_S_FMT}(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)}(hK``int ioctl(int fd, VIDIOC_SUBDEV_S_FMT, struct v4l2_subdev_format *argp)``h]j)}(hjh]hGint ioctl(int fd, VIDIOC_SUBDEV_S_FMT, struct v4l2_subdev_format *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-fmt 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)}(h9``argp`` Pointer to struct :c:type:`v4l2_subdev_format`. 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_format`.h](hPointer to struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_format`h]j)}(hjh]hv4l2_subdev_format}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_formatuh1hhhhK!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)}(hbThese ioctls are used to negotiate the frame format at specific subdev pads in the image pipeline.h]hbThese ioctls are used to negotiate the frame format at specific subdev pads in the image pipeline.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK&hjhhubh)}(hXcTo retrieve the current format applications set the ``pad`` field of a struct :c:type:`v4l2_subdev_format` to the desired pad number as reported by the media API and the ``which`` field to ``V4L2_SUBDEV_FORMAT_ACTIVE``. When they call the ``VIDIOC_SUBDEV_G_FMT`` ioctl with a pointer to this structure the driver fills the members of the ``format`` field.h](h4To retrieve the current format applications set the }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field of a struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_format`h]j)}(hj/h]hv4l2_subdev_format}(hj1hhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhj-ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_formatuh1hhhhK)hjubh@ to the desired pad number as reported by the media API and the }(hjhhhNhNubj)}(h ``which``h]hwhich}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field to }(hjhhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_ACTIVE``h]hV4L2_SUBDEV_FORMAT_ACTIVE}(hjbhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. When they call the }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_G_FMT``h]hVIDIOC_SUBDEV_G_FMT}(hjthhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhL ioctl with a pointer to this structure the driver fills the members of the }(hjhhhNhNubj)}(h ``format``h]hformat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK)hjhhubh)}(hXTo change the current format applications set both the ``pad`` and ``which`` fields and all members of the ``format`` field. When they call the ``VIDIOC_SUBDEV_S_FMT`` ioctl with a pointer to this structure the driver verifies the requested format, adjusts it based on the hardware capabilities and configures the device. Upon return the struct :c:type:`v4l2_subdev_format` contains the current format as would be returned by a ``VIDIOC_SUBDEV_G_FMT`` call.h](h7To change the current format applications set both the }(hjhhhNhNubj)}(h``pad``h]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h ``which``h]hwhich}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh fields and all members of the }(hjhhhNhNubj)}(h ``format``h]hformat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh field. When they call the }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_S_FMT``h]hVIDIOC_SUBDEV_S_FMT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh ioctl with a pointer to this structure the driver verifies the requested format, adjusts it based on the hardware capabilities and configures the device. Upon return the struct }(hjhhhNhNubh)}(h:c:type:`v4l2_subdev_format`h]j)}(hjh]hv4l2_subdev_format}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_formatuh1hhhhK0hjubh7 contains the current format as would be returned by a }(hjhhhNhNubj)}(h``VIDIOC_SUBDEV_G_FMT``h]hVIDIOC_SUBDEV_G_FMT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh call.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjhhubh)}(hXVApplications can query the device capabilities by setting the ``which`` to ``V4L2_SUBDEV_FORMAT_TRY``. When set, 'try' formats are not applied to the device by the driver, but are changed exactly as active formats and stored in the sub-device file handle. Two applications querying the same sub-device would thus not interact with each other.h](h>Applications can query the device capabilities by setting the }(hj)hhhNhNubj)}(h ``which``h]hwhich}(hj1hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh to }(hj)hhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_TRY``h]hV4L2_SUBDEV_FORMAT_TRY}(hjChhhNhNubah}(h]h ]h"]h$]h&]uh1jhj)ubh. When set, ‘try’ formats are not applied to the device by the driver, but are changed exactly as active formats and stored in the sub-device file handle. Two applications querying the same sub-device would thus not interact with each other.}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK8hjhhubh)}(hXFor instance, to try a format at the output pad of a sub-device, applications would first set the try format at the sub-device input with the ``VIDIOC_SUBDEV_S_FMT`` ioctl. They would then either retrieve the default format at the output pad with the ``VIDIOC_SUBDEV_G_FMT`` ioctl, or set the desired output pad format with the ``VIDIOC_SUBDEV_S_FMT`` ioctl and check the returned value.h](hFor instance, to try a format at the output pad of a sub-device, applications would first set the try format at the sub-device input with the }(hj[hhhNhNubj)}(h``VIDIOC_SUBDEV_S_FMT``h]hVIDIOC_SUBDEV_S_FMT}(hjchhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubhV ioctl. They would then either retrieve the default format at the output pad with the }(hj[hhhNhNubj)}(h``VIDIOC_SUBDEV_G_FMT``h]hVIDIOC_SUBDEV_G_FMT}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubh6 ioctl, or set the desired output pad format with the }(hj[hhhNhNubj)}(h``VIDIOC_SUBDEV_S_FMT``h]hVIDIOC_SUBDEV_S_FMT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj[ubh$ ioctl and check the returned value.}(hj[hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK>hjhhubh)}(hTry formats do not depend on active formats, but can depend on the current links configuration or sub-device controls value. For instance, a low-pass noise filter might crop pixels at the frame boundaries, modifying its output frame size.h]hTry formats do not depend on active formats, but can depend on the current links configuration or sub-device controls value. For instance, a low-pass noise filter might crop pixels at the frame boundaries, modifying its output frame size.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjhhubh)}(hIf the subdev device node has been registered in read-only mode, calls to ``VIDIOC_SUBDEV_S_FMT`` 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_FMT``h]hVIDIOC_SUBDEV_S_FMT}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKJhjhhubh)}(hXDrivers must not return an error solely because the requested format doesn't match the device capabilities. They must instead modify the format 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 format doesn’t match the device capabilities. They must instead modify the format to match what the hardware can provide. The modified format should be as close as possible to the original request.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKOhjhhubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1jhhhKThjhhubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_subdev_format (C type)c.V4L.v4l2_subdev_formathNtauh1jhjhhhNhNubj#)}(hhh](j()}(hv4l2_subdev_formath]j.)}(htype v4l2_subdev_formath](hdesc_sig_keyword)}(htypeh]htype}(hj9hhhNhNubah}(h]h ]kah"]h$]h&]uh1j7hj3hhhhhKVubhdesc_sig_space)}(h h]h }(hjJhhhNhNubah}(h]h ]wah"]h$]h&]uh1jHhj3hhhhhKVubj4)}(hv4l2_subdev_formath]j:)}(hj1h]hv4l2_subdev_format}(hj]hhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjYubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hj3hhhhhKVubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhj/hhhhhKVubah}(h]j*ah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKVhj,hhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehj,hhhhhKVubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjjzjj{j|j}uh1j"hhhjhNhNubhtable)}(hhh](h)}(hstruct v4l2_subdev_formath]hstruct v4l2_subdev_format}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubhtgroup)}(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}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK]hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``pad``h]j)}(hjh]hpad}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h3Pad number as reported by the media controller API.h]h3Pad number as reported by the media controller API.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK`hj'ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h ``which``h]j)}(hjCh]hwhich}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjAubah}(h]h ]h"]h$]h&]uh1hhhhKahj>ubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(h[Format to modified, from enum :ref:`v4l2_subdev_format_whence `.h](hFormat to modified, from enum }(hjahhhNhNubh)}(h<:ref:`v4l2_subdev_format_whence `h]hinline)}(hjkh]hv4l2_subdev_format_whence}(hjohhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jmhjiubah}(h]h ]h"]h$]h&]refdocj^ refdomainjyreftyperef refexplicitrefwarnjsv4l2-subdev-format-whenceuh1hhhhKbhjaubh.}(hjahhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKbhj^ubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h#struct :c:type:`v4l2_mbus_framefmt`h](hstruct }(hjhhhNhNubh)}(h:c:type:`v4l2_mbus_framefmt`h]j)}(hjh]hv4l2_mbus_framefmt}(hjhhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_mbus_framefmtuh1hhhhKdhjubeh}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``format``h]j)}(hjh]hformat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hLDefinition of an image format, see :c:type:`v4l2_mbus_framefmt` for details.h](h#Definition of an image format, see }(hjhhhNhNubh)}(h:c:type:`v4l2_mbus_framefmt`h]j)}(hjh]hv4l2_mbus_framefmt}(hj hhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_mbus_framefmtuh1hhhhKfhjubh for details.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKfhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj@hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhj=ubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(h ``stream``h]j)}(hjYh]hstream}(hj[hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]uh1hhhhKihjTubah}(h]h ]h"]h$]h&]uh1jhj:ubj)}(hhh]h)}(hStream identifier.h]hStream identifier.}(hjwhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKjhjtubah}(h]h ]h"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhjubah}(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&]uh1hhhhKlhjubah}(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&]uh1hhhhKmhjubah}(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&]uh1jhjhhhNhNubj)}(hhh]h}(h]h ]h"]h$]h&]j|p{6.6cm}|p{2.2cm}|p{8.5cm}|uh1jhhhKqhjhhubh)}(h.. _v4l2-subdev-format-whence:h]h}(h]h ]h"]h$]h&]hv4l2-subdev-format-whenceuh1hhKshjhhhhubj)}(hhh](h)}(henum v4l2_subdev_format_whenceh]henum v4l2_subdev_format_whence}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKuhjubj)}(hhh](j)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj'ubj)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1jhj'ubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hV4L2_SUBDEV_FORMAT_TRYh]hV4L2_SUBDEV_FORMAT_TRY}(hjQhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKzhjNubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h0h]h0}(hjhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK{hjeubah}(h]h ]h"]h$]h&]uh1jhjKubj)}(hhh]h)}(h3Try formats, used for querying device capabilities.h]h3Try formats, used for querying device capabilities.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK|hj|ubah}(h]h ]h"]h$]h&]uh1jhjKubeh}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh](j)}(hhh]h)}(hV4L2_SUBDEV_FORMAT_ACTIVEh]hV4L2_SUBDEV_FORMAT_ACTIVE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK}hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK~hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h(Active formats, applied to the hardware.h]h(Active formats, applied to the hardware.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjHubeh}(h]h ]h"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h](id2jeh ]h"]v4l2-subdev-format-whenceah$]h&]uh1jhjhhhNhNexpect_referenced_by_name}jj sexpect_referenced_by_id}jj subeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK$ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhKubh)}(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}(hj! hhhNhNubah}(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]jn)}(hj5 h]hGeneric Error Codes}(hj7 hhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jmhj3 ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjA reftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKhj ubh chapter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubj)}(hhh](j)}(hXEBUSY The format 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_FMT`` h](j)}(hEBUSYh]hEBUSY}(hjd hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj` ubj8)}(hhh]h)}(hX The format 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_FMT``h](hThe format 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 }(hju hhhNhNubj)}(h``VIDIOC_SUBDEV_S_FMT``h]hVIDIOC_SUBDEV_S_FMT}(hj} hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju ubeh}(h]h ]h"]h$]h&]uh1hhhhKhjr ubah}(h]h ]h"]h$]h&]uh1j7hj` ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj] ubj)}(hEINVAL The struct :c:type:`v4l2_subdev_format` ``pad`` references a non-existing pad, or the ``which`` field has an unsupported value. h](j)}(hEINVALh]hEINVAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj ubj8)}(hhh]h)}(hThe struct :c:type:`v4l2_subdev_format` ``pad`` references a non-existing pad, or the ``which`` field has an unsupported value.h](h The struct }(hj hhhNhNubh)}(h:c:type:`v4l2_subdev_format`h]j)}(hj h]hv4l2_subdev_format}(hj hhhNhNubah}(h]h ](jRjsc-typeeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainjsreftypetype refexplicitrefwarnjdjhjsv4l2_subdev_formatuh1hhhhKhj ubh }(hj hhhNhNubj)}(h``pad``h]hpad}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh' references a non-existing pad, or the }(hj hhhNhNubj)}(h ``which``h]hwhich}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh field has an unsupported value.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj] hhubj)}(hEPERM The ``VIDIOC_SUBDEV_S_FMT`` 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&]uh1jhhhKhj ubj8)}(hhh]h)}(hThe ``VIDIOC_SUBDEV_S_FMT`` 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_FMT``h]hVIDIOC_SUBDEV_S_FMT}(hj0 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}(hjB hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj( ubh field is set to }(hj( hhhNhNubj)}(h``V4L2_SUBDEV_FORMAT_ACTIVE``h]hV4L2_SUBDEV_FORMAT_ACTIVE}(hjT hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj( ubh.}(hj( hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj% ubah}(h]h ]h"]h$]h&]uh1j7hj ubeh}(h]h ]h"]h$]h&]uh1jhhhKhj] hhubeh}(h]h ]h"]h$]h&]uh1jhj hhhhhNubh transition)}(h ============h]h}(h]h ]h"]h$]h&]uh1j~ hhhKhj hhubh)}(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}(hj hhhNhNubah}(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]jn)}(hj h]hGeneric Error Codes}(hj hhhNhNubah}(h]h ](jRstdstd-refeh"]h$]h&]uh1jmhj ubah}(h]h ]h"]h$]h&]refdocj^ refdomainj reftyperef refexplicitrefwarnjs gen-errorsuh1hhhhKhj ubh chapter.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj hhubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](-ioctl-vidioc-subdev-g-fmt-vidioc-subdev-s-fmtheh ]h"](.ioctl vidioc_subdev_g_fmt, vidioc_subdev_s_fmtvidioc_subdev_g_fmteh$]h&]uh1hhhhhhhhKj}j hsj}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]haj]j aunameids}(j hj j hhjjjjj j jjj j u nametypes}(j j hjjj jj uh}(hhj hhhjjj j)jjjjj jj*j/jjj j jjjju 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]h9Hyperlink target "vidioc-subdev-g-fmt" is not referenced.}hjn sbah}(h]h ]h"]h$]h&]uh1hhjk ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1ji ubjj )}(hhh]h)}(hhh]h?Hyperlink target "v4l2-subdev-format-whence" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypej sourcehlineKsuh1ji ube transformerN include_log] decorationNhhub.