sphinx.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-enum-fmtmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/zh_TW/userspace-api/media/v4l/vidioc-enum-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/it_IT/userspace-api/media/v4l/vidioc-enum-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/ja_JP/userspace-api/media/v4l/vidioc-enum-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/ko_KR/userspace-api/media/v4l/vidioc-enum-fmtmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/sp_SP/userspace-api/media/v4l/vidioc-enum-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:spacepreserveuh1hhhhhhU/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/vidioc-enum-fmt.rsthKubhtarget)}(h.. _VIDIOC_ENUM_FMT:h]h}(h]h ]h"]h$]h&]refidvidioc-enum-fmtuh1hhKhhhhhhubhsection)}(hhh](htitle)}(hioctl VIDIOC_ENUM_FMTh]hioctl VIDIOC_ENUM_FMT}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hNameh]hName}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhK ubh paragraph)}(h)VIDIOC_ENUM_FMT - Enumerate image formatsh]h)VIDIOC_ENUM_FMT - Enumerate image formats}(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](singleV4L.VIDIOC_ENUM_FMT (C macro)c.V4L.VIDIOC_ENUM_FMThNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(hVIDIOC_ENUM_FMTh]hdesc_signature_line)}(hVIDIOC_ENUM_FMTh]h desc_name)}(hVIDIOC_ENUM_FMTh]h desc_sig_name)}(hj+h]hVIDIOC_ENUM_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)}(hA``int ioctl(int fd, VIDIOC_ENUM_FMT, struct v4l2_fmtdesc *argp)``h]hliteral)}(hjh]h=int ioctl(int fd, VIDIOC_ENUM_FMT, struct v4l2_fmtdesc *argp)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj~ubah}(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)}(hjh]hfd}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1jhhhKhjubh definition)}(hhh]h)}(h-File descriptor returned by :c:func:`open()`.h](hFile descriptor returned by }(hjhhhNhNubh)}(h:c:func:`open()`h]j)}(hjh]hopen()}(hjhhhNhNubah}(h]h ](xrefjsc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc'userspace-api/media/v4l/vidioc-enum-fmt refdomainjsreftypefunc refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]j ASTIdentifier)} identifierV4LsbNasb reftargetopenuh1hhhhKhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhKhjubj)}(h3``argp`` Pointer to struct :c:type:`v4l2_fmtdesc`. h](j)}(h``argp``h]j)}(hj.h]hargp}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,ubah}(h]h ]h"]h$]h&]uh1jhhhKhj(ubj)}(hhh]h)}(h)Pointer to struct :c:type:`v4l2_fmtdesc`.h](hPointer to struct }(hjFhhhNhNubh)}(h:c:type:`v4l2_fmtdesc`h]j)}(hjPh]h v4l2_fmtdesc}(hjRhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_fmtdescuh1hhhhKhjFubh.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjCubah}(h]h ]h"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]uh1jhhhKhjhhubeh}(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)}(hX2To enumerate image formats applications initialize the ``type``, ``mbus_code`` and ``index`` fields of struct :c:type:`v4l2_fmtdesc` and call the :ref:`VIDIOC_ENUM_FMT` ioctl with a pointer to this structure. Drivers fill the rest of the structure or return an ``EINVAL`` error code. All formats are enumerable by beginning at index zero and incrementing by one until ``EINVAL`` is returned. If applicable, drivers shall return formats in preference order, where preferred formats are returned before (that is, with lower ``index`` value) less-preferred formats.h](h7To enumerate image formats applications initialize the }(hjhhhNhNubj)}(h``type``h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh fields of struct }(hjhhhNhNubh)}(h:c:type:`v4l2_fmtdesc`h]j)}(hjh]h v4l2_fmtdesc}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_fmtdescuh1hhhhK"hjubh and call the }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUM_FMT`h]hinline)}(hjh]hVIDIOC_ENUM_FMT}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjvidioc_enum_fmtuh1hhhhK"hjubh] ioctl with a pointer to this structure. Drivers fill the rest of the structure or return an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubha error code. All formats are enumerable by beginning at index zero and incrementing by one until }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is returned. If applicable, drivers shall return formats in preference order, where preferred formats are returned before (that is, with lower }(hjhhhNhNubj)}(h ``index``h]hindex}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh value) less-preferred formats.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK"hjhhubh)}(h|Depending on the ``V4L2_CAP_IO_MC`` :ref:`capability `, the ``mbus_code`` field is handled differently:h](hDepending on the }(hjehhhNhNubj)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hjmhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjeubh }(hjehhhNhNubh)}(h':ref:`capability `h]j)}(hjh]h capability}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjdevice-capabilitiesuh1hhhhK+hjeubh, the }(hjehhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjeubh field is handled differently:}(hjehhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK+hjhhubhenumerated_list)}(hhh](h list_item)}(hXU``V4L2_CAP_IO_MC`` is not set (also known as a 'video-node-centric' driver) Applications shall initialize the ``mbus_code`` field to zero and drivers shall ignore the value of the field. Drivers shall enumerate all image formats. .. note:: After switching the input or output the list of enumerated image formats may be different. h](h)}(hK``V4L2_CAP_IO_MC`` is not set (also known as a 'video-node-centric' driver)h](j)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh= is not set (also known as a ‘video-node-centric’ driver)}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK.hjubh)}(hnApplications shall initialize the ``mbus_code`` field to zero and drivers shall ignore the value of the field.h](h"Applications shall initialize the }(hjhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh? field to zero and drivers shall ignore the value of the field.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK0hjubh)}(h*Drivers shall enumerate all image formats.h]h*Drivers shall enumerate all image formats.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK3hjubhnote)}(hZAfter switching the input or output the list of enumerated image formats may be different.h]h)}(hZAfter switching the input or output the list of enumerated image formats may be different.h]hZAfter switching the input or output the list of enumerated image formats may be different.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjhhhNhNubj)}(hX``V4L2_CAP_IO_MC`` is set (also known as an 'MC-centric' driver) If the ``mbus_code`` field is zero, then all image formats shall be enumerated. If the ``mbus_code`` field is initialized to a valid (non-zero) :ref:`media bus format code `, then drivers shall restrict enumeration to only the image formats that can produce (for video output devices) or be produced from (for video capture devices) that media bus code. If the ``mbus_code`` is unsupported by the driver, then ``EINVAL`` shall be returned. Regardless of the value of the ``mbus_code`` field, the enumerated image formats shall not depend on the active configuration of the video device or device pipeline. h](h)}(h@``V4L2_CAP_IO_MC`` is set (also known as an 'MC-centric' driver)h](j)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4ubh2 is set (also known as an ‘MC-centric’ driver)}(hj4hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hj0ubh)}(hOIf the ``mbus_code`` field is zero, then all image formats shall be enumerated.h](hIf the }(hjPhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjPubh; field is zero, then all image formats shall be enumerated.}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK`, then drivers shall restrict enumeration to only the image formats that can produce (for video output devices) or be produced from (for video capture devices) that media bus code. If the ``mbus_code`` is unsupported by the driver, then ``EINVAL`` shall be returned.h](hIf the }(hjphhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubh, field is initialized to a valid (non-zero) }(hjphhhNhNubh)}(h2:ref:`media bus format code `h]j)}(hjh]hmedia bus format code}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-mbus-pixelcodeuh1hhhhK?hjpubh, then drivers shall restrict enumeration to only the image formats that can produce (for video output devices) or be produced from (for video capture devices) that media bus code. If the }(hjphhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubh$ is unsupported by the driver, then }(hjphhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjpubh shall be returned.}(hjphhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hj0ubh)}(hRegardless of the value of the ``mbus_code`` field, the enumerated image formats shall not depend on the active configuration of the video device or device pipeline.h](hRegardless of the value of the }(hjhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhy field, the enumerated image formats shall not depend on the active configuration of the video device or device pipeline.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKFhj0ubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjhhhhhK.ubj)}(hhh]h}(h]h ]h"]h$]h&]entries](jV4L.v4l2_fmtdesc (C type)c.V4L.v4l2_fmtdeschNtauh1jhjhhhNhNubj#)}(hhh](j()}(h v4l2_fmtdesch]j.)}(htype v4l2_fmtdesch](hdesc_sig_keyword)}(htypeh]htype}(hj$hhhNhNubah}(h]h ]kah"]h$]h&]uh1j"hjhhhhhKJubhdesc_sig_space)}(h h]h }(hj5hhhNhNubah}(h]h ]wah"]h$]h&]uh1j3hjhhhhhKJubj4)}(h v4l2_fmtdesch]j:)}(hjh]h v4l2_fmtdesc}(hjHhhhNhNubah}(h]h ]jEah"]h$]h&]uh1j9hjDubah}(h]h ](jLjMeh"]h$]h&]hhuh1j3hjhhhhhKJubeh}(h]h ]h"]h$]h&]hhjWuh1j-jXjYhjhhhhhKJubah}(h]jah ](j]j^eh"]h$]h&]jbjc)jdhuh1j'hhhKJhjhhubjf)}(hhh]h}(h]h ]h"]h$]h&]uh1jehjhhhhhKJubeh}(h]h ](jstypeeh"]h$]h&]jxjsjyjsjzjsj{j|j}uh1j"hhhjhNhNubhtabular_col_spec)}(hhh]h}(h]h ] longtableah"]h$]h&]spec|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1jwhhhKNhjhhubhtable)}(hhh](h)}(hstruct v4l2_fmtdesch]hstruct v4l2_fmtdesc}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKPhjubhtgroup)}(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&]uh1hhhhKUhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``index``h]j)}(hjh]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXNumber of the format in the enumeration, set by the application. This is in no way related to the ``pixelformat`` field. When the index is ORed with ``V4L2_FMTDESC_FLAG_ENUM_ALL`` the driver clears the flag and enumerates all the possible formats, ignoring any limitations from the current configuration. Drivers which do not support this flag always return an ``EINVAL`` error code without clearing this flag. Formats enumerated when using ``V4L2_FMTDESC_FLAG_ENUM_ALL`` flag shouldn't be used when calling :c:func:`VIDIOC_ENUM_FRAMESIZES` or :c:func:`VIDIOC_ENUM_FRAMEINTERVALS`. ``V4L2_FMTDESC_FLAG_ENUM_ALL`` should only be used by drivers that can return different format list depending on this flag.h](hbNumber of the format in the enumeration, set by the application. This is in no way related to the }(hjhhhNhNubj)}(h``pixelformat``h]h pixelformat}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ field. When the index is ORed with }(hjhhhNhNubj)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh the driver clears the flag and enumerates all the possible formats, ignoring any limitations from the current configuration. Drivers which do not support this flag always return an }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhF error code without clearing this flag. Formats enumerated when using }(hjhhhNhNubj)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hjAhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh' flag shouldn’t be used when calling }(hjhhhNhNubh)}(h :c:func:`VIDIOC_ENUM_FRAMESIZES`h]j)}(hjUh]hVIDIOC_ENUM_FRAMESIZES()}(hjWhhhNhNubah}(h]h ](jjsc-funceh"]h$]h&]uh1jhjSubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypefunc refexplicitrefwarnjjjVIDIOC_ENUM_FRAMESIZESuh1hhhhKWhjubh or }(hjhhhNhNubh)}(h$:c:func:`VIDIOC_ENUM_FRAMEINTERVALS`h]j)}(hjxh]hVIDIOC_ENUM_FRAMEINTERVALS()}(hjzhhhNhNubah}(h]h ](jjsc-funceh"]h$]h&]uh1jhjvubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypefunc refexplicitrefwarnjjjVIDIOC_ENUM_FRAMEINTERVALSuh1hhhhKWhjubh. }(hjhhhNhNubj)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh] should only be used by drivers that can return different format list depending on this flag.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``type``h]j)}(hjh]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXType 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``, ``V4L2_BUF_TYPE_VIDEO_OVERLAY``, ``V4L2_BUF_TYPE_SDR_CAPTURE``, ``V4L2_BUF_TYPE_SDR_OUTPUT``, ``V4L2_BUF_TYPE_META_CAPTURE`` and ``V4L2_BUF_TYPE_META_OUTPUT``. See :c:type:`v4l2_buf_type`.h](hRType of the data stream, set by the application. Only these types are valid here: }(hjhhhNhNubj)}(h``V4L2_BUF_TYPE_VIDEO_CAPTURE``h]hV4L2_BUF_TYPE_VIDEO_CAPTURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h&``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``h]h"V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_VIDEO_OUTPUT``h]hV4L2_BUF_TYPE_VIDEO_OUTPUT}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h%``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``h]h!V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_VIDEO_OVERLAY``h]hV4L2_BUF_TYPE_VIDEO_OVERLAY}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_SDR_CAPTURE``h]hV4L2_BUF_TYPE_SDR_CAPTURE}(hj\hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_SDR_OUTPUT``h]hV4L2_BUF_TYPE_SDR_OUTPUT}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_META_CAPTURE``h]hV4L2_BUF_TYPE_META_CAPTURE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``V4L2_BUF_TYPE_META_OUTPUT``h]hV4L2_BUF_TYPE_META_OUTPUT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh. See }(hjhhhNhNubh)}(h:c:type:`v4l2_buf_type`h]j)}(hjh]h v4l2_buf_type}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_buf_typeuh1hhhhKehjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKphjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h ``flags``h]j)}(hjh]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hSee :ref:`fmtdesc-flags`h](hSee }(hjhhhNhNubh)}(h:ref:`fmtdesc-flags`h]j)}(hj h]h fmtdesc-flags}(hj"hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainj,reftyperef refexplicitrefwarnj fmtdesc-flagsuh1hhhhKrhjubeh}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u8h]h__u8}(hjVhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjSubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h``description``\ [32]h](j)}(h``description``h]h description}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjmubh [32]}(hjmhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKthjjubah}(h]h ]h"]h$]h&]uh1jhjPubj)}(hhh]h)}(h~Description of the format, a NUL-terminated ASCII string. This information is intended for the user, for example: "YUV 4:2:2".h]hDescription of the format, a NUL-terminated ASCII string. This information is intended for the user, for example: “YUV 4:2:2”.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKuhjubah}(h]h ]h"]h$]h&]uh1jhjPubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h``pixelformat``h]j)}(hjh]h pixelformat}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hbThe image format identifier. This is a four character code as computed by the v4l2_fourcc() macro:h]hbThe image format identifier. This is a four character code as computed by the v4l2_fourcc() macro:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKyhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]j)}(hhh](h)}(h :cspan:`2`h]h}(h]h ]h"]h$]h&]uh1hhhhK{hj ubh)}(h.. _v4l2-fourcc:h]h}(h]h ]h"]h$]h&]h v4l2-fourccuh1hhK}hj ubh)}(h ``#define v4l2_fourcc(a,b,c,d)``h]j)}(hj h]h#define v4l2_fourcc(a,b,c,d)}(hj" hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]j ah ]h"] v4l2-fourccah$]h&]uh1hhhhKhj expect_referenced_by_name}j3 j sexpect_referenced_by_id}j j subh)}(hG``(((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))``h]j)}(hj< h]hC(((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj: ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubh)}(hQSeveral image formats are already defined by this specification in :ref:`pixfmt`.h](hCSeveral image formats are already defined by this specification in }(hjQ hhhNhNubh)}(h :ref:`pixfmt`h]j)}(hj[ h]hpixfmt}(hj] hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjY ubah}(h]h ]h"]h$]h&]refdocj refdomainjg reftyperef refexplicitrefwarnjpixfmtuh1hhhhKhjQ ubh.}(hjQ hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubh attention)}(h@These codes are not the same as those used in the Windows world.h]h)}(h@These codes are not the same as those used in the Windows world.h]h@These codes are not the same as those used in the Windows world.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1j hj ubeh}(h]h ]h"]h$]h&]morecolsKuh1jhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h ``mbus_code``h]j)}(hj h]h mbus_code}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hMedia bus code restricting the enumerated formats, set by the application. Only applicable to drivers that advertise the ``V4L2_CAP_IO_MC`` :ref:`capability `, shall be 0 otherwise.h](hyMedia bus code restricting the enumerated formats, set by the application. Only applicable to drivers that advertise the }(hj hhhNhNubj)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh }(hj hhhNhNubh)}(h':ref:`capability `h]j)}(hj h]h capability}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjdevice-capabilitiesuh1hhhhKhj ubh, shall be 0 otherwise.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u32h]h__u32}(hj= hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj: ubah}(h]h ]h"]h$]h&]uh1jhj7 ubj)}(hhh]h)}(h``reserved``\ [3]h](j)}(h ``reserved``h]hreserved}(hjX hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjT ubh [3]}(hjT hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjQ ubah}(h]h ]h"]h$]h&]uh1jhj7 ubj)}(hhh]h)}(hCReserved for future extensions. Drivers must set the array to zero.h]hCReserved for future extensions. Drivers must set the array to zero.}(hjy hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjv ubah}(h]h ]h"]h$]h&]uh1jhj7 ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubeh}(h]id1ah ]h"]h$]h&]uh1jhjhhhNhNubjx)}(hhh]h}(h]h ]h"]h$]h&]j|p{8.4cm}|p{1.8cm}|p{7.1cm}|uh1jwhhhKhjhhubh)}(h.. _fmtdesc-flags:h]h}(h]h ]h"]h$]h&]h fmtdesc-flagsuh1hhKhjhhhhubj)}(hhh](h)}(hImage Format Description Flagsh]hImage Format Description Flags}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubj)}(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)}(h``V4L2_FMT_FLAG_COMPRESSED``h]j)}(hj h]hV4L2_FMT_FLAG_COMPRESSED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0001h]h0x0001}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hThis is a compressed format.h]hThis is a compressed format.}(hj. hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj+ ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_FMT_FLAG_EMULATED``h]j)}(hjP h]hV4L2_FMT_FLAG_EMULATED}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN ubah}(h]h ]h"]h$]h&]uh1hhhhKhjK ubah}(h]h ]h"]h$]h&]uh1jhjH ubj)}(hhh]h)}(h0x0002h]h0x0002}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjk ubah}(h]h ]h"]h$]h&]uh1jhjH ubj)}(hhh]h)}(hThis format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance.h]hThis format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjH ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h'``V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM``h]j)}(hj h]h#V4L2_FMT_FLAG_CONTINUOUS_BYTESTREAM}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0004h]h0x0004}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](h)}(hThe hardware decoder for this compressed bytestream format (aka coded format) is capable of parsing a continuous bytestream. Applications do not need to parse the bytestream themselves to find the boundaries between frames/fields.h]hThe hardware decoder for this compressed bytestream format (aka coded format) is capable of parsing a continuous bytestream. Applications do not need to parse the bytestream themselves to find the boundaries between frames/fields.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubh)}(hThis flag can only be used in combination with the ``V4L2_FMT_FLAG_COMPRESSED`` flag, since this applies to compressed formats only. This flag is valid for stateful decoders only.h](h3This flag can only be used in combination with the }(hj hhhNhNubj)}(h``V4L2_FMT_FLAG_COMPRESSED``h]hV4L2_FMT_FLAG_COMPRESSED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhd flag, since this applies to compressed formats only. This flag is valid for stateful decoders only.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``V4L2_FMT_FLAG_DYN_RESOLUTION``h]j)}(hj h]hV4L2_FMT_FLAG_DYN_RESOLUTION}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0008h]h0x0008}(hj< hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj9 ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](h)}(hDynamic resolution switching is supported by the device for this compressed bytestream format (aka coded format). It will notify the user via the event ``V4L2_EVENT_SOURCE_CHANGE`` when changes in the video parameters are detected.h](hDynamic resolution switching is supported by the device for this compressed bytestream format (aka coded format). It will notify the user via the event }(hjS hhhNhNubj)}(h``V4L2_EVENT_SOURCE_CHANGE``h]hV4L2_EVENT_SOURCE_CHANGE}(hj[ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjS ubh3 when changes in the video parameters are detected.}(hjS hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjP ubh)}(hThis flag can only be used in combination with the ``V4L2_FMT_FLAG_COMPRESSED`` flag, since this applies to compressed formats only. This flag is valid for stateful codecs only.h](h3This flag can only be used in combination with the }(hjs hhhNhNubj)}(h``V4L2_FMT_FLAG_COMPRESSED``h]hV4L2_FMT_FLAG_COMPRESSED}(hj{ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjs ubhb flag, since this applies to compressed formats only. This flag is valid for stateful codecs only.}(hjs hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjP ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h(``V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL``h]j)}(hj h]h$V4L2_FMT_FLAG_ENC_CAP_FRAME_INTERVAL}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0010h]h0x0010}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](h)}(hXuThe hardware encoder supports setting the ``CAPTURE`` coded frame interval separately from the ``OUTPUT`` raw frame interval. Setting the ``OUTPUT`` raw frame interval with :ref:`VIDIOC_S_PARM ` also sets the ``CAPTURE`` coded frame interval to the same value. If this flag is set, then the ``CAPTURE`` coded frame interval can be set to a different value afterwards. This is typically used for offline encoding where the ``OUTPUT`` raw frame interval is used as a hint for reserving hardware encoder resources and the ``CAPTURE`` coded frame interval is the actual frame rate embedded in the encoded video stream.h](h*The hardware encoder supports setting the }(hj hhhNhNubj)}(h ``CAPTURE``h]hCAPTURE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh* coded frame interval separately from the }(hj hhhNhNubj)}(h ``OUTPUT``h]hOUTPUT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh! raw frame interval. Setting the }(hj hhhNhNubj)}(h ``OUTPUT``h]hOUTPUT}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh raw frame interval with }(hj hhhNhNubh)}(h$:ref:`VIDIOC_S_PARM `h]j)}(hj h]h VIDIOC_S_PARM}(hj hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj( reftyperef refexplicitrefwarnj vidioc_g_parmuh1hhhhKhj ubh also sets the }(hj hhhNhNubj)}(h ``CAPTURE``h]hCAPTURE}(hj> hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhG coded frame interval to the same value. If this flag is set, then the }(hj hhhNhNubj)}(h ``CAPTURE``h]hCAPTURE}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhx coded frame interval can be set to a different value afterwards. This is typically used for offline encoding where the }(hj hhhNhNubj)}(h ``OUTPUT``h]hOUTPUT}(hjb hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhW raw frame interval is used as a hint for reserving hardware encoder resources and the }(hj hhhNhNubj)}(h ``CAPTURE``h]hCAPTURE}(hjt hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhT coded frame interval is the actual frame rate embedded in the encoded video stream.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubh)}(hThis flag can only be used in combination with the ``V4L2_FMT_FLAG_COMPRESSED`` flag, since this applies to compressed formats only. This flag is valid for stateful encoders only.h](h3This flag can only be used in combination with the }(hj hhhNhNubj)}(h``V4L2_FMT_FLAG_COMPRESSED``h]hV4L2_FMT_FLAG_COMPRESSED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhd flag, since this applies to compressed formats only. This flag is valid for stateful encoders only.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h ``V4L2_FMT_FLAG_CSC_COLORSPACE``h]j)}(hj h]hV4L2_FMT_FLAG_CSC_COLORSPACE}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0020h]h0x0020}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(hXEThe driver allows the application to try to change the default colorspace. This flag is relevant only for capture devices. The application can ask to configure the colorspace of the capture device when calling the :ref:`VIDIOC_S_FMT ` ioctl with :ref:`V4L2_PIX_FMT_FLAG_SET_CSC ` set.h](hThe driver allows the application to try to change the default colorspace. This flag is relevant only for capture devices. The application can ask to configure the colorspace of the capture device when calling the }(hj hhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hj h]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKhj ubh ioctl with }(hj hhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hj#h]hV4L2_PIX_FMT_FLAG_SET_CSC}(hj%hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj!ubah}(h]h ]h"]h$]h&]refdocj refdomainj/reftyperef refexplicitrefwarnjv4l2-pix-fmt-flag-set-cscuh1hhhhKhj ubh set.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_FMT_FLAG_CSC_XFER_FUNC``h]j)}(hj_h]hV4L2_FMT_FLAG_CSC_XFER_FUNC}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jhj]ubah}(h]h ]h"]h$]h&]uh1hhhhKhjZubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(h0x0040h]h0x0040}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjzubah}(h]h ]h"]h$]h&]uh1jhjWubj)}(hhh]h)}(hXSThe driver allows the application to try to change the default transfer function. This flag is relevant only for capture devices. The application can ask to configure the transfer function of the capture device when calling the :ref:`VIDIOC_S_FMT ` ioctl with :ref:`V4L2_PIX_FMT_FLAG_SET_CSC ` set.h](hThe driver allows the application to try to change the default transfer function. This flag is relevant only for capture devices. The application can ask to configure the transfer function of the capture device when calling the }(hjhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hjh]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKhjubh ioctl with }(hjhhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hjh]hV4L2_PIX_FMT_FLAG_SET_CSC}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-pix-fmt-flag-set-cscuh1hhhhKhjubh set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjWubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_FMT_FLAG_CSC_YCBCR_ENC``h]j)}(hjh]hV4L2_FMT_FLAG_CSC_YCBCR_ENC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0080h]h0x0080}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXOThe driver allows the application to try to change the default Y'CbCr encoding. This flag is relevant only for capture devices. The application can ask to configure the Y'CbCr encoding of the capture device when calling the :ref:`VIDIOC_S_FMT ` ioctl with :ref:`V4L2_PIX_FMT_FLAG_SET_CSC ` set.h](hThe driver allows the application to try to change the default Y’CbCr encoding. This flag is relevant only for capture devices. The application can ask to configure the Y’CbCr encoding of the capture device when calling the }(hj3hhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hj=h]h VIDIOC_S_FMT}(hj?hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]refdocj refdomainjIreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKhj3ubh ioctl with }(hj3hhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hjah]hV4L2_PIX_FMT_FLAG_SET_CSC}(hjchhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj_ubah}(h]h ]h"]h$]h&]refdocj refdomainjmreftyperef refexplicitrefwarnjv4l2-pix-fmt-flag-set-cscuh1hhhhKhj3ubh set.}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj0ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_FMT_FLAG_CSC_HSV_ENC``h]j)}(hjh]hV4L2_FMT_FLAG_CSC_HSV_ENC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0080h]h0x0080}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXIThe driver allows the application to try to change the default HSV encoding. This flag is relevant only for capture devices. The application can ask to configure the HSV encoding of the capture device when calling the :ref:`VIDIOC_S_FMT ` ioctl with :ref:`V4L2_PIX_FMT_FLAG_SET_CSC ` set.h](hThe driver allows the application to try to change the default HSV encoding. This flag is relevant only for capture devices. The application can ask to configure the HSV encoding of the capture device when calling the }(hjhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hjh]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKhjubh ioctl with }(hjhhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hjh]hV4L2_PIX_FMT_FLAG_SET_CSC}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainj reftyperef refexplicitrefwarnjv4l2-pix-fmt-flag-set-cscuh1hhhhKhjubh set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h"``V4L2_FMT_FLAG_CSC_QUANTIZATION``h]j)}(hj<h]hV4L2_FMT_FLAG_CSC_QUANTIZATION}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:ubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(h0x0100h]h0x0100}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhj4ubj)}(hhh]h)}(hXIThe driver allows the application to try to change the default quantization. This flag is relevant only for capture devices. The application can ask to configure the quantization of the capture device when calling the :ref:`VIDIOC_S_FMT ` ioctl with :ref:`V4L2_PIX_FMT_FLAG_SET_CSC ` set.h](hThe driver allows the application to try to change the default quantization. This flag is relevant only for capture devices. The application can ask to configure the quantization of the capture device when calling the }(hjqhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hj{h]h VIDIOC_S_FMT}(hj}hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjyubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKhjqubh ioctl with }(hjqhhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hjh]hV4L2_PIX_FMT_FLAG_SET_CSC}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnjv4l2-pix-fmt-flag-set-cscuh1hhhhKhjqubh set.}(hjqhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h!``V4L2_FMT_FLAG_META_LINE_BASED``h]j)}(hjh]hV4L2_FMT_FLAG_META_LINE_BASED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0x0200h]h0x0200}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXCThe metadata format is line-based. In this case the ``width``, ``height`` and ``bytesperline`` fields of :c:type:`v4l2_meta_format` are valid. The buffer consists of ``height`` lines, each having ``width`` Data Units of data and the offset (in bytes) between the beginning of each two consecutive lines is ``bytesperline``.h](h4The metadata format is line-based. In this case the }(hjhhhNhNubj)}(h ``width``h]hwidth}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }(hjhhhNhNubj)}(h ``height``h]hheight}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh and }(hjhhhNhNubj)}(h``bytesperline``h]h bytesperline}(hj<hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh fields of }(hjhhhNhNubh)}(h:c:type:`v4l2_meta_format`h]j)}(hjPh]hv4l2_meta_format}(hjRhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjjv4l2_meta_formatuh1hhhhKhjubh# are valid. The buffer consists of }(hjhhhNhNubj)}(h ``height``h]hheight}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh lines, each having }(hjhhhNhNubj)}(h ``width``h]hwidth}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhe Data Units of data and the offset (in bytes) between the beginning of each two consecutive lines is }(hjhhhNhNubj)}(h``bytesperline``h]h bytesperline}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh](j)}(hhh]h)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]j)}(hjh]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h 0x80000000h]h 0x80000000}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXWhen the applications ORs ``index`` with ``V4L2_FMTDESC_FLAG_ENUM_ALL`` flag the driver enumerates all the possible pixel formats without taking care of any already set configuration. Drivers which do not support this flag, always return ``EINVAL`` without clearing this flag.h](hWhen the applications ORs }(hjhhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh with }(hjhhhNhNubj)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh flag the driver enumerates all the possible pixel formats without taking care of any already set configuration. Drivers which do not support this flag, always return }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh without clearing this flag.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]colsKuh1jhj ubeh}(h](id2j eh ] longtableah"] fmtdesc-flagsah$]h&]uh1jhjhhhNhNj6 }jYj sj8 }j j subeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhjfhhhhhKubh)}(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 }(hjwhhhNhNubj)}(h ``errno``h]herrno}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjwubhM variable is set appropriately. The generic error codes are described at the }(hjwhhhNhNubh)}(h':ref:`Generic Error Codes `h]j)}(hjh]hGeneric Error Codes}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj gen-errorsuh1hhhhMhjwubh chapter.}(hjwhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjfhhubj)}(hhh]j)}(hEINVAL The struct :c:type:`v4l2_fmtdesc` ``type`` is not supported or the ``index`` is out of bounds. If ``V4L2_CAP_IO_MC`` is set and the specified ``mbus_code`` is unsupported, then also return this error code.h](j)}(hEINVALh]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhM hjubj)}(hhh](h)}(h^The struct :c:type:`v4l2_fmtdesc` ``type`` is not supported or the ``index`` is out of bounds.h](h The struct }(hjhhhNhNubh)}(h:c:type:`v4l2_fmtdesc`h]j)}(hjh]h v4l2_fmtdesc}(hjhhhNhNubah}(h]h ](jjsc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjsreftypetype refexplicitrefwarnjjj v4l2_fmtdescuh1hhhhMhjubh }(hjhhhNhNubj)}(h``type``h]htype}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is not supported or the }(hjhhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh is out of bounds.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjubh)}(hnIf ``V4L2_CAP_IO_MC`` is set and the specified ``mbus_code`` is unsupported, then also return this error code.h](hIf }(hj(hhhNhNubj)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh is set and the specified }(hj(hhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjBhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(ubh2 is unsupported, then also return this error code.}(hj(hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhM hjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhhhM hjubah}(h]h ]h"]h$]h&]uh1jhjfhhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](ioctl-vidioc-enum-fmtheh ]h"](ioctl vidioc_enum_fmtvidioc_enum_fmteh$]h&]uh1hhhhhhhhKj6 }jzhsj8 }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_handlerjerror_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 aj ]j aunameids}(jzhjyjvhhjjjjjcj`j3 j jYj jqjnu nametypes}(jzjyhjjjcj3 jYjquh}(hhjvhhhjjj j)jjj`jjjj j j j jnjfj jjUj u footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jKsRparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h5Hyperlink target "vidioc-enum-fmt" is not referenced.}hj sbah}(h]h ]h"]h$]h&]uh1hhj ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jubj )}(hhh]h)}(hhh]h1Hyperlink target "v4l2-fourcc" is not referenced.}hj(sbah}(h]h ]h"]h$]h&]uh1hhj%ubah}(h]h ]h"]h$]h&]levelKtypej"lineK}sourcehuh1jubj )}(hhh]h)}(hhh]h3Hyperlink target "fmtdesc-flags" is not referenced.}hjBsbah}(h]h ]h"]h$]h&]uh1hhj?ubah}(h]h ]h"]h$]h&]levelKtypej"sourcehlineKuh1jube transformerN include_log] decorationNhhub.