€•¨uŒ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Œ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”…””}”(hhñhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhçubhŒ and ”…””}”(hhçhžhhŸNh Nubhð)”}”(hŒ``/dev/video0``”h]”hŒ /dev/video0”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhçubhŒ to ”…””}”(hhçhžhhŸNh Nubhð)”}”(hŒ``/dev/video63``”h]”hŒ /dev/video63”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhçubhŒ1 with major number 81 and minor numbers 0 to 63. ”…””}”(hhçhžhhŸNh Nubhð)”}”(hŒ``/dev/video``”h]”hŒ /dev/video”…””}”(hj'hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhhç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Ø)”}”(hjCh]”hŒ=The same device file names are used for video output devices.”…””}”(hjEhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhjAubah}”(h]”h ]”h"]”h$]”h&]”uh1j?hhÄhžhhŸh³h NubhÃ)”}”(hhh]”(hÈ)”}”(hŒQuerying Capabilities”h]”hŒQuerying Capabilities”…””}”(hj[hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÇhjXhž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 ”…””}”(hjihžhhŸNh Nubhð)”}”(hŒ``V4L2_CAP_VIDEO_CAPTURE``”h]”hŒV4L2_CAP_VIDEO_CAPTURE”…””}”(hjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjiubhŒ or ”…””}”(hjihžhhŸNh Nubhð)”}”(hŒ!``V4L2_CAP_VIDEO_CAPTURE_MPLANE``”h]”hŒV4L2_CAP_VIDEO_CAPTURE_MPLANE”…””}”(hjƒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjiubhŒ flag in the ”…””}”(hjihžhhŸNh Nubhð)”}”(hŒ``capabilities``”h]”hŒ capabilities”…””}”(hj•hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjiubhŒ field of struct ”…””}”(hjihžhhŸNh Nubh)”}”(hŒ:c:type:`v4l2_capability`”h]”hð)”}”(hj©h]”hŒv4l2_capability”…””}”(hj«hžhhŸNh Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1hïhj§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 KhjiubhŒ returned by the ”…””}”(hjihž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 KhjiubhŒ@ ioctl. As secondary device functions they may also support the ”…””}”(hjihž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 KhjiubhŒ (”…””}”(hjihžhhŸNh Nubhð)”}”(hŒ``V4L2_CAP_VIDEO_OVERLAY``”h]”hŒV4L2_CAP_VIDEO_OVERLAY”…””}”(hj'hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjiubhŒ ) and the ”…””}”(hjihžhhŸNh Nubh)”}”(hŒ :ref:`raw VBI capture `”h]”jâ)”}”(hj;h]”hŒraw VBI capture”…””}”(hj=hžhhŸNh Nubah}”(h]”h ]”(jµŒstd”Œstd-ref”eh"]”h$]”h&]”uh1jáhj9ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jÂŒ refdomain”jGŒreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj׌raw-vbi”uh1hhŸh³h KhjiubhŒ (”…””}”hjisbhð)”}”(hŒ``V4L2_CAP_VBI_CAPTURE``”h]”hŒV4L2_CAP_VBI_CAPTURE”…””}”(hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hïhjiubhŒ}) interface. At least one of the read/write or streaming I/O methods must be supported. Tuners and audio inputs are optional.”…””}”(hjihžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×hŸh³h KhjXhž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