€•fdŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ4/translations/zh_CN/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/zh_TW/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/it_IT/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/ja_JP/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/ko_KR/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ4/translations/sp_SP/userspace-api/media/v4l/standard”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”h]”hŒ8SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒN/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/standard.rst”h KubhŒtarget”“”)”}”(hŒ .. _standard:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œstandard”uh1h´h KhhhžhhŸh³ubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒVideo Standards”h]”hŒVideo Standards”…””}”(hhÉhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhhÄhžhhŸh³h KubhŒ paragraph”“”)”}”(hXhVideo devices typically support one or more different video standards or variations of standards. Each video input and output may support another set of standards. This set is reported by the ``std`` field of struct :c:type:`v4l2_input` and struct :c:type:`v4l2_output` returned by the :ref:`VIDIOC_ENUMINPUT` and :ref:`VIDIOC_ENUMOUTPUT` ioctls, respectively.”h]”(hŒÀVideo devices typically support one or more different video standards or variations of standards. Each video input and output may support another set of standards. This set is reported by the ”…””}”(hhÙhžhhŸNh NubhŒliteral”“”)”}”(hŒ``std``”h]”hŒstd”…””}”(hhãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1háhhÙubhŒ field of struct ”…””}”(hhÙhžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_input`”h]”hâ)”}”(hh÷h]”hŒ v4l2_input”…””}”(hhùhžhhŸNh Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1háhhõubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ userspace-api/media/v4l/standard”Œ refdomain”jŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ reftarget”Œ v4l2_input”uh1hhŸh³h K hhÙubhŒ and struct ”…””}”(hhÙhžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_output`”h]”hâ)”}”(hjh]”hŒ v4l2_output”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”(jjŒc-type”eh"]”h$]”h&]”uh1háhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jŒ v4l2_output”uh1hhŸh³h K hhÙubhŒ returned by the ”…””}”(hhÙhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_ENUMINPUT`”h]”hŒinline”“”)”}”(hjAh]”hŒVIDIOC_ENUMINPUT”…””}”(hjEhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChj?ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jOŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒvidioc_enuminput”uh1hhŸh³h K hhÙubhŒ and ”…””}”(hhÙhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_ENUMOUTPUT`”h]”jD)”}”(hjgh]”hŒVIDIOC_ENUMOUTPUT”…””}”(hjihžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChjeubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jsŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒvidioc_enumoutput”uh1hhŸh³h K hhÙubhŒ ioctls, respectively.”…””}”(hhÙhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K hhÄhžhubhØ)”}”(hXÓV4L2 defines one bit for each analog video standard currently in use worldwide, and sets aside bits for driver defined standards, e. g. hybrid standards to watch NTSC video tapes on PAL TVs and vice versa. Applications can use the predefined bits to select a particular standard, although presenting the user a menu of supported standards is preferred. To enumerate and query the attributes of the supported standards applications use the :ref:`VIDIOC_ENUMSTD` ioctl.”h]”(hX·V4L2 defines one bit for each analog video standard currently in use worldwide, and sets aside bits for driver defined standards, e. g. hybrid standards to watch NTSC video tapes on PAL TVs and vice versa. Applications can use the predefined bits to select a particular standard, although presenting the user a menu of supported standards is preferred. To enumerate and query the attributes of the supported standards applications use the ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_ENUMSTD`”h]”jD)”}”(hj™h]”hŒVIDIOC_ENUMSTD”…””}”(hj›hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChj—ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j¥Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒvidioc_enumstd”uh1hhŸh³h KhjubhŒ ioctl.”…””}”(hjhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhØ)”}”(hXMany of the defined standards are actually just variations of a few major standards. The hardware may in fact not distinguish between them, or do so internal and switch automatically. Therefore enumerated standards also contain sets of one or more standard bits.”h]”hXMany of the defined standards are actually just variations of a few major standards. The hardware may in fact not distinguish between them, or do so internal and switch automatically. Therefore enumerated standards also contain sets of one or more standard bits.”…””}”(hjÁhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhØ)”}”(hX|Assume a hypothetic tuner capable of demodulating B/PAL, G/PAL and I/PAL signals. The first enumerated standard is a set of B and G/PAL, switched automatically depending on the selected radio frequency in UHF or VHF band. Enumeration gives a "PAL-B/G" or "PAL-I" choice. Similar a Composite input may collapse standards, enumerating "PAL-B/G/H/I", "NTSC-M" and "SECAM-D/K". [#f1]_”h]”(hXŠAssume a hypothetic tuner capable of demodulating B/PAL, G/PAL and I/PAL signals. The first enumerated standard is a set of B and G/PAL, switched automatically depending on the selected radio frequency in UHF or VHF band. Enumeration gives a “PAL-B/G†or “PAL-I†choice. Similar a Composite input may collapse standards, enumerating “PAL-B/G/H/Iâ€, “NTSC-M†and “SECAM-D/Kâ€. ”…””}”(hjÏhžhhŸNh NubhŒfootnote_reference”“”)”}”(hŒ[#f1]_”h]”hŒ1”…””}”(hjÙhžhhŸNh Nubah}”(h]”Œid1”ah ]”h"]”h$]”h&]”Œauto”KhÀŒf1”Œdocname”juh1j×hjÏŒresolved”Kubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhhÄhžhubhØ)”}”(hX To query and select the standard used by the current video input or output applications call the :ref:`VIDIOC_G_STD ` and :ref:`VIDIOC_S_STD ` ioctl, respectively. The *received* standard can be sensed with the :ref:`VIDIOC_QUERYSTD` ioctl.”h]”(hŒaTo query and select the standard used by the current video input or output applications call the ”…””}”(hjòhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_G_STD `”h]”jD)”}”(hjüh]”hŒ VIDIOC_G_STD”…””}”(hjþhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChjúubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ vidioc_g_std”uh1hhŸh³h K&hjòubhŒ and ”…””}”(hjòhžhhŸNh Nubh)”}”(hŒ":ref:`VIDIOC_S_STD `”h]”jD)”}”(hj h]”hŒ VIDIOC_S_STD”…””}”(hj"hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j,Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ vidioc_g_std”uh1hhŸh³h K&hjòubhŒ ioctl, respectively. The ”…””}”(hjòhžhhŸNh NubhŒemphasis”“”)”}”(hŒ *received*”h]”hŒreceived”…””}”(hjDhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBhjòubhŒ! standard can be sensed with the ”…””}”(hjòhžhhŸNh Nubh)”}”(hŒ:ref:`VIDIOC_QUERYSTD`”h]”jD)”}”(hjXh]”hŒVIDIOC_QUERYSTD”…””}”(hjZhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChjVubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jdŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒvidioc_querystd”uh1hhŸh³h K&hjòubhŒ ioctl.”…””}”(hjòhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K&hhÄhžhubhŒnote”“”)”}”(hXThe parameter of all these ioctls is a pointer to a :ref:`v4l2_std_id ` type (a standard set), *not* an index into the standard enumeration. Drivers must implement all video standard ioctls when the device has one or more video inputs or outputs.”h]”hØ)”}”(hXThe parameter of all these ioctls is a pointer to a :ref:`v4l2_std_id ` type (a standard set), *not* an index into the standard enumeration. Drivers must implement all video standard ioctls when the device has one or more video inputs or outputs.”h]”(hŒ4The parameter of all these ioctls is a pointer to a ”…””}”(hj†hžhhŸNh Nubh)”}”(hŒ :ref:`v4l2_std_id `”h]”jD)”}”(hjh]”hŒ v4l2_std_id”…””}”(hj’hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChjŽubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jœŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ v4l2-std-id”uh1hhŸh³h K.hj†ubhŒ type (a standard set), ”…””}”(hj†hžhhŸNh NubjC)”}”(hŒ*not*”h]”hŒnot”…””}”(hj²hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jBhj†ubhŒ’ an index into the standard enumeration. Drivers must implement all video standard ioctls when the device has one or more video inputs or outputs.”…””}”(hj†hžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K.hj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1j€hhÄhžhhŸh³h NubhØ)”}”(hŒ¤Special rules apply to devices such as USB cameras where the notion of video standards makes little sense. More generally for any capture or output device which is:”h]”hŒ¤Special rules apply to devices such as USB cameras where the notion of video standards makes little sense. More generally for any capture or output device which is:”…””}”(hjÐhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K3hhÄhžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒVincapable of capturing fields or frames at the nominal rate of the video standard, or ”h]”hØ)”}”(hŒUincapable of capturing fields or frames at the nominal rate of the video standard, or”h]”hŒUincapable of capturing fields or frames at the nominal rate of the video standard, or”…””}”(hjéhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K7hjåubah}”(h]”h ]”h"]”h$]”h&]”uh1jãhjàhžhhŸh³h Nubjä)”}”(hŒ9that does not support the video standard formats at all. ”h]”hØ)”}”(hŒ8that does not support the video standard formats at all.”h]”hŒ8that does not support the video standard formats at all.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h K:hjýubah}”(h]”h ]”h"]”h$]”h&]”uh1jãhjàhžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1jÞhŸh³h K7hhÄhžhubhØ)”}”(hX@Here the driver shall set the ``std`` field of struct :c:type:`v4l2_input` and struct :c:type:`v4l2_output` to zero and the :ref:`VIDIOC_G_STD `, :ref:`VIDIOC_S_STD `, :ref:`VIDIOC_QUERYSTD` and :ref:`VIDIOC_ENUMSTD` ioctls shall return the ``ENOTTY`` error code or the ``EINVAL`` error code.”h]”(hŒHere the driver shall set the ”…””}”(hjhžhhŸNh Nubhâ)”}”(hŒ``std``”h]”hŒstd”…””}”(hj%hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1háhjubhŒ field of struct ”…””}”(hjhžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_input`”h]”hâ)”}”(hj9h]”hŒ v4l2_input”…””}”(hj;hžhhŸNh Nubah}”(h]”h ]”(jjŒc-type”eh"]”h$]”h&]”uh1háhj7ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰jŒ v4l2_input”uh1hhŸh³h K`”h]”jD)”}”(hjh]”hŒ VIDIOC_G_STD”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChj}ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j‹Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ vidioc_g_std”uh1hhŸh³h K`”h]”jD)”}”(hj£h]”hŒ VIDIOC_S_STD”…””}”(hj¥hžhhŸNh Nubah}”(h]”h ]”(jŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jChj¡ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j¯Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjŒ vidioc_g_std”uh1hhŸh³h K