€•èzŒ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/field-order”Œ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/field-order”Œ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/field-order”Œ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/field-order”Œ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/field-order”Œ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/field-order”Œ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/field-order”Œ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/field-order.rst”h´KubhŒtarget”“”)”}”(hŒ.. _field-order:”h]”h}”(h]”h ]”h"]”h$]”h&]”Œrefid”Œ field-order”uh1hÈh´Khhh²hh³hÇubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ Field Order”h]”hŒ Field Order”…””}”(hhÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhhØh²hh³hÇh´KubhŒ paragraph”“”)”}”(hX°We have to distinguish between progressive and interlaced video. Progressive video transmits all lines of a video image sequentially. Interlaced video divides an image into two fields, containing only the odd and even lines of the image, respectively. Alternating the so called odd and even field are transmitted, and due to a small delay between fields a cathode ray TV displays the lines interleaved, yielding the original frame. This curious technique was invented because at refresh rates similar to film the image would fade out too quickly. Transmitting fields reduces the flicker without the necessity of doubling the frame rate and with it the bandwidth required for each channel.”h]”hX°We have to distinguish between progressive and interlaced video. Progressive video transmits all lines of a video image sequentially. Interlaced video divides an image into two fields, containing only the odd and even lines of the image, respectively. Alternating the so called odd and even field are transmitted, and due to a small delay between fields a cathode ray TV displays the lines interleaved, yielding the original frame. This curious technique was invented because at refresh rates similar to film the image would fade out too quickly. Transmitting fields reduces the flicker without the necessity of doubling the frame rate and with it the bandwidth required for each channel.”…””}”(hhíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K hhØh²hubhì)”}”(hX‘It is important to understand a video camera does not expose one frame at a time, merely transmitting the frames separated into fields. The fields are in fact captured at two different instances in time. An object on screen may well move between one field and the next. For applications analysing motion it is of paramount importance to recognize which field of a frame is older, the *temporal order*.”h]”(hX€It is important to understand a video camera does not expose one frame at a time, merely transmitting the frames separated into fields. The fields are in fact captured at two different instances in time. An object on screen may well move between one field and the next. For applications analysing motion it is of paramount importance to recognize which field of a frame is older, the ”…””}”(hhûh²hh³Nh´NubhŒemphasis”“”)”}”(hŒ*temporal order*”h]”hŒtemporal order”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhûubhŒ.”…””}”(hhûh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhhØh²hubhì)”}”(hXˆWhen the driver provides or accepts images field by field rather than interleaved, it is also important applications understand how the fields combine to frames. We distinguish between top (aka odd) and bottom (aka even) fields, the *spatial order*: The first line of the top field is the first line of an interlaced frame, the first line of the bottom field is the second line of that frame.”h]”(hŒéWhen the driver provides or accepts images field by field rather than interleaved, it is also important applications understand how the fields combine to frames. We distinguish between top (aka odd) and bottom (aka even) fields, the ”…””}”(hjh²hh³Nh´Nubj)”}”(hŒ*spatial order*”h]”hŒ spatial order”…””}”(hj%h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhŒ: The first line of the top field is the first line of an interlaced frame, the first line of the bottom field is the second line of that frame.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KhhØh²hubhì)”}”(hXuHowever because fields were captured one after the other, arguing whether a frame commences with the top or bottom field is pointless. Any two successive top and bottom, or bottom and top fields yield a valid frame. Only when the source was progressive to begin with, e. g. when transferring film to video, two fields may come from the same frame, creating a natural order.”h]”hXuHowever because fields were captured one after the other, arguing whether a frame commences with the top or bottom field is pointless. Any two successive top and bottom, or bottom and top fields yield a valid frame. Only when the source was progressive to begin with, e. g. when transferring film to video, two fields may come from the same frame, creating a natural order.”…””}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K#hhØh²hubhì)”}”(hX"Counter to intuition the top field is not necessarily the older field. Whether the older field contains the top or bottom lines is a convention determined by the video standard. Hence the distinction between temporal and spatial order of fields. The diagrams below should make this clearer.”h]”hX"Counter to intuition the top field is not necessarily the older field. Whether the older field contains the top or bottom lines is a convention determined by the video standard. Hence the distinction between temporal and spatial order of fields. The diagrams below should make this clearer.”…””}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K*hhØh²hubhì)”}”(hŒãIn V4L it is assumed that all video cameras transmit fields on the media bus in the same order they were captured, so if the top field was captured first (is the older field), the top field is also transmitted first on the bus.”h]”hŒãIn V4L it is assumed that all video cameras transmit fields on the media bus in the same order they were captured, so if the top field was captured first (is the older field), the top field is also transmitted first on the bus.”…””}”(hjYh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K0hhØh²hubhì)”}”(hXfAll video capture and output devices must report the current field order. Some drivers may permit the selection of a different order, to this end applications initialize the ``field`` field of struct :c:type:`v4l2_pix_format` before calling the :ref:`VIDIOC_S_FMT ` ioctl. If this is not desired it should have the value ``V4L2_FIELD_ANY`` (0).”h]”(hŒ®All video capture and output devices must report the current field order. Some drivers may permit the selection of a different order, to this end applications initialize the ”…””}”(hjgh²hh³Nh´NubhŒliteral”“”)”}”(hŒ ``field``”h]”hŒfield”…””}”(hjqh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjgubhŒ field of struct ”…””}”(hjgh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_pix_format`”h]”jp)”}”(hj…h]”hŒv4l2_pix_format”…””}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œc”Œc-type”eh"]”h$]”h&]”uh1johjƒubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œ#userspace-api/media/v4l/field-order”Œ refdomain”j’Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰Œ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)”}”Œdata”]”j¥Œ ASTIdentifier”“”)”}”Œ identifier”ŒV4L”sbN†”asbŒ reftarget”Œv4l2_pix_format”uh1hh³hÇh´K5hjgubhŒ before calling the ”…””}”(hjgh²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”hŒinline”“”)”}”(hj»h]”hŒ VIDIOC_S_FMT”…””}”(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_g_fmt”uh1hh³hÇh´K5hjgubhŒ8 ioctl. If this is not desired it should have the value ”…””}”(hjgh²hh³Nh´Nubjp)”}”(hŒ``V4L2_FIELD_ANY``”h]”hŒV4L2_FIELD_ANY”…””}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjgubhŒ (0).”…””}”(hjgh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K5hhØh²hubh×)”}”(hhh]”(hÜ)”}”(hŒenum v4l2_field”h]”hŒenum v4l2_field”…””}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj÷h²hh³hÇh´K>ubhŒindex”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”ŒV4L.v4l2_field (C type)”Œc.V4L.v4l2_field”hNt”auh1jhj÷h²hh³Nh´NubhŒdesc”“”)”}”(hhh]”(hŒdesc_signature”“”)”}”(hŒ v4l2_field”h]”hŒdesc_signature_line”“”)”}”(hŒtype v4l2_field”h]”(hŒdesc_sig_keyword”“”)”}”(hŒtype”h]”hŒtype”…””}”(hj,h²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1j*hj&h²hh³hÇh´K@ubhŒdesc_sig_space”“”)”}”(hŒ ”h]”hŒ ”…””}”(hj=h²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1j;hj&h²hh³hÇh´K@ubhŒ desc_name”“”)”}”(hŒ v4l2_field”h]”hŒ desc_sig_name”“”)”}”(hj"h]”hŒ v4l2_field”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jRhjNubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1jLhj&h²hh³hÇh´K@ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1j$Œsphinx_line_type”Œ declarator”hj h²hh³hÇh´K@ubah}”(h]”jah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1jh³hÇh´K@hjh²hubhŒ desc_content”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”uh1j~hjh²hh³hÇh´K@ubeh}”(h]”h ]”(j’Œtype”eh"]”h$]”h&]”Œdomain”j’Œobjtype”jŒŒdesctype”jŒŒnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1jh²hhj÷h³Nh´NubhŒtabular_col_spec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œspec”Œ|p{5.8cm}|p{0.6cm}|p{10.9cm}|”uh1j–h³hÇh´KBhj÷h²hubhŒtable”“”)”}”(hhh]”hŒtgroup”“”)”}”(hhh]”(hŒcolspec”“”)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j­hjªubj®)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j­hjªubj®)”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œcolwidth”Kuh1j­hjªubhŒtbody”“”)”}”(hhh]”(hŒrow”“”)”}”(hhh]”(hŒentry”“”)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_ANY``”h]”jp)”}”(hjÞh]”hŒV4L2_FIELD_ANY”…””}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KKhjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÔubjØ)”}”(hhh]”hì)”}”(hŒ0”h]”hŒ0”…””}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KLhjùubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÔubjØ)”}”(hhh]”hì)”}”(hXèApplications request this field order when any field format is acceptable. Drivers choose depending on hardware capabilities or e.g. the requested image size, and return the actual field order. Drivers must never return ``V4L2_FIELD_ANY``. If multiple field orders are possible the driver must choose one of the possible field orders during :ref:`VIDIOC_S_FMT ` or :ref:`VIDIOC_TRY_FMT `. struct :c:type:`v4l2_buffer` ``field`` can never be ``V4L2_FIELD_ANY``.”h]”(hŒÜApplications request this field order when any field format is acceptable. Drivers choose depending on hardware capabilities or e.g. the requested image size, and return the actual field order. Drivers must never return ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ``V4L2_FIELD_ANY``”h]”hŒV4L2_FIELD_ANY”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒg. If multiple field orders are possible the driver must choose one of the possible field orders during ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ":ref:`VIDIOC_S_FMT `”h]”j¾)”}”(hj/h]”hŒ VIDIOC_S_FMT”…””}”(hj1h²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_g_fmt”uh1hh³hÇh´KMhjubhŒ or ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ$:ref:`VIDIOC_TRY_FMT `”h]”j¾)”}”(hjSh]”hŒVIDIOC_TRY_FMT”…””}”(hjUh²hh³Nh´Nubah}”(h]”h ]”(j‘Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j½hjQubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jžŒ refdomain”j_Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj³Œ vidioc_g_fmt”uh1hh³hÇh´KMhjubhŒ . struct ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_buffer`”h]”jp)”}”(hjwh]”hŒ v4l2_buffer”…””}”(hjyh²hh³Nh´Nubah}”(h]”h ]”(j‘j’Œc-type”eh"]”h$]”h&]”uh1johjuubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jžŒ refdomain”j’Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¤j¨j³Œ v4l2_buffer”uh1hh³hÇh´KMhjubhŒ ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ ``field``”h]”hŒfield”…””}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ can never be ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ``V4L2_FIELD_ANY``”h]”hŒV4L2_FIELD_ANY”…””}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KMhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÔubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_NONE``”h]”jp)”}”(hjÖh]”hŒV4L2_FIELD_NONE”…””}”(hjØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KWhjÑubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÎubjØ)”}”(hhh]”hì)”}”(hŒ1”h]”hŒ1”…””}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KXhjñubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÎubjØ)”}”(hhh]”hì)”}”(hŒMImages are in progressive (frame-based) format, not interlaced (field-based).”h]”hŒMImages are in progressive (frame-based) format, not interlaced (field-based).”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KYhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÎubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_TOP``”h]”jp)”}”(hj-h]”hŒV4L2_FIELD_TOP”…””}”(hj/h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johj+ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K[hj(ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj%ubjØ)”}”(hhh]”hì)”}”(hŒ2”h]”hŒ2”…””}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K\hjHubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj%ubjØ)”}”(hhh]”hì)”}”(hŒ/Images consist of the top (aka odd) field only.”h]”hŒ/Images consist of the top (aka odd) field only.”…””}”(hjbh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K]hj_ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_BOTTOM``”h]”jp)”}”(hj„h]”hŒV4L2_FIELD_BOTTOM”…””}”(hj†h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johj‚ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K^hjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj|ubjØ)”}”(hhh]”hì)”}”(hŒ3”h]”hŒ3”…””}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K_hjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj|ubjØ)”}”(hhh]”hì)”}”(hŒÍImages consist of the bottom (aka even) field only. Applications may wish to prevent a device from capturing interlaced images because they will have "comb" or "feathering" artefacts around moving objects.”h]”hŒÕImages consist of the bottom (aka even) field only. Applications may wish to prevent a device from capturing interlaced images because they will have “comb†or “feathering†artefacts around moving objects.”…””}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K`hj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj|ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_INTERLACED``”h]”jp)”}”(hjÛh]”hŒV4L2_FIELD_INTERLACED”…””}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjÙubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KdhjÖubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÓubjØ)”}”(hhh]”hì)”}”(hŒ4”h]”hŒ4”…””}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kehjöubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÓubjØ)”}”(hhh]”hì)”}”(hXImages contain both fields, interleaved line by line. The temporal order of the fields (whether the top or bottom field is older) depends on the current video standard. In M/NTSC the bottom field is the older field. In all other standards the top field is the older field.”h]”hXImages contain both fields, interleaved line by line. The temporal order of the fields (whether the top or bottom field is older) depends on the current video standard. In M/NTSC the bottom field is the older field. In all other standards the top field is the older field.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kfhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_SEQ_TB``”h]”jp)”}”(hj2h]”hŒV4L2_FIELD_SEQ_TB”…””}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kkhj-ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj*ubjØ)”}”(hhh]”hì)”}”(hŒ5”h]”hŒ5”…””}”(hjPh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KlhjMubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj*ubjØ)”}”(hhh]”hì)”}”(hŒòImages contain both fields, the top field lines are stored first in memory, immediately followed by the bottom field lines. Fields are always stored in temporal order, the older one first in memory. Image sizes refer to the frame, not fields.”h]”hŒòImages contain both fields, the top field lines are stored first in memory, immediately followed by the bottom field lines. Fields are always stored in temporal order, the older one first in memory. Image sizes refer to the frame, not fields.”…””}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kmhjdubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj*ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_SEQ_BT``”h]”jp)”}”(hj‰h]”hŒV4L2_FIELD_SEQ_BT”…””}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kqhj„ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubjØ)”}”(hhh]”hì)”}”(hŒ6”h]”hŒ6”…””}”(hj§h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Krhj¤ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubjØ)”}”(hhh]”hì)”}”(hŒòImages contain both fields, the bottom field lines are stored first in memory, immediately followed by the top field lines. Fields are always stored in temporal order, the older one first in memory. Image sizes refer to the frame, not fields.”h]”hŒòImages contain both fields, the bottom field lines are stored first in memory, immediately followed by the top field lines. Fields are always stored in temporal order, the older one first in memory. Image sizes refer to the frame, not fields.”…””}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kshj»ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_ALTERNATE``”h]”jp)”}”(hjàh]”hŒV4L2_FIELD_ALTERNATE”…””}”(hjâh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KwhjÛubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjØubjØ)”}”(hhh]”hì)”}”(hŒ7”h]”hŒ7”…””}”(hjþh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kxhjûubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjØubjØ)”}”(hhh]”hì)”}”(hX¿The two fields of a frame are passed in separate buffers, in temporal order, i. e. the older one first. To indicate the field parity (whether the current field is a top or bottom field) the driver or application, depending on data direction, must set struct :c:type:`v4l2_buffer` ``field`` to ``V4L2_FIELD_TOP`` or ``V4L2_FIELD_BOTTOM``. Any two successive fields pair to build a frame. If fields are successive, without any dropped fields between them (fields can drop individually), can be determined from the struct :c:type:`v4l2_buffer` ``sequence`` field. This format cannot be selected when using the read/write I/O method since there is no way to communicate if a field was a top or bottom field.”h]”(hXThe two fields of a frame are passed in separate buffers, in temporal order, i. e. the older one first. To indicate the field parity (whether the current field is a top or bottom field) the driver or application, depending on data direction, must set struct ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_buffer`”h]”jp)”}”(hjh]”hŒ v4l2_buffer”…””}”(hj!h²hh³Nh´Nubah}”(h]”h ]”(j‘j’Œc-type”eh"]”h$]”h&]”uh1johjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jžŒ refdomain”j’Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¤j¨j³Œ v4l2_buffer”uh1hh³hÇh´KyhjubhŒ ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ ``field``”h]”hŒfield”…””}”(hj@h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ to ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ``V4L2_FIELD_TOP``”h]”hŒV4L2_FIELD_TOP”…””}”(hjRh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ or ”…””}”(hjh²hh³Nh´Nubjp)”}”(hŒ``V4L2_FIELD_BOTTOM``”h]”hŒV4L2_FIELD_BOTTOM”…””}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ·. Any two successive fields pair to build a frame. If fields are successive, without any dropped fields between them (fields can drop individually), can be determined from the struct ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ:c:type:`v4l2_buffer`”h]”jp)”}”(hjxh]”hŒ v4l2_buffer”…””}”(hjzh²hh³Nh´Nubah}”(h]”h ]”(j‘j’Œc-type”eh"]”h$]”h&]”uh1johjvubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jžŒ refdomain”j’Œreftype”Œtype”Œ refexplicit”‰Œrefwarn”‰j¤j¨j³Œ v4l2_buffer”uh1hh³hÇh´KyhjubhŒ ”…””}”hjsbjp)”}”(hŒ ``sequence``”h]”hŒsequence”…””}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubhŒ– field. This format cannot be selected when using the read/write I/O method since there is no way to communicate if a field was a top or bottom field.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kyhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjØubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_INTERLACED_TB``”h]”jp)”}”(hjÅh]”hŒV4L2_FIELD_INTERLACED_TB”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjÃubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K†hjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj½ubjØ)”}”(hhh]”hì)”}”(hŒ8”h]”hŒ8”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K‡hjàubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj½ubjØ)”}”(hhh]”hì)”}”(hŒhImages contain both fields, interleaved line by line, top field first. The top field is the older field.”h]”hŒhImages contain both fields, interleaved line by line, top field first. The top field is the older field.”…””}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´Kˆhj÷ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hj½ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubjÓ)”}”(hhh]”(jØ)”}”(hhh]”hì)”}”(hŒ``V4L2_FIELD_INTERLACED_BT``”h]”jp)”}”(hjh]”hŒV4L2_FIELD_INTERLACED_BT”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1johjubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KŠhjubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubjØ)”}”(hhh]”hì)”}”(hŒ9”h]”hŒ9”…””}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´K‹hj7ubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubjØ)”}”(hhh]”hì)”}”(hŒkImages contain both fields, interleaved line by line, top field first. The bottom field is the older field.”h]”hŒkImages contain both fields, interleaved line by line, top field first. The bottom field is the older field.”…””}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hëh³hÇh´KŒhjNubah}”(h]”h ]”h"]”h$]”h&]”uh1j×hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÒhjÏubeh}”(h]”h ]”h"]”h$]”h&]”uh1jÍhjªubeh}”(h]”h ]”h"]”h$]”h&]”Œcols”Kuh1j¨hj¥ubah}”(h]”h ]”Œ longtable”ah"]”h$]”h&]”uh1j£hj÷h²hh³Nh´NubhÉ)”}”(hŒ.. _fieldseq-tb:”h]”h}”(h]”h ]”h"]”h$]”h&]”hÔŒ fieldseq-tb”uh1hÈh´K‘hj÷h²hh³hÇubeh}”(h]”Œenum-v4l2-field”ah ]”h"]”Œenum v4l2_field”ah$]”h&]”uh1hÖhhØh²hh³hÇh´K>ubh×)”}”(hhh]”(hÜ)”}”(hŒ(Field Order, Top Field First Transmitted”h]”hŒ(Field Order, Top Field First Transmitted”…””}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhj’h²hh³hÇh´K”ubŒkfigure”Œ kernel_figure”“”)”}”(hhh]”hŒfigure”“”)”}”(hhh]”(hŒimage”“”)”}”(hŒƒ.. kernel-figure:: fieldseq_tb.svg :alt: fieldseq_tb.svg :align: center Field Order, Top Field First Transmitted ”h]”h}”(h]”h ]”h"]”h$]”h&]”Œalt”Œfieldseq_tb.svg”Œuri”Œ'userspace-api/media/v4l/fieldseq_tb.svg”Œ candidates”}”Œ*”j½suh1j®hj«h³hÇh´KubhŒcaption”“”)”}”(hŒ(Field Order, Top Field First Transmitted”h]”hŒ(Field Order, Top Field First Transmitted”…””}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÁh³hÇh´Kšhj«ubeh}”(h]”Œid2”ah ]”h"]”h$]”h&]”Œalign”Œcenter”uh1j©hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hj’h²hh³hÇh´NubhÉ)”}”(hŒ.. _fieldseq-bt:”h]”h}”(h]”h ]”h"]”h$]”h&]”hÔŒ fieldseq-bt”uh1hÈh´Khj’h²hh³hÇubeh}”(h]”(Œ'field-order-top-field-first-transmitted”j‰eh ]”h"]”(Œ(field order, top field first transmitted”Œ fieldseq-tb”eh$]”h&]”uh1hÖhhØh²hh³hÇh´K”Œexpect_referenced_by_name”}”jñjsŒexpect_referenced_by_id”}”j‰jsubh×)”}”(hhh]”(hÜ)”}”(hŒ+Field Order, Bottom Field First Transmitted”h]”hŒ+Field Order, Bottom Field First Transmitted”…””}”(hjûh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÛhjøh²hh³hÇh´K ubj¥)”}”(hhh]”jª)”}”(hhh]”(j¯)”}”(hŒ„.. kernel-figure:: fieldseq_bt.svg :alt: fieldseq_bt.svg :align: center Field Order, Bottom Field First Transmitted”h]”h}”(h]”h ]”h"]”h$]”h&]”Œalt”Œfieldseq_bt.svg”Œuri”Œ'userspace-api/media/v4l/fieldseq_bt.svg”j¾}”jÀjsuh1j®hj h³hÇh´KubjÂ)”}”(hŒ+Field Order, Bottom Field First Transmitted”h]”hŒ+Field Order, Bottom Field First Transmitted”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÁh³hÇh´K¦hj ubeh}”(h]”Œid3”ah ]”h"]”h$]”h&]”jØŒcenter”uh1j©hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤hjøh²hh³hÇh´Nubeh}”(h]”(Œ*field-order-bottom-field-first-transmitted”jêeh ]”h"]”(Œ+field order, bottom field first transmitted”Œ fieldseq-bt”eh$]”h&]”uh1hÖhhØh²hh³hÇh´K jô}”j@jàsjö}”jêjàsubeh}”(h]”(hÕŒid1”eh ]”h"]”(Œ field order”Œ field-order”eh$]”h&]”uh1hÖhhh²hh³hÇh´Kjô}”jKhÊsjö}”hÕhÊsubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(hÛNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”j׌footnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jrŒerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”(hÕ]”hÊaj‰]”jajê]”jàauŒnameids”}”(jKhÕjJjGjjŒjñj‰jðjíj@jêj?j<uŒ nametypes”}”(jKˆjJ‰j‰jñˆjð‰j@ˆj?‰uh}”(hÕhØjGhØjŒj÷jj j‰j’jíj’jêjøj<jøjÓj«j.j uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”j€Ks…”R”Œparse_messages”]”Œtransform_messages”]”(hŒsystem_message”“”)”}”(hhh]”hì)”}”(hhh]”hŒ1Hyperlink target "field-order" is not referenced.”…””}”hjÞsbah}”(h]”h ]”h"]”h$]”h&]”uh1hëhjÛubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÇŒline”Kuh1jÙubjÚ)”}”(hhh]”hì)”}”(hhh]”hŒ1Hyperlink target "fieldseq-tb" is not referenced.”…””}”hjùsbah}”(h]”h ]”h"]”h$]”h&]”uh1hëhjöubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jóŒsource”hÇŒline”K‘uh1jÙubjÚ)”}”(hhh]”hì)”}”(hhh]”hŒ1Hyperlink target "fieldseq-bt" is not referenced.”…””}”hj sbah}”(h]”h ]”h"]”h$]”h&]”uh1hëhj ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”jóŒsource”hÇŒline”Kuh1jÙubeŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.