^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) .. include:: <isonum.txt>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) .. _v4l2spec:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) ############################
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) Part I - Video for Linux API
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) ############################
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) This part describes the Video for Linux API version 2 (V4L2 API) specification.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) **Revision 4.5**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) .. only:: html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) .. class:: toc-title
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Table of Contents
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) .. toctree::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) :numbered:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) :maxdepth: 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) common
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) pixfmt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) io
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) devices
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) libv4l
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) compat
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) user-func
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) common-defs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) videodev
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) capture-example
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) v4l2grab-example
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) biblio
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) **********************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) Revision and Copyright
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) **********************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Authors, in alphabetical order:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) - Ailus, Sakari <sakari.ailus@iki.fi>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) - Subdev selections API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) - Carvalho Chehab, Mauro <mchehab+samsung@kernel.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) - Documented libv4l, designed and added v4l2grab example, Remote Controller chapter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) - Dirks, Bill
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) - Original author of the V4L2 API and documentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) - Figa, Tomasz <tfiga@chromium.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) - Documented the memory-to-memory decoder interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) - Documented the memory-to-memory encoder interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) - H Schimek, Michael <mschimek@gmx.at>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) - Original author of the V4L2 API and documentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) - Karicheri, Muralidharan <m-karicheri2@ti.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) - Documented the Digital Video timings API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) - Osciak, Pawel <posciak@chromium.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) - Documented the memory-to-memory decoder interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) - Documented the memory-to-memory encoder interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) - Osciak, Pawel <pawel@osciak.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) - Designed and documented the multi-planar API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) - Palosaari, Antti <crope@iki.fi>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) - SDR API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) - Ribalda, Ricardo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) - Introduce HSV formats and other minor changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) - Rubli, Martin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) - Designed and documented the VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS ioctls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) - Walls, Andy <awalls@md.metrocast.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) - Documented the fielded V4L2_MPEG_STREAM_VBI_FMT_IVTV MPEG stream embedded, sliced VBI data format in this specification.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) - Verkuil, Hans <hverkuil@xs4all.nl>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) - Designed and documented the VIDIOC_LOG_STATUS ioctl, the extended control ioctls, major parts of the sliced VBI API, the MPEG encoder and decoder APIs and the DV Timings API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) **Copyright** |copy| 1999-2018: Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab, Pawel Osciak, Sakari Ailus & Antti Palosaari, Tomasz Figa
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Except when explicitly stated as GPL, programming examples within this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) part can be used and distributed without restrictions.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) ****************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) Revision History
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) ****************
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) :revision: 4.10 / 2016-07-15 (*rr*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) Introduce HSV formats.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) :revision: 4.5 / 2015-10-29 (*rr*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) Extend VIDIOC_G_EXT_CTRLS;. Replace ctrl_class with a new union with
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) ctrl_class and which. Which is used to select the current value of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) control or the default value.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) :revision: 4.4 / 2015-05-26 (*ap*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) Renamed V4L2_TUNER_ADC to V4L2_TUNER_SDR. Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) V4L2_CID_RF_TUNER_RF_GAIN control. Added transmitter support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) Software Defined Radio (SDR) Interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) :revision: 4.1 / 2015-02-13 (*mcc*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) Fix documentation for media controller device nodes and add support for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) DVB device nodes. Add support for Tuner sub-device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) :revision: 3.19 / 2014-12-05 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) Rewrote Colorspace chapter, added new enum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) :c:type:`v4l2_ycbcr_encoding` and enum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) :c:type:`v4l2_quantization` fields to struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) :c:type:`v4l2_pix_format`, struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) :c:type:`v4l2_pix_format_mplane` and struct
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) :c:type:`v4l2_mbus_framefmt`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) :revision: 3.17 / 2014-08-04 (*lp, hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) Extended struct :c:type:`v4l2_pix_format`. Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) format flags. Added compound control types and VIDIOC_QUERY_EXT_CTRL.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148) :revision: 3.15 / 2014-02-03 (*hv, ap*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) Update several sections of "Common API Elements": "Opening and Closing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) Devices" "Querying Capabilities", "Application Priority", "Video Inputs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) and Outputs", "Audio Inputs and Outputs" "Tuners and Modulators", "Video
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) Standards" and "Digital Video (DV) Timings". Added SDR API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) :revision: 3.14 / 2013-11-25 (*rr*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) Set width and height as unsigned on v4l2_rect.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) :revision: 3.11 / 2013-05-26 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) Remove obsolete VIDIOC_DBG_G_CHIP_IDENT ioctl.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) :revision: 3.10 / 2013-03-25 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) Remove obsolete and unused DV_PRESET ioctls: VIDIOC_G_DV_PRESET,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) capability flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) Added VIDIOC_DBG_G_CHIP_INFO.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) :revision: 3.9 / 2012-12-03 (*sa, sn*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) Added timestamp types to v4l2_buffer. Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) V4L2_EVENT_CTRL_CH_RANGE control event changes flag.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181) :revision: 3.6 / 2012-07-02 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) Added VIDIOC_ENUM_FREQ_BANDS.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) :revision: 3.5 / 2012-05-07 (*sa, sn, hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188) Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev selections API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) Improved the description of V4L2_CID_COLORFX control, added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190) V4L2_CID_COLORFX_CBCR control. Added camera controls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) V4L2_CID_AUTO_EXPOSURE_BIAS,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192) V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) V4L2_CID_IMAGE_STABILIZATION, V4L2_CID_ISO_SENSITIVITY,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) V4L2_CID_ISO_SENSITIVITY_AUTO, V4L2_CID_EXPOSURE_METERING,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) V4L2_CID_SCENE_MODE, V4L2_CID_3A_LOCK,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) V4L2_CID_AUTO_FOCUS_START, V4L2_CID_AUTO_FOCUS_STOP,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197) V4L2_CID_AUTO_FOCUS_STATUS and V4L2_CID_AUTO_FOCUS_RANGE. Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) VIDIOC_DV_TIMINGS_CAP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) :revision: 3.4 / 2012-01-25 (*sn*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) Added :ref:`JPEG compression control class. <jpeg-controls>`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) :revision: 3.3 / 2012-01-11 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) Added device_caps field to struct v4l2_capabilities.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) :revision: 3.2 / 2011-08-26 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214) Added V4L2_CTRL_FLAG_VOLATILE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) :revision: 3.1 / 2011-06-27 (*mcc, po, hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) Documented that VIDIOC_QUERYCAP now returns a per-subsystem version
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) instead of a per-driver one. Standardize an error code for invalid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) ioctl. Added V4L2_CTRL_TYPE_BITMASK.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) :revision: 2.6.39 / 2011-03-01 (*mcc, po*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) Removed VIDIOC_*_OLD from videodev2.h header and update it to reflect
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227) latest changes. Added the :ref:`multi-planar API <planar-apis>`.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) :revision: 2.6.37 / 2010-08-06 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232) Removed obsolete vtx (videotext) API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235) :revision: 2.6.33 / 2009-12-03 (*mk*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) Added documentation for the Digital Video timings API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) :revision: 2.6.32 / 2009-08-31 (*mcc*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) Now, revisions will match the kernel version where the V4L2 API changes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) will be used by the Linux Kernel. Also added Remote Controller chapter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246) :revision: 0.29 / 2009-08-26 (*ev*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) Added documentation for string controls and for FM Transmitter controls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) :revision: 0.28 / 2009-08-26 (*gl*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) Added V4L2_CID_BAND_STOP_FILTER documentation.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) :revision: 0.27 / 2009-08-15 (*mcc*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) Added libv4l and Remote Controller documentation; added v4l2grab and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259) keytable application examples.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) :revision: 0.26 / 2009-07-23 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264) Finalized the RDS capture API. Added modulator and RDS encoder
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) capabilities. Added support for string controls.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) :revision: 0.25 / 2009-01-18 (*hv*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) Added pixel formats VYUY, NV16 and NV61, and changed the debug ioctls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) VIDIOC_DBG_G/S_REGISTER and VIDIOC_DBG_G_CHIP_IDENT. Added camera
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) controls V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) V4L2_CID_ZOOM_CONTINUOUS and V4L2_CID_PRIVACY.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276) :revision: 0.24 / 2008-03-04 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) Added pixel formats Y16 and SBGGR16, new controls and a camera controls
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) class. Removed VIDIOC_G/S_MPEGCOMP.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282) :revision: 0.23 / 2007-08-30 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) Fixed a typo in VIDIOC_DBG_G/S_REGISTER. Clarified the byte order of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) packed pixel formats.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) :revision: 0.22 / 2007-08-29 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290) Added the Video Output Overlay interface, new MPEG controls,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) VIDIOC_DBG_G/S_REGISTER, VIDIOC\_(TRY\_)ENCODER_CMD,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) VIDIOC_G_CHIP_IDENT, VIDIOC_G_ENC_INDEX, new pixel formats.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294) Clarifications in the cropping chapter, about RGB pixel formats, the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) mmap(), poll(), select(), read() and write() functions. Typographical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) fixes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) :revision: 0.21 / 2006-12-19 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) Fixed a link in the VIDIOC_G_EXT_CTRLS section.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) :revision: 0.20 / 2006-11-24 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306) Clarified the purpose of the audioset field in struct v4l2_input and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) v4l2_output.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) :revision: 0.19 / 2006-10-19 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312) Documented V4L2_PIX_FMT_RGB444.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) :revision: 0.18 / 2006-10-18 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) Added the description of extended controls by Hans Verkuil. Linked
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) V4L2_PIX_FMT_MPEG to V4L2_CID_MPEG_STREAM_TYPE.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) :revision: 0.17 / 2006-10-12 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) Corrected V4L2_PIX_FMT_HM12 description.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) :revision: 0.16 / 2006-10-08 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS are now part
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) of the API.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332) :revision: 0.15 / 2006-09-23 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) Cleaned up the bibliography, added BT.653 and BT.1119.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335) capture.c/start_capturing() for user pointer I/O did not initialize the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) buffer index. Documented the V4L MPEG and MJPEG VID_TYPEs and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) V4L2_PIX_FMT_SBGGR8. Updated the list of reserved pixel formats. See
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) the history chapter for API changes.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) :revision: 0.14 / 2006-09-14 (*mr*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) Added VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS proposal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) for frame format enumeration of digital devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) :revision: 0.13 / 2006-04-07 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) Corrected the description of struct v4l2_window clips. New V4L2_STD\_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350) and V4L2_TUNER_MODE_LANG1_LANG2 defines.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) :revision: 0.12 / 2006-02-03 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355) Corrected the description of struct v4l2_captureparm and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) v4l2_outputparm.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359) :revision: 0.11 / 2006-01-27 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361) Improved the description of struct v4l2_tuner.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364) :revision: 0.10 / 2006-01-10 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) VIDIOC_G_INPUT and VIDIOC_S_PARM clarifications.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 367)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 368)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 369) :revision: 0.9 / 2005-11-27 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 370)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 371) Improved the 525 line numbering diagram. Hans Verkuil and I rewrote the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 372) sliced VBI section. He also contributed a VIDIOC_LOG_STATUS page.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 373) Fixed VIDIOC_S_STD call in the video standard selection example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 374) Various updates.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 375)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 376)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 377) :revision: 0.8 / 2004-10-04 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 378)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 379) Somehow a piece of junk slipped into the capture example, removed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 380)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 381)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 382) :revision: 0.7 / 2004-09-19 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 383)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 384) Fixed video standard selection, control enumeration, downscaling and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 385) aspect example. Added read and user pointer i/o to video capture
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 386) example.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 387)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 388)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 389) :revision: 0.6 / 2004-08-01 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 390)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 391) v4l2_buffer changes, added video capture example, various corrections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 392)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 393)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 394) :revision: 0.5 / 2003-11-05 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 395)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 396) Pixel format erratum.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 397)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 398)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 399) :revision: 0.4 / 2003-09-17 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 400)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 401) Corrected source and Makefile to generate a PDF. SGML fixes. Added
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 402) latest API changes. Closed gaps in the history chapter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 403)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 404)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 405) :revision: 0.3 / 2003-02-05 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 406)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 407) Another draft, more corrections.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 408)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 409)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 410) :revision: 0.2 / 2003-01-15 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 411)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 412) Second draft, with corrections pointed out by Gerd Knorr.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 413)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 414)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 415) :revision: 0.1 / 2002-12-01 (*mhs*)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 416)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 417) First draft, based on documentation by Bill Dirks and discussions on the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 418) V4L mailing list.