[media] v4l: doc: Remove row numbers from tables

Shorten the tables by removing row numbers in comments, allowing for
later insertion of rows with minimal diffs.

All changes have been generated by the following script.

import io
import re
import sys

def process_table(fname, data):
	if fname.endswith('hist-v4l2.rst'):
		data = re.sub(u'\n{1,2}\t( ?)  -( ?) ?', u'\n\t\\1 -\\2', data, flags = re.MULTILINE)
		data = re.sub(u'\n(\t|       )-  \.\. row [0-9]+\n\t  ?-( ?) ?', u'\\1* -\\2', data, flags = re.MULTILINE)
	else:
		data = re.sub(u'\n{1,2}       -( ?) ?', u'\n      -\\1', data, flags = re.MULTILINE)
		data = re.sub(u'(\n?)(\n\n    -  \.\. row 1\n)', u'\n\\2', data, flags = re.MULTILINE)
		data = re.sub(u'\n    -  \.\. row [0-9]+\n      -( ?) ?', u'    * -\\1', data, flags = re.MULTILINE)
		data = re.sub(u'\n    -  \.\. row [0-9]+\n       \.\. (_[A-Z0-9_`-]*:)', u'\n    -  .. \\1', data, flags = re.MULTILINE)
		data = re.sub(u'\n    -  \.\. (_[A-Z0-9_`-]*:)\n      -', u'    * .. \\1\n\n      -', data, flags = re.MULTILINE)
		data = re.sub(u'^       - ', u'      -', data, flags = re.MULTILINE)
		data = re.sub(u'^(\t{1,2})  ', u'\\1', data, flags = re.MULTILINE)

	return data

def process_file(fname, data):
	buf = io.StringIO(data)
	output = ''
	in_table = False
	table_separator = 0

	for line in buf.readlines():
		if line.find('.. flat-table::') != -1:
			in_table = True
			table = ''
		elif in_table and not re.match('^[\t\n]|(    )', line):
			in_table = False
			output += process_table(fname, table)

		if in_table:
			table += line
		else:
			output += line

	if in_table:
		in_table = False
		output += process_table(fname, table)

	return output

fname = sys.argv[1]

data = file(fname, 'rb').read().decode('utf-8')
data = process_file(fname, data)
file(fname, 'wb').write(data.encode('utf-8'))

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Laurent Pinchart 2016-09-05 08:44:34 -03:00 committed by Mauro Carvalho Chehab
parent c19584882a
commit c2b66cafdf
112 changed files with 15269 additions and 30896 deletions

View File

@ -48,13 +48,8 @@ struct v4l2_buffer
:stub-columns: 0 :stub-columns: 0
:widths: 1 2 1 10 :widths: 1 2 1 10
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- -
- Number of the buffer, set by the application except when calling - Number of the buffer, set by the application except when calling
:ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`, then it is set by the :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>`, then it is set by the
@ -63,25 +58,15 @@ struct v4l2_buffer
(struct :c:type:`v4l2_requestbuffers` (struct :c:type:`v4l2_requestbuffers`
``count``), plus any buffers allocated with ``count``), plus any buffers allocated with
:ref:`VIDIOC_CREATE_BUFS` minus one. :ref:`VIDIOC_CREATE_BUFS` minus one.
* - __u32
- .. row 2
- __u32
- ``type`` - ``type``
- -
- Type of the buffer, same as struct - Type of the buffer, same as struct
:c:type:`v4l2_format` ``type`` or struct :c:type:`v4l2_format` ``type`` or struct
:c:type:`v4l2_requestbuffers` ``type``, set :c:type:`v4l2_requestbuffers` ``type``, set
by the application. See :c:type:`v4l2_buf_type` by the application. See :c:type:`v4l2_buf_type`
* - __u32
- .. row 3
- __u32
- ``bytesused`` - ``bytesused``
- -
- The number of bytes occupied by the data in the buffer. It depends - The number of bytes occupied by the data in the buffer. It depends
on the negotiated data format and may change with each buffer for on the negotiated data format and may change with each buffer for
@ -92,34 +77,19 @@ struct v4l2_buffer
size of the buffer (see the ``length`` field of this struct) by size of the buffer (see the ``length`` field of this struct) by
the driver. For multiplanar formats this field is ignored and the the driver. For multiplanar formats this field is ignored and the
``planes`` pointer is used instead. ``planes`` pointer is used instead.
* - __u32
- .. row 4
- __u32
- ``flags`` - ``flags``
- -
- Flags set by the application or driver, see :ref:`buffer-flags`. - Flags set by the application or driver, see :ref:`buffer-flags`.
* - __u32
- .. row 5
- __u32
- ``field`` - ``field``
- -
- Indicates the field order of the image in the buffer, see - Indicates the field order of the image in the buffer, see
:c:type:`v4l2_field`. This field is not used when the buffer :c:type:`v4l2_field`. This field is not used when the buffer
contains VBI data. Drivers must set it when ``type`` refers to a contains VBI data. Drivers must set it when ``type`` refers to a
capture stream, applications when it refers to an output stream. capture stream, applications when it refers to an output stream.
* - struct timeval
- .. row 6
- struct timeval
- ``timestamp`` - ``timestamp``
- -
- For capture streams this is time when the first data byte was - For capture streams this is time when the first data byte was
captured, as returned by the :c:func:`clock_gettime()` function captured, as returned by the :c:func:`clock_gettime()` function
@ -131,13 +101,8 @@ struct v4l2_buffer
use ``V4L2_BUF_FLAG_TIMESTAMP_COPY`` the application has to fill use ``V4L2_BUF_FLAG_TIMESTAMP_COPY`` the application has to fill
in the timestamp which will be copied by the driver to the capture in the timestamp which will be copied by the driver to the capture
stream. stream.
* - struct :c:type:`v4l2_timecode`
- .. row 7
- struct :c:type:`v4l2_timecode`
- ``timecode`` - ``timecode``
- -
- When ``type`` is ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` and the - When ``type`` is ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` and the
``V4L2_BUF_FLAG_TIMECODE`` flag is set in ``flags``, this ``V4L2_BUF_FLAG_TIMECODE`` flag is set in ``flags``, this
@ -147,20 +112,12 @@ struct v4l2_buffer
help video editing and are typically recorded on video tapes, but help video editing and are typically recorded on video tapes, but
also embedded in compressed formats like MPEG. This field is also embedded in compressed formats like MPEG. This field is
independent of the ``timestamp`` and ``sequence`` fields. independent of the ``timestamp`` and ``sequence`` fields.
* - __u32
- .. row 8
- __u32
- ``sequence`` - ``sequence``
- -
- Set by the driver, counting the frames (not fields!) in sequence. - Set by the driver, counting the frames (not fields!) in sequence.
This field is set for both input and output devices. This field is set for both input and output devices.
* - :cspan:`3`
- .. row 9
- :cspan:`3`
In :c:type:`V4L2_FIELD_ALTERNATE <v4l2_field>` mode the top and In :c:type:`V4L2_FIELD_ALTERNATE <v4l2_field>` mode the top and
bottom field have the same sequence number. The count starts at bottom field have the same sequence number. The count starts at
@ -178,78 +135,44 @@ struct v4l2_buffer
identify by not enumerating any video standards, see identify by not enumerating any video standards, see
:ref:`standard`. :ref:`standard`.
* - __u32
- .. row 10
- __u32
- ``memory`` - ``memory``
- -
- This field must be set by applications and/or drivers in - This field must be set by applications and/or drivers in
accordance with the selected I/O method. See :c:type:`v4l2_memory` accordance with the selected I/O method. See :c:type:`v4l2_memory`
* - union
- .. row 11
- union
- ``m`` - ``m``
* -
- .. row 12
-
- __u32 - __u32
- ``offset`` - ``offset``
- For the single-planar API and when ``memory`` is - For the single-planar API and when ``memory`` is
``V4L2_MEMORY_MMAP`` this is the offset of the buffer from the ``V4L2_MEMORY_MMAP`` this is the offset of the buffer from the
start of the device memory. The value is returned by the driver start of the device memory. The value is returned by the driver
and apart of serving as parameter to the and apart of serving as parameter to the
:ref:`mmap() <func-mmap>` function not useful for applications. :ref:`mmap() <func-mmap>` function not useful for applications.
See :ref:`mmap` for details See :ref:`mmap` for details
* -
- .. row 13
-
- unsigned long - unsigned long
- ``userptr`` - ``userptr``
- For the single-planar API and when ``memory`` is - For the single-planar API and when ``memory`` is
``V4L2_MEMORY_USERPTR`` this is a pointer to the buffer (casted to ``V4L2_MEMORY_USERPTR`` this is a pointer to the buffer (casted to
unsigned long type) in virtual memory, set by the application. See unsigned long type) in virtual memory, set by the application. See
:ref:`userp` for details. :ref:`userp` for details.
* -
- .. row 14
-
- struct v4l2_plane - struct v4l2_plane
- ``*planes`` - ``*planes``
- When using the multi-planar API, contains a userspace pointer to - When using the multi-planar API, contains a userspace pointer to
an array of struct :c:type:`v4l2_plane`. The size of an array of struct :c:type:`v4l2_plane`. The size of
the array should be put in the ``length`` field of this the array should be put in the ``length`` field of this
struct :c:type:`v4l2_buffer` structure. struct :c:type:`v4l2_buffer` structure.
* -
- .. row 15
-
- int - int
- ``fd`` - ``fd``
- For the single-plane API and when ``memory`` is - For the single-plane API and when ``memory`` is
``V4L2_MEMORY_DMABUF`` this is the file descriptor associated with ``V4L2_MEMORY_DMABUF`` this is the file descriptor associated with
a DMABUF buffer. a DMABUF buffer.
* - __u32
- .. row 16
- __u32
- ``length`` - ``length``
- -
- Size of the buffer (not the payload) in bytes for the - Size of the buffer (not the payload) in bytes for the
single-planar API. This is set by the driver based on the calls to single-planar API. This is set by the driver based on the calls to
@ -258,23 +181,13 @@ struct v4l2_buffer
multi-planar API the application sets this to the number of multi-planar API the application sets this to the number of
elements in the ``planes`` array. The driver will fill in the elements in the ``planes`` array. The driver will fill in the
actual number of valid elements in that array. actual number of valid elements in that array.
* - __u32
- .. row 17
- __u32
- ``reserved2`` - ``reserved2``
- -
- A place holder for future extensions. Drivers and applications - A place holder for future extensions. Drivers and applications
must set this to 0. must set this to 0.
* - __u32
- .. row 18
- __u32
- ``reserved`` - ``reserved``
- -
- A place holder for future extensions. Drivers and applications - A place holder for future extensions. Drivers and applications
must set this to 0. must set this to 0.
@ -295,13 +208,8 @@ struct v4l2_plane
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``bytesused`` - ``bytesused``
- -
- The number of bytes occupied by data in the plane (its payload). - The number of bytes occupied by data in the plane (its payload).
Drivers must set this field when ``type`` refers to a capture Drivers must set this field when ``type`` refers to a capture
@ -314,71 +222,41 @@ struct v4l2_plane
Note that the actual image data starts at ``data_offset`` Note that the actual image data starts at ``data_offset``
which may not be 0. which may not be 0.
* - __u32
- .. row 2
- __u32
- ``length`` - ``length``
- -
- Size in bytes of the plane (not its payload). This is set by the - Size in bytes of the plane (not its payload). This is set by the
driver based on the calls to driver based on the calls to
:ref:`VIDIOC_REQBUFS` and/or :ref:`VIDIOC_REQBUFS` and/or
:ref:`VIDIOC_CREATE_BUFS`. :ref:`VIDIOC_CREATE_BUFS`.
* - union
- .. row 3
- union
- ``m`` - ``m``
- -
- -
* -
- .. row 4
-
- __u32 - __u32
- ``mem_offset`` - ``mem_offset``
- When the memory type in the containing struct - When the memory type in the containing struct
:c:type:`v4l2_buffer` is ``V4L2_MEMORY_MMAP``, this :c:type:`v4l2_buffer` is ``V4L2_MEMORY_MMAP``, this
is the value that should be passed to :ref:`mmap() <func-mmap>`, is the value that should be passed to :ref:`mmap() <func-mmap>`,
similar to the ``offset`` field in struct similar to the ``offset`` field in struct
:c:type:`v4l2_buffer`. :c:type:`v4l2_buffer`.
* -
- .. row 5
-
- unsigned long - unsigned long
- ``userptr`` - ``userptr``
- When the memory type in the containing struct - When the memory type in the containing struct
:c:type:`v4l2_buffer` is ``V4L2_MEMORY_USERPTR``, :c:type:`v4l2_buffer` is ``V4L2_MEMORY_USERPTR``,
this is a userspace pointer to the memory allocated for this plane this is a userspace pointer to the memory allocated for this plane
by an application. by an application.
* -
- .. row 6
-
- int - int
- ``fd`` - ``fd``
- When the memory type in the containing struct - When the memory type in the containing struct
:c:type:`v4l2_buffer` is ``V4L2_MEMORY_DMABUF``, :c:type:`v4l2_buffer` is ``V4L2_MEMORY_DMABUF``,
this is a file descriptor associated with a DMABUF buffer, similar this is a file descriptor associated with a DMABUF buffer, similar
to the ``fd`` field in struct :c:type:`v4l2_buffer`. to the ``fd`` field in struct :c:type:`v4l2_buffer`.
* - __u32
- .. row 7
- __u32
- ``data_offset`` - ``data_offset``
- -
- Offset in bytes to video data in the plane. Drivers must set this - Offset in bytes to video data in the plane. Drivers must set this
field when ``type`` refers to a capture stream, applications when field when ``type`` refers to a capture stream, applications when
@ -389,13 +267,8 @@ struct v4l2_plane
That data_offset is included in ``bytesused``. So the That data_offset is included in ``bytesused``. So the
size of the image in the plane is ``bytesused``-``data_offset`` size of the image in the plane is ``bytesused``-``data_offset``
at offset ``data_offset`` from the start of the plane. at offset ``data_offset`` from the start of the plane.
* - __u32
- .. row 8
- __u32
- ``reserved[11]`` - ``reserved[11]``
- -
- Reserved for future use. Should be zeroed by drivers and - Reserved for future use. Should be zeroed by drivers and
applications. applications.
@ -416,105 +289,45 @@ enum v4l2_buf_type
:stub-columns: 0 :stub-columns: 0
:widths: 4 1 9 :widths: 4 1 9
* - ``V4L2_BUF_TYPE_VIDEO_CAPTURE``
- .. row 1
- ``V4L2_BUF_TYPE_VIDEO_CAPTURE``
- 1 - 1
- Buffer of a single-planar video capture stream, see - Buffer of a single-planar video capture stream, see
:ref:`capture`. :ref:`capture`.
* - ``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``
- .. row 2
- ``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``
- 9 - 9
- Buffer of a multi-planar video capture stream, see - Buffer of a multi-planar video capture stream, see
:ref:`capture`. :ref:`capture`.
* - ``V4L2_BUF_TYPE_VIDEO_OUTPUT``
- .. row 3
- ``V4L2_BUF_TYPE_VIDEO_OUTPUT``
- 2 - 2
- Buffer of a single-planar video output stream, see - Buffer of a single-planar video output stream, see
:ref:`output`. :ref:`output`.
* - ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``
- .. row 4
- ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE``
- 10 - 10
- Buffer of a multi-planar video output stream, see :ref:`output`. - Buffer of a multi-planar video output stream, see :ref:`output`.
* - ``V4L2_BUF_TYPE_VIDEO_OVERLAY``
- .. row 5
- ``V4L2_BUF_TYPE_VIDEO_OVERLAY``
- 3 - 3
- Buffer for video overlay, see :ref:`overlay`. - Buffer for video overlay, see :ref:`overlay`.
* - ``V4L2_BUF_TYPE_VBI_CAPTURE``
- .. row 6
- ``V4L2_BUF_TYPE_VBI_CAPTURE``
- 4 - 4
- Buffer of a raw VBI capture stream, see :ref:`raw-vbi`. - Buffer of a raw VBI capture stream, see :ref:`raw-vbi`.
* - ``V4L2_BUF_TYPE_VBI_OUTPUT``
- .. row 7
- ``V4L2_BUF_TYPE_VBI_OUTPUT``
- 5 - 5
- Buffer of a raw VBI output stream, see :ref:`raw-vbi`. - Buffer of a raw VBI output stream, see :ref:`raw-vbi`.
* - ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE``
- .. row 8
- ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE``
- 6 - 6
- Buffer of a sliced VBI capture stream, see :ref:`sliced`. - Buffer of a sliced VBI capture stream, see :ref:`sliced`.
* - ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``
- .. row 9
- ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``
- 7 - 7
- Buffer of a sliced VBI output stream, see :ref:`sliced`. - Buffer of a sliced VBI output stream, see :ref:`sliced`.
* - ``V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY``
- .. row 10
- ``V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY``
- 8 - 8
- Buffer for video output overlay (OSD), see :ref:`osd`. - Buffer for video output overlay (OSD), see :ref:`osd`.
* - ``V4L2_BUF_TYPE_SDR_CAPTURE``
- .. row 11
- ``V4L2_BUF_TYPE_SDR_CAPTURE``
- 11 - 11
- Buffer for Software Defined Radio (SDR) capture stream, see - Buffer for Software Defined Radio (SDR) capture stream, see
:ref:`sdr`. :ref:`sdr`.
* - ``V4L2_BUF_TYPE_SDR_OUTPUT``
- .. row 12
- ``V4L2_BUF_TYPE_SDR_OUTPUT``
- 12 - 12
- Buffer for Software Defined Radio (SDR) output stream, see - Buffer for Software Defined Radio (SDR) output stream, see
:ref:`sdr`. :ref:`sdr`.
@ -534,13 +347,10 @@ Buffer Flags
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* .. _`V4L2-BUF-FLAG-MAPPED`:
- .. _`V4L2-BUF-FLAG-MAPPED`:
- ``V4L2_BUF_FLAG_MAPPED`` - ``V4L2_BUF_FLAG_MAPPED``
- 0x00000001 - 0x00000001
- The buffer resides in device memory and has been mapped into the - The buffer resides in device memory and has been mapped into the
application's address space, see :ref:`mmap` for details. application's address space, see :ref:`mmap` for details.
Drivers set or clear this flag when the Drivers set or clear this flag when the
@ -548,13 +358,10 @@ Buffer Flags
:ref:`VIDIOC_QBUF` or :ref:`VIDIOC_QBUF` or
:ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl is called. Set by the :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl is called. Set by the
driver. driver.
* .. _`V4L2-BUF-FLAG-QUEUED`:
- .. _`V4L2-BUF-FLAG-QUEUED`:
- ``V4L2_BUF_FLAG_QUEUED`` - ``V4L2_BUF_FLAG_QUEUED``
- 0x00000002 - 0x00000002
- Internally drivers maintain two buffer queues, an incoming and - Internally drivers maintain two buffer queues, an incoming and
outgoing queue. When this flag is set, the buffer is currently on outgoing queue. When this flag is set, the buffer is currently on
the incoming queue. It automatically moves to the outgoing queue the incoming queue. It automatically moves to the outgoing queue
@ -563,13 +370,10 @@ Buffer Flags
``VIDIOC_QUERYBUF`` ioctl is called. After (successful) calling ``VIDIOC_QUERYBUF`` ioctl is called. After (successful) calling
the ``VIDIOC_QBUF``\ ioctl it is always set and after the ``VIDIOC_QBUF``\ ioctl it is always set and after
``VIDIOC_DQBUF`` always cleared. ``VIDIOC_DQBUF`` always cleared.
* .. _`V4L2-BUF-FLAG-DONE`:
- .. _`V4L2-BUF-FLAG-DONE`:
- ``V4L2_BUF_FLAG_DONE`` - ``V4L2_BUF_FLAG_DONE``
- 0x00000004 - 0x00000004
- When this flag is set, the buffer is currently on the outgoing - When this flag is set, the buffer is currently on the outgoing
queue, ready to be dequeued from the driver. Drivers set or clear queue, ready to be dequeued from the driver. Drivers set or clear
this flag when the ``VIDIOC_QUERYBUF`` ioctl is called. After this flag when the ``VIDIOC_QUERYBUF`` ioctl is called. After
@ -579,108 +383,81 @@ Buffer Flags
are mutually exclusive. They can be both cleared however, then the are mutually exclusive. They can be both cleared however, then the
buffer is in "dequeued" state, in the application domain so to buffer is in "dequeued" state, in the application domain so to
say. say.
* .. _`V4L2-BUF-FLAG-ERROR`:
- .. _`V4L2-BUF-FLAG-ERROR`:
- ``V4L2_BUF_FLAG_ERROR`` - ``V4L2_BUF_FLAG_ERROR``
- 0x00000040 - 0x00000040
- When this flag is set, the buffer has been dequeued successfully, - When this flag is set, the buffer has been dequeued successfully,
although the data might have been corrupted. This is recoverable, although the data might have been corrupted. This is recoverable,
streaming may continue as normal and the buffer may be reused streaming may continue as normal and the buffer may be reused
normally. Drivers set this flag when the ``VIDIOC_DQBUF`` ioctl is normally. Drivers set this flag when the ``VIDIOC_DQBUF`` ioctl is
called. called.
* .. _`V4L2-BUF-FLAG-KEYFRAME`:
- .. _`V4L2-BUF-FLAG-KEYFRAME`:
- ``V4L2_BUF_FLAG_KEYFRAME`` - ``V4L2_BUF_FLAG_KEYFRAME``
- 0x00000008 - 0x00000008
- Drivers set or clear this flag when calling the ``VIDIOC_DQBUF`` - Drivers set or clear this flag when calling the ``VIDIOC_DQBUF``
ioctl. It may be set by video capture devices when the buffer ioctl. It may be set by video capture devices when the buffer
contains a compressed image which is a key frame (or field), i. e. contains a compressed image which is a key frame (or field), i. e.
can be decompressed on its own. Also known as an I-frame. can be decompressed on its own. Also known as an I-frame.
Applications can set this bit when ``type`` refers to an output Applications can set this bit when ``type`` refers to an output
stream. stream.
* .. _`V4L2-BUF-FLAG-PFRAME`:
- .. _`V4L2-BUF-FLAG-PFRAME`:
- ``V4L2_BUF_FLAG_PFRAME`` - ``V4L2_BUF_FLAG_PFRAME``
- 0x00000010 - 0x00000010
- Similar to ``V4L2_BUF_FLAG_KEYFRAME`` this flags predicted frames - Similar to ``V4L2_BUF_FLAG_KEYFRAME`` this flags predicted frames
or fields which contain only differences to a previous key frame. or fields which contain only differences to a previous key frame.
Applications can set this bit when ``type`` refers to an output Applications can set this bit when ``type`` refers to an output
stream. stream.
* .. _`V4L2-BUF-FLAG-BFRAME`:
- .. _`V4L2-BUF-FLAG-BFRAME`:
- ``V4L2_BUF_FLAG_BFRAME`` - ``V4L2_BUF_FLAG_BFRAME``
- 0x00000020 - 0x00000020
- Similar to ``V4L2_BUF_FLAG_KEYFRAME`` this flags a bi-directional - Similar to ``V4L2_BUF_FLAG_KEYFRAME`` this flags a bi-directional
predicted frame or field which contains only the differences predicted frame or field which contains only the differences
between the current frame and both the preceding and following key between the current frame and both the preceding and following key
frames to specify its content. Applications can set this bit when frames to specify its content. Applications can set this bit when
``type`` refers to an output stream. ``type`` refers to an output stream.
* .. _`V4L2-BUF-FLAG-TIMECODE`:
- .. _`V4L2-BUF-FLAG-TIMECODE`:
- ``V4L2_BUF_FLAG_TIMECODE`` - ``V4L2_BUF_FLAG_TIMECODE``
- 0x00000100 - 0x00000100
- The ``timecode`` field is valid. Drivers set or clear this flag - The ``timecode`` field is valid. Drivers set or clear this flag
when the ``VIDIOC_DQBUF`` ioctl is called. Applications can set when the ``VIDIOC_DQBUF`` ioctl is called. Applications can set
this bit and the corresponding ``timecode`` structure when this bit and the corresponding ``timecode`` structure when
``type`` refers to an output stream. ``type`` refers to an output stream.
* .. _`V4L2-BUF-FLAG-PREPARED`:
- .. _`V4L2-BUF-FLAG-PREPARED`:
- ``V4L2_BUF_FLAG_PREPARED`` - ``V4L2_BUF_FLAG_PREPARED``
- 0x00000400 - 0x00000400
- The buffer has been prepared for I/O and can be queued by the - The buffer has been prepared for I/O and can be queued by the
application. Drivers set or clear this flag when the application. Drivers set or clear this flag when the
:ref:`VIDIOC_QUERYBUF`, :ref:`VIDIOC_QUERYBUF`,
:ref:`VIDIOC_PREPARE_BUF <VIDIOC_QBUF>`, :ref:`VIDIOC_PREPARE_BUF <VIDIOC_QBUF>`,
:ref:`VIDIOC_QBUF` or :ref:`VIDIOC_QBUF` or
:ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl is called. :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl is called.
* .. _`V4L2-BUF-FLAG-NO-CACHE-INVALIDATE`:
- .. _`V4L2-BUF-FLAG-NO-CACHE-INVALIDATE`:
- ``V4L2_BUF_FLAG_NO_CACHE_INVALIDATE`` - ``V4L2_BUF_FLAG_NO_CACHE_INVALIDATE``
- 0x00000800 - 0x00000800
- Caches do not have to be invalidated for this buffer. Typically - Caches do not have to be invalidated for this buffer. Typically
applications shall use this flag if the data captured in the applications shall use this flag if the data captured in the
buffer is not going to be touched by the CPU, instead the buffer buffer is not going to be touched by the CPU, instead the buffer
will, probably, be passed on to a DMA-capable hardware unit for will, probably, be passed on to a DMA-capable hardware unit for
further processing or output. further processing or output.
* .. _`V4L2-BUF-FLAG-NO-CACHE-CLEAN`:
- .. _`V4L2-BUF-FLAG-NO-CACHE-CLEAN`:
- ``V4L2_BUF_FLAG_NO_CACHE_CLEAN`` - ``V4L2_BUF_FLAG_NO_CACHE_CLEAN``
- 0x00001000 - 0x00001000
- Caches do not have to be cleaned for this buffer. Typically - Caches do not have to be cleaned for this buffer. Typically
applications shall use this flag for output buffers if the data in applications shall use this flag for output buffers if the data in
this buffer has not been created by the CPU but by some this buffer has not been created by the CPU but by some
DMA-capable unit, in which case caches have not been used. DMA-capable unit, in which case caches have not been used.
* .. _`V4L2-BUF-FLAG-LAST`:
- .. _`V4L2-BUF-FLAG-LAST`:
- ``V4L2_BUF_FLAG_LAST`` - ``V4L2_BUF_FLAG_LAST``
- 0x00100000 - 0x00100000
- Last buffer produced by the hardware. mem2mem codec drivers set - Last buffer produced by the hardware. mem2mem codec drivers set
this flag on the capture queue for the last buffer when the this flag on the capture queue for the last buffer when the
:ref:`VIDIOC_QUERYBUF` or :ref:`VIDIOC_QUERYBUF` or
@ -690,23 +467,17 @@ Buffer Flags
the format. Any Any subsequent call to the the format. Any Any subsequent call to the
:ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl will not block anymore, :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl will not block anymore,
but return an ``EPIPE`` error code. but return an ``EPIPE`` error code.
* .. _`V4L2-BUF-FLAG-TIMESTAMP-MASK`:
- .. _`V4L2-BUF-FLAG-TIMESTAMP-MASK`:
- ``V4L2_BUF_FLAG_TIMESTAMP_MASK`` - ``V4L2_BUF_FLAG_TIMESTAMP_MASK``
- 0x0000e000 - 0x0000e000
- Mask for timestamp types below. To test the timestamp type, mask - Mask for timestamp types below. To test the timestamp type, mask
out bits not belonging to timestamp type by performing a logical out bits not belonging to timestamp type by performing a logical
and operation with buffer flags and timestamp mask. and operation with buffer flags and timestamp mask.
* .. _`V4L2-BUF-FLAG-TIMESTAMP-UNKNOWN`:
- .. _`V4L2-BUF-FLAG-TIMESTAMP-UNKNOWN`:
- ``V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN`` - ``V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN``
- 0x00000000 - 0x00000000
- Unknown timestamp type. This type is used by drivers before Linux - Unknown timestamp type. This type is used by drivers before Linux
3.9 and may be either monotonic (see below) or realtime (wall 3.9 and may be either monotonic (see below) or realtime (wall
clock). Monotonic clock has been favoured in embedded systems clock). Monotonic clock has been favoured in embedded systems
@ -714,32 +485,23 @@ Buffer Flags
of timestamps are available in user space via of timestamps are available in user space via
:c:func:`clock_gettime` using clock IDs ``CLOCK_MONOTONIC`` :c:func:`clock_gettime` using clock IDs ``CLOCK_MONOTONIC``
and ``CLOCK_REALTIME``, respectively. and ``CLOCK_REALTIME``, respectively.
* .. _`V4L2-BUF-FLAG-TIMESTAMP-MONOTONIC`:
- .. _`V4L2-BUF-FLAG-TIMESTAMP-MONOTONIC`:
- ``V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC`` - ``V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC``
- 0x00002000 - 0x00002000
- The buffer timestamp has been taken from the ``CLOCK_MONOTONIC`` - The buffer timestamp has been taken from the ``CLOCK_MONOTONIC``
clock. To access the same clock outside V4L2, use clock. To access the same clock outside V4L2, use
:c:func:`clock_gettime`. :c:func:`clock_gettime`.
* .. _`V4L2-BUF-FLAG-TIMESTAMP-COPY`:
- .. _`V4L2-BUF-FLAG-TIMESTAMP-COPY`:
- ``V4L2_BUF_FLAG_TIMESTAMP_COPY`` - ``V4L2_BUF_FLAG_TIMESTAMP_COPY``
- 0x00004000 - 0x00004000
- The CAPTURE buffer timestamp has been taken from the corresponding - The CAPTURE buffer timestamp has been taken from the corresponding
OUTPUT buffer. This flag applies only to mem2mem devices. OUTPUT buffer. This flag applies only to mem2mem devices.
* .. _`V4L2-BUF-FLAG-TSTAMP-SRC-MASK`:
- .. _`V4L2-BUF-FLAG-TSTAMP-SRC-MASK`:
- ``V4L2_BUF_FLAG_TSTAMP_SRC_MASK`` - ``V4L2_BUF_FLAG_TSTAMP_SRC_MASK``
- 0x00070000 - 0x00070000
- Mask for timestamp sources below. The timestamp source defines the - Mask for timestamp sources below. The timestamp source defines the
point of time the timestamp is taken in relation to the frame. point of time the timestamp is taken in relation to the frame.
Logical 'and' operation between the ``flags`` field and Logical 'and' operation between the ``flags`` field and
@ -747,26 +509,20 @@ Buffer Flags
timestamp source. Applications must set the timestamp source when timestamp source. Applications must set the timestamp source when
``type`` refers to an output stream and ``type`` refers to an output stream and
``V4L2_BUF_FLAG_TIMESTAMP_COPY`` is set. ``V4L2_BUF_FLAG_TIMESTAMP_COPY`` is set.
* .. _`V4L2-BUF-FLAG-TSTAMP-SRC-EOF`:
- .. _`V4L2-BUF-FLAG-TSTAMP-SRC-EOF`:
- ``V4L2_BUF_FLAG_TSTAMP_SRC_EOF`` - ``V4L2_BUF_FLAG_TSTAMP_SRC_EOF``
- 0x00000000 - 0x00000000
- End Of Frame. The buffer timestamp has been taken when the last - End Of Frame. The buffer timestamp has been taken when the last
pixel of the frame has been received or the last pixel of the pixel of the frame has been received or the last pixel of the
frame has been transmitted. In practice, software generated frame has been transmitted. In practice, software generated
timestamps will typically be read from the clock a small amount of timestamps will typically be read from the clock a small amount of
time after the last pixel has been received or transmitten, time after the last pixel has been received or transmitten,
depending on the system and other activity in it. depending on the system and other activity in it.
* .. _`V4L2-BUF-FLAG-TSTAMP-SRC-SOE`:
- .. _`V4L2-BUF-FLAG-TSTAMP-SRC-SOE`:
- ``V4L2_BUF_FLAG_TSTAMP_SRC_SOE`` - ``V4L2_BUF_FLAG_TSTAMP_SRC_SOE``
- 0x00010000 - 0x00010000
- Start Of Exposure. The buffer timestamp has been taken when the - Start Of Exposure. The buffer timestamp has been taken when the
exposure of the frame has begun. This is only valid for the exposure of the frame has begun. This is only valid for the
``V4L2_BUF_TYPE_VIDEO_CAPTURE`` buffer type. ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` buffer type.
@ -785,37 +541,17 @@ enum v4l2_memory
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_MEMORY_MMAP``
- .. row 1
- ``V4L2_MEMORY_MMAP``
- 1 - 1
- The buffer is used for :ref:`memory mapping <mmap>` I/O. - The buffer is used for :ref:`memory mapping <mmap>` I/O.
* - ``V4L2_MEMORY_USERPTR``
- .. row 2
- ``V4L2_MEMORY_USERPTR``
- 2 - 2
- The buffer is used for :ref:`user pointer <userp>` I/O. - The buffer is used for :ref:`user pointer <userp>` I/O.
* - ``V4L2_MEMORY_OVERLAY``
- .. row 3
- ``V4L2_MEMORY_OVERLAY``
- 3 - 3
- [to do] - [to do]
* - ``V4L2_MEMORY_DMABUF``
- .. row 4
- ``V4L2_MEMORY_DMABUF``
- 4 - 4
- The buffer is used for :ref:`DMA shared buffer <dmabuf>` I/O. - The buffer is used for :ref:`DMA shared buffer <dmabuf>` I/O.
@ -841,62 +577,27 @@ struct v4l2_timecode
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Frame rate the timecodes are based on, see :ref:`timecode-type`. - Frame rate the timecodes are based on, see :ref:`timecode-type`.
* - __u32
- .. row 2
- __u32
- ``flags`` - ``flags``
- Timecode flags, see :ref:`timecode-flags`. - Timecode flags, see :ref:`timecode-flags`.
* - __u8
- .. row 3
- __u8
- ``frames`` - ``frames``
- Frame count, 0 ... 23/24/29/49/59, depending on the type of - Frame count, 0 ... 23/24/29/49/59, depending on the type of
timecode. timecode.
* - __u8
- .. row 4
- __u8
- ``seconds`` - ``seconds``
- Seconds count, 0 ... 59. This is a binary, not BCD number. - Seconds count, 0 ... 59. This is a binary, not BCD number.
* - __u8
- .. row 5
- __u8
- ``minutes`` - ``minutes``
- Minutes count, 0 ... 59. This is a binary, not BCD number. - Minutes count, 0 ... 59. This is a binary, not BCD number.
* - __u8
- .. row 6
- __u8
- ``hours`` - ``hours``
- Hours count, 0 ... 29. This is a binary, not BCD number. - Hours count, 0 ... 29. This is a binary, not BCD number.
* - __u8
- .. row 7
- __u8
- ``userbits``\ [4] - ``userbits``\ [4]
- The "user group" bits from the timecode. - The "user group" bits from the timecode.
@ -913,45 +614,20 @@ Timecode Types
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TC_TYPE_24FPS``
- .. row 1
- ``V4L2_TC_TYPE_24FPS``
- 1 - 1
- 24 frames per second, i. e. film. - 24 frames per second, i. e. film.
* - ``V4L2_TC_TYPE_25FPS``
- .. row 2
- ``V4L2_TC_TYPE_25FPS``
- 2 - 2
- 25 frames per second, i. e. PAL or SECAM video. - 25 frames per second, i. e. PAL or SECAM video.
* - ``V4L2_TC_TYPE_30FPS``
- .. row 3
- ``V4L2_TC_TYPE_30FPS``
- 3 - 3
- 30 frames per second, i. e. NTSC video. - 30 frames per second, i. e. NTSC video.
* - ``V4L2_TC_TYPE_50FPS``
- .. row 4
- ``V4L2_TC_TYPE_50FPS``
- 4 - 4
- -
* - ``V4L2_TC_TYPE_60FPS``
- .. row 5
- ``V4L2_TC_TYPE_60FPS``
- 5 - 5
- -
@ -968,46 +644,21 @@ Timecode Flags
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TC_FLAG_DROPFRAME``
- .. row 1
- ``V4L2_TC_FLAG_DROPFRAME``
- 0x0001 - 0x0001
- Indicates "drop frame" semantics for counting frames in 29.97 fps - Indicates "drop frame" semantics for counting frames in 29.97 fps
material. When set, frame numbers 0 and 1 at the start of each material. When set, frame numbers 0 and 1 at the start of each
minute, except minutes 0, 10, 20, 30, 40, 50 are omitted from the minute, except minutes 0, 10, 20, 30, 40, 50 are omitted from the
count. count.
* - ``V4L2_TC_FLAG_COLORFRAME``
- .. row 2
- ``V4L2_TC_FLAG_COLORFRAME``
- 0x0002 - 0x0002
- The "color frame" flag. - The "color frame" flag.
* - ``V4L2_TC_USERBITS_field``
- .. row 3
- ``V4L2_TC_USERBITS_field``
- 0x000C - 0x000C
- Field mask for the "binary group flags". - Field mask for the "binary group flags".
* - ``V4L2_TC_USERBITS_USERDEFINED``
- .. row 4
- ``V4L2_TC_USERBITS_USERDEFINED``
- 0x0000 - 0x0000
- Unspecified format. - Unspecified format.
* - ``V4L2_TC_USERBITS_8BITCHARS``
- .. row 5
- ``V4L2_TC_USERBITS_8BITCHARS``
- 0x0008 - 0x0008
- 8-bit ISO characters. - 8-bit ISO characters.

View File

@ -198,102 +198,39 @@ Control IDs
:stub-columns: 0 :stub-columns: 0
:widths: 11 24 :widths: 11 24
- .. row 1 * - ``V4L2_COLORFX_NONE``
- ``V4L2_COLORFX_NONE``
- Color effect is disabled. - Color effect is disabled.
* - ``V4L2_COLORFX_ANTIQUE``
- .. row 2
- ``V4L2_COLORFX_ANTIQUE``
- An aging (old photo) effect. - An aging (old photo) effect.
* - ``V4L2_COLORFX_ART_FREEZE``
- .. row 3
- ``V4L2_COLORFX_ART_FREEZE``
- Frost color effect. - Frost color effect.
* - ``V4L2_COLORFX_AQUA``
- .. row 4
- ``V4L2_COLORFX_AQUA``
- Water color, cool tone. - Water color, cool tone.
* - ``V4L2_COLORFX_BW``
- .. row 5
- ``V4L2_COLORFX_BW``
- Black and white. - Black and white.
* - ``V4L2_COLORFX_EMBOSS``
- .. row 6
- ``V4L2_COLORFX_EMBOSS``
- Emboss, the highlights and shadows replace light/dark boundaries - Emboss, the highlights and shadows replace light/dark boundaries
and low contrast areas are set to a gray background. and low contrast areas are set to a gray background.
* - ``V4L2_COLORFX_GRASS_GREEN``
- .. row 7
- ``V4L2_COLORFX_GRASS_GREEN``
- Grass green. - Grass green.
* - ``V4L2_COLORFX_NEGATIVE``
- .. row 8
- ``V4L2_COLORFX_NEGATIVE``
- Negative. - Negative.
* - ``V4L2_COLORFX_SEPIA``
- .. row 9
- ``V4L2_COLORFX_SEPIA``
- Sepia tone. - Sepia tone.
* - ``V4L2_COLORFX_SKETCH``
- .. row 10
- ``V4L2_COLORFX_SKETCH``
- Sketch. - Sketch.
* - ``V4L2_COLORFX_SKIN_WHITEN``
- .. row 11
- ``V4L2_COLORFX_SKIN_WHITEN``
- Skin whiten. - Skin whiten.
* - ``V4L2_COLORFX_SKY_BLUE``
- .. row 12
- ``V4L2_COLORFX_SKY_BLUE``
- Sky blue. - Sky blue.
* - ``V4L2_COLORFX_SOLARIZATION``
- .. row 13
- ``V4L2_COLORFX_SOLARIZATION``
- Solarization, the image is partially reversed in tone, only color - Solarization, the image is partially reversed in tone, only color
values above or below a certain threshold are inverted. values above or below a certain threshold are inverted.
* - ``V4L2_COLORFX_SILHOUETTE``
- .. row 14
- ``V4L2_COLORFX_SILHOUETTE``
- Silhouette (outline). - Silhouette (outline).
* - ``V4L2_COLORFX_VIVID``
- .. row 15
- ``V4L2_COLORFX_VIVID``
- Vivid colors. - Vivid colors.
* - ``V4L2_COLORFX_SET_CBCR``
- .. row 16
- ``V4L2_COLORFX_SET_CBCR``
- The Cb and Cr chroma components are replaced by fixed coefficients - The Cb and Cr chroma components are replaced by fixed coefficients
determined by ``V4L2_CID_COLORFX_CBCR`` control. determined by ``V4L2_CID_COLORFX_CBCR`` control.

View File

@ -110,41 +110,21 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``sampling_rate`` - ``sampling_rate``
- Samples per second, i. e. unit 1 Hz. - Samples per second, i. e. unit 1 Hz.
* - __u32
- .. row 2
- __u32
- ``offset`` - ``offset``
- Horizontal offset of the VBI image, relative to the leading edge - Horizontal offset of the VBI image, relative to the leading edge
of the line synchronization pulse and counted in samples: The of the line synchronization pulse and counted in samples: The
first sample in the VBI image will be located ``offset`` / first sample in the VBI image will be located ``offset`` /
``sampling_rate`` seconds following the leading edge. See also ``sampling_rate`` seconds following the leading edge. See also
:ref:`vbi-hsync`. :ref:`vbi-hsync`.
* - __u32
- .. row 3
- __u32
- ``samples_per_line`` - ``samples_per_line``
- -
* - __u32
- .. row 4
- __u32
- ``sample_format`` - ``sample_format``
- Defines the sample format as in :ref:`pixfmt`, a - Defines the sample format as in :ref:`pixfmt`, a
four-character-code. [#f2]_ Usually this is ``V4L2_PIX_FMT_GREY``, four-character-code. [#f2]_ Usually this is ``V4L2_PIX_FMT_GREY``,
i. e. each sample consists of 8 bits with lower values oriented i. e. each sample consists of 8 bits with lower values oriented
@ -153,13 +133,8 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
necessarily indicate if the signal is 'high' or 'low' because 128 necessarily indicate if the signal is 'high' or 'low' because 128
may not be the mean value of the signal. Drivers shall not convert may not be the mean value of the signal. Drivers shall not convert
the sample format by software. the sample format by software.
* - __u32
- .. row 5
- __u32
- ``start``\ [#f2]_ - ``start``\ [#f2]_
- This is the scanning system line number associated with the first - This is the scanning system line number associated with the first
line of the VBI image, of the first and the second field line of the VBI image, of the first and the second field
respectively. See :ref:`vbi-525` and :ref:`vbi-625` for valid respectively. See :ref:`vbi-525` and :ref:`vbi-625` for valid
@ -171,19 +146,11 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
drivers can return start values 0 if the hardware cannot reliable drivers can return start values 0 if the hardware cannot reliable
identify scanning lines, VBI acquisition may not require this identify scanning lines, VBI acquisition may not require this
information. information.
* - __u32
- .. row 6
- __u32
- ``count``\ [#f2]_ - ``count``\ [#f2]_
- The number of lines in the first and second field image, - The number of lines in the first and second field image,
respectively. respectively.
* - :cspan:`2`
- .. row 7
- :cspan:`2`
Drivers should be as flexibility as possible. For example, it may Drivers should be as flexibility as possible. For example, it may
be possible to extend or move the VBI capture window down to the be possible to extend or move the VBI capture window down to the
@ -206,22 +173,12 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
:ref:`v4l2_std_id <v4l2-std-id>` or the ``framelines`` field :ref:`v4l2_std_id <v4l2-std-id>` or the ``framelines`` field
of struct :c:type:`v4l2_standard` can be evaluated of struct :c:type:`v4l2_standard` can be evaluated
for this purpose. for this purpose.
* - __u32
- .. row 8
- __u32
- ``flags`` - ``flags``
- See :ref:`vbifmt-flags` below. Currently only drivers set flags, - See :ref:`vbifmt-flags` below. Currently only drivers set flags,
applications must set this field to zero. applications must set this field to zero.
* - __u32
- .. row 9
- __u32
- ``reserved``\ [#f2]_ - ``reserved``\ [#f2]_
- This array is reserved for future extensions. Drivers and - This array is reserved for future extensions. Drivers and
applications must set it to zero. applications must set it to zero.
@ -235,13 +192,8 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_VBI_UNSYNC``
- .. row 1
- ``V4L2_VBI_UNSYNC``
- 0x0001 - 0x0001
- This flag indicates hardware which does not properly distinguish - This flag indicates hardware which does not properly distinguish
between fields. Normally the VBI image stores the first field between fields. Normally the VBI image stores the first field
(lower scanning line numbers) first in memory. This may be a top (lower scanning line numbers) first in memory. This may be a top
@ -249,13 +201,8 @@ and always returns default parameters as :ref:`VIDIOC_G_FMT <VIDIOC_G_FMT>` does
set the first or second field may be stored first, however the set the first or second field may be stored first, however the
fields are still in correct temporal order with the older field fields are still in correct temporal order with the older field
first in memory. [#f3]_ first in memory. [#f3]_
* - ``V4L2_VBI_INTERLACED``
- .. row 2
- ``V4L2_VBI_INTERLACED``
- 0x0002 - 0x0002
- By default the two field images will be passed sequentially; all - By default the two field images will be passed sequentially; all
lines of the first field followed by all lines of the second field lines of the first field followed by all lines of the second field
(compare :ref:`field-order` ``V4L2_FIELD_SEQ_TB`` and (compare :ref:`field-order` ``V4L2_FIELD_SEQ_TB`` and

View File

@ -102,29 +102,14 @@ RDS datastructures
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 5 :widths: 1 1 5
* - __u8
- .. row 1
- __u8
- ``lsb`` - ``lsb``
- Least Significant Byte of RDS Block - Least Significant Byte of RDS Block
* - __u8
- .. row 2
- __u8
- ``msb`` - ``msb``
- Most Significant Byte of RDS Block - Most Significant Byte of RDS Block
* - __u8
- .. row 3
- __u8
- ``block`` - ``block``
- Block description - Block description
@ -138,31 +123,15 @@ RDS datastructures
:stub-columns: 0 :stub-columns: 0
:widths: 1 5 :widths: 1 5
* - Bits 0-2
- .. row 1
- Bits 0-2
- Block (aka offset) of the received data. - Block (aka offset) of the received data.
* - Bits 3-5
- .. row 2
- Bits 3-5
- Deprecated. Currently identical to bits 0-2. Do not use these - Deprecated. Currently identical to bits 0-2. Do not use these
bits. bits.
* - Bit 6
- .. row 3
- Bit 6
- Corrected bit. Indicates that an error was corrected for this data - Corrected bit. Indicates that an error was corrected for this data
block. block.
* - Bit 7
- .. row 4
- Bit 7
- Error bit. Indicates that an uncorrectable error occurred during - Error bit. Indicates that an uncorrectable error occurred during
reception of this block. reception of this block.
@ -177,87 +146,39 @@ RDS datastructures
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 5 :widths: 1 1 1 5
* - V4L2_RDS_BLOCK_MSK
- .. row 1
- V4L2_RDS_BLOCK_MSK
- -
- 7 - 7
- Mask for bits 0-2 to get the block ID. - Mask for bits 0-2 to get the block ID.
* - V4L2_RDS_BLOCK_A
- .. row 2
- V4L2_RDS_BLOCK_A
- -
- 0 - 0
- Block A. - Block A.
* - V4L2_RDS_BLOCK_B
- .. row 3
- V4L2_RDS_BLOCK_B
- -
- 1 - 1
- Block B. - Block B.
* - V4L2_RDS_BLOCK_C
- .. row 4
- V4L2_RDS_BLOCK_C
- -
- 2 - 2
- Block C. - Block C.
* - V4L2_RDS_BLOCK_D
- .. row 5
- V4L2_RDS_BLOCK_D
- -
- 3 - 3
- Block D. - Block D.
* - V4L2_RDS_BLOCK_C_ALT
- .. row 6
- V4L2_RDS_BLOCK_C_ALT
- -
- 4 - 4
- Block C'. - Block C'.
* - V4L2_RDS_BLOCK_INVALID
- .. row 7
- V4L2_RDS_BLOCK_INVALID
- read-only - read-only
- 7 - 7
- An invalid block. - An invalid block.
* - V4L2_RDS_BLOCK_CORRECTED
- .. row 8
- V4L2_RDS_BLOCK_CORRECTED
- read-only - read-only
- 0x40 - 0x40
- A bit error was detected but corrected. - A bit error was detected but corrected.
* - V4L2_RDS_BLOCK_ERROR
- .. row 9
- V4L2_RDS_BLOCK_ERROR
- read-only - read-only
- 0x80 - 0x80
- An uncorrectable error occurred. - An uncorrectable error occurred.

View File

@ -87,33 +87,18 @@ data transfer, set by the driver in order to inform application.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``pixelformat`` - ``pixelformat``
- The data format or type of compression, set by the application. - The data format or type of compression, set by the application.
This is a little endian This is a little endian
:ref:`four character code <v4l2-fourcc>`. V4L2 defines SDR :ref:`four character code <v4l2-fourcc>`. V4L2 defines SDR
formats in :ref:`sdr-formats`. formats in :ref:`sdr-formats`.
* - __u32
- .. row 2
- __u32
- ``buffersize`` - ``buffersize``
- Maximum size in bytes required for data. Value is set by the - Maximum size in bytes required for data. Value is set by the
driver. driver.
* - __u8
- .. row 3
- __u8
- ``reserved[24]`` - ``reserved[24]``
- This array is reserved for future extensions. Drivers and - This array is reserved for future extensions. Drivers and
applications must set it to zero. applications must set it to zero.

View File

@ -114,13 +114,8 @@ struct v4l2_sliced_vbi_format
:stub-columns: 0 :stub-columns: 0
:widths: 3 3 2 2 2 :widths: 3 3 2 2 2
* - __u32
- .. row 1
- __u32
- ``service_set`` - ``service_set``
- :cspan:`2` - :cspan:`2`
If ``service_set`` is non-zero when passed with If ``service_set`` is non-zero when passed with
@ -139,13 +134,8 @@ struct v4l2_sliced_vbi_format
services than requested, perhaps just one, if the hardware cannot services than requested, perhaps just one, if the hardware cannot
handle more services simultaneously. It may be empty (zero) if handle more services simultaneously. It may be empty (zero) if
none of the requested services are supported by the hardware. none of the requested services are supported by the hardware.
* - __u16
- .. row 2
- __u16
- ``service_lines``\ [2][24] - ``service_lines``\ [2][24]
- :cspan:`2` - :cspan:`2`
Applications initialize this array with sets of data services the Applications initialize this array with sets of data services the
@ -158,60 +148,32 @@ struct v4l2_sliced_vbi_format
Data services are defined in :ref:`vbi-services2`. Array indices Data services are defined in :ref:`vbi-services2`. Array indices
map to ITU-R line numbers\ [#f2]_ as follows: map to ITU-R line numbers\ [#f2]_ as follows:
* -
- .. row 3
-
- -
- Element - Element
- 525 line systems - 525 line systems
- 625 line systems - 625 line systems
* -
- .. row 4
-
- -
- ``service_lines``\ [0][1] - ``service_lines``\ [0][1]
- 1 - 1
- 1 - 1
* -
- .. row 5
-
- -
- ``service_lines``\ [0][23] - ``service_lines``\ [0][23]
- 23 - 23
- 23 - 23
* -
- .. row 6
-
- -
- ``service_lines``\ [1][1] - ``service_lines``\ [1][1]
- 264 - 264
- 314 - 314
* -
- .. row 7
-
- -
- ``service_lines``\ [1][23] - ``service_lines``\ [1][23]
- 286 - 286
- 336 - 336
* -
- .. row 8
-
- -
- :cspan:`2` Drivers must set ``service_lines`` [0][0] and - :cspan:`2` Drivers must set ``service_lines`` [0][0] and
``service_lines``\ [1][0] to zero. The ``service_lines``\ [1][0] to zero. The
@ -220,13 +182,8 @@ struct v4l2_sliced_vbi_format
defines give the start line numbers for each field for each 525 or defines give the start line numbers for each field for each 525 or
625 line format as a convenience. Don't forget that ITU line 625 line format as a convenience. Don't forget that ITU line
numbering starts at 1, not 0. numbering starts at 1, not 0.
* - __u32
- .. row 9
- __u32
- ``io_size`` - ``io_size``
- :cspan:`2` Maximum number of bytes passed by one - :cspan:`2` Maximum number of bytes passed by one
:ref:`read() <func-read>` or :ref:`write() <func-write>` call, :ref:`read() <func-read>` or :ref:`write() <func-write>` call,
and the buffer size in bytes for the and the buffer size in bytes for the
@ -236,13 +193,8 @@ struct v4l2_sliced_vbi_format
:c:type:`v4l2_sliced_vbi_data` times the :c:type:`v4l2_sliced_vbi_data` times the
number of non-zero elements in the returned ``service_lines`` number of non-zero elements in the returned ``service_lines``
array (that is the number of lines potentially carrying data). array (that is the number of lines potentially carrying data).
* - __u32
- .. row 10
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- :cspan:`2` This array is reserved for future extensions. - :cspan:`2` This array is reserved for future extensions.
Applications and drivers must set it to zero. Applications and drivers must set it to zero.
@ -264,72 +216,37 @@ Sliced VBI services
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 2 2 :widths: 2 1 1 2 2
* - Symbol
- .. row 1
- Symbol
- Value - Value
- Reference - Reference
- Lines, usually - Lines, usually
- Payload - Payload
* - ``V4L2_SLICED_TELETEXT_B`` (Teletext System B)
- .. row 2
- ``V4L2_SLICED_TELETEXT_B`` (Teletext System B)
- 0x0001 - 0x0001
- :ref:`ets300706`, - :ref:`ets300706`,
:ref:`itu653` :ref:`itu653`
- PAL/SECAM line 7-22, 320-335 (second field 7-22) - PAL/SECAM line 7-22, 320-335 (second field 7-22)
- Last 42 of the 45 byte Teletext packet, that is without clock - Last 42 of the 45 byte Teletext packet, that is without clock
run-in and framing code, lsb first transmitted. run-in and framing code, lsb first transmitted.
* - ``V4L2_SLICED_VPS``
- .. row 3
- ``V4L2_SLICED_VPS``
- 0x0400 - 0x0400
- :ref:`ets300231` - :ref:`ets300231`
- PAL line 16 - PAL line 16
- Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb - Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb
first transmitted. first transmitted.
* - ``V4L2_SLICED_CAPTION_525``
- .. row 4
- ``V4L2_SLICED_CAPTION_525``
- 0x1000 - 0x1000
- :ref:`cea608` - :ref:`cea608`
- NTSC line 21, 284 (second field 21) - NTSC line 21, 284 (second field 21)
- Two bytes in transmission order, including parity bit, lsb first - Two bytes in transmission order, including parity bit, lsb first
transmitted. transmitted.
* - ``V4L2_SLICED_WSS_625``
- .. row 5
- ``V4L2_SLICED_WSS_625``
- 0x4000 - 0x4000
- :ref:`itu1119`, - :ref:`itu1119`,
:ref:`en300294` :ref:`en300294`
- PAL/SECAM line 23 - PAL/SECAM line 23
- -
:: ::
@ -337,21 +254,11 @@ Sliced VBI services
Byte 0 1 Byte 0 1
msb lsb msb lsb msb lsb msb lsb
Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9 Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9
* - ``V4L2_SLICED_VBI_525``
- .. row 6
- ``V4L2_SLICED_VBI_525``
- 0x1000 - 0x1000
- :cspan:`2` Set of services applicable to 525 line systems. - :cspan:`2` Set of services applicable to 525 line systems.
* - ``V4L2_SLICED_VBI_625``
- .. row 7
- ``V4L2_SLICED_VBI_625``
- 0x4401 - 0x4401
- :cspan:`2` Set of services applicable to 625 line systems. - :cspan:`2` Set of services applicable to 625 line systems.
.. raw:: latex .. raw:: latex
@ -395,13 +302,8 @@ struct v4l2_sliced_vbi_data
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - __u32
- .. row 1
- __u32
- ``id`` - ``id``
- A flag from :ref:`vbi-services` identifying the type of data in - A flag from :ref:`vbi-services` identifying the type of data in
this packet. Only a single bit must be set. When the ``id`` of a this packet. Only a single bit must be set. When the ``id`` of a
captured packet is zero, the packet is empty and the contents of captured packet is zero, the packet is empty and the contents of
@ -409,45 +311,25 @@ struct v4l2_sliced_vbi_data
packets. When the ``id`` of a packet for output is zero the packets. When the ``id`` of a packet for output is zero the
contents of the ``data`` field are undefined and the driver must contents of the ``data`` field are undefined and the driver must
no longer insert data on the requested ``field`` and ``line``. no longer insert data on the requested ``field`` and ``line``.
* - __u32
- .. row 2
- __u32
- ``field`` - ``field``
- The video field number this data has been captured from, or shall - The video field number this data has been captured from, or shall
be inserted at. ``0`` for the first field, ``1`` for the second be inserted at. ``0`` for the first field, ``1`` for the second
field. field.
* - __u32
- .. row 3
- __u32
- ``line`` - ``line``
- The field (as opposed to frame) line number this data has been - The field (as opposed to frame) line number this data has been
captured from, or shall be inserted at. See :ref:`vbi-525` and captured from, or shall be inserted at. See :ref:`vbi-525` and
:ref:`vbi-625` for valid values. Sliced VBI capture devices can :ref:`vbi-625` for valid values. Sliced VBI capture devices can
set the line number of all packets to ``0`` if the hardware cannot set the line number of all packets to ``0`` if the hardware cannot
reliably identify scan lines. The field number must always be reliably identify scan lines. The field number must always be
valid. valid.
* - __u32
- .. row 4
- __u32
- ``reserved`` - ``reserved``
- This field is reserved for future extensions. Applications and - This field is reserved for future extensions. Applications and
drivers must set it to zero. drivers must set it to zero.
* - __u8
- .. row 5
- __u8
- ``data``\ [48] - ``data``\ [48]
- The packet payload. See :ref:`vbi-services` for the contents and - The packet payload. See :ref:`vbi-services` for the contents and
number of bytes passed for each data type. The contents of padding number of bytes passed for each data type. The contents of padding
bytes at the end of this array are undefined, drivers and bytes at the end of this array are undefined, drivers and
@ -582,44 +464,25 @@ struct v4l2_mpeg_vbi_fmt_ivtv
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u8
- .. row 1
- __u8
- ``magic``\ [4] - ``magic``\ [4]
- -
- A "magic" constant from :ref:`v4l2-mpeg-vbi-fmt-ivtv-magic` that - A "magic" constant from :ref:`v4l2-mpeg-vbi-fmt-ivtv-magic` that
indicates this is a valid sliced VBI data payload and also indicates this is a valid sliced VBI data payload and also
indicates which member of the anonymous union, ``itv0`` or indicates which member of the anonymous union, ``itv0`` or
``ITV0``, to use for the payload data. ``ITV0``, to use for the payload data.
* - union
- .. row 2
- union
- (anonymous) - (anonymous)
* -
- .. row 3
-
- struct :c:type:`v4l2_mpeg_vbi_itv0` - struct :c:type:`v4l2_mpeg_vbi_itv0`
- ``itv0`` - ``itv0``
- The primary form of the sliced VBI data payload that contains - The primary form of the sliced VBI data payload that contains
anywhere from 1 to 35 lines of sliced VBI data. Line masks are anywhere from 1 to 35 lines of sliced VBI data. Line masks are
provided in this form of the payload indicating which VBI lines provided in this form of the payload indicating which VBI lines
are provided. are provided.
* -
- .. row 4
-
- struct :ref:`v4l2_mpeg_vbi_ITV0 <v4l2-mpeg-vbi-itv0-1>` - struct :ref:`v4l2_mpeg_vbi_ITV0 <v4l2-mpeg-vbi-itv0-1>`
- ``ITV0`` - ``ITV0``
- An alternate form of the sliced VBI data payload used when 36 - An alternate form of the sliced VBI data payload used when 36
lines of sliced VBI data are present. No line masks are provided lines of sliced VBI data are present. No line masks are provided
in this form of the payload; all valid line mask bits are in this form of the payload; all valid line mask bits are
@ -639,31 +502,16 @@ Magic Constants for struct v4l2_mpeg_vbi_fmt_ivtv magic field
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - Defined Symbol
- .. row 1
- Defined Symbol
- Value - Value
- Description - Description
* - ``V4L2_MPEG_VBI_IVTV_MAGIC0``
- .. row 2
- ``V4L2_MPEG_VBI_IVTV_MAGIC0``
- "itv0" - "itv0"
- Indicates the ``itv0`` member of the union in struct - Indicates the ``itv0`` member of the union in struct
:c:type:`v4l2_mpeg_vbi_fmt_ivtv` is :c:type:`v4l2_mpeg_vbi_fmt_ivtv` is
valid. valid.
* - ``V4L2_MPEG_VBI_IVTV_MAGIC1``
- .. row 3
- ``V4L2_MPEG_VBI_IVTV_MAGIC1``
- "ITV0" - "ITV0"
- Indicates the ``ITV0`` member of the union in struct - Indicates the ``ITV0`` member of the union in struct
:c:type:`v4l2_mpeg_vbi_fmt_ivtv` is :c:type:`v4l2_mpeg_vbi_fmt_ivtv` is
valid and that 36 lines of sliced VBI data are present. valid and that 36 lines of sliced VBI data are present.
@ -684,13 +532,8 @@ structs v4l2_mpeg_vbi_itv0 and v4l2_mpeg_vbi_ITV0
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __le32
- .. row 1
- __le32
- ``linemask``\ [2] - ``linemask``\ [2]
- Bitmasks indicating the VBI service lines present. These - Bitmasks indicating the VBI service lines present. These
``linemask`` values are stored in little endian byte order in the ``linemask`` values are stored in little endian byte order in the
MPEG stream. Some reference ``linemask`` bit positions with their MPEG stream. Some reference ``linemask`` bit positions with their
@ -709,14 +552,9 @@ structs v4l2_mpeg_vbi_itv0 and v4l2_mpeg_vbi_ITV0
linemask[1] b0: line 20 second field linemask[1] b0: line 20 second field
linemask[1] b3: line 23 second field linemask[1] b3: line 23 second field
linemask[1] b4-b31: unused and set to 0 linemask[1] b4-b31: unused and set to 0
* - struct
- .. row 2
- struct
:c:type:`v4l2_mpeg_vbi_itv0_line` :c:type:`v4l2_mpeg_vbi_itv0_line`
- ``line``\ [35] - ``line``\ [35]
- This is a variable length array that holds from 1 to 35 lines of - This is a variable length array that holds from 1 to 35 lines of
sliced VBI data. The sliced VBI data lines present correspond to sliced VBI data. The sliced VBI data lines present correspond to
the bits set in the ``linemask`` array, starting from b\ :sub:`0` the bits set in the ``linemask`` array, starting from b\ :sub:`0`
@ -743,14 +581,9 @@ struct v4l2_mpeg_vbi_ITV0
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - struct
- .. row 1
- struct
:c:type:`v4l2_mpeg_vbi_itv0_line` :c:type:`v4l2_mpeg_vbi_itv0_line`
- ``line``\ [36] - ``line``\ [36]
- A fixed length array of 36 lines of sliced VBI data. ``line``\ [0] - A fixed length array of 36 lines of sliced VBI data. ``line``\ [0]
through ``line``\ [17] correspond to lines 6 through 23 of the through ``line``\ [17] correspond to lines 6 through 23 of the
first field. ``line``\ [18] through ``line``\ [35] corresponds to first field. ``line``\ [18] through ``line``\ [35] corresponds to
@ -770,23 +603,13 @@ struct v4l2_mpeg_vbi_itv0_line
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u8
- .. row 1
- __u8
- ``id`` - ``id``
- A line identifier value from - A line identifier value from
:ref:`ITV0-Line-Identifier-Constants` that indicates the type of :ref:`ITV0-Line-Identifier-Constants` that indicates the type of
sliced VBI data stored on this line. sliced VBI data stored on this line.
* - __u8
- .. row 2
- __u8
- ``data``\ [42] - ``data``\ [42]
- The sliced VBI data for the line. - The sliced VBI data for the line.
@ -803,48 +626,23 @@ Line Identifiers for struct v4l2_mpeg_vbi_itv0_line id field
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - Defined Symbol
- .. row 1
- Defined Symbol
- Value - Value
- Description - Description
* - ``V4L2_MPEG_VBI_IVTV_TELETEXT_B``
- .. row 2
- ``V4L2_MPEG_VBI_IVTV_TELETEXT_B``
- 1 - 1
- Refer to :ref:`Sliced VBI services <vbi-services2>` for a - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
description of the line payload. description of the line payload.
* - ``V4L2_MPEG_VBI_IVTV_CAPTION_525``
- .. row 3
- ``V4L2_MPEG_VBI_IVTV_CAPTION_525``
- 4 - 4
- Refer to :ref:`Sliced VBI services <vbi-services2>` for a - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
description of the line payload. description of the line payload.
* - ``V4L2_MPEG_VBI_IVTV_WSS_625``
- .. row 4
- ``V4L2_MPEG_VBI_IVTV_WSS_625``
- 5 - 5
- Refer to :ref:`Sliced VBI services <vbi-services2>` for a - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
description of the line payload. description of the line payload.
* - ``V4L2_MPEG_VBI_IVTV_VPS``
- .. row 5
- ``V4L2_MPEG_VBI_IVTV_VPS``
- 7 - 7
- Refer to :ref:`Sliced VBI services <vbi-services2>` for a - Refer to :ref:`Sliced VBI services <vbi-services2>` for a
description of the line payload. description of the line payload.

View File

@ -215,84 +215,40 @@ list entity names and pad numbers).
:stub-columns: 0 :stub-columns: 0
:widths: 5 5 5 5 5 5 5 :widths: 5 5 5 5 5 5 5
* -
- .. row 1
-
- Sensor/0 format - Sensor/0 format
- Frontend/0 format - Frontend/0 format
- Frontend/1 format - Frontend/1 format
- Scaler/0 format - Scaler/0 format
- Scaler/0 compose selection rectangle - Scaler/0 compose selection rectangle
- Scaler/1 format - Scaler/1 format
* - Initial state
- .. row 2
- Initial state
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- (default) - (default)
- (default) - (default)
- (default) - (default)
- (default) - (default)
- (default) - (default)
* - Configure frontend sink format
- .. row 3
- Configure frontend sink format
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- *2048x1536/SGRBG8_1X8* - *2048x1536/SGRBG8_1X8*
- *2046x1534/SGRBG8_1X8* - *2046x1534/SGRBG8_1X8*
- (default) - (default)
- (default) - (default)
- (default) - (default)
* - Configure scaler sink format
- .. row 4
- Configure scaler sink format
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- 2046x1534/SGRBG8_1X8 - 2046x1534/SGRBG8_1X8
- *2046x1534/SGRBG8_1X8* - *2046x1534/SGRBG8_1X8*
- *0,0/2046x1534* - *0,0/2046x1534*
- *2046x1534/SGRBG8_1X8* - *2046x1534/SGRBG8_1X8*
* - Configure scaler sink compose selection
- .. row 5
- Configure scaler sink compose selection
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- 2048x1536/SGRBG8_1X8 - 2048x1536/SGRBG8_1X8
- 2046x1534/SGRBG8_1X8 - 2046x1534/SGRBG8_1X8
- 2046x1534/SGRBG8_1X8 - 2046x1534/SGRBG8_1X8
- *0,0/1280x960* - *0,0/1280x960*
- *1280x960/SGRBG8_1X8* - *1280x960/SGRBG8_1X8*
.. raw:: latex .. raw:: latex

View File

@ -39,38 +39,18 @@ using driver module options. The major device number remains 81.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Device Type
- .. row 1
- Device Type
- File Name - File Name
- Minor Numbers - Minor Numbers
* - Video capture and overlay
- .. row 2
- Video capture and overlay
- ``/dev/video`` and ``/dev/bttv0``\ [#f1]_, ``/dev/video0`` to - ``/dev/video`` and ``/dev/bttv0``\ [#f1]_, ``/dev/video0`` to
``/dev/video63`` ``/dev/video63``
- 0-63 - 0-63
* - Radio receiver
- .. row 3
- Radio receiver
- ``/dev/radio``\ [#f2]_, ``/dev/radio0`` to ``/dev/radio63`` - ``/dev/radio``\ [#f2]_, ``/dev/radio0`` to ``/dev/radio63``
- 64-127 - 64-127
* - Raw VBI capture
- .. row 4
- Raw VBI capture
- ``/dev/vbi``, ``/dev/vbi0`` to ``/dev/vbi31`` - ``/dev/vbi``, ``/dev/vbi0`` to ``/dev/vbi31``
- 224-255 - 224-255
@ -103,147 +83,72 @@ introduction.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - ``struct video_capability`` ``type``
- .. row 1
- ``struct video_capability`` ``type``
- struct :c:type:`v4l2_capability` - struct :c:type:`v4l2_capability`
``capabilities`` flags ``capabilities`` flags
- Purpose - Purpose
* - ``VID_TYPE_CAPTURE``
- .. row 2
- ``VID_TYPE_CAPTURE``
- ``V4L2_CAP_VIDEO_CAPTURE`` - ``V4L2_CAP_VIDEO_CAPTURE``
- The :ref:`video capture <capture>` interface is supported. - The :ref:`video capture <capture>` interface is supported.
* - ``VID_TYPE_TUNER``
- .. row 3
- ``VID_TYPE_TUNER``
- ``V4L2_CAP_TUNER`` - ``V4L2_CAP_TUNER``
- The device has a :ref:`tuner or modulator <tuner>`. - The device has a :ref:`tuner or modulator <tuner>`.
* - ``VID_TYPE_TELETEXT``
- .. row 4
- ``VID_TYPE_TELETEXT``
- ``V4L2_CAP_VBI_CAPTURE`` - ``V4L2_CAP_VBI_CAPTURE``
- The :ref:`raw VBI capture <raw-vbi>` interface is supported. - The :ref:`raw VBI capture <raw-vbi>` interface is supported.
* - ``VID_TYPE_OVERLAY``
- .. row 5
- ``VID_TYPE_OVERLAY``
- ``V4L2_CAP_VIDEO_OVERLAY`` - ``V4L2_CAP_VIDEO_OVERLAY``
- The :ref:`video overlay <overlay>` interface is supported. - The :ref:`video overlay <overlay>` interface is supported.
* - ``VID_TYPE_CHROMAKEY``
- .. row 6
- ``VID_TYPE_CHROMAKEY``
- ``V4L2_FBUF_CAP_CHROMAKEY`` in field ``capability`` of struct - ``V4L2_FBUF_CAP_CHROMAKEY`` in field ``capability`` of struct
:c:type:`v4l2_framebuffer` :c:type:`v4l2_framebuffer`
- Whether chromakey overlay is supported. For more information on - Whether chromakey overlay is supported. For more information on
overlay see :ref:`overlay`. overlay see :ref:`overlay`.
* - ``VID_TYPE_CLIPPING``
- .. row 7
- ``VID_TYPE_CLIPPING``
- ``V4L2_FBUF_CAP_LIST_CLIPPING`` and - ``V4L2_FBUF_CAP_LIST_CLIPPING`` and
``V4L2_FBUF_CAP_BITMAP_CLIPPING`` in field ``capability`` of ``V4L2_FBUF_CAP_BITMAP_CLIPPING`` in field ``capability`` of
struct :c:type:`v4l2_framebuffer` struct :c:type:`v4l2_framebuffer`
- Whether clipping the overlaid image is supported, see - Whether clipping the overlaid image is supported, see
:ref:`overlay`. :ref:`overlay`.
* - ``VID_TYPE_FRAMERAM``
- .. row 8
- ``VID_TYPE_FRAMERAM``
- ``V4L2_FBUF_CAP_EXTERNOVERLAY`` *not set* in field ``capability`` - ``V4L2_FBUF_CAP_EXTERNOVERLAY`` *not set* in field ``capability``
of struct :c:type:`v4l2_framebuffer` of struct :c:type:`v4l2_framebuffer`
- Whether overlay overwrites frame buffer memory, see - Whether overlay overwrites frame buffer memory, see
:ref:`overlay`. :ref:`overlay`.
* - ``VID_TYPE_SCALES``
- .. row 9
- ``VID_TYPE_SCALES``
- ``-`` - ``-``
- This flag indicates if the hardware can scale images. The V4L2 API - This flag indicates if the hardware can scale images. The V4L2 API
implies the scale factor by setting the cropping dimensions and implies the scale factor by setting the cropping dimensions and
image size with the :ref:`VIDIOC_S_CROP <VIDIOC_G_CROP>` and image size with the :ref:`VIDIOC_S_CROP <VIDIOC_G_CROP>` and
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, respectively. The :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, respectively. The
driver returns the closest sizes possible. For more information on driver returns the closest sizes possible. For more information on
cropping and scaling see :ref:`crop`. cropping and scaling see :ref:`crop`.
* - ``VID_TYPE_MONOCHROME``
- .. row 10
- ``VID_TYPE_MONOCHROME``
- ``-`` - ``-``
- Applications can enumerate the supported image formats with the - Applications can enumerate the supported image formats with the
:ref:`VIDIOC_ENUM_FMT` ioctl to determine if :ref:`VIDIOC_ENUM_FMT` ioctl to determine if
the device supports grey scale capturing only. For more the device supports grey scale capturing only. For more
information on image formats see :ref:`pixfmt`. information on image formats see :ref:`pixfmt`.
* - ``VID_TYPE_SUBCAPTURE``
- .. row 11
- ``VID_TYPE_SUBCAPTURE``
- ``-`` - ``-``
- Applications can call the :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>` - Applications can call the :ref:`VIDIOC_G_CROP <VIDIOC_G_CROP>`
ioctl to determine if the device supports capturing a subsection ioctl to determine if the device supports capturing a subsection
of the full picture ("cropping" in V4L2). If not, the ioctl of the full picture ("cropping" in V4L2). If not, the ioctl
returns the ``EINVAL`` error code. For more information on cropping returns the ``EINVAL`` error code. For more information on cropping
and scaling see :ref:`crop`. and scaling see :ref:`crop`.
* - ``VID_TYPE_MPEG_DECODER``
- .. row 12
- ``VID_TYPE_MPEG_DECODER``
- ``-`` - ``-``
- Applications can enumerate the supported image formats with the - Applications can enumerate the supported image formats with the
:ref:`VIDIOC_ENUM_FMT` ioctl to determine if :ref:`VIDIOC_ENUM_FMT` ioctl to determine if
the device supports MPEG streams. the device supports MPEG streams.
* - ``VID_TYPE_MPEG_ENCODER``
- .. row 13
- ``VID_TYPE_MPEG_ENCODER``
- ``-`` - ``-``
- See above. - See above.
* - ``VID_TYPE_MJPEG_DECODER``
- .. row 14
- ``VID_TYPE_MJPEG_DECODER``
- ``-`` - ``-``
- See above. - See above.
* - ``VID_TYPE_MJPEG_ENCODER``
- .. row 15
- ``VID_TYPE_MJPEG_ENCODER``
- ``-`` - ``-``
- See above. - See above.
@ -280,23 +185,11 @@ video input types were renamed as follows:
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - struct ``video_channel`` ``type``
- .. row 1
- struct ``video_channel`` ``type``
- struct :c:type:`v4l2_input` ``type`` - struct :c:type:`v4l2_input` ``type``
* - ``VIDEO_TYPE_TV``
- .. row 2
- ``VIDEO_TYPE_TV``
- ``V4L2_INPUT_TYPE_TUNER`` - ``V4L2_INPUT_TYPE_TUNER``
* - ``VIDEO_TYPE_CAMERA``
- .. row 3
- ``VIDEO_TYPE_CAMERA``
- ``V4L2_INPUT_TYPE_CAMERA`` - ``V4L2_INPUT_TYPE_CAMERA``
@ -386,41 +279,17 @@ replaced by V4L2 controls accessible with the
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - struct ``video_picture``
- .. row 1
- struct ``video_picture``
- V4L2 Control ID - V4L2 Control ID
* - ``brightness``
- .. row 2
- ``brightness``
- ``V4L2_CID_BRIGHTNESS`` - ``V4L2_CID_BRIGHTNESS``
* - ``hue``
- .. row 3
- ``hue``
- ``V4L2_CID_HUE`` - ``V4L2_CID_HUE``
* - ``colour``
- .. row 4
- ``colour``
- ``V4L2_CID_SATURATION`` - ``V4L2_CID_SATURATION``
* - ``contrast``
- .. row 5
- ``contrast``
- ``V4L2_CID_CONTRAST`` - ``V4L2_CID_CONTRAST``
* - ``whiteness``
- .. row 6
- ``whiteness``
- ``V4L2_CID_WHITENESS`` - ``V4L2_CID_WHITENESS``
@ -442,107 +311,39 @@ into the struct :c:type:`v4l2_pix_format`:
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - struct ``video_picture`` ``palette``
- .. row 1
- struct ``video_picture`` ``palette``
- struct :c:type:`v4l2_pix_format` ``pixfmt`` - struct :c:type:`v4l2_pix_format` ``pixfmt``
* - ``VIDEO_PALETTE_GREY``
- .. row 2
- ``VIDEO_PALETTE_GREY``
- :ref:`V4L2_PIX_FMT_GREY <V4L2-PIX-FMT-GREY>` - :ref:`V4L2_PIX_FMT_GREY <V4L2-PIX-FMT-GREY>`
* - ``VIDEO_PALETTE_HI240``
- .. row 3
- ``VIDEO_PALETTE_HI240``
- :ref:`V4L2_PIX_FMT_HI240 <pixfmt-reserved>` [#f3]_ - :ref:`V4L2_PIX_FMT_HI240 <pixfmt-reserved>` [#f3]_
* - ``VIDEO_PALETTE_RGB565``
- .. row 4
- ``VIDEO_PALETTE_RGB565``
- :ref:`V4L2_PIX_FMT_RGB565 <pixfmt-rgb>` - :ref:`V4L2_PIX_FMT_RGB565 <pixfmt-rgb>`
* - ``VIDEO_PALETTE_RGB555``
- .. row 5
- ``VIDEO_PALETTE_RGB555``
- :ref:`V4L2_PIX_FMT_RGB555 <pixfmt-rgb>` - :ref:`V4L2_PIX_FMT_RGB555 <pixfmt-rgb>`
* - ``VIDEO_PALETTE_RGB24``
- .. row 6
- ``VIDEO_PALETTE_RGB24``
- :ref:`V4L2_PIX_FMT_BGR24 <pixfmt-rgb>` - :ref:`V4L2_PIX_FMT_BGR24 <pixfmt-rgb>`
* - ``VIDEO_PALETTE_RGB32``
- .. row 7
- ``VIDEO_PALETTE_RGB32``
- :ref:`V4L2_PIX_FMT_BGR32 <pixfmt-rgb>` [#f4]_ - :ref:`V4L2_PIX_FMT_BGR32 <pixfmt-rgb>` [#f4]_
* - ``VIDEO_PALETTE_YUV422``
- .. row 8
- ``VIDEO_PALETTE_YUV422``
- :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>` - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
* - ``VIDEO_PALETTE_YUYV``\ [#f5]_
- .. row 9
- ``VIDEO_PALETTE_YUYV``\ [#f5]_
- :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>` - :ref:`V4L2_PIX_FMT_YUYV <V4L2-PIX-FMT-YUYV>`
* - ``VIDEO_PALETTE_UYVY``
- .. row 10
- ``VIDEO_PALETTE_UYVY``
- :ref:`V4L2_PIX_FMT_UYVY <V4L2-PIX-FMT-UYVY>` - :ref:`V4L2_PIX_FMT_UYVY <V4L2-PIX-FMT-UYVY>`
* - ``VIDEO_PALETTE_YUV420``
- .. row 11
- ``VIDEO_PALETTE_YUV420``
- None - None
* - ``VIDEO_PALETTE_YUV411``
- .. row 12
- ``VIDEO_PALETTE_YUV411``
- :ref:`V4L2_PIX_FMT_Y41P <V4L2-PIX-FMT-Y41P>` [#f6]_ - :ref:`V4L2_PIX_FMT_Y41P <V4L2-PIX-FMT-Y41P>` [#f6]_
* - ``VIDEO_PALETTE_RAW``
- .. row 13
- ``VIDEO_PALETTE_RAW``
- None [#f7]_ - None [#f7]_
* - ``VIDEO_PALETTE_YUV422P``
- .. row 14
- ``VIDEO_PALETTE_YUV422P``
- :ref:`V4L2_PIX_FMT_YUV422P <V4L2-PIX-FMT-YUV422P>` - :ref:`V4L2_PIX_FMT_YUV422P <V4L2-PIX-FMT-YUV422P>`
* - ``VIDEO_PALETTE_YUV411P``
- .. row 15
- ``VIDEO_PALETTE_YUV411P``
- :ref:`V4L2_PIX_FMT_YUV411P <V4L2-PIX-FMT-YUV411P>` [#f8]_ - :ref:`V4L2_PIX_FMT_YUV411P <V4L2-PIX-FMT-YUV411P>` [#f8]_
* - ``VIDEO_PALETTE_YUV420P``
- .. row 16
- ``VIDEO_PALETTE_YUV420P``
- :ref:`V4L2_PIX_FMT_YVU420 <V4L2-PIX-FMT-YVU420>` - :ref:`V4L2_PIX_FMT_YVU420 <V4L2-PIX-FMT-YVU420>`
* - ``VIDEO_PALETTE_YUV410P``
- .. row 17
- ``VIDEO_PALETTE_YUV410P``
- :ref:`V4L2_PIX_FMT_YVU410 <V4L2-PIX-FMT-YVU410>` - :ref:`V4L2_PIX_FMT_YVU410 <V4L2-PIX-FMT-YVU410>`
@ -588,35 +389,15 @@ The following fields where replaced by V4L2 controls accessible with the
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - struct ``video_audio``
- .. row 1
- struct ``video_audio``
- V4L2 Control ID - V4L2 Control ID
* - ``volume``
- .. row 2
- ``volume``
- ``V4L2_CID_AUDIO_VOLUME`` - ``V4L2_CID_AUDIO_VOLUME``
* - ``bass``
- .. row 3
- ``bass``
- ``V4L2_CID_AUDIO_BASS`` - ``V4L2_CID_AUDIO_BASS``
* - ``treble``
- .. row 4
- ``treble``
- ``V4L2_CID_AUDIO_TREBLE`` - ``V4L2_CID_AUDIO_TREBLE``
* - ``balance``
- .. row 5
- ``balance``
- ``V4L2_CID_AUDIO_BALANCE`` - ``V4L2_CID_AUDIO_BALANCE``
@ -752,46 +533,28 @@ differences.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - V4L
- .. row 1
- V4L
- V4L2 - V4L2
* -
- .. row 2
-
- The image format must be selected before buffers are allocated, - The image format must be selected before buffers are allocated,
with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. When no with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl. When no
format is selected the driver may use the last, possibly by format is selected the driver may use the last, possibly by
another application requested format. another application requested format.
* - Applications cannot change the number of buffers. The it is built
- .. row 3
- Applications cannot change the number of buffers. The it is built
into the driver, unless it has a module option to change the into the driver, unless it has a module option to change the
number when the driver module is loaded. number when the driver module is loaded.
- The :ref:`VIDIOC_REQBUFS` ioctl allocates the - The :ref:`VIDIOC_REQBUFS` ioctl allocates the
desired number of buffers, this is a required step in the desired number of buffers, this is a required step in the
initialization sequence. initialization sequence.
* - Drivers map all buffers as one contiguous range of memory. The
- .. row 4
- Drivers map all buffers as one contiguous range of memory. The
``VIDIOCGMBUF`` ioctl is available to query the number of buffers, ``VIDIOCGMBUF`` ioctl is available to query the number of buffers,
the offset of each buffer from the start of the virtual file, and the offset of each buffer from the start of the virtual file, and
the overall amount of memory used, which can be used as arguments the overall amount of memory used, which can be used as arguments
for the :ref:`mmap() <func-mmap>` function. for the :ref:`mmap() <func-mmap>` function.
- Buffers are individually mapped. The offset and size of each - Buffers are individually mapped. The offset and size of each
buffer can be determined with the buffer can be determined with the
:ref:`VIDIOC_QUERYBUF` ioctl. :ref:`VIDIOC_QUERYBUF` ioctl.
* - The ``VIDIOCMCAPTURE`` ioctl prepares a buffer for capturing. It
- .. row 5
- The ``VIDIOCMCAPTURE`` ioctl prepares a buffer for capturing. It
also determines the image format for this buffer. The ioctl also determines the image format for this buffer. The ioctl
returns immediately, eventually with an ``EAGAIN`` error code if no returns immediately, eventually with an ``EAGAIN`` error code if no
video signal had been detected. When the driver supports more than video signal had been detected. When the driver supports more than
@ -800,7 +563,6 @@ differences.
The ``VIDIOCSYNC`` ioctl suspends execution until a particular The ``VIDIOCSYNC`` ioctl suspends execution until a particular
buffer has been filled. buffer has been filled.
- Drivers maintain an incoming and outgoing queue. - Drivers maintain an incoming and outgoing queue.
:ref:`VIDIOC_QBUF` enqueues any empty buffer into :ref:`VIDIOC_QBUF` enqueues any empty buffer into
the incoming queue. Filled buffers are dequeued from the outgoing the incoming queue. Filled buffers are dequeued from the outgoing
@ -835,55 +597,23 @@ with the following parameters:
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - struct :c:type:`v4l2_vbi_format`
- .. row 1
- struct :c:type:`v4l2_vbi_format`
- V4L, BTTV driver - V4L, BTTV driver
* - sampling_rate
- .. row 2
- sampling_rate
- 28636363 Hz NTSC (or any other 525-line standard); 35468950 Hz PAL - 28636363 Hz NTSC (or any other 525-line standard); 35468950 Hz PAL
and SECAM (625-line standards) and SECAM (625-line standards)
* - offset
- .. row 3
- offset
- ? - ?
* - samples_per_line
- .. row 4
- samples_per_line
- 2048 - 2048
* - sample_format
- .. row 5
- sample_format
- V4L2_PIX_FMT_GREY. The last four bytes (a machine endianness - V4L2_PIX_FMT_GREY. The last four bytes (a machine endianness
integer) contain a frame counter. integer) contain a frame counter.
* - start[]
- .. row 6
- start[]
- 10, 273 NTSC; 22, 335 PAL and SECAM - 10, 273 NTSC; 22, 335 PAL and SECAM
* - count[]
- .. row 7
- count[]
- 16, 16 [#f9]_ - 16, 16 [#f9]_
* - flags
- .. row 8
- flags
- 0 - 0

File diff suppressed because it is too large Load Diff

View File

@ -64,13 +64,8 @@ enum v4l2_field
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FIELD_ANY``
- .. row 1
- ``V4L2_FIELD_ANY``
- 0 - 0
- Applications request this field order when any one of the - Applications request this field order when any one of the
``V4L2_FIELD_NONE``, ``V4L2_FIELD_TOP``, ``V4L2_FIELD_BOTTOM``, or ``V4L2_FIELD_NONE``, ``V4L2_FIELD_TOP``, ``V4L2_FIELD_BOTTOM``, or
``V4L2_FIELD_INTERLACED`` formats is acceptable. Drivers choose ``V4L2_FIELD_INTERLACED`` formats is acceptable. Drivers choose
@ -82,76 +77,41 @@ enum v4l2_field
:ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>`. struct :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>`. struct
:c:type:`v4l2_buffer` ``field`` can never be :c:type:`v4l2_buffer` ``field`` can never be
``V4L2_FIELD_ANY``. ``V4L2_FIELD_ANY``.
* - ``V4L2_FIELD_NONE``
- .. row 2
- ``V4L2_FIELD_NONE``
- 1 - 1
- Images are in progressive format, not interlaced. The driver may - Images are in progressive format, not interlaced. The driver may
also indicate this order when it cannot distinguish between also indicate this order when it cannot distinguish between
``V4L2_FIELD_TOP`` and ``V4L2_FIELD_BOTTOM``. ``V4L2_FIELD_TOP`` and ``V4L2_FIELD_BOTTOM``.
* - ``V4L2_FIELD_TOP``
- .. row 3
- ``V4L2_FIELD_TOP``
- 2 - 2
- Images consist of the top (aka odd) field only. - Images consist of the top (aka odd) field only.
* - ``V4L2_FIELD_BOTTOM``
- .. row 4
- ``V4L2_FIELD_BOTTOM``
- 3 - 3
- Images consist of the bottom (aka even) field only. Applications - Images consist of the bottom (aka even) field only. Applications
may wish to prevent a device from capturing interlaced images may wish to prevent a device from capturing interlaced images
because they will have "comb" or "feathering" artefacts around because they will have "comb" or "feathering" artefacts around
moving objects. moving objects.
* - ``V4L2_FIELD_INTERLACED``
- .. row 5
- ``V4L2_FIELD_INTERLACED``
- 4 - 4
- Images contain both fields, interleaved line by line. The temporal - Images contain both fields, interleaved line by line. The temporal
order of the fields (whether the top or bottom field is first order of the fields (whether the top or bottom field is first
transmitted) depends on the current video standard. M/NTSC transmitted) depends on the current video standard. M/NTSC
transmits the bottom field first, all other standards the top transmits the bottom field first, all other standards the top
field first. field first.
* - ``V4L2_FIELD_SEQ_TB``
- .. row 6
- ``V4L2_FIELD_SEQ_TB``
- 5 - 5
- Images contain both fields, the top field lines are stored first - Images contain both fields, the top field lines are stored first
in memory, immediately followed by the bottom field lines. Fields in memory, immediately followed by the bottom field lines. Fields
are always stored in temporal order, the older one first in are always stored in temporal order, the older one first in
memory. Image sizes refer to the frame, not fields. memory. Image sizes refer to the frame, not fields.
* - ``V4L2_FIELD_SEQ_BT``
- .. row 7
- ``V4L2_FIELD_SEQ_BT``
- 6 - 6
- Images contain both fields, the bottom field lines are stored - Images contain both fields, the bottom field lines are stored
first in memory, immediately followed by the top field lines. first in memory, immediately followed by the top field lines.
Fields are always stored in temporal order, the older one first in Fields are always stored in temporal order, the older one first in
memory. Image sizes refer to the frame, not fields. memory. Image sizes refer to the frame, not fields.
* - ``V4L2_FIELD_ALTERNATE``
- .. row 8
- ``V4L2_FIELD_ALTERNATE``
- 7 - 7
- The two fields of a frame are passed in separate buffers, in - The two fields of a frame are passed in separate buffers, in
temporal order, i. e. the older one first. To indicate the field temporal order, i. e. the older one first. To indicate the field
parity (whether the current field is a top or bottom field) the parity (whether the current field is a top or bottom field) the
@ -165,22 +125,12 @@ enum v4l2_field
format cannot be selected when using the read/write I/O method 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 since there is no way to communicate if a field was a top or
bottom field. bottom field.
* - ``V4L2_FIELD_INTERLACED_TB``
- .. row 9
- ``V4L2_FIELD_INTERLACED_TB``
- 8 - 8
- Images contain both fields, interleaved line by line, top field - Images contain both fields, interleaved line by line, top field
first. The top field is transmitted first. first. The top field is transmitted first.
* - ``V4L2_FIELD_INTERLACED_BT``
- .. row 10
- ``V4L2_FIELD_INTERLACED_BT``
- 9 - 9
- Images contain both fields, interleaved line by line, top field - Images contain both fields, interleaved line by line, top field
first. The bottom field is transmitted first. first. The bottom field is transmitted first.

View File

@ -447,89 +447,33 @@ This unnamed version was finally merged into Linux 2.5.46.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Old defines
- .. row 1
- Old defines
- enum :c:type:`v4l2_buf_type` - enum :c:type:`v4l2_buf_type`
* - ``V4L2_BUF_TYPE_CAPTURE``
- .. row 2
- ``V4L2_BUF_TYPE_CAPTURE``
- ``V4L2_BUF_TYPE_VIDEO_CAPTURE`` - ``V4L2_BUF_TYPE_VIDEO_CAPTURE``
* - ``V4L2_BUF_TYPE_CODECIN``
- .. row 3
- ``V4L2_BUF_TYPE_CODECIN``
- Omitted for now - Omitted for now
* - ``V4L2_BUF_TYPE_CODECOUT``
- .. row 4
- ``V4L2_BUF_TYPE_CODECOUT``
- Omitted for now - Omitted for now
* - ``V4L2_BUF_TYPE_EFFECTSIN``
- .. row 5
- ``V4L2_BUF_TYPE_EFFECTSIN``
- Omitted for now - Omitted for now
* - ``V4L2_BUF_TYPE_EFFECTSIN2``
- .. row 6
- ``V4L2_BUF_TYPE_EFFECTSIN2``
- Omitted for now - Omitted for now
* - ``V4L2_BUF_TYPE_EFFECTSOUT``
- .. row 7
- ``V4L2_BUF_TYPE_EFFECTSOUT``
- Omitted for now - Omitted for now
* - ``V4L2_BUF_TYPE_VIDEOOUT``
- .. row 8
- ``V4L2_BUF_TYPE_VIDEOOUT``
- ``V4L2_BUF_TYPE_VIDEO_OUTPUT`` - ``V4L2_BUF_TYPE_VIDEO_OUTPUT``
* - ``-``
- .. row 9
- ``-``
- ``V4L2_BUF_TYPE_VIDEO_OVERLAY`` - ``V4L2_BUF_TYPE_VIDEO_OVERLAY``
* - ``-``
- .. row 10
- ``-``
- ``V4L2_BUF_TYPE_VBI_CAPTURE`` - ``V4L2_BUF_TYPE_VBI_CAPTURE``
* - ``-``
- .. row 11
- ``-``
- ``V4L2_BUF_TYPE_VBI_OUTPUT`` - ``V4L2_BUF_TYPE_VBI_OUTPUT``
* - ``-``
- .. row 12
- ``-``
- ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE`` - ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE``
* - ``-``
- .. row 13
- ``-``
- ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT`` - ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``
* - ``V4L2_BUF_TYPE_PRIVATE_BASE``
- .. row 14
- ``V4L2_BUF_TYPE_PRIVATE_BASE``
- ``V4L2_BUF_TYPE_PRIVATE`` (but this is deprecated) - ``V4L2_BUF_TYPE_PRIVATE`` (but this is deprecated)
@ -564,53 +508,21 @@ This unnamed version was finally merged into Linux 2.5.46.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Old flag
- .. row 1
- Old flag
- enum :c:type:`v4l2_field` - enum :c:type:`v4l2_field`
* - ``V4L2_FMT_FLAG_NOT_INTERLACED``
- .. row 2
- ``V4L2_FMT_FLAG_NOT_INTERLACED``
- ? - ?
* - ``V4L2_FMT_FLAG_INTERLACED`` = ``V4L2_FMT_FLAG_COMBINED``
- .. row 3
- ``V4L2_FMT_FLAG_INTERLACED`` = ``V4L2_FMT_FLAG_COMBINED``
- ``V4L2_FIELD_INTERLACED`` - ``V4L2_FIELD_INTERLACED``
* - ``V4L2_FMT_FLAG_TOPFIELD`` = ``V4L2_FMT_FLAG_ODDFIELD``
- .. row 4
- ``V4L2_FMT_FLAG_TOPFIELD`` = ``V4L2_FMT_FLAG_ODDFIELD``
- ``V4L2_FIELD_TOP`` - ``V4L2_FIELD_TOP``
* - ``V4L2_FMT_FLAG_BOTFIELD`` = ``V4L2_FMT_FLAG_EVENFIELD``
- .. row 5
- ``V4L2_FMT_FLAG_BOTFIELD`` = ``V4L2_FMT_FLAG_EVENFIELD``
- ``V4L2_FIELD_BOTTOM`` - ``V4L2_FIELD_BOTTOM``
* - ``-``
- .. row 6
- ``-``
- ``V4L2_FIELD_SEQ_TB`` - ``V4L2_FIELD_SEQ_TB``
* - ``-``
- .. row 7
- ``-``
- ``V4L2_FIELD_SEQ_BT`` - ``V4L2_FIELD_SEQ_BT``
* - ``-``
- .. row 8
- ``-``
- ``V4L2_FIELD_ALTERNATE`` - ``V4L2_FIELD_ALTERNATE``
@ -768,45 +680,20 @@ V4L2 2003-11-05
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Symbol
- .. row 1
- Symbol
- In this document prior to revision 0.5 - In this document prior to revision 0.5
- Corrected - Corrected
* - ``V4L2_PIX_FMT_RGB24``
- .. row 2
- ``V4L2_PIX_FMT_RGB24``
- B, G, R - B, G, R
- R, G, B - R, G, B
* - ``V4L2_PIX_FMT_BGR24``
- .. row 3
- ``V4L2_PIX_FMT_BGR24``
- R, G, B - R, G, B
- B, G, R - B, G, R
* - ``V4L2_PIX_FMT_RGB32``
- .. row 4
- ``V4L2_PIX_FMT_RGB32``
- B, G, R, X - B, G, R, X
- R, G, B, X - R, G, B, X
* - ``V4L2_PIX_FMT_BGR32``
- .. row 5
- ``V4L2_PIX_FMT_BGR32``
- R, G, B, X - R, G, B, X
- B, G, R, X - B, G, R, X

View File

@ -15,74 +15,43 @@ Single-planar format structure
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``width`` - ``width``
- Image width in pixels. - Image width in pixels.
* - __u32
- .. row 2
- __u32
- ``height`` - ``height``
- Image height in pixels. If ``field`` is one of ``V4L2_FIELD_TOP``, - Image height in pixels. If ``field`` is one of ``V4L2_FIELD_TOP``,
``V4L2_FIELD_BOTTOM`` or ``V4L2_FIELD_ALTERNATE`` then height ``V4L2_FIELD_BOTTOM`` or ``V4L2_FIELD_ALTERNATE`` then height
refers to the number of lines in the field, otherwise it refers to refers to the number of lines in the field, otherwise it refers to
the number of lines in the frame (which is twice the field height the number of lines in the frame (which is twice the field height
for interlaced formats). for interlaced formats).
* - :cspan:`2` Applications set these fields to request an image
- .. row 3
- :cspan:`2` Applications set these fields to request an image
size, drivers return the closest possible values. In case of size, drivers return the closest possible values. In case of
planar formats the ``width`` and ``height`` applies to the largest planar formats the ``width`` and ``height`` applies to the largest
plane. To avoid ambiguities drivers must return values rounded up plane. To avoid ambiguities drivers must return values rounded up
to a multiple of the scale factor of any smaller planes. For to a multiple of the scale factor of any smaller planes. For
example when the image format is YUV 4:2:0, ``width`` and example when the image format is YUV 4:2:0, ``width`` and
``height`` must be multiples of two. ``height`` must be multiples of two.
* - __u32
- .. row 4
- __u32
- ``pixelformat`` - ``pixelformat``
- The pixel format or type of compression, set by the application. - The pixel format or type of compression, set by the application.
This is a little endian This is a little endian
:ref:`four character code <v4l2-fourcc>`. V4L2 defines standard :ref:`four character code <v4l2-fourcc>`. V4L2 defines standard
RGB formats in :ref:`rgb-formats`, YUV formats in RGB formats in :ref:`rgb-formats`, YUV formats in
:ref:`yuv-formats`, and reserved codes in :ref:`yuv-formats`, and reserved codes in
:ref:`reserved-formats` :ref:`reserved-formats`
* - enum :c:type::`v4l2_field`
- .. row 5
- enum :c:type::`v4l2_field`
- ``field`` - ``field``
- Video images are typically interlaced. Applications can request to - Video images are typically interlaced. Applications can request to
capture or output only the top or bottom field, or both fields capture or output only the top or bottom field, or both fields
interlaced or sequentially stored in one buffer or alternating in interlaced or sequentially stored in one buffer or alternating in
separate buffers. Drivers return the actual field order selected. separate buffers. Drivers return the actual field order selected.
For more details on fields see :ref:`field-order`. For more details on fields see :ref:`field-order`.
* - __u32
- .. row 6
- __u32
- ``bytesperline`` - ``bytesperline``
- Distance in bytes between the leftmost pixels in two adjacent - Distance in bytes between the leftmost pixels in two adjacent
lines. lines.
* - :cspan:`2`
- .. row 7
- :cspan:`2`
Both applications and drivers can set this field to request Both applications and drivers can set this field to request
padding bytes at the end of each line. Drivers however may ignore padding bytes at the end of each line. Drivers however may ignore
@ -107,34 +76,19 @@ Single-planar format structure
For compressed formats the ``bytesperline`` value makes no sense. For compressed formats the ``bytesperline`` value makes no sense.
Applications and drivers must set this to 0 in that case. Applications and drivers must set this to 0 in that case.
* - __u32
- .. row 8
- __u32
- ``sizeimage`` - ``sizeimage``
- Size in bytes of the buffer to hold a complete image, set by the - Size in bytes of the buffer to hold a complete image, set by the
driver. Usually this is ``bytesperline`` times ``height``. When driver. Usually this is ``bytesperline`` times ``height``. When
the image consists of variable length compressed data this is the the image consists of variable length compressed data this is the
maximum number of bytes required to hold an image. maximum number of bytes required to hold an image.
* - enum :c:type:`v4l2_colorspace`
- .. row 9
- enum :c:type:`v4l2_colorspace`
- ``colorspace`` - ``colorspace``
- This information supplements the ``pixelformat`` and must be set - This information supplements the ``pixelformat`` and must be set
by the driver for capture streams and by the application for by the driver for capture streams and by the application for
output streams, see :ref:`colorspaces`. output streams, see :ref:`colorspaces`.
* - __u32
- .. row 10
- __u32
- ``priv`` - ``priv``
- This field indicates whether the remaining fields of the - This field indicates whether the remaining fields of the
struct :c:type:`v4l2_pix_format`, also called the struct :c:type:`v4l2_pix_format`, also called the
extended fields, are valid. When set to extended fields, are valid. When set to
@ -159,41 +113,21 @@ Single-planar format structure
On return drivers must set the ``priv`` field to On return drivers must set the ``priv`` field to
``V4L2_PIX_FMT_PRIV_MAGIC`` and all the extended fields to ``V4L2_PIX_FMT_PRIV_MAGIC`` and all the extended fields to
applicable values. applicable values.
* - __u32
- .. row 11
- __u32
- ``flags`` - ``flags``
- Flags set by the application or driver, see :ref:`format-flags`. - Flags set by the application or driver, see :ref:`format-flags`.
* - enum :c:type:`v4l2_ycbcr_encoding`
- .. row 12
- enum :c:type:`v4l2_ycbcr_encoding`
- ``ycbcr_enc`` - ``ycbcr_enc``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.
* - enum :c:type:`v4l2_quantization`
- .. row 13
- enum :c:type:`v4l2_quantization`
- ``quantization`` - ``quantization``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.
* - enum :c:type:`v4l2_xfer_func`
- .. row 14
- enum :c:type:`v4l2_xfer_func`
- ``xfer_func`` - ``xfer_func``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.

View File

@ -21,30 +21,15 @@ describing all planes of that format.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``sizeimage`` - ``sizeimage``
- Maximum size in bytes required for image data in this plane. - Maximum size in bytes required for image data in this plane.
* - __u32
- .. row 2
- __u32
- ``bytesperline`` - ``bytesperline``
- Distance in bytes between the leftmost pixels in two adjacent - Distance in bytes between the leftmost pixels in two adjacent
lines. See struct :c:type:`v4l2_pix_format`. lines. See struct :c:type:`v4l2_pix_format`.
* - __u16
- .. row 3
- __u16
- ``reserved[6]`` - ``reserved[6]``
- Reserved for future extensions. Should be zeroed by drivers and - Reserved for future extensions. Should be zeroed by drivers and
applications. applications.
@ -58,112 +43,52 @@ describing all planes of that format.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``width`` - ``width``
- Image width in pixels. See struct - Image width in pixels. See struct
:c:type:`v4l2_pix_format`. :c:type:`v4l2_pix_format`.
* - __u32
- .. row 2
- __u32
- ``height`` - ``height``
- Image height in pixels. See struct - Image height in pixels. See struct
:c:type:`v4l2_pix_format`. :c:type:`v4l2_pix_format`.
* - __u32
- .. row 3
- __u32
- ``pixelformat`` - ``pixelformat``
- The pixel format. Both single- and multi-planar four character - The pixel format. Both single- and multi-planar four character
codes can be used. codes can be used.
* - enum :c:type:`v4l2_field`
- .. row 4
- enum :c:type:`v4l2_field`
- ``field`` - ``field``
- See struct :c:type:`v4l2_pix_format`. - See struct :c:type:`v4l2_pix_format`.
* - enum :c:type:`v4l2_colorspace`
- .. row 5
- enum :c:type:`v4l2_colorspace`
- ``colorspace`` - ``colorspace``
- See struct :c:type:`v4l2_pix_format`. - See struct :c:type:`v4l2_pix_format`.
* - struct :c:type:`v4l2_plane_pix_format`
- .. row 6
- struct :c:type:`v4l2_plane_pix_format`
- ``plane_fmt[VIDEO_MAX_PLANES]`` - ``plane_fmt[VIDEO_MAX_PLANES]``
- An array of structures describing format of each plane this pixel - An array of structures describing format of each plane this pixel
format consists of. The number of valid entries in this array has format consists of. The number of valid entries in this array has
to be put in the ``num_planes`` field. to be put in the ``num_planes`` field.
* - __u8
- .. row 7
- __u8
- ``num_planes`` - ``num_planes``
- Number of planes (i.e. separate memory buffers) for this format - Number of planes (i.e. separate memory buffers) for this format
and the number of valid entries in the ``plane_fmt`` array. and the number of valid entries in the ``plane_fmt`` array.
* - __u8
- .. row 8
- __u8
- ``flags`` - ``flags``
- Flags set by the application or driver, see :ref:`format-flags`. - Flags set by the application or driver, see :ref:`format-flags`.
* - enum :c:type:`v4l2_ycbcr_encoding`
- .. row 9
- enum :c:type:`v4l2_ycbcr_encoding`
- ``ycbcr_enc`` - ``ycbcr_enc``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.
* - enum :c:type:`v4l2_quantization`
- .. row 10
- enum :c:type:`v4l2_quantization`
- ``quantization`` - ``quantization``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.
* - enum :c:type:`v4l2_xfer_func`
- .. row 11
- enum :c:type:`v4l2_xfer_func`
- ``xfer_func`` - ``xfer_func``
- This information supplements the ``colorspace`` and must be set by - This information supplements the ``colorspace`` and must be set by
the driver for capture streams and by the application for output the driver for capture streams and by the application for output
streams, see :ref:`colorspaces`. streams, see :ref:`colorspaces`.
* - __u8
- .. row 12
- __u8
- ``reserved[7]`` - ``reserved[7]``
- Reserved for future extensions. Should be zeroed by drivers and - Reserved for future extensions. Should be zeroed by drivers and
applications. applications.

View File

@ -33,84 +33,32 @@ needs to be filled in.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Details - Details
* - ``V4L2_COLORSPACE_DEFAULT``
- .. row 2
- ``V4L2_COLORSPACE_DEFAULT``
- The default colorspace. This can be used by applications to let - The default colorspace. This can be used by applications to let
the driver fill in the colorspace. the driver fill in the colorspace.
* - ``V4L2_COLORSPACE_SMPTE170M``
- .. row 3
- ``V4L2_COLORSPACE_SMPTE170M``
- See :ref:`col-smpte-170m`. - See :ref:`col-smpte-170m`.
* - ``V4L2_COLORSPACE_REC709``
- .. row 4
- ``V4L2_COLORSPACE_REC709``
- See :ref:`col-rec709`. - See :ref:`col-rec709`.
* - ``V4L2_COLORSPACE_SRGB``
- .. row 5
- ``V4L2_COLORSPACE_SRGB``
- See :ref:`col-srgb`. - See :ref:`col-srgb`.
* - ``V4L2_COLORSPACE_ADOBERGB``
- .. row 6
- ``V4L2_COLORSPACE_ADOBERGB``
- See :ref:`col-adobergb`. - See :ref:`col-adobergb`.
* - ``V4L2_COLORSPACE_BT2020``
- .. row 7
- ``V4L2_COLORSPACE_BT2020``
- See :ref:`col-bt2020`. - See :ref:`col-bt2020`.
* - ``V4L2_COLORSPACE_DCI_P3``
- .. row 8
- ``V4L2_COLORSPACE_DCI_P3``
- See :ref:`col-dcip3`. - See :ref:`col-dcip3`.
* - ``V4L2_COLORSPACE_SMPTE240M``
- .. row 9
- ``V4L2_COLORSPACE_SMPTE240M``
- See :ref:`col-smpte-240m`. - See :ref:`col-smpte-240m`.
* - ``V4L2_COLORSPACE_470_SYSTEM_M``
- .. row 10
- ``V4L2_COLORSPACE_470_SYSTEM_M``
- See :ref:`col-sysm`. - See :ref:`col-sysm`.
* - ``V4L2_COLORSPACE_470_SYSTEM_BG``
- .. row 11
- ``V4L2_COLORSPACE_470_SYSTEM_BG``
- See :ref:`col-sysbg`. - See :ref:`col-sysbg`.
* - ``V4L2_COLORSPACE_JPEG``
- .. row 12
- ``V4L2_COLORSPACE_JPEG``
- See :ref:`col-jpeg`. - See :ref:`col-jpeg`.
* - ``V4L2_COLORSPACE_RAW``
- .. row 13
- ``V4L2_COLORSPACE_RAW``
- The raw colorspace. This is used for raw image capture where the - The raw colorspace. This is used for raw image capture where the
image is minimally processed and is using the internal colorspace image is minimally processed and is using the internal colorspace
of the device. The software that processes an image using this of the device. The software that processes an image using this
@ -125,59 +73,23 @@ needs to be filled in.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Details - Details
* - ``V4L2_XFER_FUNC_DEFAULT``
- .. row 2
- ``V4L2_XFER_FUNC_DEFAULT``
- Use the default transfer function as defined by the colorspace. - Use the default transfer function as defined by the colorspace.
* - ``V4L2_XFER_FUNC_709``
- .. row 3
- ``V4L2_XFER_FUNC_709``
- Use the Rec. 709 transfer function. - Use the Rec. 709 transfer function.
* - ``V4L2_XFER_FUNC_SRGB``
- .. row 4
- ``V4L2_XFER_FUNC_SRGB``
- Use the sRGB transfer function. - Use the sRGB transfer function.
* - ``V4L2_XFER_FUNC_ADOBERGB``
- .. row 5
- ``V4L2_XFER_FUNC_ADOBERGB``
- Use the AdobeRGB transfer function. - Use the AdobeRGB transfer function.
* - ``V4L2_XFER_FUNC_SMPTE240M``
- .. row 6
- ``V4L2_XFER_FUNC_SMPTE240M``
- Use the SMPTE 240M transfer function. - Use the SMPTE 240M transfer function.
* - ``V4L2_XFER_FUNC_NONE``
- .. row 7
- ``V4L2_XFER_FUNC_NONE``
- Do not use a transfer function (i.e. use linear RGB values). - Do not use a transfer function (i.e. use linear RGB values).
* - ``V4L2_XFER_FUNC_DCI_P3``
- .. row 8
- ``V4L2_XFER_FUNC_DCI_P3``
- Use the DCI-P3 transfer function. - Use the DCI-P3 transfer function.
* - ``V4L2_XFER_FUNC_SMPTE2084``
- .. row 9
- ``V4L2_XFER_FUNC_SMPTE2084``
- Use the SMPTE 2084 transfer function. - Use the SMPTE 2084 transfer function.
@ -190,59 +102,23 @@ needs to be filled in.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Details - Details
* - ``V4L2_YCBCR_ENC_DEFAULT``
- .. row 2
- ``V4L2_YCBCR_ENC_DEFAULT``
- Use the default Y'CbCr encoding as defined by the colorspace. - Use the default Y'CbCr encoding as defined by the colorspace.
* - ``V4L2_YCBCR_ENC_601``
- .. row 3
- ``V4L2_YCBCR_ENC_601``
- Use the BT.601 Y'CbCr encoding. - Use the BT.601 Y'CbCr encoding.
* - ``V4L2_YCBCR_ENC_709``
- .. row 4
- ``V4L2_YCBCR_ENC_709``
- Use the Rec. 709 Y'CbCr encoding. - Use the Rec. 709 Y'CbCr encoding.
* - ``V4L2_YCBCR_ENC_XV601``
- .. row 5
- ``V4L2_YCBCR_ENC_XV601``
- Use the extended gamut xvYCC BT.601 encoding. - Use the extended gamut xvYCC BT.601 encoding.
* - ``V4L2_YCBCR_ENC_XV709``
- .. row 6
- ``V4L2_YCBCR_ENC_XV709``
- Use the extended gamut xvYCC Rec. 709 encoding. - Use the extended gamut xvYCC Rec. 709 encoding.
* - ``V4L2_YCBCR_ENC_BT2020``
- .. row 7
- ``V4L2_YCBCR_ENC_BT2020``
- Use the default non-constant luminance BT.2020 Y'CbCr encoding. - Use the default non-constant luminance BT.2020 Y'CbCr encoding.
* - ``V4L2_YCBCR_ENC_BT2020_CONST_LUM``
- .. row 8
- ``V4L2_YCBCR_ENC_BT2020_CONST_LUM``
- Use the constant luminance BT.2020 Yc'CbcCrc encoding. - Use the constant luminance BT.2020 Yc'CbcCrc encoding.
* - ``V4L2_YCBCR_ENC_SMPTE_240M``
- .. row 9
- ``V4L2_YCBCR_ENC_SMPTE_240M``
- Use the SMPTE 240M Y'CbCr encoding. - Use the SMPTE 240M Y'CbCr encoding.
@ -255,35 +131,19 @@ needs to be filled in.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Details - Details
* - ``V4L2_QUANTIZATION_DEFAULT``
- .. row 2
- ``V4L2_QUANTIZATION_DEFAULT``
- Use the default quantization encoding as defined by the - Use the default quantization encoding as defined by the
colorspace. This is always full range for R'G'B' (except for the colorspace. This is always full range for R'G'B' (except for the
BT.2020 colorspace) and usually limited range for Y'CbCr. BT.2020 colorspace) and usually limited range for Y'CbCr.
* - ``V4L2_QUANTIZATION_FULL_RANGE``
- .. row 3
- ``V4L2_QUANTIZATION_FULL_RANGE``
- Use the full range quantization encoding. I.e. the range [0…1] is - Use the full range quantization encoding. I.e. the range [0…1] is
mapped to [0…255] (with possible clipping to [1…254] to avoid the mapped to [0…255] (with possible clipping to [1…254] to avoid the
0x00 and 0xff values). Cb and Cr are mapped from [-0.5…0.5] to 0x00 and 0xff values). Cb and Cr are mapped from [-0.5…0.5] to
[0…255] (with possible clipping to [1…254] to avoid the 0x00 and [0…255] (with possible clipping to [1…254] to avoid the 0x00 and
0xff values). 0xff values).
* - ``V4L2_QUANTIZATION_LIM_RANGE``
- .. row 4
- ``V4L2_QUANTIZATION_LIM_RANGE``
- Use the limited range quantization encoding. I.e. the range [0…1] - Use the limited range quantization encoding. I.e. the range [0…1]
is mapped to [16…235]. Cb and Cr are mapped from [-0.5…0.5] to is mapped to [16…235]. Cb and Cr are mapped from [-0.5…0.5] to
[16…240]. [16…240].

View File

@ -26,45 +26,20 @@ are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.630 - 0.630
- 0.340 - 0.340
* - Green
- .. row 3
- Green
- 0.310 - 0.310
- 0.595 - 0.595
* - Blue
- .. row 4
- Blue
- 0.155 - 0.155
- 0.070 - 0.070
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -132,45 +107,20 @@ and the white reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.640 - 0.640
- 0.330 - 0.330
* - Green
- .. row 3
- Green
- 0.300 - 0.300
- 0.600 - 0.600
* - Blue
- .. row 4
- Blue
- 0.150 - 0.150
- 0.060 - 0.060
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -273,45 +223,20 @@ The chromaticities of the primary colors and the white reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.640 - 0.640
- 0.330 - 0.330
* - Green
- .. row 3
- Green
- 0.300 - 0.300
- 0.600 - 0.600
* - Blue
- .. row 4
- Blue
- 0.150 - 0.150
- 0.060 - 0.060
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -376,45 +301,20 @@ are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.6400 - 0.6400
- 0.3300 - 0.3300
* - Green
- .. row 3
- Green
- 0.2100 - 0.2100
- 0.7100 - 0.7100
* - Blue
- .. row 4
- Blue
- 0.1500 - 0.1500
- 0.0600 - 0.0600
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -468,45 +368,20 @@ of the primary colors and the white reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.708 - 0.708
- 0.292 - 0.292
* - Green
- .. row 3
- Green
- 0.170 - 0.170
- 0.797 - 0.797
* - Blue
- .. row 4
- Blue
- 0.131 - 0.131
- 0.046 - 0.046
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -592,45 +467,20 @@ The chromaticities of the primary colors and the white reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.6800 - 0.6800
- 0.3200 - 0.3200
* - Green
- .. row 3
- Green
- 0.2650 - 0.2650
- 0.6900 - 0.6900
* - Blue
- .. row 4
- Blue
- 0.1500 - 0.1500
- 0.0600 - 0.0600
* - White Reference
- .. row 5
- White Reference
- 0.3140 - 0.3140
- 0.3510 - 0.3510
@ -671,45 +521,20 @@ and the white reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.630 - 0.630
- 0.340 - 0.340
* - Green
- .. row 3
- Green
- 0.310 - 0.310
- 0.595 - 0.595
* - Blue
- .. row 4
- Blue
- 0.155 - 0.155
- 0.070 - 0.070
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290
@ -767,45 +592,20 @@ reference are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.67 - 0.67
- 0.33 - 0.33
* - Green
- .. row 3
- Green
- 0.21 - 0.21
- 0.71 - 0.71
* - Blue
- .. row 4
- Blue
- 0.14 - 0.14
- 0.08 - 0.08
* - White Reference (C)
- .. row 5
- White Reference (C)
- 0.310 - 0.310
- 0.316 - 0.316
@ -871,45 +671,20 @@ are:
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Color
- .. row 1
- Color
- x - x
- y - y
* - Red
- .. row 2
- Red
- 0.64 - 0.64
- 0.33 - 0.33
* - Green
- .. row 3
- Green
- 0.29 - 0.29
- 0.60 - 0.60
* - Blue
- .. row 4
- Blue
- 0.15 - 0.15
- 0.06 - 0.06
* - White Reference (D65)
- .. row 5
- White Reference (D65)
- 0.3127 - 0.3127
- 0.3290 - 0.3290

View File

@ -14,118 +14,74 @@ Compressed Formats
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - Identifier
- .. row 1
- Identifier
- Code - Code
- Details - Details
* .. _V4L2-PIX-FMT-JPEG:
- .. _V4L2-PIX-FMT-JPEG:
- ``V4L2_PIX_FMT_JPEG`` - ``V4L2_PIX_FMT_JPEG``
- 'JPEG' - 'JPEG'
- TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`, - TBD. See also :ref:`VIDIOC_G_JPEGCOMP <VIDIOC_G_JPEGCOMP>`,
:ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`. :ref:`VIDIOC_S_JPEGCOMP <VIDIOC_G_JPEGCOMP>`.
* .. _V4L2-PIX-FMT-MPEG:
- .. _V4L2-PIX-FMT-MPEG:
- ``V4L2_PIX_FMT_MPEG`` - ``V4L2_PIX_FMT_MPEG``
- 'MPEG' - 'MPEG'
- MPEG multiplexed stream. The actual format is determined by - MPEG multiplexed stream. The actual format is determined by
extended control ``V4L2_CID_MPEG_STREAM_TYPE``, see extended control ``V4L2_CID_MPEG_STREAM_TYPE``, see
:ref:`mpeg-control-id`. :ref:`mpeg-control-id`.
* .. _V4L2-PIX-FMT-H264:
- .. _V4L2-PIX-FMT-H264:
- ``V4L2_PIX_FMT_H264`` - ``V4L2_PIX_FMT_H264``
- 'H264' - 'H264'
- H264 video elementary stream with start codes. - H264 video elementary stream with start codes.
* .. _V4L2-PIX-FMT-H264-NO-SC:
- .. _V4L2-PIX-FMT-H264-NO-SC:
- ``V4L2_PIX_FMT_H264_NO_SC`` - ``V4L2_PIX_FMT_H264_NO_SC``
- 'AVC1' - 'AVC1'
- H264 video elementary stream without start codes. - H264 video elementary stream without start codes.
* .. _V4L2-PIX-FMT-H264-MVC:
- .. _V4L2-PIX-FMT-H264-MVC:
- ``V4L2_PIX_FMT_H264_MVC`` - ``V4L2_PIX_FMT_H264_MVC``
- 'M264' - 'M264'
- H264 MVC video elementary stream. - H264 MVC video elementary stream.
* .. _V4L2-PIX-FMT-H263:
- .. _V4L2-PIX-FMT-H263:
- ``V4L2_PIX_FMT_H263`` - ``V4L2_PIX_FMT_H263``
- 'H263' - 'H263'
- H263 video elementary stream. - H263 video elementary stream.
* .. _V4L2-PIX-FMT-MPEG1:
- .. _V4L2-PIX-FMT-MPEG1:
- ``V4L2_PIX_FMT_MPEG1`` - ``V4L2_PIX_FMT_MPEG1``
- 'MPG1' - 'MPG1'
- MPEG1 video elementary stream. - MPEG1 video elementary stream.
* .. _V4L2-PIX-FMT-MPEG2:
- .. _V4L2-PIX-FMT-MPEG2:
- ``V4L2_PIX_FMT_MPEG2`` - ``V4L2_PIX_FMT_MPEG2``
- 'MPG2' - 'MPG2'
- MPEG2 video elementary stream. - MPEG2 video elementary stream.
* .. _V4L2-PIX-FMT-MPEG4:
- .. _V4L2-PIX-FMT-MPEG4:
- ``V4L2_PIX_FMT_MPEG4`` - ``V4L2_PIX_FMT_MPEG4``
- 'MPG4' - 'MPG4'
- MPEG4 video elementary stream. - MPEG4 video elementary stream.
* .. _V4L2-PIX-FMT-XVID:
- .. _V4L2-PIX-FMT-XVID:
- ``V4L2_PIX_FMT_XVID`` - ``V4L2_PIX_FMT_XVID``
- 'XVID' - 'XVID'
- Xvid video elementary stream. - Xvid video elementary stream.
* .. _V4L2-PIX-FMT-VC1-ANNEX-G:
- .. _V4L2-PIX-FMT-VC1-ANNEX-G:
- ``V4L2_PIX_FMT_VC1_ANNEX_G`` - ``V4L2_PIX_FMT_VC1_ANNEX_G``
- 'VC1G' - 'VC1G'
- VC1, SMPTE 421M Annex G compliant stream. - VC1, SMPTE 421M Annex G compliant stream.
* .. _V4L2-PIX-FMT-VC1-ANNEX-L:
- .. _V4L2-PIX-FMT-VC1-ANNEX-L:
- ``V4L2_PIX_FMT_VC1_ANNEX_L`` - ``V4L2_PIX_FMT_VC1_ANNEX_L``
- 'VC1L' - 'VC1L'
- VC1, SMPTE 421M Annex L compliant stream. - VC1, SMPTE 421M Annex L compliant stream.
* .. _V4L2-PIX-FMT-VP8:
- .. _V4L2-PIX-FMT-VP8:
- ``V4L2_PIX_FMT_VP8`` - ``V4L2_PIX_FMT_VP8``
- 'VP80' - 'VP80'
- VP8 video elementary stream. - VP8 video elementary stream.

View File

@ -22,51 +22,23 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`

View File

@ -17,57 +17,31 @@ the palette, this must be done with ioctls of the Linux framebuffer API.
:header-rows: 2 :header-rows: 2
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Code - Code
- -
- :cspan:`7` Byte 0 - :cspan:`7` Byte 0
* -
- .. row 2
-
- -
- Bit - Bit
- 7 - 7
- 6 - 6
- 5 - 5
- 4 - 4
- 3 - 3
- 2 - 2
- 1 - 1
- 0 - 0
* .. _V4L2-PIX-FMT-PAL8:
- .. _V4L2-PIX-FMT-PAL8:
- ``V4L2_PIX_FMT_PAL8`` - ``V4L2_PIX_FMT_PAL8``
- 'PAL8' - 'PAL8'
- -
- i\ :sub:`7` - i\ :sub:`7`
- i\ :sub:`6` - i\ :sub:`6`
- i\ :sub:`5` - i\ :sub:`5`
- i\ :sub:`4` - i\ :sub:`4`
- i\ :sub:`3` - i\ :sub:`3`
- i\ :sub:`2` - i\ :sub:`2`
- i\ :sub:`1` - i\ :sub:`1`
- i\ :sub:`0` - i\ :sub:`0`

View File

@ -34,77 +34,35 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 16:
- .. row 4
- start + 16:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 20:
- .. row 5
- start + 20:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 24:
- .. row 6
- start + 24:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
@ -116,100 +74,53 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 3 -
- C
- -
- -
- C - C
-
* - 1
- Y
-
- Y
- Y
-
- Y
* -
* - 2
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
- -
* - 3
- .. row 4
- 1
- Y - Y
- -
- Y - Y
- Y - Y
-
- Y
- .. row 5
-
- .. row 6
- 2
- Y
-
- Y
- Y
-
- Y
- .. row 7
-
-
- C
-
-
- C
-
- .. row 8
- 3
- Y
-
- Y
- Y
- -
- Y - Y

View File

@ -39,76 +39,35 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 20:
- .. row 6
- start + 20:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
@ -118,100 +77,53 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 3 -
- C
- -
- -
- C - C
-
* - 1
- Y
-
- Y
- Y
-
- Y
* -
* - 2
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
- -
* - 3
- .. row 4
- 1
- Y - Y
- -
- Y - Y
- Y
-
- Y
- .. row 5
-
- .. row 6
- 2
- Y - Y
-
- Y
- Y
-
- Y
- .. row 7
-
-
- C
-
-
- C
-
- .. row 8
- 3
- Y
-
- Y
- Y
- -
- Y - Y

View File

@ -50,80 +50,36 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start0 + 0:
- start0 + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start0 + 4:
- .. row 2
- start0 + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start0 + 8:
- .. row 3
- start0 + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start0 + 12:
- .. row 4
- start0 + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* -
- .. row 5 * - start1 + 0:
-
- .. row 6
- start1 + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start1 + 4:
- .. row 7
- start1 + 4:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
@ -135,101 +91,54 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 3 -
- C
- -
- -
- C - C
- -
* - 1
- Y
-
- Y
- Y
-
- Y
* -
* - 2
- Y
-
- Y
- Y
-
- Y
* -
- -
- C - C
-
- .. row 4
- 1
- Y
-
- Y
- Y
-
- Y
- .. row 5
-
- .. row 6
- 2
- Y
-
- Y
- Y
-
- Y
- .. row 7
-
-
- C
- -
- -
- -
- C - C
- -
* - 3
- .. row 8
- 3
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y

View File

@ -37,100 +37,45 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 20:
- .. row 6
- start + 20:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start + 24:
- .. row 7
- start + 24:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Cr\ :sub:`21` - Cr\ :sub:`21`
* - start + 28:
- .. row 8
- start + 28:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Cr\ :sub:`31` - Cr\ :sub:`31`
@ -142,124 +87,67 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 3 -
- C
- -
- -
- C - C
-
* - 1
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
- -
* -
- .. row 4 * - 2
- 1
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 5 -
- C
- -
- -
- C - C
-
* - 3
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
-
- .. row 6
-
- .. row 7
- 2
- Y
-
- Y
- Y
-
- Y
- .. row 8
-
-
- C
-
-
- C
-
- .. row 9
- 3
- Y
-
- Y
- Y
-
- Y
- .. row 10
-
-
- C
-
-
- C
- -

View File

@ -40,104 +40,46 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start0 + 0:
- start0 + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start0 + 4:
- .. row 2
- start0 + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start0 + 8:
- .. row 3
- start0 + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start0 + 12:
- .. row 4
- start0 + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* -
- .. row 5 * - start1 + 0:
-
- .. row 6
- start1 + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`02` - Cb\ :sub:`02`
- Cr\ :sub:`02` - Cr\ :sub:`02`
* - start1 + 4:
- .. row 7
- start1 + 4:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`12` - Cb\ :sub:`12`
- Cr\ :sub:`12` - Cr\ :sub:`12`
* - start1 + 8:
- .. row 8
- start1 + 8:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cb\ :sub:`22` - Cb\ :sub:`22`
- Cr\ :sub:`22` - Cr\ :sub:`22`
* - start1 + 12:
- .. row 9
- start1 + 12:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cb\ :sub:`32` - Cb\ :sub:`32`
- Cr\ :sub:`32` - Cr\ :sub:`32`
@ -149,124 +91,67 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 3 -
- C
- -
- -
- C - C
-
* - 1
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
- -
* -
- .. row 4 * - 2
- 1
- Y - Y
- -
- Y - Y
- Y - Y
- -
- Y - Y
* -
- .. row 5 -
- C
- -
- -
- C - C
-
* - 3
- Y
-
- Y
- Y
-
- Y
* -
-
- C
- -
- -
- C - C
-
- .. row 6
-
- .. row 7
- 2
- Y
-
- Y
- Y
-
- Y
- .. row 8
-
-
- C
-
-
- C
-
- .. row 9
- 3
- Y
-
- Y
- Y
-
- Y
- .. row 10
-
-
- C
-
-
- C
- -

View File

@ -37,130 +37,59 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Cb\ :sub:`02` - Cb\ :sub:`02`
- Cr\ :sub:`02` - Cr\ :sub:`02`
- Cb\ :sub:`03` - Cb\ :sub:`03`
- Cr\ :sub:`03` - Cr\ :sub:`03`
* - start + 24:
- .. row 6
- start + 24:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Cb\ :sub:`12` - Cb\ :sub:`12`
- Cr\ :sub:`12` - Cr\ :sub:`12`
- Cb\ :sub:`13` - Cb\ :sub:`13`
- Cr\ :sub:`13` - Cr\ :sub:`13`
* - start + 32:
- .. row 7
- start + 32:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Cb\ :sub:`22` - Cb\ :sub:`22`
- Cr\ :sub:`22` - Cr\ :sub:`22`
- Cb\ :sub:`23` - Cb\ :sub:`23`
- Cr\ :sub:`23` - Cr\ :sub:`23`
* - start + 40:
- .. row 8
- start + 40:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Cb\ :sub:`32` - Cb\ :sub:`32`
- Cr\ :sub:`32` - Cr\ :sub:`32`
- Cb\ :sub:`33` - Cb\ :sub:`33`
- Cr\ :sub:`33` - Cr\ :sub:`33`

File diff suppressed because it is too large Load Diff

View File

@ -24,290 +24,159 @@ component of each pixel in one 16 or 32 bit word.
:header-rows: 2 :header-rows: 2
:stub-columns: 0 :stub-columns: 0
* - Identifier
- .. row 1
- Identifier
- Code - Code
- -
- :cspan:`7` Byte 0 in memory - :cspan:`7` Byte 0 in memory
- -
- :cspan:`7` Byte 1 - :cspan:`7` Byte 1
- -
- :cspan:`7` Byte 2 - :cspan:`7` Byte 2
- -
- :cspan:`7` Byte 3 - :cspan:`7` Byte 3
* -
- .. row 2
-
- -
- Bit - Bit
- 7 - 7
- 6 - 6
- 5 - 5
- 4 - 4
- 3 - 3
- 2 - 2
- 1 - 1
- 0 - 0
- -
- 7 - 7
- 6 - 6
- 5 - 5
- 4 - 4
- 3 - 3
- 2 - 2
- 1 - 1
- 0 - 0
- -
- 7 - 7
- 6 - 6
- 5 - 5
- 4 - 4
- 3 - 3
- 2 - 2
- 1 - 1
- 0 - 0
- -
- 7 - 7
- 6 - 6
- 5 - 5
- 4 - 4
- 3 - 3
- 2 - 2
- 1 - 1
- 0 - 0
* .. _V4L2-PIX-FMT-YUV444:
- .. _V4L2-PIX-FMT-YUV444:
- ``V4L2_PIX_FMT_YUV444`` - ``V4L2_PIX_FMT_YUV444``
- 'Y444' - 'Y444'
- -
- Cb\ :sub:`3` - Cb\ :sub:`3`
- Cb\ :sub:`2` - Cb\ :sub:`2`
- Cb\ :sub:`1` - Cb\ :sub:`1`
- Cb\ :sub:`0` - Cb\ :sub:`0`
- Cr\ :sub:`3` - Cr\ :sub:`3`
- Cr\ :sub:`2` - Cr\ :sub:`2`
- Cr\ :sub:`1` - Cr\ :sub:`1`
- Cr\ :sub:`0` - Cr\ :sub:`0`
- -
- a\ :sub:`3` - a\ :sub:`3`
- a\ :sub:`2` - a\ :sub:`2`
- a\ :sub:`1` - a\ :sub:`1`
- a\ :sub:`0` - a\ :sub:`0`
- Y'\ :sub:`3` - Y'\ :sub:`3`
- Y'\ :sub:`2` - Y'\ :sub:`2`
- Y'\ :sub:`1` - Y'\ :sub:`1`
- Y'\ :sub:`0` - Y'\ :sub:`0`
* .. _V4L2-PIX-FMT-YUV555:
- .. _V4L2-PIX-FMT-YUV555:
- ``V4L2_PIX_FMT_YUV555`` - ``V4L2_PIX_FMT_YUV555``
- 'YUVO' - 'YUVO'
- -
- Cb\ :sub:`2` - Cb\ :sub:`2`
- Cb\ :sub:`1` - Cb\ :sub:`1`
- Cb\ :sub:`0` - Cb\ :sub:`0`
- Cr\ :sub:`4` - Cr\ :sub:`4`
- Cr\ :sub:`3` - Cr\ :sub:`3`
- Cr\ :sub:`2` - Cr\ :sub:`2`
- Cr\ :sub:`1` - Cr\ :sub:`1`
- Cr\ :sub:`0` - Cr\ :sub:`0`
- -
- a - a
- Y'\ :sub:`4` - Y'\ :sub:`4`
- Y'\ :sub:`3` - Y'\ :sub:`3`
- Y'\ :sub:`2` - Y'\ :sub:`2`
- Y'\ :sub:`1` - Y'\ :sub:`1`
- Y'\ :sub:`0` - Y'\ :sub:`0`
- Cb\ :sub:`4` - Cb\ :sub:`4`
- Cb\ :sub:`3` - Cb\ :sub:`3`
* .. _V4L2-PIX-FMT-YUV565:
- .. _V4L2-PIX-FMT-YUV565:
- ``V4L2_PIX_FMT_YUV565`` - ``V4L2_PIX_FMT_YUV565``
- 'YUVP' - 'YUVP'
- -
- Cb\ :sub:`2` - Cb\ :sub:`2`
- Cb\ :sub:`1` - Cb\ :sub:`1`
- Cb\ :sub:`0` - Cb\ :sub:`0`
- Cr\ :sub:`4` - Cr\ :sub:`4`
- Cr\ :sub:`3` - Cr\ :sub:`3`
- Cr\ :sub:`2` - Cr\ :sub:`2`
- Cr\ :sub:`1` - Cr\ :sub:`1`
- Cr\ :sub:`0` - Cr\ :sub:`0`
- -
- Y'\ :sub:`4` - Y'\ :sub:`4`
- Y'\ :sub:`3` - Y'\ :sub:`3`
- Y'\ :sub:`2` - Y'\ :sub:`2`
- Y'\ :sub:`1` - Y'\ :sub:`1`
- Y'\ :sub:`0` - Y'\ :sub:`0`
- Cb\ :sub:`5` - Cb\ :sub:`5`
- Cb\ :sub:`4` - Cb\ :sub:`4`
- Cb\ :sub:`3` - Cb\ :sub:`3`
* .. _V4L2-PIX-FMT-YUV32:
- .. _V4L2-PIX-FMT-YUV32:
- ``V4L2_PIX_FMT_YUV32`` - ``V4L2_PIX_FMT_YUV32``
- 'YUV4' - 'YUV4'
- -
- a\ :sub:`7` - a\ :sub:`7`
- a\ :sub:`6` - a\ :sub:`6`
- a\ :sub:`5` - a\ :sub:`5`
- a\ :sub:`4` - a\ :sub:`4`
- a\ :sub:`3` - a\ :sub:`3`
- a\ :sub:`2` - a\ :sub:`2`
- a\ :sub:`1` - a\ :sub:`1`
- a\ :sub:`0` - a\ :sub:`0`
- -
- Y'\ :sub:`7` - Y'\ :sub:`7`
- Y'\ :sub:`6` - Y'\ :sub:`6`
- Y'\ :sub:`5` - Y'\ :sub:`5`
- Y'\ :sub:`4` - Y'\ :sub:`4`
- Y'\ :sub:`3` - Y'\ :sub:`3`
- Y'\ :sub:`2` - Y'\ :sub:`2`
- Y'\ :sub:`1` - Y'\ :sub:`1`
- Y'\ :sub:`0` - Y'\ :sub:`0`
- -
- Cb\ :sub:`7` - Cb\ :sub:`7`
- Cb\ :sub:`6` - Cb\ :sub:`6`
- Cb\ :sub:`5` - Cb\ :sub:`5`
- Cb\ :sub:`4` - Cb\ :sub:`4`
- Cb\ :sub:`3` - Cb\ :sub:`3`
- Cb\ :sub:`2` - Cb\ :sub:`2`
- Cb\ :sub:`1` - Cb\ :sub:`1`
- Cb\ :sub:`0` - Cb\ :sub:`0`
- -
- Cr\ :sub:`7` - Cr\ :sub:`7`
- Cr\ :sub:`6` - Cr\ :sub:`6`
- Cr\ :sub:`5` - Cr\ :sub:`5`
- Cr\ :sub:`4` - Cr\ :sub:`4`
- Cr\ :sub:`3` - Cr\ :sub:`3`
- Cr\ :sub:`2` - Cr\ :sub:`2`
- Cr\ :sub:`1` - Cr\ :sub:`1`
- Cr\ :sub:`0` - Cr\ :sub:`0`
.. raw:: latex .. raw:: latex

View File

@ -26,289 +26,185 @@ please make a proposal on the linux-media mailing list.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - Identifier
- .. row 1
- Identifier
- Code - Code
- Details - Details
* .. _V4L2-PIX-FMT-DV:
- .. _V4L2-PIX-FMT-DV:
- ``V4L2_PIX_FMT_DV`` - ``V4L2_PIX_FMT_DV``
- 'dvsd' - 'dvsd'
- unknown - unknown
* .. _V4L2-PIX-FMT-ET61X251:
- .. _V4L2-PIX-FMT-ET61X251:
- ``V4L2_PIX_FMT_ET61X251`` - ``V4L2_PIX_FMT_ET61X251``
- 'E625' - 'E625'
- Compressed format of the ET61X251 driver. - Compressed format of the ET61X251 driver.
* .. _V4L2-PIX-FMT-HI240:
- .. _V4L2-PIX-FMT-HI240:
- ``V4L2_PIX_FMT_HI240`` - ``V4L2_PIX_FMT_HI240``
- 'HI24' - 'HI24'
- 8 bit RGB format used by the BTTV driver. - 8 bit RGB format used by the BTTV driver.
* .. _V4L2-PIX-FMT-HM12:
- .. _V4L2-PIX-FMT-HM12:
- ``V4L2_PIX_FMT_HM12`` - ``V4L2_PIX_FMT_HM12``
- 'HM12' - 'HM12'
- YUV 4:2:0 format used by the IVTV driver, - YUV 4:2:0 format used by the IVTV driver,
`http://www.ivtvdriver.org/ <http://www.ivtvdriver.org/>`__ `http://www.ivtvdriver.org/ <http://www.ivtvdriver.org/>`__
The format is documented in the kernel sources in the file The format is documented in the kernel sources in the file
``Documentation/video4linux/cx2341x/README.hm12`` ``Documentation/video4linux/cx2341x/README.hm12``
* .. _V4L2-PIX-FMT-CPIA1:
- .. _V4L2-PIX-FMT-CPIA1:
- ``V4L2_PIX_FMT_CPIA1`` - ``V4L2_PIX_FMT_CPIA1``
- 'CPIA' - 'CPIA'
- YUV format used by the gspca cpia1 driver. - YUV format used by the gspca cpia1 driver.
* .. _V4L2-PIX-FMT-JPGL:
- .. _V4L2-PIX-FMT-JPGL:
- ``V4L2_PIX_FMT_JPGL`` - ``V4L2_PIX_FMT_JPGL``
- 'JPGL' - 'JPGL'
- JPEG-Light format (Pegasus Lossless JPEG) used in Divio webcams NW - JPEG-Light format (Pegasus Lossless JPEG) used in Divio webcams NW
80x. 80x.
* .. _V4L2-PIX-FMT-SPCA501:
- .. _V4L2-PIX-FMT-SPCA501:
- ``V4L2_PIX_FMT_SPCA501`` - ``V4L2_PIX_FMT_SPCA501``
- 'S501' - 'S501'
- YUYV per line used by the gspca driver. - YUYV per line used by the gspca driver.
* .. _V4L2-PIX-FMT-SPCA505:
- .. _V4L2-PIX-FMT-SPCA505:
- ``V4L2_PIX_FMT_SPCA505`` - ``V4L2_PIX_FMT_SPCA505``
- 'S505' - 'S505'
- YYUV per line used by the gspca driver. - YYUV per line used by the gspca driver.
* .. _V4L2-PIX-FMT-SPCA508:
- .. _V4L2-PIX-FMT-SPCA508:
- ``V4L2_PIX_FMT_SPCA508`` - ``V4L2_PIX_FMT_SPCA508``
- 'S508' - 'S508'
- YUVY per line used by the gspca driver. - YUVY per line used by the gspca driver.
* .. _V4L2-PIX-FMT-SPCA561:
- .. _V4L2-PIX-FMT-SPCA561:
- ``V4L2_PIX_FMT_SPCA561`` - ``V4L2_PIX_FMT_SPCA561``
- 'S561' - 'S561'
- Compressed GBRG Bayer format used by the gspca driver. - Compressed GBRG Bayer format used by the gspca driver.
* .. _V4L2-PIX-FMT-PAC207:
- .. _V4L2-PIX-FMT-PAC207:
- ``V4L2_PIX_FMT_PAC207`` - ``V4L2_PIX_FMT_PAC207``
- 'P207' - 'P207'
- Compressed BGGR Bayer format used by the gspca driver. - Compressed BGGR Bayer format used by the gspca driver.
* .. _V4L2-PIX-FMT-MR97310A:
- .. _V4L2-PIX-FMT-MR97310A:
- ``V4L2_PIX_FMT_MR97310A`` - ``V4L2_PIX_FMT_MR97310A``
- 'M310' - 'M310'
- Compressed BGGR Bayer format used by the gspca driver. - Compressed BGGR Bayer format used by the gspca driver.
* .. _V4L2-PIX-FMT-JL2005BCD:
- .. _V4L2-PIX-FMT-JL2005BCD:
- ``V4L2_PIX_FMT_JL2005BCD`` - ``V4L2_PIX_FMT_JL2005BCD``
- 'JL20' - 'JL20'
- JPEG compressed RGGB Bayer format used by the gspca driver. - JPEG compressed RGGB Bayer format used by the gspca driver.
* .. _V4L2-PIX-FMT-OV511:
- .. _V4L2-PIX-FMT-OV511:
- ``V4L2_PIX_FMT_OV511`` - ``V4L2_PIX_FMT_OV511``
- 'O511' - 'O511'
- OV511 JPEG format used by the gspca driver. - OV511 JPEG format used by the gspca driver.
* .. _V4L2-PIX-FMT-OV518:
- .. _V4L2-PIX-FMT-OV518:
- ``V4L2_PIX_FMT_OV518`` - ``V4L2_PIX_FMT_OV518``
- 'O518' - 'O518'
- OV518 JPEG format used by the gspca driver. - OV518 JPEG format used by the gspca driver.
* .. _V4L2-PIX-FMT-PJPG:
- .. _V4L2-PIX-FMT-PJPG:
- ``V4L2_PIX_FMT_PJPG`` - ``V4L2_PIX_FMT_PJPG``
- 'PJPG' - 'PJPG'
- Pixart 73xx JPEG format used by the gspca driver. - Pixart 73xx JPEG format used by the gspca driver.
* .. _V4L2-PIX-FMT-SE401:
- .. _V4L2-PIX-FMT-SE401:
- ``V4L2_PIX_FMT_SE401`` - ``V4L2_PIX_FMT_SE401``
- 'S401' - 'S401'
- Compressed RGB format used by the gspca se401 driver - Compressed RGB format used by the gspca se401 driver
* .. _V4L2-PIX-FMT-SQ905C:
- .. _V4L2-PIX-FMT-SQ905C:
- ``V4L2_PIX_FMT_SQ905C`` - ``V4L2_PIX_FMT_SQ905C``
- '905C' - '905C'
- Compressed RGGB bayer format used by the gspca driver. - Compressed RGGB bayer format used by the gspca driver.
* .. _V4L2-PIX-FMT-MJPEG:
- .. _V4L2-PIX-FMT-MJPEG:
- ``V4L2_PIX_FMT_MJPEG`` - ``V4L2_PIX_FMT_MJPEG``
- 'MJPG' - 'MJPG'
- Compressed format used by the Zoran driver - Compressed format used by the Zoran driver
* .. _V4L2-PIX-FMT-PWC1:
- .. _V4L2-PIX-FMT-PWC1:
- ``V4L2_PIX_FMT_PWC1`` - ``V4L2_PIX_FMT_PWC1``
- 'PWC1' - 'PWC1'
- Compressed format of the PWC driver. - Compressed format of the PWC driver.
* .. _V4L2-PIX-FMT-PWC2:
- .. _V4L2-PIX-FMT-PWC2:
- ``V4L2_PIX_FMT_PWC2`` - ``V4L2_PIX_FMT_PWC2``
- 'PWC2' - 'PWC2'
- Compressed format of the PWC driver. - Compressed format of the PWC driver.
* .. _V4L2-PIX-FMT-SN9C10X:
- .. _V4L2-PIX-FMT-SN9C10X:
- ``V4L2_PIX_FMT_SN9C10X`` - ``V4L2_PIX_FMT_SN9C10X``
- 'S910' - 'S910'
- Compressed format of the SN9C102 driver. - Compressed format of the SN9C102 driver.
* .. _V4L2-PIX-FMT-SN9C20X-I420:
- .. _V4L2-PIX-FMT-SN9C20X-I420:
- ``V4L2_PIX_FMT_SN9C20X_I420`` - ``V4L2_PIX_FMT_SN9C20X_I420``
- 'S920' - 'S920'
- YUV 4:2:0 format of the gspca sn9c20x driver. - YUV 4:2:0 format of the gspca sn9c20x driver.
* .. _V4L2-PIX-FMT-SN9C2028:
- .. _V4L2-PIX-FMT-SN9C2028:
- ``V4L2_PIX_FMT_SN9C2028`` - ``V4L2_PIX_FMT_SN9C2028``
- 'SONX' - 'SONX'
- Compressed GBRG bayer format of the gspca sn9c2028 driver. - Compressed GBRG bayer format of the gspca sn9c2028 driver.
* .. _V4L2-PIX-FMT-STV0680:
- .. _V4L2-PIX-FMT-STV0680:
- ``V4L2_PIX_FMT_STV0680`` - ``V4L2_PIX_FMT_STV0680``
- 'S680' - 'S680'
- Bayer format of the gspca stv0680 driver. - Bayer format of the gspca stv0680 driver.
* .. _V4L2-PIX-FMT-WNVA:
- .. _V4L2-PIX-FMT-WNVA:
- ``V4L2_PIX_FMT_WNVA`` - ``V4L2_PIX_FMT_WNVA``
- 'WNVA' - 'WNVA'
- Used by the Winnov Videum driver, - Used by the Winnov Videum driver,
`http://www.thedirks.org/winnov/ <http://www.thedirks.org/winnov/>`__ `http://www.thedirks.org/winnov/ <http://www.thedirks.org/winnov/>`__
* .. _V4L2-PIX-FMT-TM6000:
- .. _V4L2-PIX-FMT-TM6000:
- ``V4L2_PIX_FMT_TM6000`` - ``V4L2_PIX_FMT_TM6000``
- 'TM60' - 'TM60'
- Used by Trident tm6000 - Used by Trident tm6000
* .. _V4L2-PIX-FMT-CIT-YYVYUY:
- .. _V4L2-PIX-FMT-CIT-YYVYUY:
- ``V4L2_PIX_FMT_CIT_YYVYUY`` - ``V4L2_PIX_FMT_CIT_YYVYUY``
- 'CITV' - 'CITV'
- Used by xirlink CIT, found at IBM webcams. - Used by xirlink CIT, found at IBM webcams.
Uses one line of Y then 1 line of VYUY Uses one line of Y then 1 line of VYUY
* .. _V4L2-PIX-FMT-KONICA420:
- .. _V4L2-PIX-FMT-KONICA420:
- ``V4L2_PIX_FMT_KONICA420`` - ``V4L2_PIX_FMT_KONICA420``
- 'KONI' - 'KONI'
- Used by Konica webcams. - Used by Konica webcams.
YUV420 planar in blocks of 256 pixels. YUV420 planar in blocks of 256 pixels.
* .. _V4L2-PIX-FMT-YYUV:
- .. _V4L2-PIX-FMT-YYUV:
- ``V4L2_PIX_FMT_YYUV`` - ``V4L2_PIX_FMT_YYUV``
- 'YYUV' - 'YYUV'
- unknown - unknown
* .. _V4L2-PIX-FMT-Y4:
- .. _V4L2-PIX-FMT-Y4:
- ``V4L2_PIX_FMT_Y4`` - ``V4L2_PIX_FMT_Y4``
- 'Y04 ' - 'Y04 '
- Old 4-bit greyscale format. Only the most significant 4 bits of - Old 4-bit greyscale format. Only the most significant 4 bits of
each byte are used, the other bits are set to 0. each byte are used, the other bits are set to 0.
* .. _V4L2-PIX-FMT-Y6:
- .. _V4L2-PIX-FMT-Y6:
- ``V4L2_PIX_FMT_Y6`` - ``V4L2_PIX_FMT_Y6``
- 'Y06 ' - 'Y06 '
- Old 6-bit greyscale format. Only the most significant 6 bits of - Old 6-bit greyscale format. Only the most significant 6 bits of
each byte are used, the other bits are set to 0. each byte are used, the other bits are set to 0.
* .. _V4L2-PIX-FMT-S5C-UYVY-JPG:
- .. _V4L2-PIX-FMT-S5C-UYVY-JPG:
- ``V4L2_PIX_FMT_S5C_UYVY_JPG`` - ``V4L2_PIX_FMT_S5C_UYVY_JPG``
- 'S5CI' - 'S5CI'
- Two-planar format used by Samsung S5C73MX cameras. The first plane - Two-planar format used by Samsung S5C73MX cameras. The first plane
contains interleaved JPEG and UYVY image data, followed by meta contains interleaved JPEG and UYVY image data, followed by meta
data in form of an array of offsets to the UYVY data blocks. The data in form of an array of offsets to the UYVY data blocks. The
@ -350,13 +246,8 @@ please make a proposal on the linux-media mailing list.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_PIX_FMT_FLAG_PREMUL_ALPHA``
- .. row 1
- ``V4L2_PIX_FMT_FLAG_PREMUL_ALPHA``
- 0x00000001 - 0x00000001
- The color values are premultiplied by the alpha channel value. For - The color values are premultiplied by the alpha channel value. For
example, if a light blue pixel with 50% transparency was described example, if a light blue pixel with 50% transparency was described
by RGBA values (128, 192, 255, 128), the same pixel described with by RGBA values (128, 192, 255, 128), the same pixel described with

View File

@ -24,82 +24,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- B\ :sub:`00low` - B\ :sub:`00low`
- B\ :sub:`00high` - B\ :sub:`00high`
- G\ :sub:`01low` - G\ :sub:`01low`
- G\ :sub:`01high` - G\ :sub:`01high`
- B\ :sub:`02low` - B\ :sub:`02low`
- B\ :sub:`02high` - B\ :sub:`02high`
- G\ :sub:`03low` - G\ :sub:`03low`
- G\ :sub:`03high` - G\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- G\ :sub:`10low` - G\ :sub:`10low`
- G\ :sub:`10high` - G\ :sub:`10high`
- R\ :sub:`11low` - R\ :sub:`11low`
- R\ :sub:`11high` - R\ :sub:`11high`
- G\ :sub:`12low` - G\ :sub:`12low`
- G\ :sub:`12high` - G\ :sub:`12high`
- R\ :sub:`13low` - R\ :sub:`13low`
- R\ :sub:`13high` - R\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- B\ :sub:`20low` - B\ :sub:`20low`
- B\ :sub:`20high` - B\ :sub:`20high`
- G\ :sub:`21low` - G\ :sub:`21low`
- G\ :sub:`21high` - G\ :sub:`21high`
- B\ :sub:`22low` - B\ :sub:`22low`
- B\ :sub:`22high` - B\ :sub:`22high`
- G\ :sub:`23low` - G\ :sub:`23low`
- G\ :sub:`23high` - G\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- G\ :sub:`30low` - G\ :sub:`30low`
- G\ :sub:`30high` - G\ :sub:`30high`
- R\ :sub:`31low` - R\ :sub:`31low`
- R\ :sub:`31high` - R\ :sub:`31high`
- G\ :sub:`32low` - G\ :sub:`32low`
- G\ :sub:`32high` - G\ :sub:`32high`
- R\ :sub:`33low` - R\ :sub:`33low`
- R\ :sub:`33high` - R\ :sub:`33high`

View File

@ -24,15 +24,7 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- I'\ :sub:`0` - I'\ :sub:`0`
* - start + 1:
- .. row 2
- start + 1:
- Q'\ :sub:`0` - Q'\ :sub:`0`

View File

@ -26,18 +26,9 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- I'\ :sub:`0[7:0]` - I'\ :sub:`0[7:0]`
- I'\ :sub:`0[13:8]` - I'\ :sub:`0[13:8]`
* - start + 2:
- .. row 2
- start + 2:
- Q'\ :sub:`0[7:0]` - Q'\ :sub:`0[7:0]`
- Q'\ :sub:`0[13:8]` - Q'\ :sub:`0[13:8]`

View File

@ -24,14 +24,7 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- I'\ :sub:`0` - I'\ :sub:`0`
* - start + 1:
- .. row 2
- start + 1:
- Q'\ :sub:`0` - Q'\ :sub:`0`

View File

@ -26,18 +26,9 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - start + 0:
- start + 0:
- I'\ :sub:`0[7:0]` - I'\ :sub:`0[7:0]`
- I'\ :sub:`0[15:8]` - I'\ :sub:`0[15:8]`
* - start + 2:
- .. row 2
- start + 2:
- Q'\ :sub:`0[7:0]` - Q'\ :sub:`0[7:0]`
- Q'\ :sub:`0[15:8]` - Q'\ :sub:`0[15:8]`

View File

@ -27,11 +27,6 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- I'\ :sub:`0[7:0]` - I'\ :sub:`0[7:0]`
- I'\ :sub:`0[11:8]` - I'\ :sub:`0[11:8]`

View File

@ -38,83 +38,39 @@ are 0.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- B\ :sub:`00low` - B\ :sub:`00low`
- B\ :sub:`00high` - B\ :sub:`00high`
- G\ :sub:`01low` - G\ :sub:`01low`
- G\ :sub:`01high` - G\ :sub:`01high`
- B\ :sub:`02low` - B\ :sub:`02low`
- B\ :sub:`02high` - B\ :sub:`02high`
- G\ :sub:`03low` - G\ :sub:`03low`
- G\ :sub:`03high` - G\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- G\ :sub:`10low` - G\ :sub:`10low`
- G\ :sub:`10high` - G\ :sub:`10high`
- R\ :sub:`11low` - R\ :sub:`11low`
- R\ :sub:`11high` - R\ :sub:`11high`
- G\ :sub:`12low` - G\ :sub:`12low`
- G\ :sub:`12high` - G\ :sub:`12high`
- R\ :sub:`13low` - R\ :sub:`13low`
- R\ :sub:`13high` - R\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- B\ :sub:`20low` - B\ :sub:`20low`
- B\ :sub:`20high` - B\ :sub:`20high`
- G\ :sub:`21low` - G\ :sub:`21low`
- G\ :sub:`21high` - G\ :sub:`21high`
- B\ :sub:`22low` - B\ :sub:`22low`
- B\ :sub:`22high` - B\ :sub:`22high`
- G\ :sub:`23low` - G\ :sub:`23low`
- G\ :sub:`23high` - G\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- G\ :sub:`30low` - G\ :sub:`30low`
- G\ :sub:`30high` - G\ :sub:`30high`
- R\ :sub:`31low` - R\ :sub:`31low`
- R\ :sub:`31high` - R\ :sub:`31high`
- G\ :sub:`32low` - G\ :sub:`32low`
- G\ :sub:`32high` - G\ :sub:`32high`
- R\ :sub:`33low` - R\ :sub:`33low`
- R\ :sub:`33high` - R\ :sub:`33high`

View File

@ -44,63 +44,32 @@ Each cell is one byte.
:stub-columns: 0 :stub-columns: 0
:widths: 12 8 8 8 8 68 :widths: 12 8 8 8 8 68
- .. row 1 * - start + 0:
- start + 0:
- B\ :sub:`00high` - B\ :sub:`00high`
- G\ :sub:`01high` - G\ :sub:`01high`
- B\ :sub:`02high` - B\ :sub:`02high`
- G\ :sub:`03high` - G\ :sub:`03high`
- G\ :sub:`03low`\ (bits 7--6) B\ :sub:`02low`\ (bits 5--4) - G\ :sub:`03low`\ (bits 7--6) B\ :sub:`02low`\ (bits 5--4)
G\ :sub:`01low`\ (bits 3--2) B\ :sub:`00low`\ (bits 1--0) G\ :sub:`01low`\ (bits 3--2) B\ :sub:`00low`\ (bits 1--0)
* - start + 5:
- .. row 2
- start + 5:
- G\ :sub:`10high` - G\ :sub:`10high`
- R\ :sub:`11high` - R\ :sub:`11high`
- G\ :sub:`12high` - G\ :sub:`12high`
- R\ :sub:`13high` - R\ :sub:`13high`
- R\ :sub:`13low`\ (bits 7--6) G\ :sub:`12low`\ (bits 5--4) - R\ :sub:`13low`\ (bits 7--6) G\ :sub:`12low`\ (bits 5--4)
R\ :sub:`11low`\ (bits 3--2) G\ :sub:`10low`\ (bits 1--0) R\ :sub:`11low`\ (bits 3--2) G\ :sub:`10low`\ (bits 1--0)
* - start + 10:
- .. row 3
- start + 10:
- B\ :sub:`20high` - B\ :sub:`20high`
- G\ :sub:`21high` - G\ :sub:`21high`
- B\ :sub:`22high` - B\ :sub:`22high`
- G\ :sub:`23high` - G\ :sub:`23high`
- G\ :sub:`23low`\ (bits 7--6) B\ :sub:`22low`\ (bits 5--4) - G\ :sub:`23low`\ (bits 7--6) B\ :sub:`22low`\ (bits 5--4)
G\ :sub:`21low`\ (bits 3--2) B\ :sub:`20low`\ (bits 1--0) G\ :sub:`21low`\ (bits 3--2) B\ :sub:`20low`\ (bits 1--0)
* - start + 15:
- .. row 4
- start + 15:
- G\ :sub:`30high` - G\ :sub:`30high`
- R\ :sub:`31high` - R\ :sub:`31high`
- G\ :sub:`32high` - G\ :sub:`32high`
- R\ :sub:`33high` - R\ :sub:`33high`
- R\ :sub:`33low`\ (bits 7--6) G\ :sub:`32low`\ (bits 5--4) - R\ :sub:`33low`\ (bits 7--6) G\ :sub:`32low`\ (bits 5--4)
R\ :sub:`31low`\ (bits 3--2) G\ :sub:`30low`\ (bits 1--0) R\ :sub:`31low`\ (bits 3--2) G\ :sub:`30low`\ (bits 1--0)

View File

@ -39,83 +39,39 @@ Each cell is one byte, the 4 most significant bits in the high bytes are
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- B\ :sub:`00low` - B\ :sub:`00low`
- B\ :sub:`00high` - B\ :sub:`00high`
- G\ :sub:`01low` - G\ :sub:`01low`
- G\ :sub:`01high` - G\ :sub:`01high`
- B\ :sub:`02low` - B\ :sub:`02low`
- B\ :sub:`02high` - B\ :sub:`02high`
- G\ :sub:`03low` - G\ :sub:`03low`
- G\ :sub:`03high` - G\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- G\ :sub:`10low` - G\ :sub:`10low`
- G\ :sub:`10high` - G\ :sub:`10high`
- R\ :sub:`11low` - R\ :sub:`11low`
- R\ :sub:`11high` - R\ :sub:`11high`
- G\ :sub:`12low` - G\ :sub:`12low`
- G\ :sub:`12high` - G\ :sub:`12high`
- R\ :sub:`13low` - R\ :sub:`13low`
- R\ :sub:`13high` - R\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- B\ :sub:`20low` - B\ :sub:`20low`
- B\ :sub:`20high` - B\ :sub:`20high`
- G\ :sub:`21low` - G\ :sub:`21low`
- G\ :sub:`21high` - G\ :sub:`21high`
- B\ :sub:`22low` - B\ :sub:`22low`
- B\ :sub:`22high` - B\ :sub:`22high`
- G\ :sub:`23low` - G\ :sub:`23low`
- G\ :sub:`23high` - G\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- G\ :sub:`30low` - G\ :sub:`30low`
- G\ :sub:`30high` - G\ :sub:`30high`
- R\ :sub:`31low` - R\ :sub:`31low`
- R\ :sub:`31high` - R\ :sub:`31high`
- G\ :sub:`32low` - G\ :sub:`32low`
- G\ :sub:`32high` - G\ :sub:`32high`
- R\ :sub:`33low` - R\ :sub:`33low`
- R\ :sub:`33high` - R\ :sub:`33high`

View File

@ -32,51 +32,23 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- B\ :sub:`00` - B\ :sub:`00`
- G\ :sub:`01` - G\ :sub:`01`
- B\ :sub:`02` - B\ :sub:`02`
- G\ :sub:`03` - G\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- G\ :sub:`10` - G\ :sub:`10`
- R\ :sub:`11` - R\ :sub:`11`
- G\ :sub:`12` - G\ :sub:`12`
- R\ :sub:`13` - R\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- B\ :sub:`20` - B\ :sub:`20`
- G\ :sub:`21` - G\ :sub:`21`
- B\ :sub:`22` - B\ :sub:`22`
- G\ :sub:`23` - G\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- G\ :sub:`30` - G\ :sub:`30`
- R\ :sub:`31` - R\ :sub:`31`
- G\ :sub:`32` - G\ :sub:`32`
- R\ :sub:`33` - R\ :sub:`33`

View File

@ -30,51 +30,23 @@ Each cell is one byte.
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 1 1 :widths: 2 1 1 1 1
* - start + 0:
- .. row 1
- start + 0:
- D'\ :sub:`00` - D'\ :sub:`00`
- D'\ :sub:`01` - D'\ :sub:`01`
- D'\ :sub:`02` - D'\ :sub:`02`
- D'\ :sub:`03` - D'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- D'\ :sub:`10` - D'\ :sub:`10`
- D'\ :sub:`11` - D'\ :sub:`11`
- D'\ :sub:`12` - D'\ :sub:`12`
- D'\ :sub:`13` - D'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- D'\ :sub:`20` - D'\ :sub:`20`
- D'\ :sub:`21` - D'\ :sub:`21`
- D'\ :sub:`22` - D'\ :sub:`22`
- D'\ :sub:`23` - D'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- D'\ :sub:`30` - D'\ :sub:`30`
- D'\ :sub:`31` - D'\ :sub:`31`
- D'\ :sub:`32` - D'\ :sub:`32`
- D'\ :sub:`33` - D'\ :sub:`33`

View File

@ -29,83 +29,39 @@ Each cell is one byte.
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 1 1 1 1 1 1 :widths: 2 1 1 1 1 1 1 1 1
* - start + 0:
- .. row 1
- start + 0:
- D'\ :sub:`00high` - D'\ :sub:`00high`
- D'\ :sub:`00low` - D'\ :sub:`00low`
- D'\ :sub:`01high` - D'\ :sub:`01high`
- D'\ :sub:`01low` - D'\ :sub:`01low`
- D'\ :sub:`02high` - D'\ :sub:`02high`
- D'\ :sub:`02low` - D'\ :sub:`02low`
- D'\ :sub:`03high` - D'\ :sub:`03high`
- D'\ :sub:`03low` - D'\ :sub:`03low`
* - start + 8:
- .. row 2
- start + 8:
- D'\ :sub:`10high` - D'\ :sub:`10high`
- D'\ :sub:`10low` - D'\ :sub:`10low`
- D'\ :sub:`11high` - D'\ :sub:`11high`
- D'\ :sub:`11low` - D'\ :sub:`11low`
- D'\ :sub:`12high` - D'\ :sub:`12high`
- D'\ :sub:`12low` - D'\ :sub:`12low`
- D'\ :sub:`13high` - D'\ :sub:`13high`
- D'\ :sub:`13low` - D'\ :sub:`13low`
* - start + 16:
- .. row 3
- start + 16:
- D'\ :sub:`20high` - D'\ :sub:`20high`
- D'\ :sub:`20low` - D'\ :sub:`20low`
- D'\ :sub:`21high` - D'\ :sub:`21high`
- D'\ :sub:`21low` - D'\ :sub:`21low`
- D'\ :sub:`22high` - D'\ :sub:`22high`
- D'\ :sub:`22low` - D'\ :sub:`22low`
- D'\ :sub:`23high` - D'\ :sub:`23high`
- D'\ :sub:`23low` - D'\ :sub:`23low`
* - start + 24:
- .. row 4
- start + 24:
- D'\ :sub:`30high` - D'\ :sub:`30high`
- D'\ :sub:`30low` - D'\ :sub:`30low`
- D'\ :sub:`31high` - D'\ :sub:`31high`
- D'\ :sub:`31low` - D'\ :sub:`31low`
- D'\ :sub:`32high` - D'\ :sub:`32high`
- D'\ :sub:`32low` - D'\ :sub:`32low`
- D'\ :sub:`33high` - D'\ :sub:`33high`
- D'\ :sub:`33low` - D'\ :sub:`33low`

View File

@ -28,51 +28,23 @@ Each cell is one byte.
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 1 1 :widths: 2 1 1 1 1
* - start + 0:
- .. row 1
- start + 0:
- R'\ :sub:`00` - R'\ :sub:`00`
- R'\ :sub:`01` - R'\ :sub:`01`
- R'\ :sub:`02` - R'\ :sub:`02`
- R'\ :sub:`03` - R'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- R'\ :sub:`10` - R'\ :sub:`10`
- R'\ :sub:`11` - R'\ :sub:`11`
- R'\ :sub:`12` - R'\ :sub:`12`
- R'\ :sub:`13` - R'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- R'\ :sub:`20` - R'\ :sub:`20`
- R'\ :sub:`21` - R'\ :sub:`21`
- R'\ :sub:`22` - R'\ :sub:`22`
- R'\ :sub:`23` - R'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- R'\ :sub:`30` - R'\ :sub:`30`
- R'\ :sub:`31` - R'\ :sub:`31`
- R'\ :sub:`32` - R'\ :sub:`32`
- R'\ :sub:`33` - R'\ :sub:`33`

View File

@ -28,83 +28,39 @@ Each cell is one byte.
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 1 1 1 1 1 1 :widths: 2 1 1 1 1 1 1 1 1
* - start + 0:
- .. row 1
- start + 0:
- R'\ :sub:`00high` - R'\ :sub:`00high`
- R'\ :sub:`00low` - R'\ :sub:`00low`
- R'\ :sub:`01high` - R'\ :sub:`01high`
- R'\ :sub:`01low` - R'\ :sub:`01low`
- R'\ :sub:`02high` - R'\ :sub:`02high`
- R'\ :sub:`02low` - R'\ :sub:`02low`
- R'\ :sub:`03high` - R'\ :sub:`03high`
- R'\ :sub:`03low` - R'\ :sub:`03low`
* - start + 8:
- .. row 2
- start + 8:
- R'\ :sub:`10high` - R'\ :sub:`10high`
- R'\ :sub:`10low` - R'\ :sub:`10low`
- R'\ :sub:`11high` - R'\ :sub:`11high`
- R'\ :sub:`11low` - R'\ :sub:`11low`
- R'\ :sub:`12high` - R'\ :sub:`12high`
- R'\ :sub:`12low` - R'\ :sub:`12low`
- R'\ :sub:`13high` - R'\ :sub:`13high`
- R'\ :sub:`13low` - R'\ :sub:`13low`
* - start + 16:
- .. row 3
- start + 16:
- R'\ :sub:`20high` - R'\ :sub:`20high`
- R'\ :sub:`20low` - R'\ :sub:`20low`
- R'\ :sub:`21high` - R'\ :sub:`21high`
- R'\ :sub:`21low` - R'\ :sub:`21low`
- R'\ :sub:`22high` - R'\ :sub:`22high`
- R'\ :sub:`22low` - R'\ :sub:`22low`
- R'\ :sub:`23high` - R'\ :sub:`23high`
- R'\ :sub:`23low` - R'\ :sub:`23low`
* - start + 24:
- .. row 4
- start + 24:
- R'\ :sub:`30high` - R'\ :sub:`30high`
- R'\ :sub:`30low` - R'\ :sub:`30low`
- R'\ :sub:`31high` - R'\ :sub:`31high`
- R'\ :sub:`31low` - R'\ :sub:`31low`
- R'\ :sub:`32high` - R'\ :sub:`32high`
- R'\ :sub:`32low` - R'\ :sub:`32low`
- R'\ :sub:`33high` - R'\ :sub:`33high`
- R'\ :sub:`33low` - R'\ :sub:`33low`

View File

@ -25,51 +25,23 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 4:
- .. row 2
- start + 4:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start + 8:
- .. row 3
- start + 8:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Cr\ :sub:`21` - Cr\ :sub:`21`
* - start + 12:
- .. row 4
- start + 12:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Cr\ :sub:`31` - Cr\ :sub:`31`

View File

@ -27,85 +27,41 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 8:
- .. row 2
- start + 8:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 16:
- .. row 3
- start + 16:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 24:
- .. row 4
- start + 24:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Y'\ :sub:`33` - Y'\ :sub:`33`
@ -117,80 +73,38 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y

View File

@ -27,85 +27,41 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 8:
- .. row 2
- start + 8:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 16:
- .. row 3
- start + 16:
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 24:
- .. row 4
- start + 24:
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Y'\ :sub:`33` - Y'\ :sub:`33`
@ -115,80 +71,38 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- -
- 2 - 2
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y

View File

@ -27,83 +27,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00low` - Y'\ :sub:`00low`
- Y'\ :sub:`00high` - Y'\ :sub:`00high`
- Y'\ :sub:`01low` - Y'\ :sub:`01low`
- Y'\ :sub:`01high` - Y'\ :sub:`01high`
- Y'\ :sub:`02low` - Y'\ :sub:`02low`
- Y'\ :sub:`02high` - Y'\ :sub:`02high`
- Y'\ :sub:`03low` - Y'\ :sub:`03low`
- Y'\ :sub:`03high` - Y'\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10low` - Y'\ :sub:`10low`
- Y'\ :sub:`10high` - Y'\ :sub:`10high`
- Y'\ :sub:`11low` - Y'\ :sub:`11low`
- Y'\ :sub:`11high` - Y'\ :sub:`11high`
- Y'\ :sub:`12low` - Y'\ :sub:`12low`
- Y'\ :sub:`12high` - Y'\ :sub:`12high`
- Y'\ :sub:`13low` - Y'\ :sub:`13low`
- Y'\ :sub:`13high` - Y'\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20low` - Y'\ :sub:`20low`
- Y'\ :sub:`20high` - Y'\ :sub:`20high`
- Y'\ :sub:`21low` - Y'\ :sub:`21low`
- Y'\ :sub:`21high` - Y'\ :sub:`21high`
- Y'\ :sub:`22low` - Y'\ :sub:`22low`
- Y'\ :sub:`22high` - Y'\ :sub:`22high`
- Y'\ :sub:`23low` - Y'\ :sub:`23low`
- Y'\ :sub:`23high` - Y'\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30low` - Y'\ :sub:`30low`
- Y'\ :sub:`30high` - Y'\ :sub:`30high`
- Y'\ :sub:`31low` - Y'\ :sub:`31low`
- Y'\ :sub:`31high` - Y'\ :sub:`31high`
- Y'\ :sub:`32low` - Y'\ :sub:`32low`
- Y'\ :sub:`32high` - Y'\ :sub:`32high`
- Y'\ :sub:`33low` - Y'\ :sub:`33low`
- Y'\ :sub:`33high` - Y'\ :sub:`33high`

View File

@ -26,14 +26,8 @@ pixels.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
- .. row 1 * - Y'\ :sub:`00[9:2]`
- Y'\ :sub:`00[9:2]`
- Y'\ :sub:`00[1:0]`\ Y'\ :sub:`01[9:4]` - Y'\ :sub:`00[1:0]`\ Y'\ :sub:`01[9:4]`
- Y'\ :sub:`01[3:0]`\ Y'\ :sub:`02[9:6]` - Y'\ :sub:`01[3:0]`\ Y'\ :sub:`02[9:6]`
- Y'\ :sub:`02[5:0]`\ Y'\ :sub:`03[9:8]` - Y'\ :sub:`02[5:0]`\ Y'\ :sub:`03[9:8]`
- Y'\ :sub:`03[7:0]` - Y'\ :sub:`03[7:0]`

View File

@ -27,83 +27,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00low` - Y'\ :sub:`00low`
- Y'\ :sub:`00high` - Y'\ :sub:`00high`
- Y'\ :sub:`01low` - Y'\ :sub:`01low`
- Y'\ :sub:`01high` - Y'\ :sub:`01high`
- Y'\ :sub:`02low` - Y'\ :sub:`02low`
- Y'\ :sub:`02high` - Y'\ :sub:`02high`
- Y'\ :sub:`03low` - Y'\ :sub:`03low`
- Y'\ :sub:`03high` - Y'\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10low` - Y'\ :sub:`10low`
- Y'\ :sub:`10high` - Y'\ :sub:`10high`
- Y'\ :sub:`11low` - Y'\ :sub:`11low`
- Y'\ :sub:`11high` - Y'\ :sub:`11high`
- Y'\ :sub:`12low` - Y'\ :sub:`12low`
- Y'\ :sub:`12high` - Y'\ :sub:`12high`
- Y'\ :sub:`13low` - Y'\ :sub:`13low`
- Y'\ :sub:`13high` - Y'\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20low` - Y'\ :sub:`20low`
- Y'\ :sub:`20high` - Y'\ :sub:`20high`
- Y'\ :sub:`21low` - Y'\ :sub:`21low`
- Y'\ :sub:`21high` - Y'\ :sub:`21high`
- Y'\ :sub:`22low` - Y'\ :sub:`22low`
- Y'\ :sub:`22high` - Y'\ :sub:`22high`
- Y'\ :sub:`23low` - Y'\ :sub:`23low`
- Y'\ :sub:`23high` - Y'\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30low` - Y'\ :sub:`30low`
- Y'\ :sub:`30high` - Y'\ :sub:`30high`
- Y'\ :sub:`31low` - Y'\ :sub:`31low`
- Y'\ :sub:`31high` - Y'\ :sub:`31high`
- Y'\ :sub:`32low` - Y'\ :sub:`32low`
- Y'\ :sub:`32high` - Y'\ :sub:`32high`
- Y'\ :sub:`33low` - Y'\ :sub:`33low`
- Y'\ :sub:`33high` - Y'\ :sub:`33high`

View File

@ -31,11 +31,6 @@ interleaved pixel.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - Y'\ :sub:`0left[7:0]`
- .. row 1
- Y'\ :sub:`0left[7:0]`
- Y'\ :sub:`0right[3:0]`\ Y'\ :sub:`0left[11:8]` - Y'\ :sub:`0right[3:0]`\ Y'\ :sub:`0left[11:8]`
- Y'\ :sub:`0right[11:4]` - Y'\ :sub:`0right[11:4]`

View File

@ -31,83 +31,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00high` - Y'\ :sub:`00high`
- Y'\ :sub:`00low` - Y'\ :sub:`00low`
- Y'\ :sub:`01high` - Y'\ :sub:`01high`
- Y'\ :sub:`01low` - Y'\ :sub:`01low`
- Y'\ :sub:`02high` - Y'\ :sub:`02high`
- Y'\ :sub:`02low` - Y'\ :sub:`02low`
- Y'\ :sub:`03high` - Y'\ :sub:`03high`
- Y'\ :sub:`03low` - Y'\ :sub:`03low`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10high` - Y'\ :sub:`10high`
- Y'\ :sub:`10low` - Y'\ :sub:`10low`
- Y'\ :sub:`11high` - Y'\ :sub:`11high`
- Y'\ :sub:`11low` - Y'\ :sub:`11low`
- Y'\ :sub:`12high` - Y'\ :sub:`12high`
- Y'\ :sub:`12low` - Y'\ :sub:`12low`
- Y'\ :sub:`13high` - Y'\ :sub:`13high`
- Y'\ :sub:`13low` - Y'\ :sub:`13low`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20high` - Y'\ :sub:`20high`
- Y'\ :sub:`20low` - Y'\ :sub:`20low`
- Y'\ :sub:`21high` - Y'\ :sub:`21high`
- Y'\ :sub:`21low` - Y'\ :sub:`21low`
- Y'\ :sub:`22high` - Y'\ :sub:`22high`
- Y'\ :sub:`22low` - Y'\ :sub:`22low`
- Y'\ :sub:`23high` - Y'\ :sub:`23high`
- Y'\ :sub:`23low` - Y'\ :sub:`23low`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30high` - Y'\ :sub:`30high`
- Y'\ :sub:`30low` - Y'\ :sub:`30low`
- Y'\ :sub:`31high` - Y'\ :sub:`31high`
- Y'\ :sub:`31low` - Y'\ :sub:`31low`
- Y'\ :sub:`32high` - Y'\ :sub:`32high`
- Y'\ :sub:`32low` - Y'\ :sub:`32low`
- Y'\ :sub:`33high` - Y'\ :sub:`33high`
- Y'\ :sub:`33low` - Y'\ :sub:`33low`

View File

@ -31,83 +31,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00low` - Y'\ :sub:`00low`
- Y'\ :sub:`00high` - Y'\ :sub:`00high`
- Y'\ :sub:`01low` - Y'\ :sub:`01low`
- Y'\ :sub:`01high` - Y'\ :sub:`01high`
- Y'\ :sub:`02low` - Y'\ :sub:`02low`
- Y'\ :sub:`02high` - Y'\ :sub:`02high`
- Y'\ :sub:`03low` - Y'\ :sub:`03low`
- Y'\ :sub:`03high` - Y'\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10low` - Y'\ :sub:`10low`
- Y'\ :sub:`10high` - Y'\ :sub:`10high`
- Y'\ :sub:`11low` - Y'\ :sub:`11low`
- Y'\ :sub:`11high` - Y'\ :sub:`11high`
- Y'\ :sub:`12low` - Y'\ :sub:`12low`
- Y'\ :sub:`12high` - Y'\ :sub:`12high`
- Y'\ :sub:`13low` - Y'\ :sub:`13low`
- Y'\ :sub:`13high` - Y'\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20low` - Y'\ :sub:`20low`
- Y'\ :sub:`20high` - Y'\ :sub:`20high`
- Y'\ :sub:`21low` - Y'\ :sub:`21low`
- Y'\ :sub:`21high` - Y'\ :sub:`21high`
- Y'\ :sub:`22low` - Y'\ :sub:`22low`
- Y'\ :sub:`22high` - Y'\ :sub:`22high`
- Y'\ :sub:`23low` - Y'\ :sub:`23low`
- Y'\ :sub:`23high` - Y'\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30low` - Y'\ :sub:`30low`
- Y'\ :sub:`30high` - Y'\ :sub:`30high`
- Y'\ :sub:`31low` - Y'\ :sub:`31low`
- Y'\ :sub:`31high` - Y'\ :sub:`31high`
- Y'\ :sub:`32low` - Y'\ :sub:`32low`
- Y'\ :sub:`32high` - Y'\ :sub:`32high`
- Y'\ :sub:`33low` - Y'\ :sub:`33low`
- Y'\ :sub:`33high` - Y'\ :sub:`33high`

View File

@ -34,117 +34,57 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Y'\ :sub:`03` - Y'\ :sub:`03`
- Y'\ :sub:`04` - Y'\ :sub:`04`
- Y'\ :sub:`05` - Y'\ :sub:`05`
- Y'\ :sub:`06` - Y'\ :sub:`06`
- Y'\ :sub:`07` - Y'\ :sub:`07`
* - start + 12:
- .. row 2
- start + 12:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Y'\ :sub:`13` - Y'\ :sub:`13`
- Y'\ :sub:`14` - Y'\ :sub:`14`
- Y'\ :sub:`15` - Y'\ :sub:`15`
- Y'\ :sub:`16` - Y'\ :sub:`16`
- Y'\ :sub:`17` - Y'\ :sub:`17`
* - start + 24:
- .. row 3
- start + 24:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Y'\ :sub:`23` - Y'\ :sub:`23`
- Y'\ :sub:`24` - Y'\ :sub:`24`
- Y'\ :sub:`25` - Y'\ :sub:`25`
- Y'\ :sub:`26` - Y'\ :sub:`26`
- Y'\ :sub:`27` - Y'\ :sub:`27`
* - start + 36:
- .. row 4
- start + 36:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Y'\ :sub:`33` - Y'\ :sub:`33`
- Y'\ :sub:`34` - Y'\ :sub:`34`
- Y'\ :sub:`35` - Y'\ :sub:`35`
- Y'\ :sub:`36` - Y'\ :sub:`36`
- Y'\ :sub:`37` - Y'\ :sub:`37`
@ -154,120 +94,58 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- 1 - 1
- -
- 2 - 2
- 3 - 3
- 4 - 4
- 5 - 5
- -
- 6 - 6
- 7 - 7
* - 0
- .. row 2
- 0
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y

View File

@ -28,83 +28,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00left` - Y'\ :sub:`00left`
- Y'\ :sub:`00right` - Y'\ :sub:`00right`
- Y'\ :sub:`01left` - Y'\ :sub:`01left`
- Y'\ :sub:`01right` - Y'\ :sub:`01right`
- Y'\ :sub:`02left` - Y'\ :sub:`02left`
- Y'\ :sub:`02right` - Y'\ :sub:`02right`
- Y'\ :sub:`03left` - Y'\ :sub:`03left`
- Y'\ :sub:`03right` - Y'\ :sub:`03right`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10left` - Y'\ :sub:`10left`
- Y'\ :sub:`10right` - Y'\ :sub:`10right`
- Y'\ :sub:`11left` - Y'\ :sub:`11left`
- Y'\ :sub:`11right` - Y'\ :sub:`11right`
- Y'\ :sub:`12left` - Y'\ :sub:`12left`
- Y'\ :sub:`12right` - Y'\ :sub:`12right`
- Y'\ :sub:`13left` - Y'\ :sub:`13left`
- Y'\ :sub:`13right` - Y'\ :sub:`13right`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20left` - Y'\ :sub:`20left`
- Y'\ :sub:`20right` - Y'\ :sub:`20right`
- Y'\ :sub:`21left` - Y'\ :sub:`21left`
- Y'\ :sub:`21right` - Y'\ :sub:`21right`
- Y'\ :sub:`22left` - Y'\ :sub:`22left`
- Y'\ :sub:`22right` - Y'\ :sub:`22right`
- Y'\ :sub:`23left` - Y'\ :sub:`23left`
- Y'\ :sub:`23right` - Y'\ :sub:`23right`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30left` - Y'\ :sub:`30left`
- Y'\ :sub:`30right` - Y'\ :sub:`30right`
- Y'\ :sub:`31left` - Y'\ :sub:`31left`
- Y'\ :sub:`31right` - Y'\ :sub:`31right`
- Y'\ :sub:`32left` - Y'\ :sub:`32left`
- Y'\ :sub:`32right` - Y'\ :sub:`32right`
- Y'\ :sub:`33left` - Y'\ :sub:`33left`
- Y'\ :sub:`33right` - Y'\ :sub:`33right`

View File

@ -41,65 +41,29 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cr\ :sub:`00` - Cr\ :sub:`00`
* - start + 17:
- .. row 6
- start + 17:
- Cb\ :sub:`00` - Cb\ :sub:`00`
@ -111,97 +75,53 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- -
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 3 * - 1
-
- .. row 4
- 1
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 5
-
- -
- -
- -
- C - C
- -
- -
- -
* - 2
- .. row 6
- 2
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 7 * - 3
-
- .. row 8
- 3
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y

View File

@ -37,101 +37,41 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cb\ :sub:`00` - Cb\ :sub:`00`
* - start + 17:
- .. row 6
- start + 17:
- Cb\ :sub:`10` - Cb\ :sub:`10`
* - start + 18:
- .. row 7
- start + 18:
- Cb\ :sub:`20` - Cb\ :sub:`20`
* - start + 19:
- .. row 8
- start + 19:
- Cb\ :sub:`30` - Cb\ :sub:`30`
* - start + 20:
- .. row 9
- start + 20:
- Cr\ :sub:`00` - Cr\ :sub:`00`
* - start + 21:
- .. row 10
- start + 21:
- Cr\ :sub:`10` - Cr\ :sub:`10`
* - start + 22:
- .. row 11
- start + 22:
- Cr\ :sub:`20` - Cr\ :sub:`20`
* - start + 23:
- .. row 12
- start + 23:
- Cr\ :sub:`30` - Cr\ :sub:`30`
@ -143,71 +83,33 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- 1 - 1
- -
- 2 - 2
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- Y - Y
- C - C
- Y - Y
- Y - Y

View File

@ -42,85 +42,37 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 18:
- .. row 6
- start + 18:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start + 20:
- .. row 7
- start + 20:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
* - start + 22:
- .. row 8
- start + 22:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
@ -132,107 +84,60 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- -
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 3
-
- -
- C - C
- -
- -
- -
- C - C
- -
* - 1
- .. row 4
- 1
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 5 * - 2
-
- .. row 6
- 2
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 7
-
- -
- C - C
- -
- -
- -
- C - C
- -
* - 3
- .. row 8
- 3
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y

View File

@ -49,93 +49,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start0 + 0:
- .. row 1
- start0 + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start0 + 4:
- .. row 2
- start0 + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start0 + 8:
- .. row 3
- start0 + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start0 + 12:
- .. row 4
- start0 + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* -
- .. row 5 * - start1 + 0:
-
- .. row 6
- start1 + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
* - start1 + 2:
- .. row 7
- start1 + 2:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
* -
- .. row 8 * - start2 + 0:
-
- .. row 9
- start2 + 0:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start2 + 2:
- .. row 10
- start2 + 2:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cr\ :sub:`11` - Cr\ :sub:`11`
@ -147,107 +93,60 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- -
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 3
-
- -
- C - C
- -
- -
- -
- C - C
- -
* - 1
- .. row 4
- 1
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 5 * - 2
-
- .. row 6
- 2
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y
* -
- .. row 7
-
- -
- C - C
- -
- -
- -
- C - C
- -
* - 3
- .. row 8
- 3
- Y - Y
- -
- Y - Y
- -
- Y - Y
- -
- Y - Y

View File

@ -48,125 +48,51 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start0 + 0:
- .. row 1
- start0 + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start0 + 4:
- .. row 2
- start0 + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start0 + 8:
- .. row 3
- start0 + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start0 + 12:
- .. row 4
- start0 + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* -
- .. row 5 * - start1 + 0:
-
- .. row 6
- start1 + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
* - start1 + 2:
- .. row 7
- start1 + 2:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
* - start1 + 4:
- .. row 8
- start1 + 4:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
* - start1 + 6:
- .. row 9
- start1 + 6:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cb\ :sub:`31` - Cb\ :sub:`31`
* -
- .. row 10 * - start2 + 0:
-
- .. row 11
- start2 + 0:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start2 + 2:
- .. row 12
- start2 + 2:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start2 + 4:
- .. row 13
- start2 + 4:
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cr\ :sub:`21` - Cr\ :sub:`21`
* - start2 + 6:
- .. row 14
- start2 + 6:
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cr\ :sub:`31` - Cr\ :sub:`31`
@ -178,80 +104,38 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y

View File

@ -38,117 +38,49 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start + 4:
- .. row 2
- start + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start + 8:
- .. row 3
- start + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start + 12:
- .. row 4
- start + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* - start + 16:
- .. row 5
- start + 16:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
* - start + 18:
- .. row 6
- start + 18:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
* - start + 20:
- .. row 7
- start + 20:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
* - start + 22:
- .. row 8
- start + 22:
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Cb\ :sub:`31` - Cb\ :sub:`31`
* - start + 24:
- .. row 9
- start + 24:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 26:
- .. row 10
- start + 26:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start + 28:
- .. row 11
- start + 28:
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cr\ :sub:`21` - Cr\ :sub:`21`
* - start + 30:
- .. row 12
- start + 30:
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cr\ :sub:`31` - Cr\ :sub:`31`
@ -160,80 +92,38 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y

View File

@ -42,157 +42,67 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start0 + 0:
- .. row 1
- start0 + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Y'\ :sub:`03` - Y'\ :sub:`03`
* - start0 + 4:
- .. row 2
- start0 + 4:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Y'\ :sub:`13` - Y'\ :sub:`13`
* - start0 + 8:
- .. row 3
- start0 + 8:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Y'\ :sub:`23` - Y'\ :sub:`23`
* - start0 + 12:
- .. row 4
- start0 + 12:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Y'\ :sub:`33` - Y'\ :sub:`33`
* -
- .. row 5 * - start1 + 0:
-
- .. row 6
- start1 + 0:
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Cb\ :sub:`02` - Cb\ :sub:`02`
- Cb\ :sub:`03` - Cb\ :sub:`03`
* - start1 + 4:
- .. row 7
- start1 + 4:
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Cb\ :sub:`12` - Cb\ :sub:`12`
- Cb\ :sub:`13` - Cb\ :sub:`13`
* - start1 + 8:
- .. row 8
- start1 + 8:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Cb\ :sub:`22` - Cb\ :sub:`22`
- Cb\ :sub:`23` - Cb\ :sub:`23`
* - start1 + 12:
- .. row 9
- start1 + 12:
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Cb\ :sub:`32` - Cb\ :sub:`32`
- Cb\ :sub:`33` - Cb\ :sub:`33`
* -
- .. row 10 * - start2 + 0:
-
- .. row 11
- start2 + 0:
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Cr\ :sub:`02` - Cr\ :sub:`02`
- Cr\ :sub:`03` - Cr\ :sub:`03`
* - start2 + 4:
- .. row 12
- start2 + 4:
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Cr\ :sub:`12` - Cr\ :sub:`12`
- Cr\ :sub:`13` - Cr\ :sub:`13`
* - start2 + 8:
- .. row 13
- start2 + 8:
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Cr\ :sub:`22` - Cr\ :sub:`22`
- Cr\ :sub:`23` - Cr\ :sub:`23`
* - start2 + 12:
- .. row 14
- start2 + 12:
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Cr\ :sub:`32` - Cr\ :sub:`32`
- Cr\ :sub:`33` - Cr\ :sub:`33`
@ -204,62 +114,28 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- 1 - 1
- 2 - 2
- 3 - 3
* - 0
- .. row 2
- 0
- YC - YC
- YC - YC
- YC - YC
- YC - YC
* - 1
- .. row 3
- 1
- YC - YC
- YC - YC
- YC - YC
- YC - YC
* - 2
- .. row 4
- 2
- YC - YC
- YC - YC
- YC - YC
- YC - YC
* - 3
- .. row 5
- 3
- YC - YC
- YC - YC
- YC - YC
- YC - YC

View File

@ -30,85 +30,41 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Cb\ :sub:`01` - Cb\ :sub:`01`
- Y'\ :sub:`03` - Y'\ :sub:`03`
- Cr\ :sub:`01` - Cr\ :sub:`01`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Cb\ :sub:`11` - Cb\ :sub:`11`
- Y'\ :sub:`13` - Y'\ :sub:`13`
- Cr\ :sub:`11` - Cr\ :sub:`11`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Cb\ :sub:`21` - Cb\ :sub:`21`
- Y'\ :sub:`23` - Y'\ :sub:`23`
- Cr\ :sub:`21` - Cr\ :sub:`21`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Cb\ :sub:`31` - Cb\ :sub:`31`
- Y'\ :sub:`33` - Y'\ :sub:`33`
- Cr\ :sub:`31` - Cr\ :sub:`31`
@ -120,85 +76,43 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- -
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- -
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- -
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- -
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- -
- Y - Y
- C - C
- Y - Y

View File

@ -27,85 +27,41 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Y'\ :sub:`00` - Y'\ :sub:`00`
- Cr\ :sub:`00` - Cr\ :sub:`00`
- Y'\ :sub:`01` - Y'\ :sub:`01`
- Cb\ :sub:`00` - Cb\ :sub:`00`
- Y'\ :sub:`02` - Y'\ :sub:`02`
- Cr\ :sub:`01` - Cr\ :sub:`01`
- Y'\ :sub:`03` - Y'\ :sub:`03`
- Cb\ :sub:`01` - Cb\ :sub:`01`
* - start + 8:
- .. row 2
- start + 8:
- Y'\ :sub:`10` - Y'\ :sub:`10`
- Cr\ :sub:`10` - Cr\ :sub:`10`
- Y'\ :sub:`11` - Y'\ :sub:`11`
- Cb\ :sub:`10` - Cb\ :sub:`10`
- Y'\ :sub:`12` - Y'\ :sub:`12`
- Cr\ :sub:`11` - Cr\ :sub:`11`
- Y'\ :sub:`13` - Y'\ :sub:`13`
- Cb\ :sub:`11` - Cb\ :sub:`11`
* - start + 16:
- .. row 3
- start + 16:
- Y'\ :sub:`20` - Y'\ :sub:`20`
- Cr\ :sub:`20` - Cr\ :sub:`20`
- Y'\ :sub:`21` - Y'\ :sub:`21`
- Cb\ :sub:`20` - Cb\ :sub:`20`
- Y'\ :sub:`22` - Y'\ :sub:`22`
- Cr\ :sub:`21` - Cr\ :sub:`21`
- Y'\ :sub:`23` - Y'\ :sub:`23`
- Cb\ :sub:`21` - Cb\ :sub:`21`
* - start + 24:
- .. row 4
- start + 24:
- Y'\ :sub:`30` - Y'\ :sub:`30`
- Cr\ :sub:`30` - Cr\ :sub:`30`
- Y'\ :sub:`31` - Y'\ :sub:`31`
- Cb\ :sub:`30` - Cb\ :sub:`30`
- Y'\ :sub:`32` - Y'\ :sub:`32`
- Cr\ :sub:`31` - Cr\ :sub:`31`
- Y'\ :sub:`33` - Y'\ :sub:`33`
- Cb\ :sub:`31` - Cb\ :sub:`31`
@ -115,80 +71,38 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- 0 - 0
- -
- 1 - 1
- 2 - 2
- -
- 3 - 3
* - 0
- .. row 2
- 0
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 1
- .. row 3
- 1
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 2
- .. row 4
- 2
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y
* - 3
- .. row 5
- 3
- Y - Y
- C - C
- Y - Y
- Y - Y
- C - C
- Y - Y

View File

@ -28,83 +28,39 @@ Each cell is one byte.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - start + 0:
- .. row 1
- start + 0:
- Z\ :sub:`00low` - Z\ :sub:`00low`
- Z\ :sub:`00high` - Z\ :sub:`00high`
- Z\ :sub:`01low` - Z\ :sub:`01low`
- Z\ :sub:`01high` - Z\ :sub:`01high`
- Z\ :sub:`02low` - Z\ :sub:`02low`
- Z\ :sub:`02high` - Z\ :sub:`02high`
- Z\ :sub:`03low` - Z\ :sub:`03low`
- Z\ :sub:`03high` - Z\ :sub:`03high`
* - start + 8:
- .. row 2
- start + 8:
- Z\ :sub:`10low` - Z\ :sub:`10low`
- Z\ :sub:`10high` - Z\ :sub:`10high`
- Z\ :sub:`11low` - Z\ :sub:`11low`
- Z\ :sub:`11high` - Z\ :sub:`11high`
- Z\ :sub:`12low` - Z\ :sub:`12low`
- Z\ :sub:`12high` - Z\ :sub:`12high`
- Z\ :sub:`13low` - Z\ :sub:`13low`
- Z\ :sub:`13high` - Z\ :sub:`13high`
* - start + 16:
- .. row 3
- start + 16:
- Z\ :sub:`20low` - Z\ :sub:`20low`
- Z\ :sub:`20high` - Z\ :sub:`20high`
- Z\ :sub:`21low` - Z\ :sub:`21low`
- Z\ :sub:`21high` - Z\ :sub:`21high`
- Z\ :sub:`22low` - Z\ :sub:`22low`
- Z\ :sub:`22high` - Z\ :sub:`22high`
- Z\ :sub:`23low` - Z\ :sub:`23low`
- Z\ :sub:`23high` - Z\ :sub:`23high`
* - start + 24:
- .. row 4
- start + 24:
- Z\ :sub:`30low` - Z\ :sub:`30low`
- Z\ :sub:`30high` - Z\ :sub:`30high`
- Z\ :sub:`31low` - Z\ :sub:`31low`
- Z\ :sub:`31high` - Z\ :sub:`31high`
- Z\ :sub:`32low` - Z\ :sub:`32low`
- Z\ :sub:`32high` - Z\ :sub:`32high`
- Z\ :sub:`33low` - Z\ :sub:`33low`
- Z\ :sub:`33high` - Z\ :sub:`33high`

File diff suppressed because it is too large Load Diff

View File

@ -14,59 +14,31 @@ Selection flags
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Flag name
- .. row 1
- Flag name
- id - id
- Definition - Definition
- Valid for V4L2 - Valid for V4L2
- Valid for V4L2 subdev - Valid for V4L2 subdev
* - ``V4L2_SEL_FLAG_GE``
- .. row 2
- ``V4L2_SEL_FLAG_GE``
- (1 << 0) - (1 << 0)
- Suggest the driver it should choose greater or equal rectangle (in - Suggest the driver it should choose greater or equal rectangle (in
size) than was requested. Albeit the driver may choose a lesser size) than was requested. Albeit the driver may choose a lesser
size, it will only do so due to hardware limitations. Without this size, it will only do so due to hardware limitations. Without this
flag (and ``V4L2_SEL_FLAG_LE``) the behaviour is to choose the flag (and ``V4L2_SEL_FLAG_LE``) the behaviour is to choose the
closest possible rectangle. closest possible rectangle.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_FLAG_LE``
- .. row 3
- ``V4L2_SEL_FLAG_LE``
- (1 << 1) - (1 << 1)
- Suggest the driver it should choose lesser or equal rectangle (in - Suggest the driver it should choose lesser or equal rectangle (in
size) than was requested. Albeit the driver may choose a greater size) than was requested. Albeit the driver may choose a greater
size, it will only do so due to hardware limitations. size, it will only do so due to hardware limitations.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_FLAG_KEEP_CONFIG``
- .. row 4
- ``V4L2_SEL_FLAG_KEEP_CONFIG``
- (1 << 2) - (1 << 2)
- The configuration must not be propagated to any further processing - The configuration must not be propagated to any further processing
steps. If this flag is not given, the configuration is propagated steps. If this flag is not given, the configuration is propagated
inside the subdevice to all further processing steps. inside the subdevice to all further processing steps.
- No - No
- Yes - Yes

View File

@ -18,62 +18,29 @@ of the two interfaces they are used.
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Target name
- .. row 1
- Target name
- id - id
- Definition - Definition
- Valid for V4L2 - Valid for V4L2
- Valid for V4L2 subdev - Valid for V4L2 subdev
* - ``V4L2_SEL_TGT_CROP``
- .. row 2
- ``V4L2_SEL_TGT_CROP``
- 0x0000 - 0x0000
- Crop rectangle. Defines the cropped area. - Crop rectangle. Defines the cropped area.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_TGT_CROP_DEFAULT``
- .. row 3
- ``V4L2_SEL_TGT_CROP_DEFAULT``
- 0x0001 - 0x0001
- Suggested cropping rectangle that covers the "whole picture". - Suggested cropping rectangle that covers the "whole picture".
- Yes - Yes
- No - No
* - ``V4L2_SEL_TGT_CROP_BOUNDS``
- .. row 4
- ``V4L2_SEL_TGT_CROP_BOUNDS``
- 0x0002 - 0x0002
- Bounds of the crop rectangle. All valid crop rectangles fit inside - Bounds of the crop rectangle. All valid crop rectangles fit inside
the crop bounds rectangle. the crop bounds rectangle.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_TGT_NATIVE_SIZE``
- .. row 5
- ``V4L2_SEL_TGT_NATIVE_SIZE``
- 0x0003 - 0x0003
- The native size of the device, e.g. a sensor's pixel array. - The native size of the device, e.g. a sensor's pixel array.
``left`` and ``top`` fields are zero for this target. Setting the ``left`` and ``top`` fields are zero for this target. Setting the
native size will generally only make sense for memory to memory native size will generally only make sense for memory to memory
@ -81,57 +48,27 @@ of the two interfaces they are used.
which for example a video frame can be composed. In that case which for example a video frame can be composed. In that case
V4L2_SEL_TGT_NATIVE_SIZE can be used to configure the size of V4L2_SEL_TGT_NATIVE_SIZE can be used to configure the size of
that canvas. that canvas.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_TGT_COMPOSE``
- .. row 6
- ``V4L2_SEL_TGT_COMPOSE``
- 0x0100 - 0x0100
- Compose rectangle. Used to configure scaling and composition. - Compose rectangle. Used to configure scaling and composition.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
- .. row 7
- ``V4L2_SEL_TGT_COMPOSE_DEFAULT``
- 0x0101 - 0x0101
- Suggested composition rectangle that covers the "whole picture". - Suggested composition rectangle that covers the "whole picture".
- Yes - Yes
- No - No
* - ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
- .. row 8
- ``V4L2_SEL_TGT_COMPOSE_BOUNDS``
- 0x0102 - 0x0102
- Bounds of the compose rectangle. All valid compose rectangles fit - Bounds of the compose rectangle. All valid compose rectangles fit
inside the compose bounds rectangle. inside the compose bounds rectangle.
- Yes - Yes
- Yes - Yes
* - ``V4L2_SEL_TGT_COMPOSE_PADDED``
- .. row 9
- ``V4L2_SEL_TGT_COMPOSE_PADDED``
- 0x0103 - 0x0103
- The active area and all padding pixels that are inserted or - The active area and all padding pixels that are inserted or
modified by hardware. modified by hardware.
- Yes - Yes
- No - No

View File

@ -80,21 +80,11 @@ than the number requested.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- The starting buffer index, returned by the driver. - The starting buffer index, returned by the driver.
* - __u32
- .. row 2
- __u32
- ``count`` - ``count``
- The number of buffers requested or granted. If count == 0, then - The number of buffers requested or granted. If count == 0, then
:ref:`VIDIOC_CREATE_BUFS` will set ``index`` to the current number of :ref:`VIDIOC_CREATE_BUFS` will set ``index`` to the current number of
created buffers, and it will check the validity of ``memory`` and created buffers, and it will check the validity of ``memory`` and
@ -102,31 +92,16 @@ than the number requested.
set to ``EINVAL`` error code, otherwise :ref:`VIDIOC_CREATE_BUFS` returns set to ``EINVAL`` error code, otherwise :ref:`VIDIOC_CREATE_BUFS` returns
0. It will never set errno to ``EBUSY`` error code in this particular 0. It will never set errno to ``EBUSY`` error code in this particular
case. case.
* - __u32
- .. row 3
- __u32
- ``memory`` - ``memory``
- Applications set this field to ``V4L2_MEMORY_MMAP``, - Applications set this field to ``V4L2_MEMORY_MMAP``,
``V4L2_MEMORY_DMABUF`` or ``V4L2_MEMORY_USERPTR``. See ``V4L2_MEMORY_DMABUF`` or ``V4L2_MEMORY_USERPTR``. See
:c:type:`v4l2_memory` :c:type:`v4l2_memory`
* - struct :c:type:`v4l2_format`
- .. row 4
- struct :c:type:`v4l2_format`
- ``format`` - ``format``
- Filled in by the application, preserved by the driver. - Filled in by the application, preserved by the driver.
* - __u32
- .. row 5
- __u32
- ``reserved``\ [8] - ``reserved``\ [8]
- A place holder for future extensions. Drivers and applications - A place holder for future extensions. Drivers and applications
must set the array to zero. must set the array to zero.

View File

@ -59,49 +59,29 @@ overlay devices.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Type of the data stream, set by the application. Only these types - Type of the data stream, set by the application. Only these types
are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``, are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``,
``V4L2_BUF_TYPE_VIDEO_OUTPUT`` and ``V4L2_BUF_TYPE_VIDEO_OUTPUT`` and
``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`. ``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`.
* - struct :ref:`v4l2_rect <v4l2-rect-crop>`
- .. row 2
- struct :ref:`v4l2_rect <v4l2-rect-crop>`
- ``bounds`` - ``bounds``
- Defines the window within capturing or output is possible, this - Defines the window within capturing or output is possible, this
may exclude for example the horizontal and vertical blanking may exclude for example the horizontal and vertical blanking
areas. The cropping rectangle cannot exceed these limits. Width areas. The cropping rectangle cannot exceed these limits. Width
and height are defined in pixels, the driver writer is free to and height are defined in pixels, the driver writer is free to
choose origin and units of the coordinate system in the analog choose origin and units of the coordinate system in the analog
domain. domain.
* - struct :ref:`v4l2_rect <v4l2-rect-crop>`
- .. row 3
- struct :ref:`v4l2_rect <v4l2-rect-crop>`
- ``defrect`` - ``defrect``
- Default cropping rectangle, it shall cover the "whole picture". - Default cropping rectangle, it shall cover the "whole picture".
Assuming pixel aspect 1/1 this could be for example a 640 × 480 Assuming pixel aspect 1/1 this could be for example a 640 × 480
rectangle for NTSC, a 768 × 576 rectangle for PAL and SECAM rectangle for NTSC, a 768 × 576 rectangle for PAL and SECAM
centered over the active picture area. The same co-ordinate system centered over the active picture area. The same co-ordinate system
as for ``bounds`` is used. as for ``bounds`` is used.
* - struct :c:type:`v4l2_fract`
- .. row 4
- struct :c:type:`v4l2_fract`
- ``pixelaspect`` - ``pixelaspect``
- This is the pixel aspect (y / x) when no scaling is applied, the - This is the pixel aspect (y / x) when no scaling is applied, the
ratio of the actual sampling frequency and the frequency required ratio of the actual sampling frequency and the frequency required
to get square pixels. to get square pixels.
@ -121,39 +101,19 @@ overlay devices.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __s32
- .. row 1
- __s32
- ``left`` - ``left``
- Horizontal offset of the top, left corner of the rectangle, in - Horizontal offset of the top, left corner of the rectangle, in
pixels. pixels.
* - __s32
- .. row 2
- __s32
- ``top`` - ``top``
- Vertical offset of the top, left corner of the rectangle, in - Vertical offset of the top, left corner of the rectangle, in
pixels. pixels.
* - __u32
- .. row 3
- __u32
- ``width`` - ``width``
- Width of the rectangle, in pixels. - Width of the rectangle, in pixels.
* - __u32
- .. row 4
- __u32
- ``height`` - ``height``
- Height of the rectangle, in pixels. - Height of the rectangle, in pixels.

View File

@ -85,38 +85,19 @@ instructions.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- See :ref:`name-chip-match-types` for a list of possible types. - See :ref:`name-chip-match-types` for a list of possible types.
* - union
- .. row 2
- union
- (anonymous) - (anonymous)
* -
- .. row 3
-
- __u32 - __u32
- ``addr`` - ``addr``
- Match a chip by this number, interpreted according to the ``type`` - Match a chip by this number, interpreted according to the ``type``
field. field.
* -
- .. row 4
-
- char - char
- ``name[32]`` - ``name[32]``
- Match a chip by this name, interpreted according to the ``type`` - Match a chip by this name, interpreted according to the ``type``
field. Currently unused. field. Currently unused.
@ -131,40 +112,20 @@ instructions.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - struct v4l2_dbg_match
- .. row 1
- struct v4l2_dbg_match
- ``match`` - ``match``
- How to match the chip, see :ref:`name-v4l2-dbg-match`. - How to match the chip, see :ref:`name-v4l2-dbg-match`.
* - char
- .. row 2
- char
- ``name[32]`` - ``name[32]``
- The name of the chip. - The name of the chip.
* - __u32
- .. row 3
- __u32
- ``flags`` - ``flags``
- Set by the driver. If ``V4L2_CHIP_FL_READABLE`` is set, then the - Set by the driver. If ``V4L2_CHIP_FL_READABLE`` is set, then the
driver supports reading registers from the device. If driver supports reading registers from the device. If
``V4L2_CHIP_FL_WRITABLE`` is set, then it supports writing ``V4L2_CHIP_FL_WRITABLE`` is set, then it supports writing
registers. registers.
* - __u32
- .. row 4
- __u32
- ``reserved[8]`` - ``reserved[8]``
- Reserved fields, both application and driver must set these to 0. - Reserved fields, both application and driver must set these to 0.
@ -178,22 +139,12 @@ instructions.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_CHIP_MATCH_BRIDGE``
- .. row 1
- ``V4L2_CHIP_MATCH_BRIDGE``
- 0 - 0
- Match the nth chip on the card, zero for the bridge chip. Does not - Match the nth chip on the card, zero for the bridge chip. Does not
match sub-devices. match sub-devices.
* - ``V4L2_CHIP_MATCH_SUBDEV``
- .. row 2
- ``V4L2_CHIP_MATCH_SUBDEV``
- 4 - 4
- Match the nth sub-device. - Match the nth sub-device.

View File

@ -94,38 +94,19 @@ instructions.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- See :ref:`chip-match-types` for a list of possible types. - See :ref:`chip-match-types` for a list of possible types.
* - union
- .. row 2
- union
- (anonymous) - (anonymous)
* -
- .. row 3
-
- __u32 - __u32
- ``addr`` - ``addr``
- Match a chip by this number, interpreted according to the ``type`` - Match a chip by this number, interpreted according to the ``type``
field. field.
* -
- .. row 4
-
- char - char
- ``name[32]`` - ``name[32]``
- Match a chip by this name, interpreted according to the ``type`` - Match a chip by this name, interpreted according to the ``type``
field. Currently unused. field. Currently unused.
@ -137,37 +118,17 @@ instructions.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - struct v4l2_dbg_match
- .. row 1
- struct v4l2_dbg_match
- ``match`` - ``match``
- How to match the chip, see :c:type:`v4l2_dbg_match`. - How to match the chip, see :c:type:`v4l2_dbg_match`.
* - __u32
- .. row 2
- __u32
- ``size`` - ``size``
- The register size in bytes. - The register size in bytes.
* - __u64
- .. row 3
- __u64
- ``reg`` - ``reg``
- A register number. - A register number.
* - __u64
- .. row 4
- __u64
- ``val`` - ``val``
- The value read from, or to be written into the register. - The value read from, or to be written into the register.
@ -181,22 +142,12 @@ instructions.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_CHIP_MATCH_BRIDGE``
- .. row 1
- ``V4L2_CHIP_MATCH_BRIDGE``
- 0 - 0
- Match the nth chip on the card, zero for the bridge chip. Does not - Match the nth chip on the card, zero for the bridge chip. Does not
match sub-devices. match sub-devices.
* - ``V4L2_CHIP_MATCH_SUBDEV``
- .. row 2
- ``V4L2_CHIP_MATCH_SUBDEV``
- 4 - 4
- Match the nth sub-device. - Match the nth sub-device.

View File

@ -70,57 +70,32 @@ introduced in Linux 3.3.
:stub-columns: 0 :stub-columns: 0
:widths: 11 24 12 16 106 :widths: 11 24 12 16 106
* - __u32
- .. row 1
- __u32
- ``cmd`` - ``cmd``
- -
- -
- The decoder command, see :ref:`decoder-cmds`. - The decoder command, see :ref:`decoder-cmds`.
* - __u32
- .. row 2
- __u32
- ``flags`` - ``flags``
- -
- -
- Flags to go with the command. If no flags are defined for this - Flags to go with the command. If no flags are defined for this
command, drivers and applications must set this field to zero. command, drivers and applications must set this field to zero.
* - union
- .. row 3
- union
- (anonymous) - (anonymous)
- -
- -
- -
* -
- .. row 4
-
- struct - struct
- ``start`` - ``start``
- -
- Structure containing additional data for the - Structure containing additional data for the
``V4L2_DEC_CMD_START`` command. ``V4L2_DEC_CMD_START`` command.
* -
- .. row 5
-
- -
- __s32 - __s32
- ``speed`` - ``speed``
- Playback speed and direction. The playback speed is defined as - Playback speed and direction. The playback speed is defined as
``speed``/1000 of the normal speed. So 1000 is normal playback. ``speed``/1000 of the normal speed. So 1000 is normal playback.
Negative numbers denote reverse playback, so -1000 does reverse Negative numbers denote reverse playback, so -1000 does reverse
@ -128,15 +103,10 @@ introduced in Linux 3.3.
meanings: speed 0 is shorthand for 1000 (normal playback). A speed meanings: speed 0 is shorthand for 1000 (normal playback). A speed
of 1 steps just one frame forward, a speed of -1 steps just one of 1 steps just one frame forward, a speed of -1 steps just one
frame back. frame back.
* -
- .. row 6
-
- -
- __u32 - __u32
- ``format`` - ``format``
- Format restrictions. This field is set by the driver, not the - Format restrictions. This field is set by the driver, not the
application. Possible values are ``V4L2_DEC_START_FMT_NONE`` if application. Possible values are ``V4L2_DEC_START_FMT_NONE`` if
there are no format restrictions or ``V4L2_DEC_START_FMT_GOP`` if there are no format restrictions or ``V4L2_DEC_START_FMT_GOP`` if
@ -145,48 +115,28 @@ introduced in Linux 3.3.
GOPs, which it can then play in reverse order. So to implement GOPs, which it can then play in reverse order. So to implement
reverse playback the application must feed the decoder the last reverse playback the application must feed the decoder the last
GOP in the video file, then the GOP before that, etc. etc. GOP in the video file, then the GOP before that, etc. etc.
* -
- .. row 7
-
- struct - struct
- ``stop`` - ``stop``
- -
- Structure containing additional data for the ``V4L2_DEC_CMD_STOP`` - Structure containing additional data for the ``V4L2_DEC_CMD_STOP``
command. command.
* -
- .. row 8
-
- -
- __u64 - __u64
- ``pts`` - ``pts``
- Stop playback at this ``pts`` or immediately if the playback is - Stop playback at this ``pts`` or immediately if the playback is
already past that timestamp. Leave to 0 if you want to stop after already past that timestamp. Leave to 0 if you want to stop after
the last frame was decoded. the last frame was decoded.
* -
- .. row 9
-
- struct - struct
- ``raw`` - ``raw``
- -
- -
* -
- .. row 10
-
- -
- __u32 - __u32
- ``data``\ [16] - ``data``\ [16]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -201,13 +151,8 @@ introduced in Linux 3.3.
:stub-columns: 0 :stub-columns: 0
:widths: 56 6 113 :widths: 56 6 113
* - ``V4L2_DEC_CMD_START``
- .. row 1
- ``V4L2_DEC_CMD_START``
- 0 - 0
- Start the decoder. When the decoder is already running or paused, - Start the decoder. When the decoder is already running or paused,
this command will just change the playback speed. That means that this command will just change the playback speed. That means that
calling ``V4L2_DEC_CMD_START`` when the decoder was paused will calling ``V4L2_DEC_CMD_START`` when the decoder was paused will
@ -215,13 +160,8 @@ introduced in Linux 3.3.
``V4L2_DEC_CMD_RESUME`` for that. This command has one flag: ``V4L2_DEC_CMD_RESUME`` for that. This command has one flag:
``V4L2_DEC_CMD_START_MUTE_AUDIO``. If set, then audio will be ``V4L2_DEC_CMD_START_MUTE_AUDIO``. If set, then audio will be
muted when playing back at a non-standard speed. muted when playing back at a non-standard speed.
* - ``V4L2_DEC_CMD_STOP``
- .. row 2
- ``V4L2_DEC_CMD_STOP``
- 1 - 1
- Stop the decoder. When the decoder is already stopped, this - Stop the decoder. When the decoder is already stopped, this
command does nothing. This command has two flags: if command does nothing. This command has two flags: if
``V4L2_DEC_CMD_STOP_TO_BLACK`` is set, then the decoder will set ``V4L2_DEC_CMD_STOP_TO_BLACK`` is set, then the decoder will set
@ -240,25 +180,15 @@ introduced in Linux 3.3.
immediately (ignoring the ``pts`` value), otherwise it will keep immediately (ignoring the ``pts`` value), otherwise it will keep
decoding until timestamp >= pts or until the last of the pending decoding until timestamp >= pts or until the last of the pending
data from its internal buffers was decoded. data from its internal buffers was decoded.
* - ``V4L2_DEC_CMD_PAUSE``
- .. row 3
- ``V4L2_DEC_CMD_PAUSE``
- 2 - 2
- Pause the decoder. When the decoder has not been started yet, the - Pause the decoder. When the decoder has not been started yet, the
driver will return an ``EPERM`` error code. When the decoder is driver will return an ``EPERM`` error code. When the decoder is
already paused, this command does nothing. This command has one already paused, this command does nothing. This command has one
flag: if ``V4L2_DEC_CMD_PAUSE_TO_BLACK`` is set, then set the flag: if ``V4L2_DEC_CMD_PAUSE_TO_BLACK`` is set, then set the
decoder output to black when paused. decoder output to black when paused.
* - ``V4L2_DEC_CMD_RESUME``
- .. row 4
- ``V4L2_DEC_CMD_RESUME``
- 3 - 3
- Resume decoding after a PAUSE command. When the decoder has not - Resume decoding after a PAUSE command. When the decoder has not
been started yet, the driver will return an ``EPERM`` error code. When been started yet, the driver will return an ``EPERM`` error code. When
the decoder is already running, this command does nothing. No the decoder is already running, this command does nothing. No

View File

@ -49,128 +49,63 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 :widths: 1 1 2 1
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- -
- Type of the event, see :ref:`event-type`. - Type of the event, see :ref:`event-type`.
* - union
- .. row 2
- union
- ``u`` - ``u``
- -
- -
* -
- .. row 3
-
- struct :c:type:`v4l2_event_vsync` - struct :c:type:`v4l2_event_vsync`
- ``vsync`` - ``vsync``
- Event data for event ``V4L2_EVENT_VSYNC``. - Event data for event ``V4L2_EVENT_VSYNC``.
* -
- .. row 4
-
- struct :c:type:`v4l2_event_ctrl` - struct :c:type:`v4l2_event_ctrl`
- ``ctrl`` - ``ctrl``
- Event data for event ``V4L2_EVENT_CTRL``. - Event data for event ``V4L2_EVENT_CTRL``.
* -
- .. row 5
-
- struct :c:type:`v4l2_event_frame_sync` - struct :c:type:`v4l2_event_frame_sync`
- ``frame_sync`` - ``frame_sync``
- Event data for event ``V4L2_EVENT_FRAME_SYNC``. - Event data for event ``V4L2_EVENT_FRAME_SYNC``.
* -
- .. row 6
-
- struct :c:type:`v4l2_event_motion_det` - struct :c:type:`v4l2_event_motion_det`
- ``motion_det`` - ``motion_det``
- Event data for event V4L2_EVENT_MOTION_DET. - Event data for event V4L2_EVENT_MOTION_DET.
* -
- .. row 7
-
- struct :c:type:`v4l2_event_src_change` - struct :c:type:`v4l2_event_src_change`
- ``src_change`` - ``src_change``
- Event data for event V4L2_EVENT_SOURCE_CHANGE. - Event data for event V4L2_EVENT_SOURCE_CHANGE.
* -
- .. row 8
-
- __u8 - __u8
- ``data``\ [64] - ``data``\ [64]
- Event data. Defined by the event type. The union should be used to - Event data. Defined by the event type. The union should be used to
define easily accessible type for events. define easily accessible type for events.
* - __u32
- .. row 9
- __u32
- ``pending`` - ``pending``
- -
- Number of pending events excluding this one. - Number of pending events excluding this one.
* - __u32
- .. row 10
- __u32
- ``sequence`` - ``sequence``
- -
- Event sequence number. The sequence number is incremented for - Event sequence number. The sequence number is incremented for
every subscribed event that takes place. If sequence numbers are every subscribed event that takes place. If sequence numbers are
not contiguous it means that events have been lost. not contiguous it means that events have been lost.
* - struct timespec
- .. row 11
- struct timespec
- ``timestamp`` - ``timestamp``
- -
- Event timestamp. The timestamp has been taken from the - Event timestamp. The timestamp has been taken from the
``CLOCK_MONOTONIC`` clock. To access the same clock outside V4L2, ``CLOCK_MONOTONIC`` clock. To access the same clock outside V4L2,
use :c:func:`clock_gettime`. use :c:func:`clock_gettime`.
* - u32
- .. row 12
- u32
- ``id`` - ``id``
- -
- The ID associated with the event source. If the event does not - The ID associated with the event source. If the event does not
have an associated ID (this depends on the event type), then this have an associated ID (this depends on the event type), then this
is 0. is 0.
* - __u32
- .. row 13
- __u32
- ``reserved``\ [8] - ``reserved``\ [8]
- -
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -188,42 +123,22 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_EVENT_ALL``
- .. row 1
- ``V4L2_EVENT_ALL``
- 0 - 0
- All events. V4L2_EVENT_ALL is valid only for - All events. V4L2_EVENT_ALL is valid only for
VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once. VIDIOC_UNSUBSCRIBE_EVENT for unsubscribing all events at once.
* - ``V4L2_EVENT_VSYNC``
- .. row 2
- ``V4L2_EVENT_VSYNC``
- 1 - 1
- This event is triggered on the vertical sync. This event has a - This event is triggered on the vertical sync. This event has a
struct :c:type:`v4l2_event_vsync` associated struct :c:type:`v4l2_event_vsync` associated
with it. with it.
* - ``V4L2_EVENT_EOS``
- .. row 3
- ``V4L2_EVENT_EOS``
- 2 - 2
- This event is triggered when the end of a stream is reached. This - This event is triggered when the end of a stream is reached. This
is typically used with MPEG decoders to report to the application is typically used with MPEG decoders to report to the application
when the last of the MPEG stream has been decoded. when the last of the MPEG stream has been decoded.
* - ``V4L2_EVENT_CTRL``
- .. row 4
- ``V4L2_EVENT_CTRL``
- 3 - 3
- This event requires that the ``id`` matches the control ID from - This event requires that the ``id`` matches the control ID from
which you want to receive events. This event is triggered if the which you want to receive events. This event is triggered if the
control's value changes, if a button control is pressed or if the control's value changes, if a button control is pressed or if the
@ -247,13 +162,8 @@ call.
second-oldest event is kept, but the ``changes`` field of the second-oldest event is kept, but the ``changes`` field of the
second-oldest event is ORed with the ``changes`` field of the second-oldest event is ORed with the ``changes`` field of the
oldest event. oldest event.
* - ``V4L2_EVENT_FRAME_SYNC``
- .. row 5
- ``V4L2_EVENT_FRAME_SYNC``
- 4 - 4
- Triggered immediately when the reception of a frame has begun. - Triggered immediately when the reception of a frame has begun.
This event has a struct This event has a struct
:c:type:`v4l2_event_frame_sync` :c:type:`v4l2_event_frame_sync`
@ -265,13 +175,8 @@ call.
:c:type:`v4l2_event_frame_sync` will not :c:type:`v4l2_event_frame_sync` will not
be incremented. This causes two consecutive frame sequence numbers be incremented. This causes two consecutive frame sequence numbers
to have n times frame interval in between them. to have n times frame interval in between them.
* - ``V4L2_EVENT_SOURCE_CHANGE``
- .. row 6
- ``V4L2_EVENT_SOURCE_CHANGE``
- 5 - 5
- This event is triggered when a source parameter change is detected - This event is triggered when a source parameter change is detected
during runtime by the video device. It can be a runtime resolution during runtime by the video device. It can be a runtime resolution
change triggered by a video decoder or the format change happening change triggered by a video decoder or the format change happening
@ -286,24 +191,14 @@ call.
changed for the subscribed pad. If multiple events occurred before changed for the subscribed pad. If multiple events occurred before
application could dequeue them, then the changes will have the application could dequeue them, then the changes will have the
ORed value of all the events generated. ORed value of all the events generated.
* - ``V4L2_EVENT_MOTION_DET``
- .. row 7
- ``V4L2_EVENT_MOTION_DET``
- 6 - 6
- Triggered whenever the motion detection state for one or more of - Triggered whenever the motion detection state for one or more of
the regions changes. This event has a struct the regions changes. This event has a struct
:c:type:`v4l2_event_motion_det` :c:type:`v4l2_event_motion_det`
associated with it. associated with it.
* - ``V4L2_EVENT_PRIVATE_START``
- .. row 8
- ``V4L2_EVENT_PRIVATE_START``
- 0x08000000 - 0x08000000
- Base event number for driver-private events. - Base event number for driver-private events.
@ -317,13 +212,8 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u8
- .. row 1
- __u8
- ``field`` - ``field``
- The upcoming field. See enum :c:type:`v4l2_field`. - The upcoming field. See enum :c:type:`v4l2_field`.
@ -337,100 +227,51 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 :widths: 1 1 2 1
* - __u32
- .. row 1
- __u32
- ``changes`` - ``changes``
- -
- A bitmask that tells what has changed. See - A bitmask that tells what has changed. See
:ref:`ctrl-changes-flags`. :ref:`ctrl-changes-flags`.
* - __u32
- .. row 2
- __u32
- ``type`` - ``type``
- -
- The type of the control. See enum - The type of the control. See enum
:c:type:`v4l2_ctrl_type`. :c:type:`v4l2_ctrl_type`.
* - union (anonymous)
- .. row 3
- union (anonymous)
- -
- -
- -
* -
- .. row 4
-
- __s32 - __s32
- ``value`` - ``value``
- The 32-bit value of the control for 32-bit control types. This is - The 32-bit value of the control for 32-bit control types. This is
0 for string controls since the value of a string cannot be passed 0 for string controls since the value of a string cannot be passed
using :ref:`VIDIOC_DQEVENT`. using :ref:`VIDIOC_DQEVENT`.
* -
- .. row 5
-
- __s64 - __s64
- ``value64`` - ``value64``
- The 64-bit value of the control for 64-bit control types. - The 64-bit value of the control for 64-bit control types.
* - __u32
- .. row 6
- __u32
- ``flags`` - ``flags``
- -
- The control flags. See :ref:`control-flags`. - The control flags. See :ref:`control-flags`.
* - __s32
- .. row 7
- __s32
- ``minimum`` - ``minimum``
- -
- The minimum value of the control. See struct - The minimum value of the control. See struct
:ref:`v4l2_queryctrl <v4l2-queryctrl>`. :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
* - __s32
- .. row 8
- __s32
- ``maximum`` - ``maximum``
- -
- The maximum value of the control. See struct - The maximum value of the control. See struct
:ref:`v4l2_queryctrl <v4l2-queryctrl>`. :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
* - __s32
- .. row 9
- __s32
- ``step`` - ``step``
- -
- The step value of the control. See struct - The step value of the control. See struct
:ref:`v4l2_queryctrl <v4l2-queryctrl>`. :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
* - __s32
- .. row 10
- __s32
- ``default_value`` - ``default_value``
- -
- The default value value of the control. See struct - The default value value of the control. See struct
:ref:`v4l2_queryctrl <v4l2-queryctrl>`. :ref:`v4l2_queryctrl <v4l2-queryctrl>`.
@ -446,13 +287,8 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``frame_sequence`` - ``frame_sequence``
- The sequence number of the frame being received. - The sequence number of the frame being received.
@ -466,13 +302,8 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``changes`` - ``changes``
- A bitmask that tells what has changed. See - A bitmask that tells what has changed. See
:ref:`src-changes-flags`. :ref:`src-changes-flags`.
@ -487,33 +318,18 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``flags`` - ``flags``
- Currently only one flag is available: if - Currently only one flag is available: if
``V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ`` is set, then the ``V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ`` is set, then the
``frame_sequence`` field is valid, otherwise that field should be ``frame_sequence`` field is valid, otherwise that field should be
ignored. ignored.
* - __u32
- .. row 2
- __u32
- ``frame_sequence`` - ``frame_sequence``
- The sequence number of the frame being received. Only valid if the - The sequence number of the frame being received. Only valid if the
``V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ`` flag was set. ``V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ`` flag was set.
* - __u32
- .. row 3
- __u32
- ``region_mask`` - ``region_mask``
- The bitmask of the regions that reported motion. There is at least - The bitmask of the regions that reported motion. There is at least
one region. If this field is 0, then no motion was detected at one region. If this field is 0, then no motion was detected at
all. If there is no ``V4L2_CID_DETECT_MD_REGION_GRID`` control all. If there is no ``V4L2_CID_DETECT_MD_REGION_GRID`` control
@ -532,33 +348,18 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_EVENT_CTRL_CH_VALUE``
- .. row 1
- ``V4L2_EVENT_CTRL_CH_VALUE``
- 0x0001 - 0x0001
- This control event was triggered because the value of the control - This control event was triggered because the value of the control
changed. Special cases: Volatile controls do no generate this changed. Special cases: Volatile controls do no generate this
event; If a control has the ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE`` event; If a control has the ``V4L2_CTRL_FLAG_EXECUTE_ON_WRITE``
flag set, then this event is sent as well, regardless its value. flag set, then this event is sent as well, regardless its value.
* - ``V4L2_EVENT_CTRL_CH_FLAGS``
- .. row 2
- ``V4L2_EVENT_CTRL_CH_FLAGS``
- 0x0002 - 0x0002
- This control event was triggered because the control flags - This control event was triggered because the control flags
changed. changed.
* - ``V4L2_EVENT_CTRL_CH_RANGE``
- .. row 3
- ``V4L2_EVENT_CTRL_CH_RANGE``
- 0x0004 - 0x0004
- This control event was triggered because the minimum, maximum, - This control event was triggered because the minimum, maximum,
step or the default value of the control changed. step or the default value of the control changed.
@ -573,13 +374,8 @@ call.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_EVENT_SRC_CH_RESOLUTION``
- .. row 1
- ``V4L2_EVENT_SRC_CH_RESOLUTION``
- 0x0001 - 0x0001
- This event gets triggered when a resolution change is detected at - This event gets triggered when a resolution change is detected at
an input. This can come from an input connector or from a video an input. This can come from an input connector or from a video
decoder. decoder.

View File

@ -64,79 +64,34 @@ that doesn't support them will return an ``EINVAL`` error code.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``min_width`` - ``min_width``
- Minimum width of the active video in pixels. - Minimum width of the active video in pixels.
* - __u32
- .. row 2
- __u32
- ``max_width`` - ``max_width``
- Maximum width of the active video in pixels. - Maximum width of the active video in pixels.
* - __u32
- .. row 3
- __u32
- ``min_height`` - ``min_height``
- Minimum height of the active video in lines. - Minimum height of the active video in lines.
* - __u32
- .. row 4
- __u32
- ``max_height`` - ``max_height``
- Maximum height of the active video in lines. - Maximum height of the active video in lines.
* - __u64
- .. row 5
- __u64
- ``min_pixelclock`` - ``min_pixelclock``
- Minimum pixelclock frequency in Hz. - Minimum pixelclock frequency in Hz.
* - __u64
- .. row 6
- __u64
- ``max_pixelclock`` - ``max_pixelclock``
- Maximum pixelclock frequency in Hz. - Maximum pixelclock frequency in Hz.
* - __u32
- .. row 7
- __u32
- ``standards`` - ``standards``
- The video standard(s) supported by the hardware. See - The video standard(s) supported by the hardware. See
:ref:`dv-bt-standards` for a list of standards. :ref:`dv-bt-standards` for a list of standards.
* - __u32
- .. row 8
- __u32
- ``capabilities`` - ``capabilities``
- Several flags giving more information about the capabilities. See - Several flags giving more information about the capabilities. See
:ref:`dv-bt-cap-capabilities` for a description of the flags. :ref:`dv-bt-cap-capabilities` for a description of the flags.
* - __u32
- .. row 9
- __u32
- ``reserved``\ [16] - ``reserved``\ [16]
- Reserved for future extensions. - Reserved for future extensions.
Drivers must set the array to zero. Drivers must set the array to zero.
@ -151,58 +106,29 @@ that doesn't support them will return an ``EINVAL`` error code.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 :widths: 1 1 2 1
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Type of DV timings as listed in :ref:`dv-timing-types`. - Type of DV timings as listed in :ref:`dv-timing-types`.
* - __u32
- .. row 2
- __u32
- ``pad`` - ``pad``
- Pad number as reported by the media controller API. This field is - Pad number as reported by the media controller API. This field is
only used when operating on a subdevice node. When operating on a only used when operating on a subdevice node. When operating on a
video node applications must set this field to zero. video node applications must set this field to zero.
* - __u32
- .. row 3
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. - Reserved for future extensions.
Drivers and applications must set the array to zero. Drivers and applications must set the array to zero.
* - union
- .. row 4
- union
- -
- -
* -
- .. row 5
-
- struct :c:type:`v4l2_bt_timings_cap` - struct :c:type:`v4l2_bt_timings_cap`
- ``bt`` - ``bt``
- BT.656/1120 timings capabilities of the hardware. - BT.656/1120 timings capabilities of the hardware.
* -
- .. row 6
-
- __u32 - __u32
- ``raw_data``\ [32] - ``raw_data``\ [32]
- -
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}| .. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
@ -213,41 +139,18 @@ that doesn't support them will return an ``EINVAL`` error code.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - Flag
- .. row 1
- Flag
- Description - Description
* -
- .. row 2
- -
- * - ``V4L2_DV_BT_CAP_INTERLACED``
- .. row 3
- ``V4L2_DV_BT_CAP_INTERLACED``
- Interlaced formats are supported. - Interlaced formats are supported.
* - ``V4L2_DV_BT_CAP_PROGRESSIVE``
- .. row 4
- ``V4L2_DV_BT_CAP_PROGRESSIVE``
- Progressive formats are supported. - Progressive formats are supported.
* - ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
- .. row 5
- ``V4L2_DV_BT_CAP_REDUCED_BLANKING``
- CVT/GTF specific: the timings can make use of reduced blanking - CVT/GTF specific: the timings can make use of reduced blanking
(CVT) or the 'Secondary GTF' curve (GTF). (CVT) or the 'Secondary GTF' curve (GTF).
* - ``V4L2_DV_BT_CAP_CUSTOM``
- .. row 6
- ``V4L2_DV_BT_CAP_CUSTOM``
- Can support non-standard timings, i.e. timings not belonging to - Can support non-standard timings, i.e. timings not belonging to
the standards set in the ``standards`` field. the standards set in the ``standards`` field.

View File

@ -74,31 +74,16 @@ introduced in Linux 2.6.21.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``cmd`` - ``cmd``
- The encoder command, see :ref:`encoder-cmds`. - The encoder command, see :ref:`encoder-cmds`.
* - __u32
- .. row 2
- __u32
- ``flags`` - ``flags``
- Flags to go with the command, see :ref:`encoder-flags`. If no - Flags to go with the command, see :ref:`encoder-flags`. If no
flags are defined for this command, drivers and applications must flags are defined for this command, drivers and applications must
set this field to zero. set this field to zero.
* - __u32
- .. row 3
- __u32
- ``data``\ [8] - ``data``\ [8]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -113,22 +98,12 @@ introduced in Linux 2.6.21.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_ENC_CMD_START``
- .. row 1
- ``V4L2_ENC_CMD_START``
- 0 - 0
- Start the encoder. When the encoder is already running or paused, - Start the encoder. When the encoder is already running or paused,
this command does nothing. No flags are defined for this command. this command does nothing. No flags are defined for this command.
* - ``V4L2_ENC_CMD_STOP``
- .. row 2
- ``V4L2_ENC_CMD_STOP``
- 1 - 1
- Stop the encoder. When the ``V4L2_ENC_CMD_STOP_AT_GOP_END`` flag - Stop the encoder. When the ``V4L2_ENC_CMD_STOP_AT_GOP_END`` flag
is set, encoding will continue until the end of the current *Group is set, encoding will continue until the end of the current *Group
Of Pictures*, otherwise encoding will stop immediately. When the Of Pictures*, otherwise encoding will stop immediately. When the
@ -142,24 +117,14 @@ introduced in Linux 2.6.21.
``V4L2_BUF_FLAG_LAST`` flag was set, the ``V4L2_BUF_FLAG_LAST`` flag was set, the
:ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl will not block anymore, :ref:`VIDIOC_DQBUF <VIDIOC_QBUF>` ioctl will not block anymore,
but return an ``EPIPE`` error code. but return an ``EPIPE`` error code.
* - ``V4L2_ENC_CMD_PAUSE``
- .. row 3
- ``V4L2_ENC_CMD_PAUSE``
- 2 - 2
- Pause the encoder. When the encoder has not been started yet, the - Pause the encoder. When the encoder has not been started yet, the
driver will return an ``EPERM`` error code. When the encoder is driver will return an ``EPERM`` error code. When the encoder is
already paused, this command does nothing. No flags are defined already paused, this command does nothing. No flags are defined
for this command. for this command.
* - ``V4L2_ENC_CMD_RESUME``
- .. row 4
- ``V4L2_ENC_CMD_RESUME``
- 3 - 3
- Resume encoding after a PAUSE command. When the encoder has not - Resume encoding after a PAUSE command. When the encoder has not
been started yet, the driver will return an ``EPERM`` error code. When been started yet, the driver will return an ``EPERM`` error code. When
the encoder is already running, this command does nothing. No the encoder is already running, this command does nothing. No
@ -175,13 +140,8 @@ introduced in Linux 2.6.21.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_ENC_CMD_STOP_AT_GOP_END``
- .. row 1
- ``V4L2_ENC_CMD_STOP_AT_GOP_END``
- 0x0001 - 0x0001
- Stop encoding at the end of the current *Group Of Pictures*, - Stop encoding at the end of the current *Group Of Pictures*,
rather than immediately. rather than immediately.

View File

@ -74,40 +74,20 @@ return an ``EINVAL`` error code.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Number of the DV timings, set by the application. - Number of the DV timings, set by the application.
* - __u32
- .. row 2
- __u32
- ``pad`` - ``pad``
- Pad number as reported by the media controller API. This field is - Pad number as reported by the media controller API. This field is
only used when operating on a subdevice node. When operating on a only used when operating on a subdevice node. When operating on a
video node applications must set this field to zero. video node applications must set this field to zero.
* - __u32
- .. row 3
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
* - struct :c:type:`v4l2_dv_timings`
- .. row 4
- struct :c:type:`v4l2_dv_timings`
- ``timings`` - ``timings``
- The timings. - The timings.

View File

@ -53,57 +53,30 @@ one until ``EINVAL`` is returned.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
- .. row 1 * - __u32
- __u32
- ``index`` - ``index``
- Number of the format in the enumeration, set by the application. - Number of the format in the enumeration, set by the application.
This is in no way related to the ``pixelformat`` field. This is in no way related to the ``pixelformat`` field.
* - __u32
- .. row 2
- __u32
- ``type`` - ``type``
- Type of the data stream, set by the application. Only these types - Type of the data stream, set by the application. Only these types
are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``, are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``,
``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``, ``V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE``,
``V4L2_BUF_TYPE_VIDEO_OUTPUT``, ``V4L2_BUF_TYPE_VIDEO_OUTPUT``,
``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE`` and ``V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE`` and
``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`. ``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`.
* - __u32
- .. row 3
- __u32
- ``flags`` - ``flags``
- See :ref:`fmtdesc-flags` - See :ref:`fmtdesc-flags`
* - __u8
- .. row 4
- __u8
- ``description``\ [32] - ``description``\ [32]
- Description of the format, a NUL-terminated ASCII string. This - Description of the format, a NUL-terminated ASCII string. This
information is intended for the user, for example: "YUV 4:2:2". information is intended for the user, for example: "YUV 4:2:2".
* - __u32
- .. row 5
- __u32
- ``pixelformat`` - ``pixelformat``
- The image format identifier. This is a four character code as - The image format identifier. This is a four character code as
computed by the v4l2_fourcc() macro: computed by the v4l2_fourcc() macro:
* - :cspan:`2`
- .. row 6
- :cspan:`2`
.. _v4l2-fourcc: .. _v4l2-fourcc:
@ -118,13 +91,8 @@ one until ``EINVAL`` is returned.
These codes are not the same as those used These codes are not the same as those used
in the Windows world. in the Windows world.
* - __u32
- .. row 7
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -139,21 +107,11 @@ one until ``EINVAL`` is returned.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FMT_FLAG_COMPRESSED``
- .. row 1
- ``V4L2_FMT_FLAG_COMPRESSED``
- 0x0001 - 0x0001
- This is a compressed format. - This is a compressed format.
* - ``V4L2_FMT_FLAG_EMULATED``
- .. row 2
- ``V4L2_FMT_FLAG_EMULATED``
- 0x0002 - 0x0002
- This format is not native to the device but emulated through - This format is not native to the device but emulated through
software (usually libv4l2), where possible try to use a native software (usually libv4l2), where possible try to use a native
format instead for better performance. format instead for better performance.

View File

@ -110,29 +110,14 @@ application should zero out all members except for the *IN* fields.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - struct :c:type:`v4l2_fract`
- .. row 1
- struct :c:type:`v4l2_fract`
- ``min`` - ``min``
- Minimum frame interval [s]. - Minimum frame interval [s].
* - struct :c:type:`v4l2_fract`
- .. row 2
- struct :c:type:`v4l2_fract`
- ``max`` - ``max``
- Maximum frame interval [s]. - Maximum frame interval [s].
* - struct :c:type:`v4l2_fract`
- .. row 3
- struct :c:type:`v4l2_fract`
- ``step`` - ``step``
- Frame interval step size [s]. - Frame interval step size [s].
@ -143,84 +128,40 @@ application should zero out all members except for the *IN* fields.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- -
- IN: Index of the given frame interval in the enumeration. - IN: Index of the given frame interval in the enumeration.
* - __u32
- .. row 2
- __u32
- ``pixel_format`` - ``pixel_format``
- -
- IN: Pixel format for which the frame intervals are enumerated. - IN: Pixel format for which the frame intervals are enumerated.
* - __u32
- .. row 3
- __u32
- ``width`` - ``width``
- -
- IN: Frame width for which the frame intervals are enumerated. - IN: Frame width for which the frame intervals are enumerated.
* - __u32
- .. row 4
- __u32
- ``height`` - ``height``
- -
- IN: Frame height for which the frame intervals are enumerated. - IN: Frame height for which the frame intervals are enumerated.
* - __u32
- .. row 5
- __u32
- ``type`` - ``type``
- -
- OUT: Frame interval type the device supports. - OUT: Frame interval type the device supports.
* - union
- .. row 6
- union
- -
- -
- OUT: Frame interval with the given index. - OUT: Frame interval with the given index.
* -
- .. row 7
-
- struct :c:type:`v4l2_fract` - struct :c:type:`v4l2_fract`
- ``discrete`` - ``discrete``
- Frame interval [s]. - Frame interval [s].
* -
- .. row 8
-
- struct :c:type:`v4l2_frmival_stepwise` - struct :c:type:`v4l2_frmival_stepwise`
- ``stepwise`` - ``stepwise``
- -
* - __u32
- .. row 9
- __u32
- ``reserved[2]`` - ``reserved[2]``
- -
- Reserved space for future use. Must be zeroed by drivers and - Reserved space for future use. Must be zeroed by drivers and
applications. applications.
@ -240,29 +181,14 @@ Enums
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FRMIVAL_TYPE_DISCRETE``
- .. row 1
- ``V4L2_FRMIVAL_TYPE_DISCRETE``
- 1 - 1
- Discrete frame interval. - Discrete frame interval.
* - ``V4L2_FRMIVAL_TYPE_CONTINUOUS``
- .. row 2
- ``V4L2_FRMIVAL_TYPE_CONTINUOUS``
- 2 - 2
- Continuous frame interval. - Continuous frame interval.
* - ``V4L2_FRMIVAL_TYPE_STEPWISE``
- .. row 3
- ``V4L2_FRMIVAL_TYPE_STEPWISE``
- 3 - 3
- Step-wise defined frame interval. - Step-wise defined frame interval.

View File

@ -99,21 +99,11 @@ application should zero out all members except for the *IN* fields.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``width`` - ``width``
- Width of the frame [pixel]. - Width of the frame [pixel].
* - __u32
- .. row 2
- __u32
- ``height`` - ``height``
- Height of the frame [pixel]. - Height of the frame [pixel].
@ -127,53 +117,23 @@ application should zero out all members except for the *IN* fields.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``min_width`` - ``min_width``
- Minimum frame width [pixel]. - Minimum frame width [pixel].
* - __u32
- .. row 2
- __u32
- ``max_width`` - ``max_width``
- Maximum frame width [pixel]. - Maximum frame width [pixel].
* - __u32
- .. row 3
- __u32
- ``step_width`` - ``step_width``
- Frame width step size [pixel]. - Frame width step size [pixel].
* - __u32
- .. row 4
- __u32
- ``min_height`` - ``min_height``
- Minimum frame height [pixel]. - Minimum frame height [pixel].
* - __u32
- .. row 5
- __u32
- ``max_height`` - ``max_height``
- Maximum frame height [pixel]. - Maximum frame height [pixel].
* - __u32
- .. row 6
- __u32
- ``step_height`` - ``step_height``
- Frame height step size [pixel]. - Frame height step size [pixel].
@ -184,66 +144,32 @@ application should zero out all members except for the *IN* fields.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- -
- IN: Index of the given frame size in the enumeration. - IN: Index of the given frame size in the enumeration.
* - __u32
- .. row 2
- __u32
- ``pixel_format`` - ``pixel_format``
- -
- IN: Pixel format for which the frame sizes are enumerated. - IN: Pixel format for which the frame sizes are enumerated.
* - __u32
- .. row 3
- __u32
- ``type`` - ``type``
- -
- OUT: Frame size type the device supports. - OUT: Frame size type the device supports.
* - union
- .. row 4
- union
- -
- -
- OUT: Frame size with the given index. - OUT: Frame size with the given index.
* -
- .. row 5
-
- struct :c:type:`v4l2_frmsize_discrete` - struct :c:type:`v4l2_frmsize_discrete`
- ``discrete`` - ``discrete``
-
- .. row 6
- -
* -
- struct :c:type:`v4l2_frmsize_stepwise` - struct :c:type:`v4l2_frmsize_stepwise`
- ``stepwise`` - ``stepwise``
- -
* - __u32
- .. row 7
- __u32
- ``reserved[2]`` - ``reserved[2]``
- -
- Reserved space for future use. Must be zeroed by drivers and - Reserved space for future use. Must be zeroed by drivers and
applications. applications.
@ -263,29 +189,14 @@ Enums
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FRMSIZE_TYPE_DISCRETE``
- .. row 1
- ``V4L2_FRMSIZE_TYPE_DISCRETE``
- 1 - 1
- Discrete frame size. - Discrete frame size.
* - ``V4L2_FRMSIZE_TYPE_CONTINUOUS``
- .. row 2
- ``V4L2_FRMSIZE_TYPE_CONTINUOUS``
- 2 - 2
- Continuous frame size. - Continuous frame size.
* - ``V4L2_FRMSIZE_TYPE_STEPWISE``
- .. row 3
- ``V4L2_FRMSIZE_TYPE_STEPWISE``
- 3 - 3
- Step-wise defined frame size. - Step-wise defined frame size.

View File

@ -50,82 +50,47 @@ of the corresponding tuner/modulator is set.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 1 :widths: 1 1 2 1 1
* - __u32
- .. row 1
- __u32
- ``tuner`` - ``tuner``
- The tuner or modulator index number. This is the same value as in - The tuner or modulator index number. This is the same value as in
the struct :c:type:`v4l2_input` ``tuner`` field and the struct :c:type:`v4l2_input` ``tuner`` field and
the struct :c:type:`v4l2_tuner` ``index`` field, or the struct :c:type:`v4l2_tuner` ``index`` field, or
the struct :c:type:`v4l2_output` ``modulator`` field the struct :c:type:`v4l2_output` ``modulator`` field
and the struct :c:type:`v4l2_modulator` ``index`` and the struct :c:type:`v4l2_modulator` ``index``
field. field.
* - __u32
- .. row 2
- __u32
- ``type`` - ``type``
- The tuner type. This is the same value as in the struct - The tuner type. This is the same value as in the struct
:c:type:`v4l2_tuner` ``type`` field. The type must be :c:type:`v4l2_tuner` ``type`` field. The type must be
set to ``V4L2_TUNER_RADIO`` for ``/dev/radioX`` device nodes, and set to ``V4L2_TUNER_RADIO`` for ``/dev/radioX`` device nodes, and
to ``V4L2_TUNER_ANALOG_TV`` for all others. Set this field to to ``V4L2_TUNER_ANALOG_TV`` for all others. Set this field to
``V4L2_TUNER_RADIO`` for modulators (currently only radio ``V4L2_TUNER_RADIO`` for modulators (currently only radio
modulators are supported). See :c:type:`v4l2_tuner_type` modulators are supported). See :c:type:`v4l2_tuner_type`
* - __u32
- .. row 3
- __u32
- ``index`` - ``index``
- Identifies the frequency band, set by the application. - Identifies the frequency band, set by the application.
* - __u32
- .. row 4
- __u32
- ``capability`` - ``capability``
- :cspan:`2` The tuner/modulator capability flags for this - :cspan:`2` The tuner/modulator capability flags for this
frequency band, see :ref:`tuner-capability`. The frequency band, see :ref:`tuner-capability`. The
``V4L2_TUNER_CAP_LOW`` or ``V4L2_TUNER_CAP_1HZ`` capability must ``V4L2_TUNER_CAP_LOW`` or ``V4L2_TUNER_CAP_1HZ`` capability must
be the same for all frequency bands of the selected be the same for all frequency bands of the selected
tuner/modulator. So either all bands have that capability set, or tuner/modulator. So either all bands have that capability set, or
none of them have that capability. none of them have that capability.
* - __u32
- .. row 5
- __u32
- ``rangelow`` - ``rangelow``
- :cspan:`2` The lowest tunable frequency in units of 62.5 kHz, or - :cspan:`2` The lowest tunable frequency in units of 62.5 kHz, or
if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units
of 62.5 Hz, for this frequency band. A 1 Hz unit is used when the of 62.5 Hz, for this frequency band. A 1 Hz unit is used when the
``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set. ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set.
* - __u32
- .. row 6
- __u32
- ``rangehigh`` - ``rangehigh``
- :cspan:`2` The highest tunable frequency in units of 62.5 kHz, - :cspan:`2` The highest tunable frequency in units of 62.5 kHz,
or if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in or if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in
units of 62.5 Hz, for this frequency band. A 1 Hz unit is used units of 62.5 Hz, for this frequency band. A 1 Hz unit is used
when the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set. when the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set.
* - __u32
- .. row 7
- __u32
- ``modulation`` - ``modulation``
- :cspan:`2` The supported modulation systems of this frequency - :cspan:`2` The supported modulation systems of this frequency
band. See :ref:`band-modulation`. band. See :ref:`band-modulation`.
@ -137,13 +102,8 @@ of the corresponding tuner/modulator is set.
mailing list mailing list
(`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__) (`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__)
if you need such functionality. if you need such functionality.
* - __u32
- .. row 8
- __u32
- ``reserved``\ [9] - ``reserved``\ [9]
- Reserved for future extensions. - Reserved for future extensions.
Applications and drivers must set the array to zero. Applications and drivers must set the array to zero.
@ -159,29 +119,14 @@ of the corresponding tuner/modulator is set.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_BAND_MODULATION_VSB``
- .. row 1
- ``V4L2_BAND_MODULATION_VSB``
- 0x02 - 0x02
- Vestigial Sideband modulation, used for analog TV. - Vestigial Sideband modulation, used for analog TV.
* - ``V4L2_BAND_MODULATION_FM``
- .. row 2
- ``V4L2_BAND_MODULATION_FM``
- 0x04 - 0x04
- Frequency Modulation, commonly used for analog radio. - Frequency Modulation, commonly used for analog radio.
* - ``V4L2_BAND_MODULATION_AM``
- .. row 3
- ``V4L2_BAND_MODULATION_AM``
- 0x08 - 0x08
- Amplitude Modulation, commonly used for analog radio. - Amplitude Modulation, commonly used for analog radio.

View File

@ -48,39 +48,19 @@ at index zero, incrementing by one until the driver returns ``EINVAL``.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Identifies the input, set by the application. - Identifies the input, set by the application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- Name of the video input, a NUL-terminated ASCII string, for - Name of the video input, a NUL-terminated ASCII string, for
example: "Vin (Composite 2)". This information is intended for the example: "Vin (Composite 2)". This information is intended for the
user, preferably the connector label on the device itself. user, preferably the connector label on the device itself.
* - __u32
- .. row 3
- __u32
- ``type`` - ``type``
- Type of the input, see :ref:`input-type`. - Type of the input, see :ref:`input-type`.
* - __u32
- .. row 4
- __u32
- ``audioset`` - ``audioset``
- Drivers can enumerate up to 32 video and audio inputs. This field - Drivers can enumerate up to 32 video and audio inputs. This field
shows which audio inputs were selectable as audio source if this shows which audio inputs were selectable as audio source if this
was the currently selected video input. It is a bit mask. The LSB was the currently selected video input. It is a bit mask. The LSB
@ -94,55 +74,30 @@ at index zero, incrementing by one until the driver returns ``EINVAL``.
For details on audio inputs and how to select the current input For details on audio inputs and how to select the current input
see :ref:`audio`. see :ref:`audio`.
* - __u32
- .. row 5
- __u32
- ``tuner`` - ``tuner``
- Capture devices can have zero or more tuners (RF demodulators). - Capture devices can have zero or more tuners (RF demodulators).
When the ``type`` is set to ``V4L2_INPUT_TYPE_TUNER`` this is an When the ``type`` is set to ``V4L2_INPUT_TYPE_TUNER`` this is an
RF connector and this field identifies the tuner. It corresponds RF connector and this field identifies the tuner. It corresponds
to struct :c:type:`v4l2_tuner` field ``index``. For to struct :c:type:`v4l2_tuner` field ``index``. For
details on tuners see :ref:`tuner`. details on tuners see :ref:`tuner`.
* - :ref:`v4l2_std_id <v4l2-std-id>`
- .. row 6
- :ref:`v4l2_std_id <v4l2-std-id>`
- ``std`` - ``std``
- Every video input supports one or more different video standards. - Every video input supports one or more different video standards.
This field is a set of all supported standards. For details on This field is a set of all supported standards. For details on
video standards and how to switch see :ref:`standard`. video standards and how to switch see :ref:`standard`.
* - __u32
- .. row 7
- __u32
- ``status`` - ``status``
- This field provides status information about the input. See - This field provides status information about the input. See
:ref:`input-status` for flags. With the exception of the sensor :ref:`input-status` for flags. With the exception of the sensor
orientation bits ``status`` is only valid when this is the current orientation bits ``status`` is only valid when this is the current
input. input.
* - __u32
- .. row 8
- __u32
- ``capabilities`` - ``capabilities``
- This field provides capabilities for the input. See - This field provides capabilities for the input. See
:ref:`input-capabilities` for flags. :ref:`input-capabilities` for flags.
* - __u32
- .. row 9
- __u32
- ``reserved``\ [3] - ``reserved``\ [3]
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -157,30 +112,15 @@ at index zero, incrementing by one until the driver returns ``EINVAL``.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_INPUT_TYPE_TUNER``
- .. row 1
- ``V4L2_INPUT_TYPE_TUNER``
- 1 - 1
- This input uses a tuner (RF demodulator). - This input uses a tuner (RF demodulator).
* - ``V4L2_INPUT_TYPE_CAMERA``
- .. row 2
- ``V4L2_INPUT_TYPE_CAMERA``
- 2 - 2
- Analog baseband input, for example CVBS / Composite Video, - Analog baseband input, for example CVBS / Composite Video,
S-Video, RGB. S-Video, RGB.
* - ``V4L2_INPUT_TYPE_TOUCH``
- .. row 3
- ``V4L2_INPUT_TYPE_TOUCH``
- 3 - 3
- This input is a touch device for capturing raw touch data. - This input is a touch device for capturing raw touch data.
@ -193,156 +133,66 @@ at index zero, incrementing by one until the driver returns ``EINVAL``.
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - :cspan:`2` General
- .. row 1 * - ``V4L2_IN_ST_NO_POWER``
- :cspan:`2` General
- .. row 2
- ``V4L2_IN_ST_NO_POWER``
- 0x00000001 - 0x00000001
- Attached device is off. - Attached device is off.
* - ``V4L2_IN_ST_NO_SIGNAL``
- .. row 3
- ``V4L2_IN_ST_NO_SIGNAL``
- 0x00000002 - 0x00000002
- -
* - ``V4L2_IN_ST_NO_COLOR``
- .. row 4
- ``V4L2_IN_ST_NO_COLOR``
- 0x00000004 - 0x00000004
- The hardware supports color decoding, but does not detect color - The hardware supports color decoding, but does not detect color
modulation in the signal. modulation in the signal.
* - :cspan:`2` Sensor Orientation
- .. row 5 * - ``V4L2_IN_ST_HFLIP``
- :cspan:`2` Sensor Orientation
- .. row 6
- ``V4L2_IN_ST_HFLIP``
- 0x00000010 - 0x00000010
- The input is connected to a device that produces a signal that is - The input is connected to a device that produces a signal that is
flipped horizontally and does not correct this before passing the flipped horizontally and does not correct this before passing the
signal to userspace. signal to userspace.
* - ``V4L2_IN_ST_VFLIP``
- .. row 7
- ``V4L2_IN_ST_VFLIP``
- 0x00000020 - 0x00000020
- The input is connected to a device that produces a signal that is - The input is connected to a device that produces a signal that is
flipped vertically and does not correct this before passing the flipped vertically and does not correct this before passing the
signal to userspace. signal to userspace.
.. note:: A 180 degree rotation is the same as HFLIP | VFLIP .. note:: A 180 degree rotation is the same as HFLIP | VFLIP
* - :cspan:`2` Analog Video
- .. row 8 * - ``V4L2_IN_ST_NO_H_LOCK``
- :cspan:`2` Analog Video
- .. row 9
- ``V4L2_IN_ST_NO_H_LOCK``
- 0x00000100 - 0x00000100
- No horizontal sync lock. - No horizontal sync lock.
* - ``V4L2_IN_ST_COLOR_KILL``
- .. row 10
- ``V4L2_IN_ST_COLOR_KILL``
- 0x00000200 - 0x00000200
- A color killer circuit automatically disables color decoding when - A color killer circuit automatically disables color decoding when
it detects no color modulation. When this flag is set the color it detects no color modulation. When this flag is set the color
killer is enabled *and* has shut off color decoding. killer is enabled *and* has shut off color decoding.
* - ``V4L2_IN_ST_NO_V_LOCK``
- .. row 11
- ``V4L2_IN_ST_NO_V_LOCK``
- 0x00000400 - 0x00000400
- No vertical sync lock. - No vertical sync lock.
* - ``V4L2_IN_ST_NO_STD_LOCK``
- .. row 12
- ``V4L2_IN_ST_NO_STD_LOCK``
- 0x00000800 - 0x00000800
- No standard format lock in case of auto-detection format - No standard format lock in case of auto-detection format
by the component. by the component.
* - :cspan:`2` Digital Video
- .. row 13 * - ``V4L2_IN_ST_NO_SYNC``
- :cspan:`2` Digital Video
- .. row 14
- ``V4L2_IN_ST_NO_SYNC``
- 0x00010000 - 0x00010000
- No synchronization lock. - No synchronization lock.
* - ``V4L2_IN_ST_NO_EQU``
- .. row 15
- ``V4L2_IN_ST_NO_EQU``
- 0x00020000 - 0x00020000
- No equalizer lock. - No equalizer lock.
* - ``V4L2_IN_ST_NO_CARRIER``
- .. row 16
- ``V4L2_IN_ST_NO_CARRIER``
- 0x00040000 - 0x00040000
- Carrier recovery failed. - Carrier recovery failed.
* - :cspan:`2` VCR and Set-Top Box
- .. row 17 * - ``V4L2_IN_ST_MACROVISION``
- :cspan:`2` VCR and Set-Top Box
- .. row 18
- ``V4L2_IN_ST_MACROVISION``
- 0x01000000 - 0x01000000
- Macrovision is an analog copy prevention system mangling the video - Macrovision is an analog copy prevention system mangling the video
signal to confuse video recorders. When this flag is set signal to confuse video recorders. When this flag is set
Macrovision has been detected. Macrovision has been detected.
* - ``V4L2_IN_ST_NO_ACCESS``
- .. row 19
- ``V4L2_IN_ST_NO_ACCESS``
- 0x02000000 - 0x02000000
- Conditional access denied. - Conditional access denied.
* - ``V4L2_IN_ST_VTR``
- .. row 20
- ``V4L2_IN_ST_VTR``
- 0x04000000 - 0x04000000
- VTR time constant. [?] - VTR time constant. [?]
@ -356,31 +206,16 @@ at index zero, incrementing by one until the driver returns ``EINVAL``.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_IN_CAP_DV_TIMINGS``
- .. row 1
- ``V4L2_IN_CAP_DV_TIMINGS``
- 0x00000002 - 0x00000002
- This input supports setting video timings by using - This input supports setting video timings by using
VIDIOC_S_DV_TIMINGS. VIDIOC_S_DV_TIMINGS.
* - ``V4L2_IN_CAP_STD``
- .. row 2
- ``V4L2_IN_CAP_STD``
- 0x00000004 - 0x00000004
- This input supports setting the TV standard by using - This input supports setting the TV standard by using
VIDIOC_S_STD. VIDIOC_S_STD.
* - ``V4L2_IN_CAP_NATIVE_SIZE``
- .. row 3
- ``V4L2_IN_CAP_NATIVE_SIZE``
- 0x00000008 - 0x00000008
- This input supports setting the native size using the - This input supports setting the native size using the
``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see ``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see
:ref:`v4l2-selections-common`. :ref:`v4l2-selections-common`.

View File

@ -49,39 +49,19 @@ EINVAL.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Identifies the output, set by the application. - Identifies the output, set by the application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- Name of the video output, a NUL-terminated ASCII string, for - Name of the video output, a NUL-terminated ASCII string, for
example: "Vout". This information is intended for the user, example: "Vout". This information is intended for the user,
preferably the connector label on the device itself. preferably the connector label on the device itself.
* - __u32
- .. row 3
- __u32
- ``type`` - ``type``
- Type of the output, see :ref:`output-type`. - Type of the output, see :ref:`output-type`.
* - __u32
- .. row 4
- __u32
- ``audioset`` - ``audioset``
- Drivers can enumerate up to 32 video and audio outputs. This field - Drivers can enumerate up to 32 video and audio outputs. This field
shows which audio outputs were selectable as the current output if shows which audio outputs were selectable as the current output if
this was the currently selected video output. It is a bit mask. this was the currently selected video output. It is a bit mask.
@ -95,44 +75,24 @@ EINVAL.
For details on audio outputs and how to select the current output For details on audio outputs and how to select the current output
see :ref:`audio`. see :ref:`audio`.
* - __u32
- .. row 5
- __u32
- ``modulator`` - ``modulator``
- Output devices can have zero or more RF modulators. When the - Output devices can have zero or more RF modulators. When the
``type`` is ``V4L2_OUTPUT_TYPE_MODULATOR`` this is an RF connector ``type`` is ``V4L2_OUTPUT_TYPE_MODULATOR`` this is an RF connector
and this field identifies the modulator. It corresponds to struct and this field identifies the modulator. It corresponds to struct
:c:type:`v4l2_modulator` field ``index``. For :c:type:`v4l2_modulator` field ``index``. For
details on modulators see :ref:`tuner`. details on modulators see :ref:`tuner`.
* - :ref:`v4l2_std_id <v4l2-std-id>`
- .. row 6
- :ref:`v4l2_std_id <v4l2-std-id>`
- ``std`` - ``std``
- Every video output supports one or more different video standards. - Every video output supports one or more different video standards.
This field is a set of all supported standards. For details on This field is a set of all supported standards. For details on
video standards and how to switch see :ref:`standard`. video standards and how to switch see :ref:`standard`.
* - __u32
- .. row 7
- __u32
- ``capabilities`` - ``capabilities``
- This field provides capabilities for the output. See - This field provides capabilities for the output. See
:ref:`output-capabilities` for flags. :ref:`output-capabilities` for flags.
* - __u32
- .. row 8
- __u32
- ``reserved``\ [3] - ``reserved``\ [3]
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -147,30 +107,15 @@ EINVAL.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_OUTPUT_TYPE_MODULATOR``
- .. row 1
- ``V4L2_OUTPUT_TYPE_MODULATOR``
- 1 - 1
- This output is an analog TV modulator. - This output is an analog TV modulator.
* - ``V4L2_OUTPUT_TYPE_ANALOG``
- .. row 2
- ``V4L2_OUTPUT_TYPE_ANALOG``
- 2 - 2
- Analog baseband output, for example Composite / CVBS, S-Video, - Analog baseband output, for example Composite / CVBS, S-Video,
RGB. RGB.
* - ``V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY``
- .. row 3
- ``V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY``
- 3 - 3
- [?] - [?]
@ -184,31 +129,16 @@ EINVAL.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_OUT_CAP_DV_TIMINGS``
- .. row 1
- ``V4L2_OUT_CAP_DV_TIMINGS``
- 0x00000002 - 0x00000002
- This output supports setting video timings by using - This output supports setting video timings by using
VIDIOC_S_DV_TIMINGS. VIDIOC_S_DV_TIMINGS.
* - ``V4L2_OUT_CAP_STD``
- .. row 2
- ``V4L2_OUT_CAP_STD``
- 0x00000004 - 0x00000004
- This output supports setting the TV standard by using - This output supports setting the TV standard by using
VIDIOC_S_STD. VIDIOC_S_STD.
* - ``V4L2_OUT_CAP_NATIVE_SIZE``
- .. row 3
- ``V4L2_OUT_CAP_NATIVE_SIZE``
- 0x00000008 - 0x00000008
- This output supports setting the native size using the - This output supports setting the native size using the
``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see ``V4L2_SEL_TGT_NATIVE_SIZE`` selection target, see
:ref:`v4l2-selections-common`. :ref:`v4l2-selections-common`.

View File

@ -51,21 +51,11 @@ or output. [#f1]_
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Number of the video standard, set by the application. - Number of the video standard, set by the application.
* - :ref:`v4l2_std_id <v4l2-std-id>`
- .. row 2
- :ref:`v4l2_std_id <v4l2-std-id>`
- ``id`` - ``id``
- The bits in this field identify the standard as one of the common - The bits in this field identify the standard as one of the common
standards listed in :ref:`v4l2-std-id`, or if bits 32 to 63 are standards listed in :ref:`v4l2-std-id`, or if bits 32 to 63 are
set as custom standards. Multiple bits can be set if the hardware set as custom standards. Multiple bits can be set if the hardware
@ -73,40 +63,20 @@ or output. [#f1]_
indices do not indicate the opposite. The ``id`` must be unique. indices do not indicate the opposite. The ``id`` must be unique.
No other enumerated struct :c:type:`v4l2_standard` structure, No other enumerated struct :c:type:`v4l2_standard` structure,
for this input or output anyway, can contain the same set of bits. for this input or output anyway, can contain the same set of bits.
* - __u8
- .. row 3
- __u8
- ``name``\ [24] - ``name``\ [24]
- Name of the standard, a NUL-terminated ASCII string, for example: - Name of the standard, a NUL-terminated ASCII string, for example:
"PAL-B/G", "NTSC Japan". This information is intended for the "PAL-B/G", "NTSC Japan". This information is intended for the
user. user.
* - struct :c:type:`v4l2_fract`
- .. row 4
- struct :c:type:`v4l2_fract`
- ``frameperiod`` - ``frameperiod``
- The frame period (not field period) is numerator / denominator. - The frame period (not field period) is numerator / denominator.
For example M/NTSC has a frame period of 1001 / 30000 seconds. For example M/NTSC has a frame period of 1001 / 30000 seconds.
* - __u32
- .. row 5
- __u32
- ``framelines`` - ``framelines``
- Total lines per frame including blanking, e. g. 625 for B/PAL. - Total lines per frame including blanking, e. g. 625 for B/PAL.
* - __u32
- .. row 6
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -121,21 +91,11 @@ or output. [#f1]_
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``numerator`` - ``numerator``
- -
* - __u32
- .. row 2
- __u32
- ``denominator`` - ``denominator``
- -
@ -148,13 +108,8 @@ or output. [#f1]_
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u64
- .. row 1
- __u64
- ``v4l2_std_id`` - ``v4l2_std_id``
- This type is a set, each bit representing another video standard - This type is a set, each bit representing another video standard
as listed below and in :ref:`video-standards`. The 32 most as listed below and in :ref:`video-standards`. The 32 most
significant bits are reserved for custom (driver defined) video significant bits are reserved for custom (driver defined) video
@ -282,119 +237,58 @@ support digital TV. See also the Linux DVB API at
:header-rows: 1 :header-rows: 1
:stub-columns: 0 :stub-columns: 0
* - Characteristics
- .. row 1
- Characteristics
- M/NTSC [#f2]_ - M/NTSC [#f2]_
- M/PAL - M/PAL
- N/PAL [#f3]_ - N/PAL [#f3]_
- B, B1, G/PAL - B, B1, G/PAL
- D, D1, K/PAL - D, D1, K/PAL
- H/PAL - H/PAL
- I/PAL - I/PAL
- B, G/SECAM - B, G/SECAM
- D, K/SECAM - D, K/SECAM
- K1/SECAM - K1/SECAM
- L/SECAM - L/SECAM
* - Frame lines
- .. row 2
- Frame lines
- :cspan:`1` 525 - :cspan:`1` 525
- :cspan:`8` 625 - :cspan:`8` 625
* - Frame period (s)
- .. row 3
- Frame period (s)
- :cspan:`1` 1001/30000 - :cspan:`1` 1001/30000
- :cspan:`8` 1/25 - :cspan:`8` 1/25
* - Chrominance sub-carrier frequency (Hz)
- .. row 4
- Chrominance sub-carrier frequency (Hz)
- 3579545 ± 10 - 3579545 ± 10
- 3579611.49 ± 10 - 3579611.49 ± 10
- 4433618.75 ± 5 - 4433618.75 ± 5
(3582056.25 ± 5) (3582056.25 ± 5)
- :cspan:`3` 4433618.75 ± 5 - :cspan:`3` 4433618.75 ± 5
- 4433618.75 ± 1 - 4433618.75 ± 1
- :cspan:`2` f\ :sub:`OR` = 4406250 ± 2000, - :cspan:`2` f\ :sub:`OR` = 4406250 ± 2000,
f\ :sub:`OB` = 4250000 ± 2000 f\ :sub:`OB` = 4250000 ± 2000
* - Nominal radio-frequency channel bandwidth (MHz)
- .. row 5
- Nominal radio-frequency channel bandwidth (MHz)
- 6 - 6
- 6 - 6
- 6 - 6
- B: 7; B1, G: 8 - B: 7; B1, G: 8
- 8 - 8
- 8 - 8
- 8 - 8
- 8 - 8
- 8 - 8
- 8 - 8
- 8 - 8
* - Sound carrier relative to vision carrier (MHz)
- .. row 6
- Sound carrier relative to vision carrier (MHz)
- 4.5 - 4.5
- 4.5 - 4.5
- 4.5 - 4.5
- 5.5 ± 0.001 [#f4]_ [#f5]_ [#f6]_ [#f7]_ - 5.5 ± 0.001 [#f4]_ [#f5]_ [#f6]_ [#f7]_
- 6.5 ± 0.001 - 6.5 ± 0.001
- 5.5 - 5.5
- 5.9996 ± 0.0005 - 5.9996 ± 0.0005
- 5.5 ± 0.001 - 5.5 ± 0.001
- 6.5 ± 0.001 - 6.5 ± 0.001
- 6.5 - 6.5
- 6.5 [#f8]_ - 6.5 [#f8]_
.. raw:: latex .. raw:: latex

View File

@ -123,64 +123,34 @@ Examples
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Type of the buffer, same as struct - Type of the buffer, same as struct
:c:type:`v4l2_format` ``type`` or struct :c:type:`v4l2_format` ``type`` or struct
:c:type:`v4l2_requestbuffers` ``type``, set :c:type:`v4l2_requestbuffers` ``type``, set
by the application. See :c:type:`v4l2_buf_type` by the application. See :c:type:`v4l2_buf_type`
* - __u32
- .. row 2
- __u32
- ``index`` - ``index``
- Number of the buffer, set by the application. This field is only - Number of the buffer, set by the application. This field is only
used for :ref:`memory mapping <mmap>` I/O and can range from used for :ref:`memory mapping <mmap>` I/O and can range from
zero to the number of buffers allocated with the zero to the number of buffers allocated with the
:ref:`VIDIOC_REQBUFS` and/or :ref:`VIDIOC_REQBUFS` and/or
:ref:`VIDIOC_CREATE_BUFS` ioctls. :ref:`VIDIOC_CREATE_BUFS` ioctls.
* - __u32
- .. row 3
- __u32
- ``plane`` - ``plane``
- Index of the plane to be exported when using the multi-planar API. - Index of the plane to be exported when using the multi-planar API.
Otherwise this value must be set to zero. Otherwise this value must be set to zero.
* - __u32
- .. row 4
- __u32
- ``flags`` - ``flags``
- Flags for the newly created file, currently only ``O_CLOEXEC``, - Flags for the newly created file, currently only ``O_CLOEXEC``,
``O_RDONLY``, ``O_WRONLY``, and ``O_RDWR`` are supported, refer to ``O_RDONLY``, ``O_WRONLY``, and ``O_RDWR`` are supported, refer to
the manual of open() for more details. the manual of open() for more details.
* - __s32
- .. row 5
- __s32
- ``fd`` - ``fd``
- The DMABUF file descriptor associated with a buffer. Set by the - The DMABUF file descriptor associated with a buffer. Set by the
driver. driver.
* - __u32
- .. row 6
- __u32
- ``reserved[11]`` - ``reserved[11]``
- Reserved field for future use. Drivers and applications must set - Reserved field for future use. Drivers and applications must set
the array to zero. the array to zero.

View File

@ -58,48 +58,23 @@ return the actual new audio mode.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Identifies the audio input, set by the driver or application. - Identifies the audio input, set by the driver or application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- Name of the audio input, a NUL-terminated ASCII string, for - Name of the audio input, a NUL-terminated ASCII string, for
example: "Line In". This information is intended for the user, example: "Line In". This information is intended for the user,
preferably the connector label on the device itself. preferably the connector label on the device itself.
* - __u32
- .. row 3
- __u32
- ``capability`` - ``capability``
- Audio capability flags, see :ref:`audio-capability`. - Audio capability flags, see :ref:`audio-capability`.
* - __u32
- .. row 4
- __u32
- ``mode`` - ``mode``
- Audio mode flags set by drivers and applications (on - Audio mode flags set by drivers and applications (on
:ref:`VIDIOC_S_AUDIO <VIDIOC_G_AUDIO>` ioctl), see :ref:`audio-mode`. :ref:`VIDIOC_S_AUDIO <VIDIOC_G_AUDIO>` ioctl), see :ref:`audio-mode`.
* - __u32
- .. row 5
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -114,24 +89,14 @@ return the actual new audio mode.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_AUDCAP_STEREO``
- .. row 1
- ``V4L2_AUDCAP_STEREO``
- 0x00001 - 0x00001
- This is a stereo input. The flag is intended to automatically - This is a stereo input. The flag is intended to automatically
disable stereo recording etc. when the signal is always monaural. disable stereo recording etc. when the signal is always monaural.
The API provides no means to detect if stereo is *received*, The API provides no means to detect if stereo is *received*,
unless the audio input belongs to a tuner. unless the audio input belongs to a tuner.
* - ``V4L2_AUDCAP_AVL``
- .. row 2
- ``V4L2_AUDCAP_AVL``
- 0x00002 - 0x00002
- Automatic Volume Level mode is supported. - Automatic Volume Level mode is supported.
@ -145,13 +110,8 @@ return the actual new audio mode.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_AUDMODE_AVL``
- .. row 1
- ``V4L2_AUDMODE_AVL``
- 0x00001 - 0x00001
- AVL mode is on. - AVL mode is on.

View File

@ -65,49 +65,24 @@ as ``VIDIOC_G_AUDOUT`` does.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Identifies the audio output, set by the driver or application. - Identifies the audio output, set by the driver or application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- Name of the audio output, a NUL-terminated ASCII string, for - Name of the audio output, a NUL-terminated ASCII string, for
example: "Line Out". This information is intended for the user, example: "Line Out". This information is intended for the user,
preferably the connector label on the device itself. preferably the connector label on the device itself.
* - __u32
- .. row 3
- __u32
- ``capability`` - ``capability``
- Audio capability flags, none defined yet. Drivers must set this - Audio capability flags, none defined yet. Drivers must set this
field to zero. field to zero.
* - __u32
- .. row 4
- __u32
- ``mode`` - ``mode``
- Audio mode, none defined yet. Drivers and applications (on - Audio mode, none defined yet. Drivers and applications (on
``VIDIOC_S_AUDOUT``) must set this field to zero. ``VIDIOC_S_AUDOUT``) must set this field to zero.
* - __u32
- .. row 5
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.

View File

@ -84,24 +84,14 @@ When cropping is not supported then no parameters are changed and
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Type of the data stream, set by the application. Only these types - Type of the data stream, set by the application. Only these types
are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``, are valid here: ``V4L2_BUF_TYPE_VIDEO_CAPTURE``,
``V4L2_BUF_TYPE_VIDEO_OUTPUT`` and ``V4L2_BUF_TYPE_VIDEO_OUTPUT`` and
``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`. ``V4L2_BUF_TYPE_VIDEO_OVERLAY``. See :c:type:`v4l2_buf_type`.
* - struct :c:type:`v4l2_rect`
- .. row 2
- struct :c:type:`v4l2_rect`
- ``c`` - ``c``
- Cropping rectangle. The same co-ordinate system as for struct - Cropping rectangle. The same co-ordinate system as for struct
:c:type:`v4l2_cropcap` ``bounds`` is used. :c:type:`v4l2_cropcap` ``bounds`` is used.

View File

@ -64,21 +64,11 @@ These ioctls work only with user controls. For other control classes the
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``id`` - ``id``
- Identifies the control, set by the application. - Identifies the control, set by the application.
* - __s32
- .. row 2
- __s32
- ``value`` - ``value``
- New value or current value. - New value or current value.

View File

@ -83,156 +83,71 @@ EBUSY
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``width`` - ``width``
- Width of the active video in pixels. - Width of the active video in pixels.
* - __u32
- .. row 2
- __u32
- ``height`` - ``height``
- Height of the active video frame in lines. So for interlaced - Height of the active video frame in lines. So for interlaced
formats the height of the active video in each field is formats the height of the active video in each field is
``height``/2. ``height``/2.
* - __u32
- .. row 3
- __u32
- ``interlaced`` - ``interlaced``
- Progressive (``V4L2_DV_PROGRESSIVE``) or interlaced (``V4L2_DV_INTERLACED``). - Progressive (``V4L2_DV_PROGRESSIVE``) or interlaced (``V4L2_DV_INTERLACED``).
* - __u32
- .. row 4
- __u32
- ``polarities`` - ``polarities``
- This is a bit mask that defines polarities of sync signals. bit 0 - This is a bit mask that defines polarities of sync signals. bit 0
(``V4L2_DV_VSYNC_POS_POL``) is for vertical sync polarity and bit (``V4L2_DV_VSYNC_POS_POL``) is for vertical sync polarity and bit
1 (``V4L2_DV_HSYNC_POS_POL``) is for horizontal sync polarity. If 1 (``V4L2_DV_HSYNC_POS_POL``) is for horizontal sync polarity. If
the bit is set (1) it is positive polarity and if is cleared (0), the bit is set (1) it is positive polarity and if is cleared (0),
it is negative polarity. it is negative polarity.
* - __u64
- .. row 5
- __u64
- ``pixelclock`` - ``pixelclock``
- Pixel clock in Hz. Ex. 74.25MHz->74250000 - Pixel clock in Hz. Ex. 74.25MHz->74250000
* - __u32
- .. row 6
- __u32
- ``hfrontporch`` - ``hfrontporch``
- Horizontal front porch in pixels - Horizontal front porch in pixels
* - __u32
- .. row 7
- __u32
- ``hsync`` - ``hsync``
- Horizontal sync length in pixels - Horizontal sync length in pixels
* - __u32
- .. row 8
- __u32
- ``hbackporch`` - ``hbackporch``
- Horizontal back porch in pixels - Horizontal back porch in pixels
* - __u32
- .. row 9
- __u32
- ``vfrontporch`` - ``vfrontporch``
- Vertical front porch in lines. For interlaced formats this refers - Vertical front porch in lines. For interlaced formats this refers
to the odd field (aka field 1). to the odd field (aka field 1).
* - __u32
- .. row 10
- __u32
- ``vsync`` - ``vsync``
- Vertical sync length in lines. For interlaced formats this refers - Vertical sync length in lines. For interlaced formats this refers
to the odd field (aka field 1). to the odd field (aka field 1).
* - __u32
- .. row 11
- __u32
- ``vbackporch`` - ``vbackporch``
- Vertical back porch in lines. For interlaced formats this refers - Vertical back porch in lines. For interlaced formats this refers
to the odd field (aka field 1). to the odd field (aka field 1).
* - __u32
- .. row 12
- __u32
- ``il_vfrontporch`` - ``il_vfrontporch``
- Vertical front porch in lines for the even field (aka field 2) of - Vertical front porch in lines for the even field (aka field 2) of
interlaced field formats. Must be 0 for progressive formats. interlaced field formats. Must be 0 for progressive formats.
* - __u32
- .. row 13
- __u32
- ``il_vsync`` - ``il_vsync``
- Vertical sync length in lines for the even field (aka field 2) of - Vertical sync length in lines for the even field (aka field 2) of
interlaced field formats. Must be 0 for progressive formats. interlaced field formats. Must be 0 for progressive formats.
* - __u32
- .. row 14
- __u32
- ``il_vbackporch`` - ``il_vbackporch``
- Vertical back porch in lines for the even field (aka field 2) of - Vertical back porch in lines for the even field (aka field 2) of
interlaced field formats. Must be 0 for progressive formats. interlaced field formats. Must be 0 for progressive formats.
* - __u32
- .. row 15
- __u32
- ``standards`` - ``standards``
- The video standard(s) this format belongs to. This will be filled - The video standard(s) this format belongs to. This will be filled
in by the driver. Applications must set this to 0. See in by the driver. Applications must set this to 0. See
:ref:`dv-bt-standards` for a list of standards. :ref:`dv-bt-standards` for a list of standards.
* - __u32
- .. row 16
- __u32
- ``flags`` - ``flags``
- Several flags giving more information about the format. See - Several flags giving more information about the format. See
:ref:`dv-bt-flags` for a description of the flags. :ref:`dv-bt-flags` for a description of the flags.
* - __u32
- .. row 17
- __u32
- ``reserved[14]`` - ``reserved[14]``
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -246,39 +161,20 @@ EBUSY
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 :widths: 1 1 2 1
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- -
- Type of DV timings as listed in :ref:`dv-timing-types`. - Type of DV timings as listed in :ref:`dv-timing-types`.
* - union
- .. row 2
- union
- -
- -
* -
- .. row 3
-
- struct :c:type:`v4l2_bt_timings` - struct :c:type:`v4l2_bt_timings`
- ``bt`` - ``bt``
- Timings defined by BT.656/1120 specifications - Timings defined by BT.656/1120 specifications
* -
- .. row 4
-
- __u32 - __u32
- ``reserved``\ [32] - ``reserved``\ [32]
- -
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}| .. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
@ -290,27 +186,14 @@ EBUSY
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - Timing type
- .. row 1
- Timing type
- value - value
- Description - Description
* -
- .. row 2
- -
- -
- * - ``V4L2_DV_BT_656_1120``
- .. row 3
- ``V4L2_DV_BT_656_1120``
- 0 - 0
- BT.656/1120 timings - BT.656/1120 timings
@ -321,41 +204,17 @@ EBUSY
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - Timing standard
- .. row 1
- Timing standard
- Description - Description
* - ``V4L2_DV_BT_STD_CEA861``
- .. row 3
- ``V4L2_DV_BT_STD_CEA861``
- The timings follow the CEA-861 Digital TV Profile standard - The timings follow the CEA-861 Digital TV Profile standard
* - ``V4L2_DV_BT_STD_DMT``
- .. row 4
- ``V4L2_DV_BT_STD_DMT``
- The timings follow the VESA Discrete Monitor Timings standard - The timings follow the VESA Discrete Monitor Timings standard
* - ``V4L2_DV_BT_STD_CVT``
- .. row 5
- ``V4L2_DV_BT_STD_CVT``
- The timings follow the VESA Coordinated Video Timings standard - The timings follow the VESA Coordinated Video Timings standard
* - ``V4L2_DV_BT_STD_GTF``
- .. row 6
- ``V4L2_DV_BT_STD_GTF``
- The timings follow the VESA Generalized Timings Formula standard - The timings follow the VESA Generalized Timings Formula standard
* - ``V4L2_DV_BT_STD_SDI``
- .. row 7
- ``V4L2_DV_BT_STD_SDI``
- The timings follow the SDI Timings standard. - The timings follow the SDI Timings standard.
There are no horizontal syncs/porches at all in this format. There are no horizontal syncs/porches at all in this format.
Total blanking timings must be set in hsync or vsync fields only. Total blanking timings must be set in hsync or vsync fields only.
@ -368,27 +227,15 @@ EBUSY
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - Flag
- .. row 1
- Flag
- Description - Description
* - ``V4L2_DV_FL_REDUCED_BLANKING``
- .. row 3
- ``V4L2_DV_FL_REDUCED_BLANKING``
- CVT/GTF specific: the timings use reduced blanking (CVT) or the - CVT/GTF specific: the timings use reduced blanking (CVT) or the
'Secondary GTF' curve (GTF). In both cases the horizontal and/or 'Secondary GTF' curve (GTF). In both cases the horizontal and/or
vertical blanking intervals are reduced, allowing a higher vertical blanking intervals are reduced, allowing a higher
resolution over the same bandwidth. This is a read-only flag, resolution over the same bandwidth. This is a read-only flag,
applications must not set this. applications must not set this.
* - ``V4L2_DV_FL_CAN_REDUCE_FPS``
- .. row 4
- ``V4L2_DV_FL_CAN_REDUCE_FPS``
- CEA-861 specific: set for CEA-861 formats with a framerate that is - CEA-861 specific: set for CEA-861 formats with a framerate that is
a multiple of six. These formats can be optionally played at 1 / a multiple of six. These formats can be optionally played at 1 /
1.001 speed to be compatible with 60 Hz based standards such as 1.001 speed to be compatible with 60 Hz based standards such as
@ -396,11 +243,7 @@ EBUSY
the transmitter can't generate such frequencies, then the flag the transmitter can't generate such frequencies, then the flag
will also be cleared. This is a read-only flag, applications must will also be cleared. This is a read-only flag, applications must
not set this. not set this.
* - ``V4L2_DV_FL_REDUCED_FPS``
- .. row 5
- ``V4L2_DV_FL_REDUCED_FPS``
- CEA-861 specific: only valid for video transmitters, the flag is - CEA-861 specific: only valid for video transmitters, the flag is
cleared by receivers. It is also only valid for formats with the cleared by receivers. It is also only valid for formats with the
``V4L2_DV_FL_CAN_REDUCE_FPS`` flag set, for other formats the ``V4L2_DV_FL_CAN_REDUCE_FPS`` flag set, for other formats the
@ -409,33 +252,21 @@ EBUSY
divided by 1.001 to make it compatible with NTSC framerates. If divided by 1.001 to make it compatible with NTSC framerates. If
the transmitter can't generate such frequencies, then the flag the transmitter can't generate such frequencies, then the flag
will also be cleared. will also be cleared.
* - ``V4L2_DV_FL_HALF_LINE``
- .. row 6
- ``V4L2_DV_FL_HALF_LINE``
- Specific to interlaced formats: if set, then the vertical - Specific to interlaced formats: if set, then the vertical
frontporch of field 1 (aka the odd field) is really one half-line frontporch of field 1 (aka the odd field) is really one half-line
longer and the vertical backporch of field 2 (aka the even field) longer and the vertical backporch of field 2 (aka the even field)
is really one half-line shorter, so each field has exactly the is really one half-line shorter, so each field has exactly the
same number of half-lines. Whether half-lines can be detected or same number of half-lines. Whether half-lines can be detected or
used depends on the hardware. used depends on the hardware.
* - ``V4L2_DV_FL_IS_CE_VIDEO``
- .. row 7
- ``V4L2_DV_FL_IS_CE_VIDEO``
- If set, then this is a Consumer Electronics (CE) video format. - If set, then this is a Consumer Electronics (CE) video format.
Such formats differ from other formats (commonly called IT Such formats differ from other formats (commonly called IT
formats) in that if R'G'B' encoding is used then by default the formats) in that if R'G'B' encoding is used then by default the
R'G'B' values use limited range (i.e. 16-235) as opposed to full R'G'B' values use limited range (i.e. 16-235) as opposed to full
range (i.e. 0-255). All formats defined in CEA-861 except for the range (i.e. 0-255). All formats defined in CEA-861 except for the
640x480p59.94 format are CE formats. 640x480p59.94 format are CE formats.
* - ``V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE``
- .. row 8
- ``V4L2_DV_FL_FIRST_FIELD_EXTRA_LINE``
- Some formats like SMPTE-125M have an interlaced signal with a odd - Some formats like SMPTE-125M have an interlaced signal with a odd
total height. For these formats, if this flag is set, the first total height. For these formats, if this flag is set, the first
field has the extra line. Else, it is the second field. field has the extra line. Else, it is the second field.

View File

@ -106,53 +106,28 @@ EDID is no longer available.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``pad`` - ``pad``
- Pad for which to get/set the EDID blocks. When used with a video - Pad for which to get/set the EDID blocks. When used with a video
device node the pad represents the input or output index as device node the pad represents the input or output index as
returned by :ref:`VIDIOC_ENUMINPUT` and returned by :ref:`VIDIOC_ENUMINPUT` and
:ref:`VIDIOC_ENUMOUTPUT` respectively. :ref:`VIDIOC_ENUMOUTPUT` respectively.
* - __u32
- .. row 2
- __u32
- ``start_block`` - ``start_block``
- Read the EDID from starting with this block. Must be 0 when - Read the EDID from starting with this block. Must be 0 when
setting the EDID. setting the EDID.
* - __u32
- .. row 3
- __u32
- ``blocks`` - ``blocks``
- The number of blocks to get or set. Must be less or equal to 256 - The number of blocks to get or set. Must be less or equal to 256
(the maximum number of blocks as defined by the standard). When (the maximum number of blocks as defined by the standard). When
you set the EDID and ``blocks`` is 0, then the EDID is disabled or you set the EDID and ``blocks`` is 0, then the EDID is disabled or
erased. erased.
* - __u32
- .. row 4
- __u32
- ``reserved``\ [5] - ``reserved``\ [5]
- Reserved for future extensions. Applications and drivers must set - Reserved for future extensions. Applications and drivers must set
the array to zero. the array to zero.
* - __u8 *
- .. row 5
- __u8 *
- ``edid`` - ``edid``
- Pointer to memory that contains the EDID. The minimum size is - Pointer to memory that contains the EDID. The minimum size is
``blocks`` * 128. ``blocks`` * 128.

View File

@ -64,39 +64,19 @@ video elementary streams.
:stub-columns: 0 :stub-columns: 0
:widths: 1 3 8 :widths: 1 3 8
* - __u32
- .. row 1
- __u32
- ``entries`` - ``entries``
- The number of entries the driver stored in the ``entry`` array. - The number of entries the driver stored in the ``entry`` array.
* - __u32
- .. row 2
- __u32
- ``entries_cap`` - ``entries_cap``
- The number of entries the driver can buffer. Must be greater than - The number of entries the driver can buffer. Must be greater than
zero. zero.
* - __u32
- .. row 3
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- Reserved for future extensions. Drivers must set the - Reserved for future extensions. Drivers must set the
array to zero. array to zero.
* - struct :c:type:`v4l2_enc_idx_entry`
- .. row 4
- struct :c:type:`v4l2_enc_idx_entry`
- ``entry``\ [``V4L2_ENC_IDX_ENTRIES``] - ``entry``\ [``V4L2_ENC_IDX_ENTRIES``]
- Meta data about a compressed video stream. Each element of the - Meta data about a compressed video stream. Each element of the
array corresponds to one picture, sorted in ascending order by array corresponds to one picture, sorted in ascending order by
their ``offset``. their ``offset``.
@ -112,51 +92,26 @@ video elementary streams.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u64
- .. row 1
- __u64
- ``offset`` - ``offset``
- The offset in bytes from the beginning of the compressed video - The offset in bytes from the beginning of the compressed video
stream to the beginning of this picture, that is a *PES packet stream to the beginning of this picture, that is a *PES packet
header* as defined in :ref:`mpeg2part1` or a *picture header* as header* as defined in :ref:`mpeg2part1` or a *picture header* as
defined in :ref:`mpeg2part2`. When the encoder is stopped, the defined in :ref:`mpeg2part2`. When the encoder is stopped, the
driver resets the offset to zero. driver resets the offset to zero.
* - __u64
- .. row 2
- __u64
- ``pts`` - ``pts``
- The 33 bit *Presentation Time Stamp* of this picture as defined in - The 33 bit *Presentation Time Stamp* of this picture as defined in
:ref:`mpeg2part1`. :ref:`mpeg2part1`.
* - __u32
- .. row 3
- __u32
- ``length`` - ``length``
- The length of this picture in bytes. - The length of this picture in bytes.
* - __u32
- .. row 4
- __u32
- ``flags`` - ``flags``
- Flags containing the coding type of this picture, see - Flags containing the coding type of this picture, see
:ref:`enc-idx-flags`. :ref:`enc-idx-flags`.
* - __u32
- .. row 5
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. Drivers must set the array to - Reserved for future extensions. Drivers must set the array to
zero. zero.
@ -170,37 +125,17 @@ video elementary streams.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_ENC_IDX_FRAME_I``
- .. row 1
- ``V4L2_ENC_IDX_FRAME_I``
- 0x00 - 0x00
- This is an Intra-coded picture. - This is an Intra-coded picture.
* - ``V4L2_ENC_IDX_FRAME_P``
- .. row 2
- ``V4L2_ENC_IDX_FRAME_P``
- 0x01 - 0x01
- This is a Predictive-coded picture. - This is a Predictive-coded picture.
* - ``V4L2_ENC_IDX_FRAME_B``
- .. row 3
- ``V4L2_ENC_IDX_FRAME_B``
- 0x02 - 0x02
- This is a Bidirectionally predictive-coded picture. - This is a Bidirectionally predictive-coded picture.
* - ``V4L2_ENC_IDX_FRAME_MASK``
- .. row 4
- ``V4L2_ENC_IDX_FRAME_MASK``
- 0x0F - 0x0F
- *AND* the flags field with this mask to obtain the picture coding - *AND* the flags field with this mask to obtain the picture coding
type. type.

View File

@ -111,22 +111,12 @@ still cause this situation.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``id`` - ``id``
- -
- Identifies the control, set by the application. - Identifies the control, set by the application.
* - __u32
- .. row 2
- __u32
- ``size`` - ``size``
- -
- The total size in bytes of the payload of this control. This is - The total size in bytes of the payload of this control. This is
normally 0, but for pointer controls this should be set to the normally 0, but for pointer controls this should be set to the
@ -142,92 +132,48 @@ still cause this situation.
not be confused with the length of the string. This field refers not be confused with the length of the string. This field refers
to the size of the memory that contains the string. The actual to the size of the memory that contains the string. The actual
*length* of the string may well be much smaller. *length* of the string may well be much smaller.
* - __u32
- .. row 3
- __u32
- ``reserved2``\ [1] - ``reserved2``\ [1]
- -
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
* - union
- .. row 4
- union
- (anonymous) - (anonymous)
* -
- .. row 5
-
- __s32 - __s32
- ``value`` - ``value``
- New value or current value. Valid if this control is not of type - New value or current value. Valid if this control is not of type
``V4L2_CTRL_TYPE_INTEGER64`` and ``V4L2_CTRL_FLAG_HAS_PAYLOAD`` is ``V4L2_CTRL_TYPE_INTEGER64`` and ``V4L2_CTRL_FLAG_HAS_PAYLOAD`` is
not set. not set.
* -
- .. row 6
-
- __s64 - __s64
- ``value64`` - ``value64``
- New value or current value. Valid if this control is of type - New value or current value. Valid if this control is of type
``V4L2_CTRL_TYPE_INTEGER64`` and ``V4L2_CTRL_FLAG_HAS_PAYLOAD`` is ``V4L2_CTRL_TYPE_INTEGER64`` and ``V4L2_CTRL_FLAG_HAS_PAYLOAD`` is
not set. not set.
* -
- .. row 7
-
- char * - char *
- ``string`` - ``string``
- A pointer to a string. Valid if this control is of type - A pointer to a string. Valid if this control is of type
``V4L2_CTRL_TYPE_STRING``. ``V4L2_CTRL_TYPE_STRING``.
* -
- .. row 8
-
- __u8 * - __u8 *
- ``p_u8`` - ``p_u8``
- A pointer to a matrix control of unsigned 8-bit values. Valid if - A pointer to a matrix control of unsigned 8-bit values. Valid if
this control is of type ``V4L2_CTRL_TYPE_U8``. this control is of type ``V4L2_CTRL_TYPE_U8``.
* -
- .. row 9
-
- __u16 * - __u16 *
- ``p_u16`` - ``p_u16``
- A pointer to a matrix control of unsigned 16-bit values. Valid if - A pointer to a matrix control of unsigned 16-bit values. Valid if
this control is of type ``V4L2_CTRL_TYPE_U16``. this control is of type ``V4L2_CTRL_TYPE_U16``.
* -
- .. row 10
-
- __u32 * - __u32 *
- ``p_u32`` - ``p_u32``
- A pointer to a matrix control of unsigned 32-bit values. Valid if - A pointer to a matrix control of unsigned 32-bit values. Valid if
this control is of type ``V4L2_CTRL_TYPE_U32``. this control is of type ``V4L2_CTRL_TYPE_U32``.
* -
- .. row 11
-
- void * - void *
- ``ptr`` - ``ptr``
- A pointer to a compound type which can be an N-dimensional array - A pointer to a compound type which can be an N-dimensional array
and/or a compound type (the control's type is >= and/or a compound type (the control's type is >=
``V4L2_CTRL_COMPOUND_TYPES``). Valid if ``V4L2_CTRL_COMPOUND_TYPES``). Valid if
@ -245,20 +191,11 @@ still cause this situation.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 :widths: 1 1 2 1
* - union
- .. row 1
- union
- (anonymous) - (anonymous)
* -
- .. row 2
-
- __u32 - __u32
- ``ctrl_class`` - ``ctrl_class``
- The control class to which all controls belong, see - The control class to which all controls belong, see
:ref:`ctrl-class`. Drivers that use a kernel framework for :ref:`ctrl-class`. Drivers that use a kernel framework for
handling controls will also accept a value of 0 here, meaning that handling controls will also accept a value of 0 here, meaning that
@ -266,14 +203,9 @@ still cause this situation.
support this can be tested by setting ``ctrl_class`` to 0 and support this can be tested by setting ``ctrl_class`` to 0 and
calling :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` with a ``count`` of 0. If that calling :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` with a ``count`` of 0. If that
succeeds, then the driver supports this feature. succeeds, then the driver supports this feature.
* -
- .. row 3
-
- __u32 - __u32
- ``which`` - ``which``
- Which value of the control to get/set/try. - Which value of the control to get/set/try.
``V4L2_CTRL_WHICH_CUR_VAL`` will return the current value of the ``V4L2_CTRL_WHICH_CUR_VAL`` will return the current value of the
control and ``V4L2_CTRL_WHICH_DEF_VAL`` will return the default control and ``V4L2_CTRL_WHICH_DEF_VAL`` will return the default
@ -293,21 +225,11 @@ still cause this situation.
by setting ctrl_class to ``V4L2_CTRL_WHICH_CUR_VAL`` and calling by setting ctrl_class to ``V4L2_CTRL_WHICH_CUR_VAL`` and calling
VIDIOC_TRY_EXT_CTRLS with a count of 0. If that fails, then the VIDIOC_TRY_EXT_CTRLS with a count of 0. If that fails, then the
driver does not support ``V4L2_CTRL_WHICH_CUR_VAL``. driver does not support ``V4L2_CTRL_WHICH_CUR_VAL``.
* - __u32
- .. row 4
- __u32
- ``count`` - ``count``
- The number of controls in the controls array. May also be zero. - The number of controls in the controls array. May also be zero.
* - __u32
- .. row 5
- __u32
- ``error_idx`` - ``error_idx``
- Set by the driver in case of an error. If the error is associated - Set by the driver in case of an error. If the error is associated
with a particular control, then ``error_idx`` is set to the index with a particular control, then ``error_idx`` is set to the index
of that control. If the error is not related to a specific of that control. If the error is not related to a specific
@ -349,23 +271,13 @@ still cause this situation.
then you can call :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` to try to discover the then you can call :ref:`VIDIOC_TRY_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>` to try to discover the
actual control that failed the validation step. Unfortunately, actual control that failed the validation step. Unfortunately,
there is no ``TRY`` equivalent for :ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>`. there is no ``TRY`` equivalent for :ref:`VIDIOC_G_EXT_CTRLS <VIDIOC_G_EXT_CTRLS>`.
* - __u32
- .. row 6
- __u32
- ``reserved``\ [2] - ``reserved``\ [2]
- Reserved for future extensions. - Reserved for future extensions.
Drivers and applications must set the array to zero. Drivers and applications must set the array to zero.
* - struct :c:type:`v4l2_ext_control` *
- .. row 7
- struct :c:type:`v4l2_ext_control` *
- ``controls`` - ``controls``
- Pointer to an array of ``count`` v4l2_ext_control structures. - Pointer to an array of ``count`` v4l2_ext_control structures.
Ignored if ``count`` equals zero. Ignored if ``count`` equals zero.
@ -380,97 +292,47 @@ still cause this situation.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_CTRL_CLASS_USER``
- .. row 1
- ``V4L2_CTRL_CLASS_USER``
- 0x980000 - 0x980000
- The class containing user controls. These controls are described - The class containing user controls. These controls are described
in :ref:`control`. All controls that can be set using the in :ref:`control`. All controls that can be set using the
:ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` and :ref:`VIDIOC_S_CTRL <VIDIOC_G_CTRL>` and
:ref:`VIDIOC_G_CTRL <VIDIOC_G_CTRL>` ioctl belong to this :ref:`VIDIOC_G_CTRL <VIDIOC_G_CTRL>` ioctl belong to this
class. class.
* - ``V4L2_CTRL_CLASS_MPEG``
- .. row 2
- ``V4L2_CTRL_CLASS_MPEG``
- 0x990000 - 0x990000
- The class containing MPEG compression controls. These controls are - The class containing MPEG compression controls. These controls are
described in :ref:`mpeg-controls`. described in :ref:`mpeg-controls`.
* - ``V4L2_CTRL_CLASS_CAMERA``
- .. row 3
- ``V4L2_CTRL_CLASS_CAMERA``
- 0x9a0000 - 0x9a0000
- The class containing camera controls. These controls are described - The class containing camera controls. These controls are described
in :ref:`camera-controls`. in :ref:`camera-controls`.
* - ``V4L2_CTRL_CLASS_FM_TX``
- .. row 4
- ``V4L2_CTRL_CLASS_FM_TX``
- 0x9b0000 - 0x9b0000
- The class containing FM Transmitter (FM TX) controls. These - The class containing FM Transmitter (FM TX) controls. These
controls are described in :ref:`fm-tx-controls`. controls are described in :ref:`fm-tx-controls`.
* - ``V4L2_CTRL_CLASS_FLASH``
- .. row 5
- ``V4L2_CTRL_CLASS_FLASH``
- 0x9c0000 - 0x9c0000
- The class containing flash device controls. These controls are - The class containing flash device controls. These controls are
described in :ref:`flash-controls`. described in :ref:`flash-controls`.
* - ``V4L2_CTRL_CLASS_JPEG``
- .. row 6
- ``V4L2_CTRL_CLASS_JPEG``
- 0x9d0000 - 0x9d0000
- The class containing JPEG compression controls. These controls are - The class containing JPEG compression controls. These controls are
described in :ref:`jpeg-controls`. described in :ref:`jpeg-controls`.
* - ``V4L2_CTRL_CLASS_IMAGE_SOURCE``
- .. row 7
- ``V4L2_CTRL_CLASS_IMAGE_SOURCE``
- 0x9e0000 - 0x9e0000
- The class containing image source controls. These controls are - The class containing image source controls. These controls are
described in :ref:`image-source-controls`. described in :ref:`image-source-controls`.
* - ``V4L2_CTRL_CLASS_IMAGE_PROC``
- .. row 8
- ``V4L2_CTRL_CLASS_IMAGE_PROC``
- 0x9f0000 - 0x9f0000
- The class containing image processing controls. These controls are - The class containing image processing controls. These controls are
described in :ref:`image-process-controls`. described in :ref:`image-process-controls`.
* - ``V4L2_CTRL_CLASS_FM_RX``
- .. row 9
- ``V4L2_CTRL_CLASS_FM_RX``
- 0xa10000 - 0xa10000
- The class containing FM Receiver (FM RX) controls. These controls - The class containing FM Receiver (FM RX) controls. These controls
are described in :ref:`fm-rx-controls`. are described in :ref:`fm-rx-controls`.
* - ``V4L2_CTRL_CLASS_RF_TUNER``
- .. row 10
- ``V4L2_CTRL_CLASS_RF_TUNER``
- 0xa20000 - 0xa20000
- The class containing RF tuner controls. These controls are - The class containing RF tuner controls. These controls are
described in :ref:`rf-tuner-controls`. described in :ref:`rf-tuner-controls`.

View File

@ -86,40 +86,22 @@ destructive video overlay.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``capability`` - ``capability``
- -
- Overlay capability flags set by the driver, see - Overlay capability flags set by the driver, see
:ref:`framebuffer-cap`. :ref:`framebuffer-cap`.
* - __u32
- .. row 2
- __u32
- ``flags`` - ``flags``
- -
- Overlay control flags set by application and driver, see - Overlay control flags set by application and driver, see
:ref:`framebuffer-flags` :ref:`framebuffer-flags`
* - void *
- .. row 3
- void *
- ``base`` - ``base``
- -
- Physical base address of the framebuffer, that is the address of - Physical base address of the framebuffer, that is the address of
the pixel in the top left corner of the framebuffer. [#f1]_ the pixel in the top left corner of the framebuffer. [#f1]_
* -
- .. row 4
-
- -
- -
- This field is irrelevant to *non-destructive Video Overlays*. For - This field is irrelevant to *non-destructive Video Overlays*. For
@ -129,64 +111,35 @@ destructive video overlay.
the driver must return a valid base address, so applications can the driver must return a valid base address, so applications can
find the corresponding Linux framebuffer device (see find the corresponding Linux framebuffer device (see
:ref:`osd`). :ref:`osd`).
* - struct
- .. row 5
- struct
- ``fmt`` - ``fmt``
- -
- Layout of the frame buffer. - Layout of the frame buffer.
* -
- .. row 6
-
- __u32 - __u32
- ``width`` - ``width``
- Width of the frame buffer in pixels. - Width of the frame buffer in pixels.
* -
- .. row 7
-
- __u32 - __u32
- ``height`` - ``height``
- Height of the frame buffer in pixels. - Height of the frame buffer in pixels.
* -
- .. row 8
-
- __u32 - __u32
- ``pixelformat`` - ``pixelformat``
- The pixel format of the framebuffer. - The pixel format of the framebuffer.
* -
- .. row 9
-
- -
- -
- For *non-destructive Video Overlays* this field only defines a - For *non-destructive Video Overlays* this field only defines a
format for the struct :c:type:`v4l2_window` format for the struct :c:type:`v4l2_window`
``chromakey`` field. ``chromakey`` field.
* -
- .. row 10
-
- -
- -
- For *destructive Video Overlays* applications must initialize this - For *destructive Video Overlays* applications must initialize this
field. For *Video Output Overlays* the driver must return a valid field. For *Video Output Overlays* the driver must return a valid
format. format.
* -
- .. row 11
-
- -
- -
- Usually this is an RGB format (for example - Usually this is an RGB format (for example
@ -196,32 +149,19 @@ destructive video overlay.
``V4L2_PIX_FMT_PAL8`` format are also permitted. The behavior of ``V4L2_PIX_FMT_PAL8`` format are also permitted. The behavior of
the driver when an application requests a compressed format is the driver when an application requests a compressed format is
undefined. See :ref:`pixfmt` for information on pixel formats. undefined. See :ref:`pixfmt` for information on pixel formats.
* -
- .. row 12
-
- enum :c:type:`v4l2_field` - enum :c:type:`v4l2_field`
- ``field`` - ``field``
- Drivers and applications shall ignore this field. If applicable, - Drivers and applications shall ignore this field. If applicable,
the field order is selected with the the field order is selected with the
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, using the ``field`` :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, using the ``field``
field of struct :c:type:`v4l2_window`. field of struct :c:type:`v4l2_window`.
* -
- .. row 13
-
- __u32 - __u32
- ``bytesperline`` - ``bytesperline``
- Distance in bytes between the leftmost pixels in two adjacent - Distance in bytes between the leftmost pixels in two adjacent
lines. lines.
* - :cspan:`3`
- .. row 14
- :cspan:`3`
This field is irrelevant to *non-destructive Video Overlays*. This field is irrelevant to *non-destructive Video Overlays*.
@ -247,14 +187,9 @@ destructive video overlay.
following each line as the Y plane. To avoid ambiguities drivers following each line as the Y plane. To avoid ambiguities drivers
must return a ``bytesperline`` value rounded up to a multiple of must return a ``bytesperline`` value rounded up to a multiple of
the scale factor. the scale factor.
* -
- .. row 15
-
- __u32 - __u32
- ``sizeimage`` - ``sizeimage``
- This field is irrelevant to *non-destructive Video Overlays*. For - This field is irrelevant to *non-destructive Video Overlays*. For
*destructive Video Overlays* applications must initialize this *destructive Video Overlays* applications must initialize this
field. For *Video Output Overlays* the driver must return a valid field. For *Video Output Overlays* the driver must return a valid
@ -262,24 +197,14 @@ destructive video overlay.
Together with ``base`` it defines the framebuffer memory Together with ``base`` it defines the framebuffer memory
accessible by the driver. accessible by the driver.
* -
- .. row 16
-
- enum :c:type:`v4l2_colorspace` - enum :c:type:`v4l2_colorspace`
- ``colorspace`` - ``colorspace``
- This information supplements the ``pixelformat`` and must be set - This information supplements the ``pixelformat`` and must be set
by the driver, see :ref:`colorspaces`. by the driver, see :ref:`colorspaces`.
* -
- .. row 17
-
- __u32 - __u32
- ``priv`` - ``priv``
- Reserved. Drivers and applications must set this field to zero. - Reserved. Drivers and applications must set this field to zero.
@ -292,81 +217,41 @@ destructive video overlay.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FBUF_CAP_EXTERNOVERLAY``
- .. row 1
- ``V4L2_FBUF_CAP_EXTERNOVERLAY``
- 0x0001 - 0x0001
- The device is capable of non-destructive overlays. When the driver - The device is capable of non-destructive overlays. When the driver
clears this flag, only destructive overlays are supported. There clears this flag, only destructive overlays are supported. There
are no drivers yet which support both destructive and are no drivers yet which support both destructive and
non-destructive overlays. Video Output Overlays are in practice non-destructive overlays. Video Output Overlays are in practice
always non-destructive. always non-destructive.
* - ``V4L2_FBUF_CAP_CHROMAKEY``
- .. row 2
- ``V4L2_FBUF_CAP_CHROMAKEY``
- 0x0002 - 0x0002
- The device supports clipping by chroma-keying the images. That is, - The device supports clipping by chroma-keying the images. That is,
image pixels replace pixels in the VGA or video signal only where image pixels replace pixels in the VGA or video signal only where
the latter assume a certain color. Chroma-keying makes no sense the latter assume a certain color. Chroma-keying makes no sense
for destructive overlays. for destructive overlays.
* - ``V4L2_FBUF_CAP_LIST_CLIPPING``
- .. row 3
- ``V4L2_FBUF_CAP_LIST_CLIPPING``
- 0x0004 - 0x0004
- The device supports clipping using a list of clip rectangles. - The device supports clipping using a list of clip rectangles.
* - ``V4L2_FBUF_CAP_BITMAP_CLIPPING``
- .. row 4
- ``V4L2_FBUF_CAP_BITMAP_CLIPPING``
- 0x0008 - 0x0008
- The device supports clipping using a bit mask. - The device supports clipping using a bit mask.
* - ``V4L2_FBUF_CAP_LOCAL_ALPHA``
- .. row 5
- ``V4L2_FBUF_CAP_LOCAL_ALPHA``
- 0x0010 - 0x0010
- The device supports clipping/blending using the alpha channel of - The device supports clipping/blending using the alpha channel of
the framebuffer or VGA signal. Alpha blending makes no sense for the framebuffer or VGA signal. Alpha blending makes no sense for
destructive overlays. destructive overlays.
* - ``V4L2_FBUF_CAP_GLOBAL_ALPHA``
- .. row 6
- ``V4L2_FBUF_CAP_GLOBAL_ALPHA``
- 0x0020 - 0x0020
- The device supports alpha blending using a global alpha value. - The device supports alpha blending using a global alpha value.
Alpha blending makes no sense for destructive overlays. Alpha blending makes no sense for destructive overlays.
* - ``V4L2_FBUF_CAP_LOCAL_INV_ALPHA``
- .. row 7
- ``V4L2_FBUF_CAP_LOCAL_INV_ALPHA``
- 0x0040 - 0x0040
- The device supports clipping/blending using the inverted alpha - The device supports clipping/blending using the inverted alpha
channel of the framebuffer or VGA signal. Alpha blending makes no channel of the framebuffer or VGA signal. Alpha blending makes no
sense for destructive overlays. sense for destructive overlays.
* - ``V4L2_FBUF_CAP_SRC_CHROMAKEY``
- .. row 8
- ``V4L2_FBUF_CAP_SRC_CHROMAKEY``
- 0x0080 - 0x0080
- The device supports Source Chroma-keying. Video pixels with the - The device supports Source Chroma-keying. Video pixels with the
chroma-key colors are replaced by framebuffer pixels, which is chroma-key colors are replaced by framebuffer pixels, which is
exactly opposite of ``V4L2_FBUF_CAP_CHROMAKEY`` exactly opposite of ``V4L2_FBUF_CAP_CHROMAKEY``
@ -383,24 +268,14 @@ destructive video overlay.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_FBUF_FLAG_PRIMARY``
- .. row 1
- ``V4L2_FBUF_FLAG_PRIMARY``
- 0x0001 - 0x0001
- The framebuffer is the primary graphics surface. In other words, - The framebuffer is the primary graphics surface. In other words,
the overlay is destructive. This flag is typically set by any the overlay is destructive. This flag is typically set by any
driver that doesn't have the ``V4L2_FBUF_CAP_EXTERNOVERLAY`` driver that doesn't have the ``V4L2_FBUF_CAP_EXTERNOVERLAY``
capability and it is cleared otherwise. capability and it is cleared otherwise.
* - ``V4L2_FBUF_FLAG_OVERLAY``
- .. row 2
- ``V4L2_FBUF_FLAG_OVERLAY``
- 0x0002 - 0x0002
- If this flag is set for a video capture device, then the driver - If this flag is set for a video capture device, then the driver
will set the initial overlay size to cover the full framebuffer will set the initial overlay size to cover the full framebuffer
size, otherwise the existing overlay size (as set by size, otherwise the existing overlay size (as set by
@ -414,42 +289,24 @@ destructive video overlay.
relative to the top-left corner of the framebuffer and restricted relative to the top-left corner of the framebuffer and restricted
to the size of the framebuffer. If it is cleared, then the video to the size of the framebuffer. If it is cleared, then the video
output overlay window is relative to the video output display. output overlay window is relative to the video output display.
* - ``V4L2_FBUF_FLAG_CHROMAKEY``
- .. row 3
- ``V4L2_FBUF_FLAG_CHROMAKEY``
- 0x0004 - 0x0004
- Use chroma-keying. The chroma-key color is determined by the - Use chroma-keying. The chroma-key color is determined by the
``chromakey`` field of struct :c:type:`v4l2_window` ``chromakey`` field of struct :c:type:`v4l2_window`
and negotiated with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` and negotiated with the :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>`
ioctl, see :ref:`overlay` and :ref:`osd`. ioctl, see :ref:`overlay` and :ref:`osd`.
* - :cspan:`2` There are no flags to enable clipping using a list of
- .. row 4
- :cspan:`2` There are no flags to enable clipping using a list of
clip rectangles or a bitmap. These methods are negotiated with the clip rectangles or a bitmap. These methods are negotiated with the
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, see :ref:`overlay` :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, see :ref:`overlay`
and :ref:`osd`. and :ref:`osd`.
* - ``V4L2_FBUF_FLAG_LOCAL_ALPHA``
- .. row 5
- ``V4L2_FBUF_FLAG_LOCAL_ALPHA``
- 0x0008 - 0x0008
- Use the alpha channel of the framebuffer to clip or blend - Use the alpha channel of the framebuffer to clip or blend
framebuffer pixels with video images. The blend function is: framebuffer pixels with video images. The blend function is:
output = framebuffer pixel * alpha + video pixel * (1 - alpha). output = framebuffer pixel * alpha + video pixel * (1 - alpha).
The actual alpha depth depends on the framebuffer pixel format. The actual alpha depth depends on the framebuffer pixel format.
* - ``V4L2_FBUF_FLAG_GLOBAL_ALPHA``
- .. row 6
- ``V4L2_FBUF_FLAG_GLOBAL_ALPHA``
- 0x0010 - 0x0010
- Use a global alpha value to blend the framebuffer with video - Use a global alpha value to blend the framebuffer with video
images. The blend function is: output = (framebuffer pixel * alpha images. The blend function is: output = (framebuffer pixel * alpha
+ video pixel * (255 - alpha)) / 255. The alpha value is + video pixel * (255 - alpha)) / 255. The alpha value is
@ -457,25 +314,15 @@ destructive video overlay.
:c:type:`v4l2_window` and negotiated with the :c:type:`v4l2_window` and negotiated with the
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, see :ref:`overlay` :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl, see :ref:`overlay`
and :ref:`osd`. and :ref:`osd`.
* - ``V4L2_FBUF_FLAG_LOCAL_INV_ALPHA``
- .. row 7
- ``V4L2_FBUF_FLAG_LOCAL_INV_ALPHA``
- 0x0020 - 0x0020
- Like ``V4L2_FBUF_FLAG_LOCAL_ALPHA``, use the alpha channel of the - Like ``V4L2_FBUF_FLAG_LOCAL_ALPHA``, use the alpha channel of the
framebuffer to clip or blend framebuffer pixels with video images, framebuffer to clip or blend framebuffer pixels with video images,
but with an inverted alpha value. The blend function is: output = but with an inverted alpha value. The blend function is: output =
framebuffer pixel * (1 - alpha) + video pixel * alpha. The actual framebuffer pixel * (1 - alpha) + video pixel * alpha. The actual
alpha depth depends on the framebuffer pixel format. alpha depth depends on the framebuffer pixel format.
* - ``V4L2_FBUF_FLAG_SRC_CHROMAKEY``
- .. row 8
- ``V4L2_FBUF_FLAG_SRC_CHROMAKEY``
- 0x0040 - 0x0040
- Use source chroma-keying. The source chroma-key color is - Use source chroma-keying. The source chroma-key color is
determined by the ``chromakey`` field of struct determined by the ``chromakey`` field of struct
:c:type:`v4l2_window` and negotiated with the :c:type:`v4l2_window` and negotiated with the

View File

@ -93,91 +93,47 @@ The format as returned by :ref:`VIDIOC_TRY_FMT <VIDIOC_G_FMT>` must be identical
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- -
- Type of the data stream, see :c:type:`v4l2_buf_type`. - Type of the data stream, see :c:type:`v4l2_buf_type`.
* - union
- .. row 2
- union
- ``fmt`` - ``fmt``
* -
- .. row 3
-
- struct :c:type:`v4l2_pix_format` - struct :c:type:`v4l2_pix_format`
- ``pix`` - ``pix``
- Definition of an image format, see :ref:`pixfmt`, used by video - Definition of an image format, see :ref:`pixfmt`, used by video
capture and output devices. capture and output devices.
* -
- .. row 4
-
- struct :c:type:`v4l2_pix_format_mplane` - struct :c:type:`v4l2_pix_format_mplane`
- ``pix_mp`` - ``pix_mp``
- Definition of an image format, see :ref:`pixfmt`, used by video - Definition of an image format, see :ref:`pixfmt`, used by video
capture and output devices that support the capture and output devices that support the
:ref:`multi-planar version of the API <planar-apis>`. :ref:`multi-planar version of the API <planar-apis>`.
* -
- .. row 5
-
- struct :c:type:`v4l2_window` - struct :c:type:`v4l2_window`
- ``win`` - ``win``
- Definition of an overlaid image, see :ref:`overlay`, used by - Definition of an overlaid image, see :ref:`overlay`, used by
video overlay devices. video overlay devices.
* -
- .. row 6
-
- struct :c:type:`v4l2_vbi_format` - struct :c:type:`v4l2_vbi_format`
- ``vbi`` - ``vbi``
- Raw VBI capture or output parameters. This is discussed in more - Raw VBI capture or output parameters. This is discussed in more
detail in :ref:`raw-vbi`. Used by raw VBI capture and output detail in :ref:`raw-vbi`. Used by raw VBI capture and output
devices. devices.
* -
- .. row 7
-
- struct :c:type:`v4l2_sliced_vbi_format` - struct :c:type:`v4l2_sliced_vbi_format`
- ``sliced`` - ``sliced``
- Sliced VBI capture or output parameters. See :ref:`sliced` for - Sliced VBI capture or output parameters. See :ref:`sliced` for
details. Used by sliced VBI capture and output devices. details. Used by sliced VBI capture and output devices.
* -
- .. row 8
-
- struct :c:type:`v4l2_sdr_format` - struct :c:type:`v4l2_sdr_format`
- ``sdr`` - ``sdr``
- Definition of a data format, see :ref:`pixfmt`, used by SDR - Definition of a data format, see :ref:`pixfmt`, used by SDR
capture and output devices. capture and output devices.
* -
- .. row 9
-
- __u8 - __u8
- ``raw_data``\ [200] - ``raw_data``\ [200]
- Place holder for future extensions. - Place holder for future extensions.

View File

@ -60,51 +60,31 @@ write-only ioctl, it does not return the actual new frequency.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``tuner`` - ``tuner``
- The tuner or modulator index number. This is the same value as in - The tuner or modulator index number. This is the same value as in
the struct :c:type:`v4l2_input` ``tuner`` field and the struct :c:type:`v4l2_input` ``tuner`` field and
the struct :c:type:`v4l2_tuner` ``index`` field, or the struct :c:type:`v4l2_tuner` ``index`` field, or
the struct :c:type:`v4l2_output` ``modulator`` field the struct :c:type:`v4l2_output` ``modulator`` field
and the struct :c:type:`v4l2_modulator` ``index`` and the struct :c:type:`v4l2_modulator` ``index``
field. field.
* - __u32
- .. row 2
- __u32
- ``type`` - ``type``
- The tuner type. This is the same value as in the struct - The tuner type. This is the same value as in the struct
:c:type:`v4l2_tuner` ``type`` field. The type must be :c:type:`v4l2_tuner` ``type`` field. The type must be
set to ``V4L2_TUNER_RADIO`` for ``/dev/radioX`` device nodes, and set to ``V4L2_TUNER_RADIO`` for ``/dev/radioX`` device nodes, and
to ``V4L2_TUNER_ANALOG_TV`` for all others. Set this field to to ``V4L2_TUNER_ANALOG_TV`` for all others. Set this field to
``V4L2_TUNER_RADIO`` for modulators (currently only radio ``V4L2_TUNER_RADIO`` for modulators (currently only radio
modulators are supported). See :c:type:`v4l2_tuner_type` modulators are supported). See :c:type:`v4l2_tuner_type`
* - __u32
- .. row 3
- __u32
- ``frequency`` - ``frequency``
- Tuning frequency in units of 62.5 kHz, or if the struct - Tuning frequency in units of 62.5 kHz, or if the struct
:c:type:`v4l2_tuner` or struct :c:type:`v4l2_tuner` or struct
:c:type:`v4l2_modulator` ``capability`` flag :c:type:`v4l2_modulator` ``capability`` flag
``V4L2_TUNER_CAP_LOW`` is set, in units of 62.5 Hz. A 1 Hz unit is ``V4L2_TUNER_CAP_LOW`` is set, in units of 62.5 Hz. A 1 Hz unit is
used when the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set. used when the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is set.
* - __u32
- .. row 4
- __u32
- ``reserved``\ [8] - ``reserved``\ [8]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.

View File

@ -63,64 +63,29 @@ encoding. You usually do want to add them.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - int
- .. row 1
- int
- ``quality`` - ``quality``
- Deprecated. If - Deprecated. If
:ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>` :ref:`V4L2_CID_JPEG_COMPRESSION_QUALITY <jpeg-quality-control>`
control is exposed by a driver applications should use it instead control is exposed by a driver applications should use it instead
and ignore this field. and ignore this field.
* - int
- .. row 2
- int
- ``APPn`` - ``APPn``
- -
* - int
- .. row 3
- int
- ``APP_len`` - ``APP_len``
- -
* - char
- .. row 4
- char
- ``APP_data``\ [60] - ``APP_data``\ [60]
- -
* - int
- .. row 5
- int
- ``COM_len`` - ``COM_len``
- -
* - char
- .. row 6
- char
- ``COM_data``\ [60] - ``COM_data``\ [60]
- -
* - __u32
- .. row 7
- __u32
- ``jpeg_markers`` - ``jpeg_markers``
- See :ref:`jpeg-markers`. Deprecated. If - See :ref:`jpeg-markers`. Deprecated. If
:ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>` :ref:`V4L2_CID_JPEG_ACTIVE_MARKER <jpeg-active-marker-control>`
control is exposed by a driver applications should use it instead control is exposed by a driver applications should use it instead
@ -136,45 +101,20 @@ encoding. You usually do want to add them.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_JPEG_MARKER_DHT``
- .. row 1
- ``V4L2_JPEG_MARKER_DHT``
- (1<<3) - (1<<3)
- Define Huffman Tables - Define Huffman Tables
* - ``V4L2_JPEG_MARKER_DQT``
- .. row 2
- ``V4L2_JPEG_MARKER_DQT``
- (1<<4) - (1<<4)
- Define Quantization Tables - Define Quantization Tables
* - ``V4L2_JPEG_MARKER_DRI``
- .. row 3
- ``V4L2_JPEG_MARKER_DRI``
- (1<<5) - (1<<5)
- Define Restart Interval - Define Restart Interval
* - ``V4L2_JPEG_MARKER_COM``
- .. row 4
- ``V4L2_JPEG_MARKER_COM``
- (1<<6) - (1<<6)
- Comment segment - Comment segment
* - ``V4L2_JPEG_MARKER_APP``
- .. row 5
- ``V4L2_JPEG_MARKER_APP``
- (1<<7) - (1<<7)
- App segment, driver will always use APP0 - App segment, driver will always use APP0

View File

@ -69,65 +69,35 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 1 1 :widths: 1 1 2 1 1
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- Identifies the modulator, set by the application. - Identifies the modulator, set by the application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- Name of the modulator, a NUL-terminated ASCII string. - Name of the modulator, a NUL-terminated ASCII string.
This information is intended for the user. This information is intended for the user.
* - __u32
- .. row 3
- __u32
- ``capability`` - ``capability``
- Modulator capability flags. No flags are defined for this field, - Modulator capability flags. No flags are defined for this field,
the tuner flags in struct :c:type:`v4l2_tuner` are the tuner flags in struct :c:type:`v4l2_tuner` are
used accordingly. The audio flags indicate the ability to encode used accordingly. The audio flags indicate the ability to encode
audio subprograms. They will *not* change for example with the audio subprograms. They will *not* change for example with the
current video standard. current video standard.
* - __u32
- .. row 4
- __u32
- ``rangelow`` - ``rangelow``
- The lowest tunable frequency in units of 62.5 KHz, or if the - The lowest tunable frequency in units of 62.5 KHz, or if the
``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units of ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units of
62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is 62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is
set, in units of 1 Hz. set, in units of 1 Hz.
* - __u32
- .. row 5
- __u32
- ``rangehigh`` - ``rangehigh``
- The highest tunable frequency in units of 62.5 KHz, or if the - The highest tunable frequency in units of 62.5 KHz, or if the
``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units of ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units of
62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is 62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` is
set, in units of 1 Hz. set, in units of 1 Hz.
* - __u32
- .. row 6
- __u32
- ``txsubchans`` - ``txsubchans``
- With this field applications can determine how audio sub-carriers - With this field applications can determine how audio sub-carriers
shall be modulated. It contains a set of flags as defined in shall be modulated. It contains a set of flags as defined in
:ref:`modulator-txsubchans`. :ref:`modulator-txsubchans`.
@ -140,21 +110,11 @@ To change the radio frequency the
channels. The ``txsubchans`` flags select one or more channels channels. The ``txsubchans`` flags select one or more channels
for modulation, together with some audio subprogram indicator, for modulation, together with some audio subprogram indicator,
for example, a stereo pilot tone. for example, a stereo pilot tone.
* - __u32
- .. row 7
- __u32
- ``type`` - ``type``
- :cspan:`2` Type of the modulator, see :c:type:`v4l2_tuner_type`. - :cspan:`2` Type of the modulator, see :c:type:`v4l2_tuner_type`.
* - __u32
- .. row 8
- __u32
- ``reserved``\ [3] - ``reserved``\ [3]
- Reserved for future extensions. - Reserved for future extensions.
Drivers and applications must set the array to zero. Drivers and applications must set the array to zero.
@ -170,37 +130,22 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TUNER_SUB_MONO``
- .. row 1
- ``V4L2_TUNER_SUB_MONO``
- 0x0001 - 0x0001
- Modulate channel 1 as mono audio, when the input has more - Modulate channel 1 as mono audio, when the input has more
channels, a down-mix of channel 1 and 2. This flag does not channels, a down-mix of channel 1 and 2. This flag does not
combine with ``V4L2_TUNER_SUB_STEREO`` or combine with ``V4L2_TUNER_SUB_STEREO`` or
``V4L2_TUNER_SUB_LANG1``. ``V4L2_TUNER_SUB_LANG1``.
* - ``V4L2_TUNER_SUB_STEREO``
- .. row 2
- ``V4L2_TUNER_SUB_STEREO``
- 0x0002 - 0x0002
- Modulate channel 1 and 2 as left and right channel of a stereo - Modulate channel 1 and 2 as left and right channel of a stereo
audio signal. When the input has only one channel or two channels audio signal. When the input has only one channel or two channels
and ``V4L2_TUNER_SUB_SAP`` is also set, channel 1 is encoded as and ``V4L2_TUNER_SUB_SAP`` is also set, channel 1 is encoded as
left and right channel. This flag does not combine with left and right channel. This flag does not combine with
``V4L2_TUNER_SUB_MONO`` or ``V4L2_TUNER_SUB_LANG1``. When the ``V4L2_TUNER_SUB_MONO`` or ``V4L2_TUNER_SUB_LANG1``. When the
driver does not support stereo audio it shall fall back to mono. driver does not support stereo audio it shall fall back to mono.
* - ``V4L2_TUNER_SUB_LANG1``
- .. row 3
- ``V4L2_TUNER_SUB_LANG1``
- 0x0008 - 0x0008
- Modulate channel 1 and 2 as primary and secondary language of a - Modulate channel 1 and 2 as primary and secondary language of a
bilingual audio signal. When the input has only one channel it is bilingual audio signal. When the input has only one channel it is
used for both languages. It is not possible to encode the primary used for both languages. It is not possible to encode the primary
@ -211,21 +156,11 @@ To change the radio frequency the
permit bilingual audio the :ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl shall permit bilingual audio the :ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl shall
return an ``EINVAL`` error code and the driver shall fall back to mono return an ``EINVAL`` error code and the driver shall fall back to mono
or stereo mode. or stereo mode.
* - ``V4L2_TUNER_SUB_LANG2``
- .. row 4
- ``V4L2_TUNER_SUB_LANG2``
- 0x0004 - 0x0004
- Same effect as ``V4L2_TUNER_SUB_SAP``. - Same effect as ``V4L2_TUNER_SUB_SAP``.
* - ``V4L2_TUNER_SUB_SAP``
- .. row 5
- ``V4L2_TUNER_SUB_SAP``
- 0x0004 - 0x0004
- When combined with ``V4L2_TUNER_SUB_MONO`` the first channel is - When combined with ``V4L2_TUNER_SUB_MONO`` the first channel is
encoded as mono audio, the last channel as Second Audio Program. encoded as mono audio, the last channel as Second Audio Program.
When the input has only one channel it is used for both audio When the input has only one channel it is used for both audio
@ -242,13 +177,8 @@ To change the radio frequency the
current video standard does not permit SAP the current video standard does not permit SAP the
:ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl shall return an ``EINVAL`` error code and :ref:`VIDIOC_S_MODULATOR <VIDIOC_G_MODULATOR>` ioctl shall return an ``EINVAL`` error code and
driver shall fall back to mono or stereo mode. driver shall fall back to mono or stereo mode.
* - ``V4L2_TUNER_SUB_RDS``
- .. row 6
- ``V4L2_TUNER_SUB_RDS``
- 0x0010 - 0x0010
- Enable the RDS encoder for a radio FM transmitter. - Enable the RDS encoder for a radio FM transmitter.

View File

@ -60,54 +60,29 @@ union holding separate parameters for input and output devices.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 1 2 :widths: 1 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- -
- The buffer (stream) type, same as struct - The buffer (stream) type, same as struct
:c:type:`v4l2_format` ``type``, set by the :c:type:`v4l2_format` ``type``, set by the
application. See :c:type:`v4l2_buf_type` application. See :c:type:`v4l2_buf_type`
* - union
- .. row 2
- union
- ``parm`` - ``parm``
- -
- -
* -
- .. row 3
-
- struct :c:type:`v4l2_captureparm` - struct :c:type:`v4l2_captureparm`
- ``capture`` - ``capture``
- Parameters for capture devices, used when ``type`` is - Parameters for capture devices, used when ``type`` is
``V4L2_BUF_TYPE_VIDEO_CAPTURE``. ``V4L2_BUF_TYPE_VIDEO_CAPTURE``.
* -
- .. row 4
-
- struct :c:type:`v4l2_outputparm` - struct :c:type:`v4l2_outputparm`
- ``output`` - ``output``
- Parameters for output devices, used when ``type`` is - Parameters for output devices, used when ``type`` is
``V4L2_BUF_TYPE_VIDEO_OUTPUT``. ``V4L2_BUF_TYPE_VIDEO_OUTPUT``.
* -
- .. row 5
-
- __u8 - __u8
- ``raw_data``\ [200] - ``raw_data``\ [200]
- A place holder for future extensions. - A place holder for future extensions.
@ -121,29 +96,14 @@ union holding separate parameters for input and output devices.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``capability`` - ``capability``
- See :ref:`parm-caps`. - See :ref:`parm-caps`.
* - __u32
- .. row 2
- __u32
- ``capturemode`` - ``capturemode``
- Set by drivers and applications, see :ref:`parm-flags`. - Set by drivers and applications, see :ref:`parm-flags`.
* - struct :c:type:`v4l2_fract`
- .. row 3
- struct :c:type:`v4l2_fract`
- ``timeperframe`` - ``timeperframe``
- This is the desired period between successive frames captured by - This is the desired period between successive frames captured by
the driver, in seconds. The field is intended to skip frames on the driver, in seconds. The field is intended to skip frames on
the driver side, saving I/O bandwidth. the driver side, saving I/O bandwidth.
@ -159,37 +119,22 @@ union holding separate parameters for input and output devices.
Drivers support this function only when they set the Drivers support this function only when they set the
``V4L2_CAP_TIMEPERFRAME`` flag in the ``capability`` field. ``V4L2_CAP_TIMEPERFRAME`` flag in the ``capability`` field.
* - __u32
- .. row 4
- __u32
- ``extendedmode`` - ``extendedmode``
- Custom (driver specific) streaming parameters. When unused, - Custom (driver specific) streaming parameters. When unused,
applications and drivers must set this field to zero. Applications applications and drivers must set this field to zero. Applications
using this field should check the driver name and version, see using this field should check the driver name and version, see
:ref:`querycap`. :ref:`querycap`.
* - __u32
- .. row 5
- __u32
- ``readbuffers`` - ``readbuffers``
- Applications set this field to the desired number of buffers used - Applications set this field to the desired number of buffers used
internally by the driver in :ref:`read() <func-read>` mode. internally by the driver in :ref:`read() <func-read>` mode.
Drivers return the actual number of buffers. When an application Drivers return the actual number of buffers. When an application
requests zero buffers, drivers should just return the current requests zero buffers, drivers should just return the current
setting rather than the minimum or an error code. For details see setting rather than the minimum or an error code. For details see
:ref:`rw`. :ref:`rw`.
* - __u32
- .. row 6
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -204,35 +149,17 @@ union holding separate parameters for input and output devices.
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``capability`` - ``capability``
- See :ref:`parm-caps`. - See :ref:`parm-caps`.
* - __u32
- .. row 2
- __u32
- ``outputmode`` - ``outputmode``
- Set by drivers and applications, see :ref:`parm-flags`. - Set by drivers and applications, see :ref:`parm-flags`.
* - struct :c:type:`v4l2_fract`
- .. row 3
- struct :c:type:`v4l2_fract`
- ``timeperframe`` - ``timeperframe``
- This is the desired period between successive frames output by the - This is the desired period between successive frames output by the
driver, in seconds. driver, in seconds.
* - :cspan:`2`
- .. row 4
- :cspan:`2`
The field is intended to repeat frames on the driver side in The field is intended to repeat frames on the driver side in
:ref:`write() <func-write>` mode (in streaming mode timestamps :ref:`write() <func-write>` mode (in streaming mode timestamps
@ -249,37 +176,22 @@ union holding separate parameters for input and output devices.
Drivers support this function only when they set the Drivers support this function only when they set the
``V4L2_CAP_TIMEPERFRAME`` flag in the ``capability`` field. ``V4L2_CAP_TIMEPERFRAME`` flag in the ``capability`` field.
* - __u32
- .. row 5
- __u32
- ``extendedmode`` - ``extendedmode``
- Custom (driver specific) streaming parameters. When unused, - Custom (driver specific) streaming parameters. When unused,
applications and drivers must set this field to zero. Applications applications and drivers must set this field to zero. Applications
using this field should check the driver name and version, see using this field should check the driver name and version, see
:ref:`querycap`. :ref:`querycap`.
* - __u32
- .. row 6
- __u32
- ``writebuffers`` - ``writebuffers``
- Applications set this field to the desired number of buffers used - Applications set this field to the desired number of buffers used
internally by the driver in :ref:`write() <func-write>` mode. Drivers internally by the driver in :ref:`write() <func-write>` mode. Drivers
return the actual number of buffers. When an application requests return the actual number of buffers. When an application requests
zero buffers, drivers should just return the current setting zero buffers, drivers should just return the current setting
rather than the minimum or an error code. For details see rather than the minimum or an error code. For details see
:ref:`rw`. :ref:`rw`.
* - __u32
- .. row 7
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- Reserved for future extensions. Drivers and applications must set - Reserved for future extensions. Drivers and applications must set
the array to zero. the array to zero.
@ -294,13 +206,8 @@ union holding separate parameters for input and output devices.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_CAP_TIMEPERFRAME``
- .. row 1
- ``V4L2_CAP_TIMEPERFRAME``
- 0x1000 - 0x1000
- The frame skipping/repeating controlled by the ``timeperframe`` - The frame skipping/repeating controlled by the ``timeperframe``
field is supported. field is supported.
@ -315,13 +222,8 @@ union holding separate parameters for input and output devices.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_MODE_HIGHQUALITY``
- .. row 1
- ``V4L2_MODE_HIGHQUALITY``
- 0x0001 - 0x0001
- High quality imaging mode. High quality mode is intended for still - High quality imaging mode. High quality mode is intended for still
imaging applications. The idea is to get the best possible image imaging applications. The idea is to get the best possible image
quality that the hardware can deliver. It is not defined how the quality that the hardware can deliver. It is not defined how the

View File

@ -53,52 +53,27 @@ with a pointer to this variable.
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_PRIORITY_UNSET``
- .. row 1
- ``V4L2_PRIORITY_UNSET``
- 0 - 0
- -
* - ``V4L2_PRIORITY_BACKGROUND``
- .. row 2
- ``V4L2_PRIORITY_BACKGROUND``
- 1 - 1
- Lowest priority, usually applications running in background, for - Lowest priority, usually applications running in background, for
example monitoring VBI transmissions. A proxy application running example monitoring VBI transmissions. A proxy application running
in user space will be necessary if multiple applications want to in user space will be necessary if multiple applications want to
read from a device at this priority. read from a device at this priority.
* - ``V4L2_PRIORITY_INTERACTIVE``
- .. row 3
- ``V4L2_PRIORITY_INTERACTIVE``
- 2 - 2
- -
* - ``V4L2_PRIORITY_DEFAULT``
- .. row 4
- ``V4L2_PRIORITY_DEFAULT``
- 2 - 2
- Medium priority, usually applications started and interactively - Medium priority, usually applications started and interactively
controlled by the user. For example TV viewers, Teletext browsers, controlled by the user. For example TV viewers, Teletext browsers,
or just "panel" applications to change the channel or video or just "panel" applications to change the channel or video
controls. This is the default priority unless an application controls. This is the default priority unless an application
requests another. requests another.
* - ``V4L2_PRIORITY_RECORD``
- .. row 5
- ``V4L2_PRIORITY_RECORD``
- 3 - 3
- Highest priority. Only one file descriptor can have this priority, - Highest priority. Only one file descriptor can have this priority,
it blocks any other fd from changing device properties. Usually it blocks any other fd from changing device properties. Usually
applications which must not be interrupted, like video recording. applications which must not be interrupted, like video recording.

View File

@ -149,48 +149,23 @@ Selection targets and flags are documented in
:stub-columns: 0 :stub-columns: 0
:widths: 1 1 2 :widths: 1 1 2
* - __u32
- .. row 1
- __u32
- ``type`` - ``type``
- Type of the buffer (from enum - Type of the buffer (from enum
:c:type:`v4l2_buf_type`). :c:type:`v4l2_buf_type`).
* - __u32
- .. row 2
- __u32
- ``target`` - ``target``
- Used to select between - Used to select between
:ref:`cropping and composing rectangles <v4l2-selections-common>`. :ref:`cropping and composing rectangles <v4l2-selections-common>`.
* - __u32
- .. row 3
- __u32
- ``flags`` - ``flags``
- Flags controlling the selection rectangle adjustments, refer to - Flags controlling the selection rectangle adjustments, refer to
:ref:`selection flags <v4l2-selection-flags>`. :ref:`selection flags <v4l2-selection-flags>`.
* - struct :c:type:`v4l2_rect`
- .. row 4
- struct :c:type:`v4l2_rect`
- ``r`` - ``r``
- The selection rectangle. - The selection rectangle.
* - __u32
- .. row 5
- __u32
- ``reserved[9]`` - ``reserved[9]``
- Reserved fields for future use. Drivers and applications must zero - Reserved fields for future use. Drivers and applications must zero
this array. this array.

View File

@ -53,85 +53,44 @@ the sliced VBI API is unsupported or ``type`` is invalid.
:stub-columns: 0 :stub-columns: 0
:widths: 3 3 2 2 2 :widths: 3 3 2 2 2
* - __u16
- .. row 1
- __u16
- ``service_set`` - ``service_set``
- :cspan:`2` A set of all data services supported by the driver. - :cspan:`2` A set of all data services supported by the driver.
Equal to the union of all elements of the ``service_lines`` array. Equal to the union of all elements of the ``service_lines`` array.
* - __u16
- .. row 2
- __u16
- ``service_lines``\ [2][24] - ``service_lines``\ [2][24]
- :cspan:`2` Each element of this array contains a set of data - :cspan:`2` Each element of this array contains a set of data
services the hardware can look for or insert into a particular services the hardware can look for or insert into a particular
scan line. Data services are defined in :ref:`vbi-services`. scan line. Data services are defined in :ref:`vbi-services`.
Array indices map to ITU-R line numbers\ [#f1]_ as follows: Array indices map to ITU-R line numbers\ [#f1]_ as follows:
* -
- .. row 3
-
- -
- Element - Element
- 525 line systems - 525 line systems
- 625 line systems - 625 line systems
* -
- .. row 4
-
- -
- ``service_lines``\ [0][1] - ``service_lines``\ [0][1]
- 1 - 1
- 1 - 1
* -
- .. row 5
-
- -
- ``service_lines``\ [0][23] - ``service_lines``\ [0][23]
- 23 - 23
- 23 - 23
* -
- .. row 6
-
- -
- ``service_lines``\ [1][1] - ``service_lines``\ [1][1]
- 264 - 264
- 314 - 314
* -
- .. row 7
-
- -
- ``service_lines``\ [1][23] - ``service_lines``\ [1][23]
- 286 - 286
- 336 - 336
* -
- .. row 8 * -
-
- .. row 9
-
- -
- :cspan:`2` The number of VBI lines the hardware can capture or - :cspan:`2` The number of VBI lines the hardware can capture or
output per frame, or the number of services it can identify on a output per frame, or the number of services it can identify on a
@ -140,34 +99,18 @@ the sliced VBI API is unsupported or ``type`` is invalid.
the same time. Applications can learn about these limits using the the same time. Applications can learn about these limits using the
:ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl as described in :ref:`VIDIOC_S_FMT <VIDIOC_G_FMT>` ioctl as described in
:ref:`sliced`. :ref:`sliced`.
* -
- .. row 10 * -
-
- .. row 11
-
- -
- :cspan:`2` Drivers must set ``service_lines`` [0][0] and - :cspan:`2` Drivers must set ``service_lines`` [0][0] and
``service_lines``\ [1][0] to zero. ``service_lines``\ [1][0] to zero.
* - __u32
- .. row 12
- __u32
- ``type`` - ``type``
- Type of the data stream, see :c:type:`v4l2_buf_type`. Should be - Type of the data stream, see :c:type:`v4l2_buf_type`. Should be
``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE`` or ``V4L2_BUF_TYPE_SLICED_VBI_CAPTURE`` or
``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``. ``V4L2_BUF_TYPE_SLICED_VBI_OUTPUT``.
* - __u32
- .. row 13
- __u32
- ``reserved``\ [3] - ``reserved``\ [3]
- :cspan:`2` This array is reserved for future extensions. - :cspan:`2` This array is reserved for future extensions.
Applications and drivers must set it to zero. Applications and drivers must set it to zero.
@ -190,72 +133,37 @@ the sliced VBI API is unsupported or ``type`` is invalid.
:stub-columns: 0 :stub-columns: 0
:widths: 2 1 1 2 2 :widths: 2 1 1 2 2
* - Symbol
- .. row 1
- Symbol
- Value - Value
- Reference - Reference
- Lines, usually - Lines, usually
- Payload - Payload
* - ``V4L2_SLICED_TELETEXT_B`` (Teletext System B)
- .. row 2
- ``V4L2_SLICED_TELETEXT_B`` (Teletext System B)
- 0x0001 - 0x0001
- :ref:`ets300706`, - :ref:`ets300706`,
:ref:`itu653` :ref:`itu653`
- PAL/SECAM line 7-22, 320-335 (second field 7-22) - PAL/SECAM line 7-22, 320-335 (second field 7-22)
- Last 42 of the 45 byte Teletext packet, that is without clock - Last 42 of the 45 byte Teletext packet, that is without clock
run-in and framing code, lsb first transmitted. run-in and framing code, lsb first transmitted.
* - ``V4L2_SLICED_VPS``
- .. row 3
- ``V4L2_SLICED_VPS``
- 0x0400 - 0x0400
- :ref:`ets300231` - :ref:`ets300231`
- PAL line 16 - PAL line 16
- Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb - Byte number 3 to 15 according to Figure 9 of ETS 300 231, lsb
first transmitted. first transmitted.
* - ``V4L2_SLICED_CAPTION_525``
- .. row 4
- ``V4L2_SLICED_CAPTION_525``
- 0x1000 - 0x1000
- :ref:`cea608` - :ref:`cea608`
- NTSC line 21, 284 (second field 21) - NTSC line 21, 284 (second field 21)
- Two bytes in transmission order, including parity bit, lsb first - Two bytes in transmission order, including parity bit, lsb first
transmitted. transmitted.
* - ``V4L2_SLICED_WSS_625``
- .. row 5
- ``V4L2_SLICED_WSS_625``
- 0x4000 - 0x4000
- :ref:`en300294`, - :ref:`en300294`,
:ref:`itu1119` :ref:`itu1119`
- PAL/SECAM line 23 - PAL/SECAM line 23
- -
:: ::
@ -263,21 +171,11 @@ the sliced VBI API is unsupported or ``type`` is invalid.
Byte 0 1 Byte 0 1
msb lsb msb lsb msb lsb msb lsb
Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9 Bit 7 6 5 4 3 2 1 0 x x 13 12 11 10 9
* - ``V4L2_SLICED_VBI_525``
- .. row 6
- ``V4L2_SLICED_VBI_525``
- 0x1000 - 0x1000
- :cspan:`2` Set of services applicable to 525 line systems. - :cspan:`2` Set of services applicable to 525 line systems.
* - ``V4L2_SLICED_VBI_625``
- .. row 7
- ``V4L2_SLICED_VBI_625``
- 0x4401 - 0x4401
- :cspan:`2` Set of services applicable to 625 line systems. - :cspan:`2` Set of services applicable to 625 line systems.
.. raw:: latex .. raw:: latex

View File

@ -69,41 +69,21 @@ To change the radio frequency the
:header-rows: 0 :header-rows: 0
:stub-columns: 0 :stub-columns: 0
* - __u32
- .. row 1
- __u32
- ``index`` - ``index``
- :cspan:`1` Identifies the tuner, set by the application. - :cspan:`1` Identifies the tuner, set by the application.
* - __u8
- .. row 2
- __u8
- ``name``\ [32] - ``name``\ [32]
- :cspan:`1` - :cspan:`1`
Name of the tuner, a NUL-terminated ASCII string. Name of the tuner, a NUL-terminated ASCII string.
This information is intended for the user. This information is intended for the user.
* - __u32
- .. row 3
- __u32
- ``type`` - ``type``
- :cspan:`1` Type of the tuner, see :c:type:`v4l2_tuner_type`. - :cspan:`1` Type of the tuner, see :c:type:`v4l2_tuner_type`.
* - __u32
- .. row 4
- __u32
- ``capability`` - ``capability``
- :cspan:`1` - :cspan:`1`
Tuner capability flags, see :ref:`tuner-capability`. Audio flags Tuner capability flags, see :ref:`tuner-capability`. Audio flags
@ -117,89 +97,51 @@ To change the radio frequency the
If multiple frequency bands are supported, then ``capability`` is If multiple frequency bands are supported, then ``capability`` is
the union of all ``capability`` fields of each struct the union of all ``capability`` fields of each struct
:c:type:`v4l2_frequency_band`. :c:type:`v4l2_frequency_band`.
* - __u32
- .. row 5
- __u32
- ``rangelow`` - ``rangelow``
- :cspan:`1` The lowest tunable frequency in units of 62.5 kHz, or - :cspan:`1` The lowest tunable frequency in units of 62.5 kHz, or
if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in units
of 62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ`` of 62.5 Hz, or if the ``capability`` flag ``V4L2_TUNER_CAP_1HZ``
is set, in units of 1 Hz. If multiple frequency bands are is set, in units of 1 Hz. If multiple frequency bands are
supported, then ``rangelow`` is the lowest frequency of all the supported, then ``rangelow`` is the lowest frequency of all the
frequency bands. frequency bands.
* - __u32
- .. row 6
- __u32
- ``rangehigh`` - ``rangehigh``
- :cspan:`1` The highest tunable frequency in units of 62.5 kHz, - :cspan:`1` The highest tunable frequency in units of 62.5 kHz,
or if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in or if the ``capability`` flag ``V4L2_TUNER_CAP_LOW`` is set, in
units of 62.5 Hz, or if the ``capability`` flag units of 62.5 Hz, or if the ``capability`` flag
``V4L2_TUNER_CAP_1HZ`` is set, in units of 1 Hz. If multiple ``V4L2_TUNER_CAP_1HZ`` is set, in units of 1 Hz. If multiple
frequency bands are supported, then ``rangehigh`` is the highest frequency bands are supported, then ``rangehigh`` is the highest
frequency of all the frequency bands. frequency of all the frequency bands.
* - __u32
- .. row 7
- __u32
- ``rxsubchans`` - ``rxsubchans``
- :cspan:`1` - :cspan:`1`
Some tuners or audio decoders can determine the received audio Some tuners or audio decoders can determine the received audio
subprograms by analyzing audio carriers, pilot tones or other subprograms by analyzing audio carriers, pilot tones or other
indicators. To pass this information drivers set flags defined in indicators. To pass this information drivers set flags defined in
:ref:`tuner-rxsubchans` in this field. For example: :ref:`tuner-rxsubchans` in this field. For example:
* -
- .. row 8
-
- -
- ``V4L2_TUNER_SUB_MONO`` - ``V4L2_TUNER_SUB_MONO``
- receiving mono audio - receiving mono audio
* -
- .. row 9
-
- -
- ``STEREO | SAP`` - ``STEREO | SAP``
- receiving stereo audio and a secondary audio program - receiving stereo audio and a secondary audio program
* -
- .. row 10
-
- -
- ``MONO | STEREO`` - ``MONO | STEREO``
- receiving mono or stereo audio, the hardware cannot distinguish - receiving mono or stereo audio, the hardware cannot distinguish
* -
- .. row 11
-
- -
- ``LANG1 | LANG2`` - ``LANG1 | LANG2``
- receiving bilingual audio - receiving bilingual audio
* -
- .. row 12
-
- -
- ``MONO | STEREO | LANG1 | LANG2`` - ``MONO | STEREO | LANG1 | LANG2``
- receiving mono, stereo or bilingual audio - receiving mono, stereo or bilingual audio
* -
- .. row 13
-
- -
- :cspan:`1` - :cspan:`1`
@ -209,13 +151,8 @@ To change the radio frequency the
This field is valid only if this is the tuner of the current video This field is valid only if this is the tuner of the current video
input, or when the structure refers to a radio tuner. input, or when the structure refers to a radio tuner.
* - __u32
- .. row 14
- __u32
- ``audmode`` - ``audmode``
- :cspan:`1` - :cspan:`1`
The selected audio mode, see :ref:`tuner-audmode` for valid The selected audio mode, see :ref:`tuner-audmode` for valid
@ -227,34 +164,19 @@ To change the radio frequency the
Currently this is the only field of struct Currently this is the only field of struct
struct :c:type:`v4l2_tuner` applications can change. struct :c:type:`v4l2_tuner` applications can change.
* - __u32
- .. row 15
- __u32
- ``signal`` - ``signal``
- :cspan:`1` The signal strength if known. - :cspan:`1` The signal strength if known.
Ranging from 0 to 65535. Higher values indicate a better signal. Ranging from 0 to 65535. Higher values indicate a better signal.
* - __s32
- .. row 16
- __s32
- ``afc`` - ``afc``
- :cspan:`1` Automatic frequency control. - :cspan:`1` Automatic frequency control.
When the ``afc`` value is negative, the frequency is too When the ``afc`` value is negative, the frequency is too
low, when positive too high. low, when positive too high.
* - __u32
- .. row 17
- __u32
- ``reserved``\ [4] - ``reserved``\ [4]
- :cspan:`1` Reserved for future extensions. - :cspan:`1` Reserved for future extensions.
Drivers and applications must set the array to zero. Drivers and applications must set the array to zero.
@ -270,38 +192,18 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 6 :widths: 3 1 6
* - ``V4L2_TUNER_RADIO``
- .. row 1
- ``V4L2_TUNER_RADIO``
- 1 - 1
- Tuner supports radio - Tuner supports radio
* - ``V4L2_TUNER_ANALOG_TV``
- .. row 2
- ``V4L2_TUNER_ANALOG_TV``
- 2 - 2
- Tuner supports analog TV - Tuner supports analog TV
* - ``V4L2_TUNER_SDR``
- .. row 3
- ``V4L2_TUNER_SDR``
- 4 - 4
- Tuner controls the A/D and/or D/A block of a - Tuner controls the A/D and/or D/A block of a
Sofware Digital Radio (SDR) Sofware Digital Radio (SDR)
* - ``V4L2_TUNER_RF``
- .. row 4
- ``V4L2_TUNER_RF``
- 5 - 5
- Tuner controls the RF part of a Sofware Digital Radio (SDR) - Tuner controls the RF part of a Sofware Digital Radio (SDR)
@ -316,22 +218,12 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TUNER_CAP_LOW``
- .. row 1
- ``V4L2_TUNER_CAP_LOW``
- 0x0001 - 0x0001
- When set, tuning frequencies are expressed in units of 62.5 Hz - When set, tuning frequencies are expressed in units of 62.5 Hz
instead of 62.5 kHz. instead of 62.5 kHz.
* - ``V4L2_TUNER_CAP_NORM``
- .. row 2
- ``V4L2_TUNER_CAP_NORM``
- 0x0002 - 0x0002
- This is a multi-standard tuner; the video standard can or must be - This is a multi-standard tuner; the video standard can or must be
switched. (B/G PAL tuners for example are typically not considered switched. (B/G PAL tuners for example are typically not considered
multi-standard because the video standard is automatically multi-standard because the video standard is automatically
@ -341,63 +233,33 @@ To change the radio frequency the
description of ioctl :ref:`VIDIOC_ENUMINPUT` description of ioctl :ref:`VIDIOC_ENUMINPUT`
for details. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this for details. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this
capability. capability.
* - ``V4L2_TUNER_CAP_HWSEEK_BOUNDED``
- .. row 3
- ``V4L2_TUNER_CAP_HWSEEK_BOUNDED``
- 0x0004 - 0x0004
- If set, then this tuner supports the hardware seek functionality - If set, then this tuner supports the hardware seek functionality
where the seek stops when it reaches the end of the frequency where the seek stops when it reaches the end of the frequency
range. range.
* - ``V4L2_TUNER_CAP_HWSEEK_WRAP``
- .. row 4
- ``V4L2_TUNER_CAP_HWSEEK_WRAP``
- 0x0008 - 0x0008
- If set, then this tuner supports the hardware seek functionality - If set, then this tuner supports the hardware seek functionality
where the seek wraps around when it reaches the end of the where the seek wraps around when it reaches the end of the
frequency range. frequency range.
* - ``V4L2_TUNER_CAP_STEREO``
- .. row 5
- ``V4L2_TUNER_CAP_STEREO``
- 0x0010 - 0x0010
- Stereo audio reception is supported. - Stereo audio reception is supported.
* - ``V4L2_TUNER_CAP_LANG1``
- .. row 6
- ``V4L2_TUNER_CAP_LANG1``
- 0x0040 - 0x0040
- Reception of the primary language of a bilingual audio program is - Reception of the primary language of a bilingual audio program is
supported. Bilingual audio is a feature of two-channel systems, supported. Bilingual audio is a feature of two-channel systems,
transmitting the primary language monaural on the main audio transmitting the primary language monaural on the main audio
carrier and a secondary language monaural on a second carrier. carrier and a secondary language monaural on a second carrier.
Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this capability. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this capability.
* - ``V4L2_TUNER_CAP_LANG2``
- .. row 7
- ``V4L2_TUNER_CAP_LANG2``
- 0x0020 - 0x0020
- Reception of the secondary language of a bilingual audio program - Reception of the secondary language of a bilingual audio program
is supported. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this is supported. Only ``V4L2_TUNER_ANALOG_TV`` tuners can have this
capability. capability.
* - ``V4L2_TUNER_CAP_SAP``
- .. row 8
- ``V4L2_TUNER_CAP_SAP``
- 0x0020 - 0x0020
- Reception of a secondary audio program is supported. This is a - Reception of a secondary audio program is supported. This is a
feature of the BTSC system which accompanies the NTSC video feature of the BTSC system which accompanies the NTSC video
standard. Two audio carriers are available for mono or stereo standard. Two audio carriers are available for mono or stereo
@ -410,58 +272,28 @@ To change the radio frequency the
The ``V4L2_TUNER_CAP_LANG2`` and ``V4L2_TUNER_CAP_SAP`` The ``V4L2_TUNER_CAP_LANG2`` and ``V4L2_TUNER_CAP_SAP``
flags are synonyms. ``V4L2_TUNER_CAP_SAP`` applies when the tuner flags are synonyms. ``V4L2_TUNER_CAP_SAP`` applies when the tuner
supports the ``V4L2_STD_NTSC_M`` video standard. supports the ``V4L2_STD_NTSC_M`` video standard.
* - ``V4L2_TUNER_CAP_RDS``
- .. row 9
- ``V4L2_TUNER_CAP_RDS``
- 0x0080 - 0x0080
- RDS capture is supported. This capability is only valid for radio - RDS capture is supported. This capability is only valid for radio
tuners. tuners.
* - ``V4L2_TUNER_CAP_RDS_BLOCK_IO``
- .. row 10
- ``V4L2_TUNER_CAP_RDS_BLOCK_IO``
- 0x0100 - 0x0100
- The RDS data is passed as unparsed RDS blocks. - The RDS data is passed as unparsed RDS blocks.
* - ``V4L2_TUNER_CAP_RDS_CONTROLS``
- .. row 11
- ``V4L2_TUNER_CAP_RDS_CONTROLS``
- 0x0200 - 0x0200
- The RDS data is parsed by the hardware and set via controls. - The RDS data is parsed by the hardware and set via controls.
* - ``V4L2_TUNER_CAP_FREQ_BANDS``
- .. row 12
- ``V4L2_TUNER_CAP_FREQ_BANDS``
- 0x0400 - 0x0400
- The :ref:`VIDIOC_ENUM_FREQ_BANDS` - The :ref:`VIDIOC_ENUM_FREQ_BANDS`
ioctl can be used to enumerate the available frequency bands. ioctl can be used to enumerate the available frequency bands.
* - ``V4L2_TUNER_CAP_HWSEEK_PROG_LIM``
- .. row 13
- ``V4L2_TUNER_CAP_HWSEEK_PROG_LIM``
- 0x0800 - 0x0800
- The range to search when using the hardware seek functionality is - The range to search when using the hardware seek functionality is
programmable, see programmable, see
:ref:`VIDIOC_S_HW_FREQ_SEEK` for :ref:`VIDIOC_S_HW_FREQ_SEEK` for
details. details.
* - ``V4L2_TUNER_CAP_1HZ``
- .. row 14
- ``V4L2_TUNER_CAP_1HZ``
- 0x1000 - 0x1000
- When set, tuning frequencies are expressed in units of 1 Hz - When set, tuning frequencies are expressed in units of 1 Hz
instead of 62.5 kHz. instead of 62.5 kHz.
@ -476,48 +308,23 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TUNER_SUB_MONO``
- .. row 1
- ``V4L2_TUNER_SUB_MONO``
- 0x0001 - 0x0001
- The tuner receives a mono audio signal. - The tuner receives a mono audio signal.
* - ``V4L2_TUNER_SUB_STEREO``
- .. row 2
- ``V4L2_TUNER_SUB_STEREO``
- 0x0002 - 0x0002
- The tuner receives a stereo audio signal. - The tuner receives a stereo audio signal.
* - ``V4L2_TUNER_SUB_LANG1``
- .. row 3
- ``V4L2_TUNER_SUB_LANG1``
- 0x0008 - 0x0008
- The tuner receives the primary language of a bilingual audio - The tuner receives the primary language of a bilingual audio
signal. Drivers must clear this flag when the current video signal. Drivers must clear this flag when the current video
standard is ``V4L2_STD_NTSC_M``. standard is ``V4L2_STD_NTSC_M``.
* - ``V4L2_TUNER_SUB_LANG2``
- .. row 4
- ``V4L2_TUNER_SUB_LANG2``
- 0x0004 - 0x0004
- The tuner receives the secondary language of a bilingual audio - The tuner receives the secondary language of a bilingual audio
signal (or a second audio program). signal (or a second audio program).
* - ``V4L2_TUNER_SUB_SAP``
- .. row 5
- ``V4L2_TUNER_SUB_SAP``
- 0x0004 - 0x0004
- The tuner receives a Second Audio Program. - The tuner receives a Second Audio Program.
.. note:: .. note::
@ -525,13 +332,8 @@ To change the radio frequency the
The ``V4L2_TUNER_SUB_LANG2`` and ``V4L2_TUNER_SUB_SAP`` The ``V4L2_TUNER_SUB_LANG2`` and ``V4L2_TUNER_SUB_SAP``
flags are synonyms. The ``V4L2_TUNER_SUB_SAP`` flag applies flags are synonyms. The ``V4L2_TUNER_SUB_SAP`` flag applies
when the current video standard is ``V4L2_STD_NTSC_M``. when the current video standard is ``V4L2_STD_NTSC_M``.
* - ``V4L2_TUNER_SUB_RDS``
- .. row 6
- ``V4L2_TUNER_SUB_RDS``
- 0x0010 - 0x0010
- The tuner receives an RDS channel. - The tuner receives an RDS channel.
@ -545,23 +347,13 @@ To change the radio frequency the
:stub-columns: 0 :stub-columns: 0
:widths: 3 1 4 :widths: 3 1 4
* - ``V4L2_TUNER_MODE_MONO``
- .. row 1
- ``V4L2_TUNER_MODE_MONO``
- 0 - 0
- Play mono audio. When the tuner receives a stereo signal this a - Play mono audio. When the tuner receives a stereo signal this a
down-mix of the left and right channel. When the tuner receives a down-mix of the left and right channel. When the tuner receives a
bilingual or SAP signal this mode selects the primary language. bilingual or SAP signal this mode selects the primary language.
* - ``V4L2_TUNER_MODE_STEREO``
- .. row 2
- ``V4L2_TUNER_MODE_STEREO``
- 1 - 1
- Play stereo audio. When the tuner receives bilingual audio it may - Play stereo audio. When the tuner receives bilingual audio it may
play different languages on the left and right channel or the play different languages on the left and right channel or the
primary language is played on both channels. primary language is played on both channels.
@ -571,33 +363,18 @@ To change the radio frequency the
When the tuner receives no stereo signal or does not support When the tuner receives no stereo signal or does not support
stereo reception the driver shall fall back to ``MODE_MONO``. stereo reception the driver shall fall back to ``MODE_MONO``.
* - ``V4L2_TUNER_MODE_LANG1``
- .. row 3
- ``V4L2_TUNER_MODE_LANG1``
- 3 - 3
- Play the primary language, mono or stereo. Only - Play the primary language, mono or stereo. Only
``V4L2_TUNER_ANALOG_TV`` tuners support this mode. ``V4L2_TUNER_ANALOG_TV`` tuners support this mode.
* - ``V4L2_TUNER_MODE_LANG2``
- .. row 4
- ``V4L2_TUNER_MODE_LANG2``
- 2 - 2
- Play the secondary language, mono. When the tuner receives no - Play the secondary language, mono. When the tuner receives no
bilingual audio or SAP, or their reception is not supported the bilingual audio or SAP, or their reception is not supported the
driver shall fall back to mono or stereo mode. Only driver shall fall back to mono or stereo mode. Only
``V4L2_TUNER_ANALOG_TV`` tuners support this mode. ``V4L2_TUNER_ANALOG_TV`` tuners support this mode.
* - ``V4L2_TUNER_MODE_SAP``
- .. row 5
- ``V4L2_TUNER_MODE_SAP``
- 2 - 2
- Play the Second Audio Program. When the tuner receives no - Play the Second Audio Program. When the tuner receives no
bilingual audio or SAP, or their reception is not supported the bilingual audio or SAP, or their reception is not supported the
driver shall fall back to mono or stereo mode. Only driver shall fall back to mono or stereo mode. Only
@ -605,13 +382,8 @@ To change the radio frequency the
.. note:: The ``V4L2_TUNER_MODE_LANG2`` and ``V4L2_TUNER_MODE_SAP`` .. note:: The ``V4L2_TUNER_MODE_LANG2`` and ``V4L2_TUNER_MODE_SAP``
are synonyms. are synonyms.
* - ``V4L2_TUNER_MODE_LANG1_LANG2``
- .. row 6
- ``V4L2_TUNER_MODE_LANG1_LANG2``
- 4 - 4
- Play the primary language on the left channel, the secondary - Play the primary language on the left channel, the secondary
language on the right channel. When the tuner receives no language on the right channel. When the tuner receives no
bilingual audio or SAP, it shall fall back to ``MODE_LANG1`` or bilingual audio or SAP, it shall fall back to ``MODE_LANG1`` or
@ -628,94 +400,43 @@ To change the radio frequency the
:header-rows: 2 :header-rows: 2
:stub-columns: 0 :stub-columns: 0
* -
- .. row 1
-
- :cspan:`5` Selected ``V4L2_TUNER_MODE_`` - :cspan:`5` Selected ``V4L2_TUNER_MODE_``
* - Received ``V4L2_TUNER_SUB_``
- .. row 2
- Received ``V4L2_TUNER_SUB_``
- ``MONO`` - ``MONO``
- ``STEREO`` - ``STEREO``
- ``LANG1`` - ``LANG1``
- ``LANG2 = SAP`` - ``LANG2 = SAP``
- ``LANG1_LANG2``\ [#f1]_ - ``LANG1_LANG2``\ [#f1]_
* - ``MONO``
- .. row 3
- ``MONO``
- Mono - Mono
- Mono/Mono - Mono/Mono
- Mono - Mono
- Mono - Mono
- Mono/Mono - Mono/Mono
* - ``MONO | SAP``
- .. row 4
- ``MONO | SAP``
- Mono - Mono
- Mono/Mono - Mono/Mono
- Mono - Mono
- SAP - SAP
- Mono/SAP (preferred) or Mono/Mono - Mono/SAP (preferred) or Mono/Mono
* - ``STEREO``
- .. row 5
- ``STEREO``
- L+R - L+R
- L/R - L/R
- Stereo L/R (preferred) or Mono L+R - Stereo L/R (preferred) or Mono L+R
- Stereo L/R (preferred) or Mono L+R - Stereo L/R (preferred) or Mono L+R
- L/R (preferred) or L+R/L+R - L/R (preferred) or L+R/L+R
* - ``STEREO | SAP``
- .. row 6
- ``STEREO | SAP``
- L+R - L+R
- L/R - L/R
- Stereo L/R (preferred) or Mono L+R - Stereo L/R (preferred) or Mono L+R
- SAP - SAP
- L+R/SAP (preferred) or L/R or L+R/L+R - L+R/SAP (preferred) or L/R or L+R/L+R
* - ``LANG1 | LANG2``
- .. row 7
- ``LANG1 | LANG2``
- Language 1 - Language 1
- Lang1/Lang2 (deprecated [#f2]_) or Lang1/Lang1 - Lang1/Lang2 (deprecated [#f2]_) or Lang1/Lang1
- Language 1 - Language 1
- Language 2 - Language 2
- Lang1/Lang2 (preferred) or Lang1/Lang1 - Lang1/Lang2 (preferred) or Lang1/Lang1
.. raw:: latex .. raw:: latex

Some files were not shown because too many files have changed in this diff Show More