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]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget;/translations/pt_BR/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_FMThNtauh1j%hjhhhNhNubhdesc)}(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}(hjOhhhNhNubah}(h]h ]nah"]h$]h&]uh1jMhjIubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jGhjChhhhhKubah}(h]h ]h"]h$]h&]hhƌ add_permalinkuh1jAsphinx_line_type declaratorhj=hhhhhKubah}(h]j4ah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1j;hhhKhj8hhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj8hhhhhKubeh}(h]h ](cmacroeh"]h$]h&]domainjobjtypejdesctypejnoindex noindexentrynocontentsentryuh1j6hhhjhNhNubh)}(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&]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)}(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 ](xrefjc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdoc'userspace-api/media/v4l/vidioc-enum-fmt refdomainjreftypefunc 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)}(hjBh]hargp}(hjDhhhNhNubah}(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 }(hjZhhhNhNubh)}(h:c:type:`v4l2_fmtdesc`h]j)}(hjdh]h v4l2_fmtdesc}(hjfhhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjjj$ v4l2_fmtdescuh1hhhhKhjZubh.}(hjZhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(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 ](jjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjjj$ v4l2_fmtdescuh1hhhhK"hjubh and call the }(hjhhhNhNubh)}(h:ref:`VIDIOC_ENUM_FMT`h]hinline)}(hjh]hVIDIOC_ENUM_FMT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainj'reftyperef refexplicitrefwarnj$vidioc_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}(hjOhhhNhNubah}(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}(hjahhhNhNubah}(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 }(hjyhhhNhNubj)}(h``V4L2_CAP_IO_MC``h]hV4L2_CAP_IO_MC}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh }(hjyhhhNhNubh)}(h':ref:`capability `h]j)}(hjh]h capability}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$device-capabilitiesuh1hhhhK+hjyubh, the }(hjyhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyubh field is handled differently:}(hjyhhhNhNubeh}(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.}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hj&ubah}(h]h ]h"]h$]h&]uh1j$hjubeh}(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}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHubh2 is set (also known as an ‘MC-centric’ driver)}(hjHhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK:hjDubh)}(hOIf the ``mbus_code`` field is zero, then all image formats shall be enumerated.h](hIf the }(hjdhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjlhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjdubh; field is zero, then all image formats shall be enumerated.}(hjdhhhNhNubeh}(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 }(hjhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, field is initialized to a valid (non-zero) }(hjhhhNhNubh)}(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 refexplicitrefwarnj$v4l2-mbus-pixelcodeuh1hhhhK?hjubh, 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 }(hjhhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh$ is unsupported by the driver, then }(hjhhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh shall be returned.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK?hjDubh)}(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&]uh1hhhhKFhjDubeh}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix)uh1jhjhhhhhK.ubj&)}(hhh]h}(h]h ]h"]h$]h&]entries](j2V4L.v4l2_fmtdesc (C type)c.V4L.v4l2_fmtdeschNtauh1j%hjhhhNhNubj7)}(hhh](j<)}(h v4l2_fmtdesch]jB)}(htype v4l2_fmtdesch](hdesc_sig_keyword)}(htypeh]htype}(hj8hhhNhNubah}(h]h ]kah"]h$]h&]uh1j6hj2hhhhhKJubhdesc_sig_space)}(h h]h }(hjIhhhNhNubah}(h]h ]wah"]h$]h&]uh1jGhj2hhhhhKJubjH)}(h v4l2_fmtdesch]jN)}(hj0h]h v4l2_fmtdesc}(hj\hhhNhNubah}(h]h ]jYah"]h$]h&]uh1jMhjXubah}(h]h ](j`jaeh"]h$]h&]hhuh1jGhj2hhhhhKJubeh}(h]h ]h"]h$]h&]hhjkuh1jAjljmhj.hhhhhKJubah}(h]j)ah ](jqjreh"]h$]h&]jvjw)jxhuh1j;hhhKJhj+hhubjz)}(hhh]h}(h]h ]h"]h$]h&]uh1jyhj+hhhhhKJubeh}(h]h ](jtypeeh"]h$]h&]jjjjjjjjjuh1j6hhhjhNhNubhtabular_col_spec)}(hhh]h}(h]h ] longtableah"]h$]h&]spec|p{4.4cm}|p{4.4cm}|p{8.5cm}|uh1jhhhKNhjhhubhtable)}(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}(hjhhhNhNubah}(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}(hj1hhhNhNubah}(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}(hjChhhNhNubah}(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}(hjUhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh' flag shouldn’t be used when calling }(hjhhhNhNubh)}(h :c:func:`VIDIOC_ENUM_FRAMESIZES`h]j)}(hjih]hVIDIOC_ENUM_FRAMESIZES()}(hjkhhhNhNubah}(h]h ](jjc-funceh"]h$]h&]uh1jhjgubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnjjj$VIDIOC_ENUM_FRAMESIZESuh1hhhhKWhjubh or }(hjhhhNhNubh)}(h$:c:func:`VIDIOC_ENUM_FRAMEINTERVALS`h]j)}(hjh]hVIDIOC_ENUM_FRAMEINTERVALS()}(hjhhhNhNubah}(h]h ](jjc-funceh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypefunc refexplicitrefwarnjjj$VIDIOC_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}(hj(hhhNhNubah}(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}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_VIDEO_OVERLAY``h]hV4L2_BUF_TYPE_VIDEO_OVERLAY}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_SDR_CAPTURE``h]hV4L2_BUF_TYPE_SDR_CAPTURE}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh, }hjsbj)}(h``V4L2_BUF_TYPE_SDR_OUTPUT``h]hV4L2_BUF_TYPE_SDR_OUTPUT}(hjhhhNhNubah}(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 ](jjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjjj$ v4l2_buf_typeuh1hhhhKehjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKehj ubah}(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)}(hj h]hflags}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hSee :ref:`fmtdesc-flags`h](hSee }(hj*hhhNhNubh)}(h:ref:`fmtdesc-flags`h]j)}(hj4h]h fmtdesc-flags}(hj6hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj2ubah}(h]h ]h"]h$]h&]refdocj refdomainj@reftyperef refexplicitrefwarnj$ fmtdesc-flagsuh1hhhhKrhj*ubeh}(h]h ]h"]h$]h&]uh1hhhhKrhj'ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h__u8h]h__u8}(hjjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKshjgubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(hhh]h)}(h``description``\ [32]h](j)}(h``description``h]h description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh [32]}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKthj~ubah}(h]h ]h"]h$]h&]uh1jhjdubj)}(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&]uh1jhjdubeh}(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)}(hj4 h]h#define v4l2_fourcc(a,b,c,d)}(hj6 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2 ubah}(h]j1 ah ]h"] v4l2-fourccah$]h&]uh1hhhhKhj expect_referenced_by_name}jG j' sexpect_referenced_by_id}j1 j' subh)}(hG``(((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))``h]j)}(hjP h]hC(((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))}(hjR hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjN 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 }(hje hhhNhNubh)}(h :ref:`pixfmt`h]j)}(hjo h]hpixfmt}(hjq hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjm ubah}(h]h ]h"]h$]h&]refdocj refdomainj{ reftyperef refexplicitrefwarnj$pixfmtuh1hhhhKhje ubh.}(hje 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 refexplicitrefwarnj$device-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}(hjQ hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjN ubah}(h]h ]h"]h$]h&]uh1jhjK ubj)}(hhh]h)}(h``reserved``\ [3]h](j)}(h ``reserved``h]hreserved}(hjl hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjh ubh [3]}(hjh hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhje ubah}(h]h ]h"]h$]h&]uh1jhjK 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.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjK ubeh}(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{8.4cm}|p{1.8cm}|p{7.1cm}|uh1jhhhKhjhhubh)}(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.}(hjB 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)}(hjd h]hV4L2_FMT_FLAG_EMULATED}(hjf hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjb ubah}(h]h ]h"]h$]h&]uh1hhhhKhj_ ubah}(h]h ]h"]h$]h&]uh1jhj\ ubj)}(hhh]h)}(h0x0002h]h0x0002}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj\ 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&]uh1jhj\ 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)}(hj2 h]hV4L2_FMT_FLAG_DYN_RESOLUTION}(hj4 hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0 ubah}(h]h ]h"]h$]h&]uh1hhhhKhj- ubah}(h]h ]h"]h$]h&]uh1jhj* ubj)}(hhh]h)}(h0x0008h]h0x0008}(hjP hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjM 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 }(hjg hhhNhNubj)}(h``V4L2_EVENT_SOURCE_CHANGE``h]hV4L2_EVENT_SOURCE_CHANGE}(hjo hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjg ubh3 when changes in the video parameters are detected.}(hjg hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjd 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 }(hj hhhNhNubj)}(h``V4L2_FMT_FLAG_COMPRESSED``h]hV4L2_FMT_FLAG_COMPRESSED}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubhb flag, since this applies to compressed formats only. This flag is valid for stateful codecs only.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjd 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)}(hj0 h]h VIDIOC_S_PARM}(hj2 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}(hjR 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}(hjd 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}(hjv 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}(hj 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)}(hjh]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$ vidioc_g_fmtuh1hhhhKhj ubh ioctl with }(hj hhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hj7h]hV4L2_PIX_FMT_FLAG_SET_CSC}(hj9hhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]refdocj refdomainjCreftyperef refexplicitrefwarnj$v4l2-pix-fmt-flag-set-cscuh1hhhhKhj ubh set.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(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)}(hjsh]hV4L2_FMT_FLAG_CSC_XFER_FUNC}(hjuhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjqubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(hhh]h)}(h0x0040h]h0x0040}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjkubj)}(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 refexplicitrefwarnj$v4l2-pix-fmt-flag-set-cscuh1hhhhKhjubh set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjkubeh}(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&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0x0080h]h0x0080}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj-ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(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 }(hjGhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hjQh]h VIDIOC_S_FMT}(hjShhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjOubah}(h]h ]h"]h$]h&]refdocj refdomainj]reftyperef refexplicitrefwarnj$ vidioc_g_fmtuh1hhhhKhjGubh ioctl with }(hjGhhhNhNubh)}(h<:ref:`V4L2_PIX_FMT_FLAG_SET_CSC `h]j)}(hjuh]hV4L2_PIX_FMT_FLAG_SET_CSC}(hjwhhhNhNubah}(h]h ](jstdstd-refeh"]h$]h&]uh1jhjsubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj$v4l2-pix-fmt-flag-set-cscuh1hhhhKhjGubh set.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(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 refexplicitrefwarnj$v4l2-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)}(hjPh]hV4L2_FMT_FLAG_CSC_QUANTIZATION}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjNubah}(h]h ]h"]h$]h&]uh1hhhhKhjKubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(hhh]h)}(h0x0100h]h0x0100}(hjnhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjkubah}(h]h ]h"]h$]h&]uh1jhjHubj)}(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 }(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 refexplicitrefwarnj$v4l2-pix-fmt-flag-set-cscuh1hhhhKhjubh set.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjHubeh}(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}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(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 }(hj$hhhNhNubj)}(h ``width``h]hwidth}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh, }(hj$hhhNhNubj)}(h ``height``h]hheight}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh and }(hj$hhhNhNubj)}(h``bytesperline``h]h bytesperline}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh fields of }(hj$hhhNhNubh)}(h:c:type:`v4l2_meta_format`h]j)}(hjdh]hv4l2_meta_format}(hjfhhhNhNubah}(h]h ](jjc-typeeh"]h$]h&]uh1jhjbubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype refexplicitrefwarnjjj$v4l2_meta_formatuh1hhhhKhj$ubh# are valid. The buffer consists of }(hj$hhhNhNubj)}(h ``height``h]hheight}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh lines, each having }(hj$hhhNhNubj)}(h ``width``h]hwidth}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubhe Data Units of data and the offset (in bytes) between the beginning of each two consecutive lines is }(hj$hhhNhNubj)}(h``bytesperline``h]h bytesperline}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj$ubh.}(hj$hhhNhNubeh}(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 }(hj hhhNhNubj)}(h ``index``h]hindex}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh with }(hj hhhNhNubj)}(h``V4L2_FMTDESC_FLAG_ENUM_ALL``h]hV4L2_FMTDESC_FLAG_ENUM_ALL}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh 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 }(hj hhhNhNubj)}(h ``EINVAL``h]hEINVAL}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ubh without clearing this flag.}(hj hhhNhNubeh}(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&]uh1jhjhhhNhNjJ }jmj sjL }j j subeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK ubh)}(hhh](h)}(h Return Valueh]h Return Value}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjzhhhhhKubh)}(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 }(hjhhhNhNubj)}(h ``errno``h]herrno}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubhM variable is set appropriately. The generic error codes are described at the }(hjhhhNhNubh)}(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-errorsuh1hhhhMhjubh chapter.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhMhjzhhubj)}(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 ](jjc-typeeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftypetype 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}(hj$hhhNhNubah}(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}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj<ubh is set and the specified }(hj<hhhNhNubj)}(h ``mbus_code``h]h mbus_code}(hjVhhhNhNubah}(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&]uh1jhjzhhhhhNubeh}(h] return-valueah ]h"] return valueah$]h&]uh1hhhhhhhhKubeh}(h](ioctl-vidioc-enum-fmtheh ]h"](ioctl vidioc_enum_fmtvidioc_enum_fmteh$]h&]uh1hhhhhhhhKjJ }jhsjL }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_sourcehnj _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]haj1 ]j' aj ]j aunameids}(jhjjjjjjjjjwjtjG j1 jmj jju nametypes}(jjjjjjwjG jmjuh}(hhjhjhjjj4j=jjjtjj)j.j1 j2 j j jjzj jjij 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&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehnjlineKuh1jubj)}(hhh]h)}(hhh]h1Hyperlink target "v4l2-fourcc" is not referenced.}hj<sbah}(h]h ]h"]h$]h&]uh1hhj9ubah}(h]h ]h"]h$]h&]levelKtypej6lineK}sourcehuh1jubj)}(hhh]h)}(hhh]h3Hyperlink target "fmtdesc-flags" is not referenced.}hjVsbah}(h]h ]h"]h$]h&]uh1hhjSubah}(h]h ]h"]h$]h&]levelKtypej6sourcehnjlineKuh1jube transformerN include_log] decorationNhhub.