Lines Matching +full:south +full:- +full:field

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
4 .. _hist-v4l2:
21 1998-08-20: First version.
23 1998-08-27: The :c:func:`select()` function was introduced.
25 1998-09-10: New video standard interface.
27 1998-09-18: The ``VIDIOC_NONCAP`` ioctl was replaced by the otherwise
36 1998-09-28: Revamped video standard. Made video controls individually
39 1998-10-02: The ``id`` field was removed from
47 1998-11-08: Many minor changes. Most symbols have been renamed. Some
50 1998-11-12: The read/write direction of some ioctls was misdefined.
52 1998-11-14: ``V4L2_PIX_FMT_RGB24`` changed to ``V4L2_PIX_FMT_BGR24``,
61 1998-11-28: A few ioctl symbols changed. Interfaces for codecs and video
64 1999-01-14: A raw VBI capture interface was added.
66 1999-01-19: The ``VIDIOC_NEXTBUF`` ioctl was removed.
68 V4L2 Version 0.16 1999-01-31
71 1999-01-27: There is now one QBUF ioctl, VIDIOC_QWBUF and VIDIOC_QRBUF
75 V4L2 Version 0.18 1999-03-16
82 V4L2 Version 0.19 1999-06-05
85 1999-03-18: Fill in the category and catname fields of v4l2_queryctrl
89 1999-03-31: Better compatibility for v4l memory capture ioctls. Requires
95 1999-04-04: Added a few more control IDs.
97 1999-04-07: Added the button control type.
99 1999-05-02: Fixed a typo in videodev.h, and added the
102 1999-05-20: Definition of VIDIOC_G_CTRL was wrong causing a
105 1999-06-05: Changed the value of V4L2_CID_WHITENESS.
107 V4L2 Version 0.20 (1999-09-10)
116 was changed for compatibility with v4l. (1999-08-30)
118 2. ``V4L2_TUNER_SUB_LANG1`` was added. (1999-09-05)
127 .. code-block:: c
133 .. code-block:: c
137 4. All the different get- and set-format commands were swept into one
140 type field selecting the union member as parameter. Purpose is to
153 ``VIDIOC_S_OUTPARM``. A ``type`` field in the new struct v4l2_streamparm
160 introduced and one dropped. The ``catname`` field was replaced by a
161 ``group`` field.
177 signed 64-bit integer. Output devices should not send a buffer out
178 until the time in the timestamp field has arrived. I would like to
183 64-bit signed integers (not struct timeval's) and given in nanosecond
187 Linux time-of-day clock can be changed periodically, which would
191 timestamp field to a 64-bit integer, and I will change the
193 return a 64-bit integer.
195 8. A ``sequence`` field was added to struct v4l2_buffer. The ``sequence``
196 field counts captured frames, it is ignored by output devices. When a
202 1999-12-23: In struct v4l2_vbi_format the
203 ``reserved1`` field became ``offset``. Previously drivers were required
204 to clear the ``reserved1`` field.
206 2000-01-13: The ``V4L2_FMT_FLAG_NOT_INTERLACED`` flag was added.
208 2000-07-31: The ``linux/poll.h`` header is now included by
211 2000-11-20: ``V4L2_TYPE_VBI_OUTPUT`` and ``V4L2_PIX_FMT_Y41P`` were
214 2000-11-25: ``V4L2_TYPE_VBI_INPUT`` was added.
216 2000-12-04: A couple typos in symbol names were fixed.
218 2001-01-18: To avoid namespace conflicts the ``fourcc`` macro defined in
221 2001-01-25: A possible driver-level compatibility problem between the
227 2001-01-26: A possible kernel-level incompatibility between the
231 2001-03-02: Certain V4L ioctls which pass data in both direction
232 although they are defined with read-only parameter, did not work
235 2001-04-13: Big endian 16-bit RGB formats were added.
237 2001-09-17: New YUV formats and the
243 2000-09-18: ``V4L2_BUF_TYPE_VBI`` was added. This may *break
246 struct ``v4l2_fmt`` ``type`` field does not contain
248 the ``offset`` field the ambiguous phrase "rising edge" was changed to
251 V4L2 Version 0.20 2000-11-23
261 numbering scheme. We now use line number as defined by ITU-R, period.
268 transmitted only on the first field. The comment that both ``count``
279 ``reserved2`` field which was previously mentioned only in the
286 V4L2 Version 0.20 2002-07-25
291 V4L2 in Linux 2.5.46, 2002-10
294 Around October-November 2002, prior to an announced feature freeze of
320 changes the ``type`` field became a bit set and was merged into the
321 ``flags`` field. ``V4L2_FLAG_TUNER`` was renamed to
344 field and the ``capability`` field and its only flag
345 ``V4L2_INPUT_CAP_AUDIO`` was replaced by the new ``audioset`` field.
346 Instead of linking one video input to one audio input this field
356 5. The struct v4l2_audio field ``audio`` was
364 Again for consistency the struct v4l2_audioout field ``audio`` was renamed
367 6. The struct v4l2_tuner ``input`` field was
368 replaced by an ``index`` field, permitting devices with multiple
372 A ``type`` field was added.
375 ``output`` was replaced by an ``index`` field.
378 field was replaced by a ``tuner`` field containing the respective
379 tuner or modulator index number. A tuner ``type`` field was added
380 and the ``reserved`` field became larger for future extensions
387 standards by :ref:`v4l2_std_id <v4l2-std-id>` and symbols
394 ``index`` field was added for
396 :ref:`v4l2_std_id <v4l2-std-id>` field named ``id`` was added as
398 field. The misleading ``framerate`` field was renamed to
411 8. The struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` fields
425 removed. The ``type`` field changed to type enum v4l2_buf_type and
429 .. flat-table::
430 :header-rows: 1
431 :stub-columns: 0
433 * - Old defines
434 - enum v4l2_buf_type
435 * - ``V4L2_BUF_TYPE_CAPTURE``
436 - ``V4L2_BUF_TYPE_VIDEO_CAPTURE``
437 * - ``V4L2_BUF_TYPE_CODECIN``
438 - Omitted for now
439 * - ``V4L2_BUF_TYPE_CODECOUT``
440 - Omitted for now
441 * - ``V4L2_BUF_TYPE_EFFECTSIN``
442 - Omitted for now
443 * - ``V4L2_BUF_TYPE_EFFECTSIN2``
444 - Omitted for now
445 * - ``V4L2_BUF_TYPE_EFFECTSOUT``
446 - Omitted for now
447 * - ``V4L2_BUF_TYPE_VIDEOOUT``
448 - ``V4L2_BUF_TYPE_VIDEO_OUTPUT``
449 * - ``-``
450 - ``V4L2_BUF_TYPE_VIDEO_OVERLAY``
451 * - ``-``
452 - ``V4L2_BUF_TYPE_VBI_CAPTURE``
453 * - ``-``
454 - ``V4L2_BUF_TYPE_VBI_OUTPUT``
455 * - ``-``
456 - ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE``
457 * - ``-``
458 - ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``
459 * - ``V4L2_BUF_TYPE_PRIVATE_BASE``
460 - ``V4L2_BUF_TYPE_PRIVATE`` (but this is deprecated)
462 10. In struct v4l2_fmtdesc a enum v4l2_buf_type field named ``type`` was
468 field was removed, assuming applications which recognize the format
469 by its four-character-code already know the color depth, and others
476 set the ``bytesperline`` field to zero to get a reasonable default.
477 Since the remaining flags were replaced as well, the ``flags`` field
481 newly added ``field`` field.
483 .. flat-table::
484 :header-rows: 1
485 :stub-columns: 0
487 * - Old flag
488 - enum v4l2_field
489 * - ``V4L2_FMT_FLAG_NOT_INTERLACED``
490 - ?
491 * - ``V4L2_FMT_FLAG_INTERLACED`` = ``V4L2_FMT_FLAG_COMBINED``
492 - ``V4L2_FIELD_INTERLACED``
493 * - ``V4L2_FMT_FLAG_TOPFIELD`` = ``V4L2_FMT_FLAG_ODDFIELD``
494 - ``V4L2_FIELD_TOP``
495 * - ``V4L2_FMT_FLAG_BOTFIELD`` = ``V4L2_FMT_FLAG_EVENFIELD``
496 - ``V4L2_FIELD_BOTTOM``
497 * - ``-``
498 - ``V4L2_FIELD_SEQ_TB``
499 * - ``-``
500 - ``V4L2_FIELD_SEQ_BT``
501 * - ``-``
502 - ``V4L2_FIELD_ALTERNATE``
505 a newly added ``colorspace`` field, where one of
511 ``type`` field was properly defined as enum v4l2_buf_type. Buffer types
512 changed as mentioned above. A new ``memory`` field of type
517 13. In struct v4l2_buffer the ``type`` field was
519 Buffer types changed as mentioned above. A ``field`` field of type
521 buffer contains a top or bottom field. The old field flags were
523 kernel as planned, the ``timestamp`` field changed back from type
526 of a second memory mapping method the ``offset`` field moved into
527 union ``m``, and a new ``memory`` field of type enum v4l2_memory
534 indeed allocated in device memory rather than DMA-able system
538 ``base[3]`` array anticipating double- and triple-buffering in
539 off-screen video memory, however without defining a synchronization
549 ``width`` and ``height`` field moved into a ``c`` substructure of
555 ``width`` and ``height`` field moved into a ``w`` substructure as
556 above. A ``field`` field of type enum v4l2_field was added to
557 distinguish between field and frame (interlaced) overlay.
567 ``SAMPLE_FORMAT`` field now contains a four-character-code as used
569 the ``V4L2_VBI_SF_UBYTE`` define. The ``reserved`` field was
573 the ``timeperframe`` field changed from unsigned long to
575 expression of multiples of the NTSC-M frame rate 30000 / 1001. A new
576 field ``readbuffers`` was added to control the driver behaviour in
590 V4L2 2003-06-19
595 exactly one tuner whose type field reads ``V4L2_TUNER_RADIO``.
598 :ref:`app-pri` for details.
621 defined with write-read parameter. It was changed to write-only,
622 while the write-read version was renamed to ``VIDIOC_OVERLAY_OLD``.
634 write-only parameter, inconsistent with other ioctls modifying their
635 argument. They were changed to write-read, while a ``_OLD`` suffix
636 was added to the write-only versions. The old ioctls were removed on
640 V4L2 2003-11-05
643 1. In :ref:`pixfmt-rgb` the following pixel formats were incorrectly
648 .. flat-table::
649 :header-rows: 1
650 :stub-columns: 0
652 * - Symbol
653 - In this document prior to revision 0.5
654 - Corrected
655 * - ``V4L2_PIX_FMT_RGB24``
656 - B, G, R
657 - R, G, B
658 * - ``V4L2_PIX_FMT_BGR24``
659 - R, G, B
660 - B, G, R
661 * - ``V4L2_PIX_FMT_RGB32``
662 - B, G, R, X
663 - R, G, B, X
664 * - ``V4L2_PIX_FMT_BGR32``
665 - R, G, B, X
666 - B, G, R, X
670 In :ref:`v4l-image-properties` the mapping of the V4L
676 for details see :ref:`pixfmt-rgb`.
678 V4L2 in Linux 2.6.6, 2004-05-09
682 defined with read-only parameter. It is now defined as write-read
683 ioctl, while the read-only version was renamed to
689 1. A new field ``input`` (former ``reserved[0]``) was added to the
691 field is to alternate between video inputs (e. g. cameras) in step
693 the new ``V4L2_BUF_FLAG_INPUT`` flag. The ``flags`` field is no
694 longer read-only.
696 V4L2 spec erratum 2004-08-01
699 1. The return value of the :ref:`func-open` function was incorrectly
702 2. Audio output ioctls end in -AUDOUT, not -AUDIOOUT.
709 struct v4l2_buffer ``memory`` field. It was
730 :ref:`v4l2-std-id`.
739 V4L2 spec erratum 2005-11-27
742 The capture example in :ref:`capture-example` called the
748 V4L2 spec erratum 2006-01-10
756 2. :ref:`VIDIOC_S_PARM <VIDIOC_G_PARM>` is a write-read ioctl, not
757 write-only as stated on its reference page. The ioctl changed in 2003
760 V4L2 spec erratum 2006-02-03
764 field gives the time in seconds, not microseconds.
766 V4L2 spec erratum 2006-02-04
769 1. The ``clips`` field in struct v4l2_window
778 South Korea), and the sets ``V4L2_STD_MN``, ``V4L2_STD_B``,
788 V4L2 spec erratum 2006-09-23 (Draft 0.15)
796 struct v4l2_audio ``mode`` field is a flags field.
802 applications must initialize the tuner ``type`` field of
809 6. In :ref:`output` and :ref:`raw-vbi` the device file names
813 extended from 224-239 to 224-255. Accordingly device file names
828 (:ref:`control-flags`). See :ref:`extended-controls` for details.
834 buffer type field was added replacing a reserved field. Note on
838 was redefined from being read-only to write-read. Applications must
839 initialize the type field and clear the reserved fields now. These
848 3. A new pixel format ``V4L2_PIX_FMT_RGB444`` (:ref:`pixfmt-rgb`) was
851 V4L2 spec erratum 2006-10-12 (Draft 0.17)
854 1. ``V4L2_PIX_FMT_HM12`` (:ref:`reserved-formats`) is a YUV 4:2:0, not
861 General Public License version two or later, and under a 3-clause
862 BSD-style license.
867 1. Two new field orders ``V4L2_FIELD_INTERLACED_TB`` and
876 A new ``global_alpha`` field was added to struct v4l2_window,
883 3. The format of the ``chromakey`` field in struct v4l2_window changed from
898 1. The pixel formats :ref:`V4L2_PIX_FMT_Y16 <V4L2-PIX-FMT-Y16>` and
899 :ref:`V4L2_PIX_FMT_SBGGR16 <V4L2-PIX-FMT-SBGGR16>` were added.
907 3. A :ref:`Camera controls class <camera-controls>` was added, with
917 were superseded by the :ref:`extended controls <extended-controls>`
1010 controls to the :ref:`Camera controls class <camera-controls>`.
1025 2. Multi-planar API added. Does not affect the compatibility of current
1026 drivers and applications. See :ref:`multi-planar API <planar-apis>`
1032 1. VIDIOC_QUERYCAP now returns a per-subsystem version instead of a
1033 per-driver one.
1047 applications. See :ref:`selection API <selection-api>` for details.
1055 2. Added the device_caps field to struct v4l2_capabilities and added
1061 1. Added :ref:`JPEG compression control class <jpeg-controls>`.
1109 1. Added timestamp types to ``flags`` field in
1110 struct v4l2_buffer. See :ref:`buffer-flags`.
1113 :ref:`ctrl-changes-flags`.
1187 -----------------
1200 memory or off-screen buffers for a destructive overlay. It can program
1201 the RAMDAC for a non-destructive overlay, scaling or color-keying, or
1219 backward-compatibility layer. Since V4L2 permits multiple opens it is
1226 an interface to MPEG-2 decoding hardware. This API is useful to display
1230 -------------
1239 ----------------
1241 [to do - OSS/ALSA]
1251 - :ref:`VIDIOC_DBG_G_REGISTER` and
1254 - :ref:`VIDIOC_DBG_G_CHIP_INFO` ioctl.
1264 - ``VIDIOC_G_MPEGCOMP`` and ``VIDIOC_S_MPEGCOMP`` ioctls. Use Extended
1265 Controls, :ref:`extended-controls`.
1267 - VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET,
1269 the DV Timings API (:ref:`dv-timings`).
1271 - ``VIDIOC_SUBDEV_G_CROP`` and ``VIDIOC_SUBDEV_S_CROP`` ioctls. Use