Lines Matching +full:system +full:- +full:clock +full:- +full:direction +full:- +full:out
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
175 absolute system time, not starting from zero at the beginning of a
177 signed 64-bit integer. Output devices should not send a buffer out
179 follow SGI's lead, and adopt a multimedia timestamping system like
180 their UST (Unadjusted System Time). See
183 64-bit signed integers (not struct timeval's) and given in nanosecond
184 units. The UST clock starts at zero when the system is booted and
186 UST to overflow. There is no way to set the UST clock. The regular
187 Linux time-of-day clock can be changed periodically, which would
189 stream. A real UST style clock will require some support in the
191 timestamp field to a 64-bit integer, and I will change the
193 return a 64-bit integer.
202 1999-12-23: In struct v4l2_vbi_format the
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
251 V4L2 Version 0.20 2000-11-23
261 numbering scheme. We now use line number as defined by ITU-R, period.
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
387 standards by :ref:`v4l2_std_id <v4l2-std-id>` and symbols
396 :ref:`v4l2_std_id <v4l2-std-id>` field named ``id`` was added as
411 8. The struct :ref:`v4l2_queryctrl <v4l2-queryctrl>` fields
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)
469 by its four-character-code already know the color depth, and others
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``
522 removed. Since no unadjusted system time clock was added to the
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
567 ``SAMPLE_FORMAT`` field now contains a four-character-code as used
575 expression of multiples of the NTSC-M frame rate 30000 / 1001. A new
590 V4L2 2003-06-19
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
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.
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
766 V4L2 spec erratum 2006-02-04
788 V4L2 spec erratum 2006-09-23 (Draft 0.15)
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.
838 was redefined from being read-only to write-read. Applications must
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.
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.
1061 1. Added :ref:`JPEG compression control class <jpeg-controls>`.
1110 struct v4l2_buffer. See :ref:`buffer-flags`.
1113 :ref:`ctrl-changes-flags`.
1187 -----------------
1190 the X Window system, implemented for example by the XFree86 project. Its
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