ysphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget7/translations/zh_CN/userspace-api/media/v4l/field-ordermodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/zh_TW/userspace-api/media/v4l/field-ordermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/it_IT/userspace-api/media/v4l/field-ordermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ja_JP/userspace-api/media/v4l/field-ordermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/ko_KR/userspace-api/media/v4l/field-ordermodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget7/translations/sp_SP/userspace-api/media/v4l/field-ordermodnameN 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:spacepreserveuh1hhhhhhQ/var/lib/git/docbuild/linux/Documentation/userspace-api/media/v4l/field-order.rsthKubhtarget)}(h.. _field-order:h]h}(h]h ]h"]h$]h&]refid field-orderuh1hhKhhhhhhubhsection)}(hhh](htitle)}(h Field Orderh]h Field Order}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hXWe 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]hXWe 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.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hXIt 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](hXIt 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 }(hhhhhNhNubhemphasis)}(h*temporal order*h]htemporal order}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhubh.}(hhhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hXWhen 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](hWhen 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 }(hj hhhNhNubh)}(h*spatial order*h]h spatial order}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj ubh: 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.}(hj hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(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)hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK"hhhhubh)}(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.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hhhhubh)}(hIn 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]hIn 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.}(hjEhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hhhhubh)}(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](hAll 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 }(hjShhhNhNubhliteral)}(h ``field``h]hfield}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjSubh field of struct }(hjShhhNhNubh)}(h:c:type:`v4l2_pix_format`h]j\)}(hjqh]hv4l2_pix_format}(hjshhhNhNubah}(h]h ](xrefcc-typeeh"]h$]h&]uh1j[hjoubah}(h]h ]h"]h$]h&]refdoc#userspace-api/media/v4l/field-order refdomainj~reftypetype refexplicitrefwarn reftargetv4l2_pix_formatuh1hhhhK4hjSubh before calling the }(hjShhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]hinline)}(hjh]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](j}stdstd-refeh"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhK4hjSubh8 ioctl. If this is not desired it should have the value }(hjShhhNhNubj\)}(h``V4L2_FIELD_ANY``h]hV4L2_FIELD_ANY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjSubh (0).}(hjShhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK4hhhhubh)}(hhh](h)}(henum v4l2_fieldh]henum v4l2_field}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK=ubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](singlev4l2_field (C type) c.v4l2_fieldhNtauh1jhjhhhNhNubhdesc)}(hhh](hdesc_signature)}(h v4l2_fieldh]hdesc_signature_line)}(htype v4l2_fieldh](hdesc_sig_keyword)}(htypeh]htype}(hj hhhNhNubah}(h]h ]kah"]h$]h&]uh1jhjhhhhhK?ubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjhhhhhK?ubh desc_name)}(h v4l2_fieldh]h desc_sig_name)}(hjh]h v4l2_field}(hj1hhhNhNubah}(h]h ]nah"]h$]h&]uh1j/hj+ubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1j)hjhhhhhK?ubeh}(h]h ]h"]h$]h&]hh add_permalinkuh1jsphinx_line_type declaratorhjhhhhhK?ubah}(h]jah ](sig sig-objecteh"]h$]h&] is_multiline _toc_parts) _toc_namehuh1jhhhK?hjhhubh desc_content)}(hhh]h}(h]h ]h"]h$]h&]uh1j[hjhhhhhK?ubeh}(h]h ](j~typeeh"]h$]h&]domainj~objtypejidesctypejinoindex noindexentrynocontentsentryuh1jhhhjhNhNubhtabular_col_spec)}(hhh]h}(h]h ]h"]h$]h&]spec|p{5.8cm}|p{0.6cm}|p{10.9cm}|uh1jshhhKAhjhhubhtable)}(hhh]htgroup)}(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``V4L2_FIELD_ANY``h]j\)}(hjh]hV4L2_FIELD_ANY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKJhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0h]h0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hXApplications 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](hApplications 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 }(hjhhhNhNubj\)}(h``V4L2_FIELD_ANY``h]hV4L2_FIELD_ANY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubhg. If multiple field orders are possible the driver must choose one of the possible field orders during }(hjhhhNhNubh)}(h":ref:`VIDIOC_S_FMT `h]j)}(hj h]h VIDIOC_S_FMT}(hjhhhNhNubah}(h]h ](j}stdstd-refeh"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]refdocj refdomainjreftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKLhjubh or }(hjhhhNhNubh)}(h$:ref:`VIDIOC_TRY_FMT `h]j)}(hj0h]hVIDIOC_TRY_FMT}(hj2hhhNhNubah}(h]h ](j}stdstd-refeh"]h$]h&]uh1jhj.ubah}(h]h ]h"]h$]h&]refdocj refdomainj<reftyperef refexplicitrefwarnj vidioc_g_fmtuh1hhhhKLhjubh . struct }(hjhhhNhNubh)}(h:c:type:`v4l2_buffer`h]j\)}(hjTh]h v4l2_buffer}(hjVhhhNhNubah}(h]h ](j}j~c-typeeh"]h$]h&]uh1j[hjRubah}(h]h ]h"]h$]h&]refdocj refdomainj~reftypetype refexplicitrefwarn c:parent_keysphinx.domains.c LookupKey)}data]sbj v4l2_bufferuh1hhhhKLhjubh }(hjhhhNhNubj\)}(h ``field``h]hfield}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh can never be }(hjhhhNhNubj\)}(h``V4L2_FIELD_ANY``h]hV4L2_FIELD_ANY}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKLhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_NONE``h]j\)}(hjh]hV4L2_FIELD_NONE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKVhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h1h]h1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKWhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hMImages are in progressive (frame-based) format, not interlaced (field-based).h]hMImages are in progressive (frame-based) format, not interlaced (field-based).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKXhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_TOP``h]j\)}(hjh]hV4L2_FIELD_TOP}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKZhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h2h]h2}(hj0hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK[hj-ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h/Images consist of the top (aka odd) field only.h]h/Images consist of the top (aka odd) field only.}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK\hjDubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_BOTTOM``h]j\)}(hjih]hV4L2_FIELD_BOTTOM}(hjkhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjgubah}(h]h ]h"]h$]h&]uh1hhhhK]hjdubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(h3h]h3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK^hjubah}(h]h ]h"]h$]h&]uh1jhjaubj)}(hhh]h)}(hImages 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]hImages 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK_hjubah}(h]h ]h"]h$]h&]uh1jhjaubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_INTERLACED``h]j\)}(hjh]hV4L2_FIELD_INTERLACED}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKchjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h4h]h4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKdhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKehjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_SEQ_TB``h]j\)}(hjh]hV4L2_FIELD_SEQ_TB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKjhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h5h]h5}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKkhj2ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hImages 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]hImages 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.}(hjLhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKlhjIubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_SEQ_BT``h]j\)}(hjnh]hV4L2_FIELD_SEQ_BT}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjlubah}(h]h ]h"]h$]h&]uh1hhhhKphjiubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(h6h]h6}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKqhjubah}(h]h ]h"]h$]h&]uh1jhjfubj)}(hhh]h)}(hImages 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]hImages 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.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKrhjubah}(h]h ]h"]h$]h&]uh1jhjfubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_ALTERNATE``h]j\)}(hjh]hV4L2_FIELD_ALTERNATE}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKvhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h7h]h7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKwhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]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 :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 }(hjhhhNhNubh)}(h:c:type:`v4l2_buffer`h]j\)}(hjh]h v4l2_buffer}(hjhhhNhNubah}(h]h ](j}j~c-typeeh"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]refdocj refdomainj~reftypetype refexplicitrefwarnjpjtj v4l2_bufferuh1hhhhKxhjubh }(hjhhhNhNubj\)}(h ``field``h]hfield}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh to }(hjhhhNhNubj\)}(h``V4L2_FIELD_TOP``h]hV4L2_FIELD_TOP}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh or }(hjhhhNhNubj\)}(h``V4L2_FIELD_BOTTOM``h]hV4L2_FIELD_BOTTOM}(hjIhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh. 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 }(hjhhhNhNubh)}(h:c:type:`v4l2_buffer`h]j\)}(hj]h]h v4l2_buffer}(hj_hhhNhNubah}(h]h ](j}j~c-typeeh"]h$]h&]uh1j[hj[ubah}(h]h ]h"]h$]h&]refdocj refdomainj~reftypetype refexplicitrefwarnjpjtj v4l2_bufferuh1hhhhKxhjubh }hjsbj\)}(h ``sequence``h]hsequence}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubh 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.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhKxhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_INTERLACED_TB``h]j\)}(hjh]hV4L2_FIELD_INTERLACED_TB}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h8h]h8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hhImages contain both fields, interleaved line by line, top field first. The top field is the older field.h]hhImages contain both fields, interleaved line by line, top field first. The top field is the older field.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h``V4L2_FIELD_INTERLACED_BT``h]j\)}(hjh]hV4L2_FIELD_INTERLACED_BT}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1j[hjubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h9h]h9}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hkImages contain both fields, interleaved line by line, top field first. The bottom field is the older field.h]hkImages contain both fields, interleaved line by line, top field first. The bottom field is the older field.}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj3ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jhjubah}(h]h ] longtableah"]h$]h&]uh1jhjhhhNhNubh)}(h.. _fieldseq-tb:h]h}(h]h ]h"]h$]h&]h fieldseq-tbuh1hhKhjhhhhubeh}(h]enum-v4l2-fieldah ]h"]enum v4l2_fieldah$]h&]uh1hhhhhhhhK=ubh)}(hhh](h)}(h(Field Order, Top Field First Transmittedh]h(Field Order, Top Field First Transmitted}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjwhhhhhKubkfigure kernel_figure)}(hhh]hfigure)}(hhh](himage)}(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&]altfieldseq_tb.svguri'userspace-api/media/v4l/fieldseq_tb.svg candidates}*jsuh1jhjhhhKubhcaption)}(h(Field Order, Top Field First Transmittedh]h(Field Order, Top Field First Transmitted}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]id2ah ]h"]h$]h&]aligncenteruh1jhjubah}(h]h ]h"]h$]h&]uh1jhjwhhhhhNubh)}(h.. _fieldseq-bt:h]h}(h]h ]h"]h$]h&]h fieldseq-btuh1hhKhjwhhhhubeh}(h]('field-order-top-field-first-transmittedjneh ]h"]((field order, top field first transmitted fieldseq-tbeh$]h&]uh1hhhhhhhhKexpect_referenced_by_name}jjdsexpect_referenced_by_id}jnjdsubh)}(hhh](h)}(h+Field Order, Bottom Field First Transmittedh]h+Field Order, Bottom Field First Transmitted}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhKubj)}(hhh]j)}(hhh](j)}(h.. kernel-figure:: fieldseq_bt.svg :alt: fieldseq_bt.svg :align: center Field Order, Bottom Field First Transmittedh]h}(h]h ]h"]h$]h&]altfieldseq_bt.svguri'userspace-api/media/v4l/fieldseq_bt.svgj}jjsuh1jhjhhhKubj)}(h+Field Order, Bottom Field First Transmittedh]h+Field Order, Bottom Field First Transmitted}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhjubeh}(h]id3ah ]h"]h$]h&]jcenteruh1jhjubah}(h]h ]h"]h$]h&]uh1jhjhhhhhNubeh}(h](*field-order-bottom-field-first-transmittedjeh ]h"](+field order, bottom field first transmitted fieldseq-bteh$]h&]uh1hhhhhhhhKj}j%jsj}jjsubeh}(h](hid1eh ]h"]( field order field-ordereh$]h&]uh1hhhhhhhhKj}j0hsj}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_handlerjWerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _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]hajn]jdaj]jaunameids}(j0hj/j,jtjqjjnjjj%jj$j!u nametypes}(j0j/jtjjj%j$uh}(hhj,hjqjjjjnjwjjwjjj!jjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}jeKsRparse_messages]transform_messages](hsystem_message)}(hhh]h)}(hhh]h1Hyperlink target "field-order" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcehlineKuh1jubj)}(hhh]h)}(hhh]h1Hyperlink target "fieldseq-tb" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehlineKuh1jubj)}(hhh]h)}(hhh]h1Hyperlink target "fieldseq-bt" is not referenced.}hjsbah}(h]h ]h"]h$]h&]uh1hhjubah}(h]h ]h"]h$]h&]levelKtypejsourcehlineKuh1jube transformerN include_log] decorationNhhub.