enumerable.
1998-10-02: The ``id`` field was removed from struct
-:c:type:`struct video_standard` and the color subcarrier fields were
+struct :c:type:`video_standard` and the color subcarrier fields were
renamed. The :ref:`VIDIOC_QUERYSTD` ioctl was
renamed to :ref:`VIDIOC_ENUMSTD`,
:ref:`VIDIOC_G_INPUT <VIDIOC_G_INPUT>` to
This change obsoletes the following ioctls: ``VIDIOC_S_INFMT``,
``VIDIOC_G_INFMT``, ``VIDIOC_S_OUTFMT``, ``VIDIOC_G_OUTFMT``,
``VIDIOC_S_VBIFMT`` and ``VIDIOC_G_VBIFMT``. The image format
- structure :c:type:`struct v4l2_format` was renamed to struct
+ structure struct :c:type:`v4l2_format` was renamed to struct
:c:type:`v4l2_pix_format`, while struct
:c:type:`v4l2_format` is now the envelopping structure
for all format negotiations.
2000-09-18: ``V4L2_BUF_TYPE_VBI`` was added. This may *break
compatibility* as the :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` and
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctls may fail now if the struct
-:c:type:`struct v4l2_fmt` ``type`` field does not contain
+struct :c:type:`v4l2_fmt` ``type`` field does not contain
``V4L2_BUF_TYPE_VBI``. In the documentation of the struct
:c:type:`v4l2_vbi_format` ``offset`` field the
ambiguous phrase "rising edge" was changed to "leading edge".
originally needed to distguish between variations of standards, were
removed.
- Struct :c:type:`struct v4l2_enumstd` ceased to be.
+ Struct struct :c:type:`v4l2_enumstd` ceased to be.
:ref:`VIDIOC_ENUMSTD` now takes a pointer to a
struct :c:type:`v4l2_standard` directly. The
information which standards are supported by a particular video
removed. Since no unadjusted system time clock was added to the
kernel as planned, the ``timestamp`` field changed back from type
stamp_t, an unsigned 64 bit integer expressing the sample time in
- nanoseconds, to struct :c:type:`struct timeval`. With the addition
+ nanoseconds, to struct :c:type:`timeval`. With the addition
of a second memory mapping method the ``offset`` field moved into
union ``m``, and a new ``memory`` field of type enum
:ref:`v4l2_memory <v4l2-memory>` was added to distinguish between
distinguish between field and frame (interlaced) overlay.
17. The digital zoom interface, including struct
- :c:type:`struct v4l2_zoomcap`, struct
- :c:type:`struct v4l2_zoom`, ``V4L2_ZOOM_NONCAP`` and
+ struct :c:type:`v4l2_zoomcap`, struct
+ struct :c:type:`v4l2_zoom`, ``V4L2_ZOOM_NONCAP`` and
``V4L2_ZOOM_WHILESTREAMING`` was replaced by a new cropping and
scaling interface. The previously unused struct
- :c:type:`struct v4l2_cropcap` and :c:type:`struct v4l2_crop`
+ struct :c:type:`v4l2_cropcap` and :c:type:`struct v4l2_crop`
where redefined for this purpose. See :ref:`crop` for details.
18. In struct :c:type:`v4l2_vbi_format` the
Similar changes were made to struct
:c:type:`v4l2_outputparm`.
-20. The struct :c:type:`struct v4l2_performance` and
+20. The struct :c:type:`v4l2_performance` and
``VIDIOC_G_PERF`` ioctl were dropped. Except when using the
:ref:`read/write I/O method <rw>`, which is limited anyway, this
information is already available to applications.
3. The ``VIDIOC_G_COMP`` and ``VIDIOC_S_COMP`` ioctl were renamed to
``VIDIOC_G_MPEGCOMP`` and ``VIDIOC_S_MPEGCOMP`` respectively. Their
argument was replaced by a struct
- :c:type:`struct v4l2_mpeg_compression` pointer. (The
+ struct :c:type:`v4l2_mpeg_compression` pointer. (The
``VIDIOC_G_MPEGCOMP`` and ``VIDIOC_S_MPEGCOMP`` ioctls where removed
in Linux 2.6.25.)
1. The ``clips`` field in struct :c:type:`v4l2_window`
must point to an array of struct :c:type:`v4l2_clip`, not
a linked list, because drivers ignore the struct
- :c:type:`struct v4l2_clip`. ``next`` pointer.
+ struct :c:type:`v4l2_clip`. ``next`` pointer.
V4L2 in Linux 2.6.17
A new ``global_alpha`` field was added to
:c:type:`v4l2_window`, extending the structure. This
may *break compatibility* with applications using a struct
- :c:type:`struct v4l2_window` directly. However the
+ struct :c:type:`v4l2_window` directly. However the
:ref:`VIDIOC_G/S/TRY_FMT <VIDIOC_G_FMT>` ioctls, which take a
pointer to a :c:type:`v4l2_format` parent structure
with padding bytes at the end, are not affected.
1. The ``VIDIOC_G_CHIP_IDENT`` ioctl was renamed to
``VIDIOC_G_CHIP_IDENT_OLD`` and ``VIDIOC_DBG_G_CHIP_IDENT`` was
introduced in its place. The old struct
- :c:type:`struct v4l2_chip_ident` was renamed to
- :c:type:`struct v4l2_chip_ident_old`.
+ struct :c:type:`v4l2_chip_ident` was renamed to
+ struct :c:type:`v4l2_chip_ident_old`.
2. The pixel formats ``V4L2_PIX_FMT_VYUY``, ``V4L2_PIX_FMT_NV16`` and
``V4L2_PIX_FMT_NV61`` were added.
V4L2 in Linux 3.6
=================
-1. Replaced ``input`` in :c:type:`struct v4l2_buffer` by
+1. Replaced ``input`` in struct :c:type:`v4l2_buffer` by
``reserved2`` and removed ``V4L2_BUF_FLAG_INPUT``.
2. Added V4L2_CAP_VIDEO_M2M and V4L2_CAP_VIDEO_M2M_MPLANE
=================
1. Added timestamp types to ``flags`` field in
- :c:type:`struct v4l2_buffer`. See :ref:`buffer-flags`.
+ struct :c:type:`v4l2_buffer`. See :ref:`buffer-flags`.
2. Added ``V4L2_EVENT_CTRL_CH_RANGE`` control event changes flag. See
:ref:`ctrl-changes-flags`.
V4L2 in Linux 3.14
==================
-1. In struct :c:type:`struct v4l2_rect`, the type of ``width`` and
+1. In struct :c:type:`v4l2_rect`, the type of ``width`` and
``height`` fields changed from _s32 to _u32.