€•-wŒ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”Œ7/translations/zh_CN/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/zh_TW/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/it_IT/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ja_JP/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/ko_KR/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/pt_BR/userspace-api/media/v4l/dev-capture”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ7/translations/sp_SP/userspace-api/media/v4l/dev-capture”Œ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³ŒQ/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/dev-capture.rst”h´KubhŒtarget”“”)”}”(hŒ .. _capture:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œcapture”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒVideo Capture Interface”h]”hŒVideo Capture Interface”…””}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒ paragraph”“”)”}”(hXVideo capture devices sample an analog video signal and store the digitized images in memory. Today nearly all devices can capture at full 25 or 30 frames/second. With this interface applications can control the capture process and move images from the driver into user space.”h]”hXVideo capture devices sample an analog video signal and store the digitized images in memory. Today nearly all devices can capture at full 25 or 30 frames/second. With this interface applications can control the capture process and move images from the driver into user space.”…””}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K hhØh²hubhì)”}”(hXConventionally V4L2 video capture devices are accessed through character device special files named ``/dev/video`` and ``/dev/video0`` to ``/dev/video63`` with major number 81 and minor numbers 0 to 63. ``/dev/video`` is typically a symbolic link to the preferred video device.”h]”(hŒdConventionally V4L2 video capture devices are accessed through character device special files named ”…””}”(hhûh²hh³Nh´NubhŒliteral”“”)”}”(hŒ``/dev/video``”h]”hŒ /dev/video”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhûubhŒ and ”…””}”(hhûh²hh³Nh´Nubj)”}”(hŒ``/dev/video0``”h]”hŒ /dev/video0”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhûubhŒ to ”…””}”(hhûh²hh³Nh´Nubj)”}”(hŒ``/dev/video63``”h]”hŒ /dev/video63”…””}”(hj)h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhûubhŒ1 with major number 81 and minor numbers 0 to 63. ”…””}”(hhûh²hh³Nh´Nubj)”}”(hŒ``/dev/video``”h]”hŒ /dev/video”…””}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhûubhŒ< is typically a symbolic link to the preferred video device.”…””}”(hhûh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhhØh²hubhŒnote”“”)”}”(hŒ=The same device file names are used for video output devices.”h]”hì)”}”(hjWh]”hŒ=The same device file names are used for video output devices.”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhjUubah}”(h]”h ]”h"]”h$]”h&]”uh1jShhØh²hh³hÇh´Nubh×)”}”(hhh]”(hÜ)”}”(hŒQuerying Capabilities”h]”hŒQuerying Capabilities”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjlh²hh³hÇh´Kubhì)”}”(hXDevices supporting the video capture interface set the ``V4L2_CAP_VIDEO_CAPTURE`` or ``V4L2_CAP_VIDEO_CAPTURE_MPLANE`` flag in the ``capabilities`` field of struct :c:type:`v4l2_capability` returned by the :ref:`VIDIOC_QUERYCAP` ioctl. As secondary device functions they may also support the :ref:`video overlay ` (``V4L2_CAP_VIDEO_OVERLAY``) and the :ref:`raw VBI capture ` (``V4L2_CAP_VBI_CAPTURE``) interface. At least one of the read/write or streaming I/O methods must be supported. Tuners and audio inputs are optional.”h]”(hŒ7Devices supporting the video capture interface set the ”…””}”(hj}h²hh³Nh´Nubj)”}”(hŒ``V4L2_CAP_VIDEO_CAPTURE``”h]”hŒV4L2_CAP_VIDEO_CAPTURE”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubhŒ or ”…””}”(hj}h²hh³Nh´Nubj)”}”(hŒ!``V4L2_CAP_VIDEO_CAPTURE_MPLANE``”h]”hŒV4L2_CAP_VIDEO_CAPTURE_MPLANE”…””}”(hj—h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubhŒ flag in the ”…””}”(hj}h²hh³Nh´Nubj)”}”(hŒ``capabilities``”h]”hŒ capabilities”…””}”(hj©h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubhŒ field of struct ”…””}”(hj}h²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_capability`”h]”j)”}”(hj½h]”hŒv4l2_capability”…””}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1jhj»ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ#userspace-api/media/v4l/dev-capture”Œ refdomain”jÊŒreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”jÝŒ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œv4l2_capability”uh1hh³hÇh´Khj}ubhŒ returned by the ”…””}”(hj}h²hh³Nh´Nubh)”}”(hŒ:ref:`VIDIOC_QUERYCAP`”h]”hŒinline”“”)”}”(hjóh]”hŒVIDIOC_QUERYCAP”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”(jÉŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jõhjñubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÖŒ refdomain”jŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjëŒvidioc_querycap”uh1hh³hÇh´Khj}ubhŒ@ ioctl. As secondary device functions they may also support the ”…””}”(hj}h²hh³Nh´Nubh)”}”(hŒ:ref:`video overlay `”h]”jö)”}”(hjh]”hŒ video overlay”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jÉŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jõhjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÖŒ refdomain”j%Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjëŒoverlay”uh1hh³hÇh´Khj}ubhŒ (”…””}”(hj}h²hh³Nh´Nubj)”}”(hŒ``V4L2_CAP_VIDEO_OVERLAY``”h]”hŒV4L2_CAP_VIDEO_OVERLAY”…””}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubhŒ ) and the ”…””}”(hj}h²hh³Nh´Nubh)”}”(hŒ :ref:`raw VBI capture `”h]”jö)”}”(hjOh]”hŒraw VBI capture”…””}”(hjQh²hh³Nh´Nubah}”(h]”h ]”(jÉŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jõhjMubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÖŒ refdomain”j[Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆjëŒraw-vbi”uh1hh³hÇh´Khj}ubhŒ (”…””}”hj}sbj)”}”(hŒ``V4L2_CAP_VBI_CAPTURE``”h]”hŒV4L2_CAP_VBI_CAPTURE”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj}ubhŒ}) interface. At least one of the read/write or streaming I/O methods must be supported. Tuners and audio inputs are optional.”…””}”(hj}h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Khjlh²hubeh}”(h]”Œquerying-capabilities”ah ]”h"]”Œquerying capabilities”ah$]”h&]”uh1hÖhhØh²hh³hÇh´Kubh×)”}”(hhh]”(hÜ)”}”(hŒSupplemental Functions”h]”hŒSupplemental Functions”…””}”(hj”h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj‘h²hh³hÇh´K&ubhì)”}”(hX"Video capture devices shall support :ref:`audio input