Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab, Pawel Osciak
Revision History | ||
---|---|---|
Revision 3.21 | 2015-02-13 | mcc |
Fix documentation for media controller device nodes and add support for DVB device nodes. Add support for Tuner sub-device. | ||
Revision 3.19 | 2014-12-05 | hv |
Rewrote Colorspace chapter, added new enum v4l2_ycbcr_encoding and enum v4l2_quantization fields to struct v4l2_pix_format, struct v4l2_pix_format_mplane and struct v4l2_mbus_framefmt. | ||
Revision 3.17 | 2014-08-04 | lp, hv |
Extended struct v4l2_pix_format. Added format flags. Added compound control types and VIDIOC_QUERY_EXT_CTRL. | ||
Revision 3.15 | 2014-02-03 | hv, ap |
Update several sections of "Common API Elements": "Opening and Closing Devices" "Querying Capabilities", "Application Priority", "Video Inputs and Outputs", "Audio Inputs and Outputs" "Tuners and Modulators", "Video Standards" and "Digital Video (DV) Timings". Added SDR API. | ||
Revision 3.14 | 2013-11-25 | rr |
Set width and height as unsigned on v4l2_rect. | ||
Revision 3.11 | 2013-05-26 | hv |
Remove obsolete VIDIOC_DBG_G_CHIP_IDENT ioctl. | ||
Revision 3.10 | 2013-03-25 | hv |
Remove obsolete and unused DV_PRESET ioctls: VIDIOC_G_DV_PRESET, VIDIOC_S_DV_PRESET, VIDIOC_QUERY_DV_PRESET and VIDIOC_ENUM_DV_PRESET. Remove the related v4l2_input/output capability flags V4L2_IN_CAP_PRESETS and V4L2_OUT_CAP_PRESETS. Added VIDIOC_DBG_G_CHIP_INFO. | ||
Revision 3.9 | 2012-12-03 | sa, sn |
Added timestamp types to v4l2_buffer. Added V4L2_EVENT_CTRL_CH_RANGE control event changes flag. | ||
Revision 3.6 | 2012-07-02 | hv |
Added VIDIOC_ENUM_FREQ_BANDS. | ||
Revision 3.5 | 2012-05-07 | sa, sn, hv |
Added V4L2_CTRL_TYPE_INTEGER_MENU and V4L2 subdev selections API. Improved the description of V4L2_CID_COLORFX control, added V4L2_CID_COLORFX_CBCR control. Added camera controls V4L2_CID_AUTO_EXPOSURE_BIAS, V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE, V4L2_CID_IMAGE_STABILIZATION, V4L2_CID_ISO_SENSITIVITY, V4L2_CID_ISO_SENSITIVITY_AUTO, V4L2_CID_EXPOSURE_METERING, V4L2_CID_SCENE_MODE, V4L2_CID_3A_LOCK, V4L2_CID_AUTO_FOCUS_START, V4L2_CID_AUTO_FOCUS_STOP, V4L2_CID_AUTO_FOCUS_STATUS and V4L2_CID_AUTO_FOCUS_RANGE. Added VIDIOC_ENUM_DV_TIMINGS, VIDIOC_QUERY_DV_TIMINGS and VIDIOC_DV_TIMINGS_CAP. | ||
Revision 3.4 | 2012-01-25 | sn |
Added JPEG compression control class. | ||
Revision 3.3 | 2012-01-11 | hv |
Added device_caps field to struct v4l2_capabilities. | ||
Revision 3.2 | 2011-08-26 | hv |
Added V4L2_CTRL_FLAG_VOLATILE. | ||
Revision 3.1 | 2011-06-27 | mcc, po, hv |
Documented that VIDIOC_QUERYCAP now returns a per-subsystem version instead of a per-driver one. Standardize an error code for invalid ioctl. Added V4L2_CTRL_TYPE_BITMASK. | ||
Revision 2.6.39 | 2011-03-01 | mcc, po |
Removed VIDIOC_*_OLD from videodev2.h header and update it to reflect latest changes. Added the multi-planar API. | ||
Revision 2.6.37 | 2010-08-06 | hv |
Removed obsolete vtx (videotext) API. | ||
Revision 2.6.33 | 2009-12-03 | mk |
Added documentation for the Digital Video timings API. | ||
Revision 2.6.32 | 2009-08-31 | mcc |
Now, revisions will match the kernel version where the V4L2 API changes will be used by the Linux Kernel. Also added Remote Controller chapter. | ||
Revision 0.29 | 2009-08-26 | ev |
Added documentation for string controls and for FM Transmitter controls. | ||
Revision 0.28 | 2009-08-26 | gl |
Added V4L2_CID_BAND_STOP_FILTER documentation. | ||
Revision 0.27 | 2009-08-15 | mcc |
Added libv4l and Remote Controller documentation; added v4l2grab and keytable application examples. | ||
Revision 0.26 | 2009-07-23 | hv |
Finalized the RDS capture API. Added modulator and RDS encoder capabilities. Added support for string controls. | ||
Revision 0.25 | 2009-01-18 | hv |
Added pixel formats VYUY, NV16 and NV61, and changed the debug ioctls VIDIOC_DBG_G/S_REGISTER and VIDIOC_DBG_G_CHIP_IDENT. Added camera controls V4L2_CID_ZOOM_ABSOLUTE, V4L2_CID_ZOOM_RELATIVE, V4L2_CID_ZOOM_CONTINUOUS and V4L2_CID_PRIVACY. | ||
Revision 0.24 | 2008-03-04 | mhs |
Added pixel formats Y16 and SBGGR16, new controls and a camera controls class. Removed VIDIOC_G/S_MPEGCOMP. | ||
Revision 0.23 | 2007-08-30 | mhs |
Fixed a typo in VIDIOC_DBG_G/S_REGISTER. Clarified the byte order of packed pixel formats. | ||
Revision 0.22 | 2007-08-29 | mhs |
Added the Video Output Overlay interface, new MPEG controls, V4L2_FIELD_INTERLACED_TB and V4L2_FIELD_INTERLACED_BT, VIDIOC_DBG_G/S_REGISTER, VIDIOC_(TRY_)ENCODER_CMD, VIDIOC_G_CHIP_IDENT, VIDIOC_G_ENC_INDEX, new pixel formats. Clarifications in the cropping chapter, about RGB pixel formats, the mmap(), poll(), select(), read() and write() functions. Typographical fixes. | ||
Revision 0.21 | 2006-12-19 | mhs |
Fixed a link in the VIDIOC_G_EXT_CTRLS section. | ||
Revision 0.20 | 2006-11-24 | mhs |
Clarified the purpose of the audioset field in struct v4l2_input and v4l2_output. | ||
Revision 0.19 | 2006-10-19 | mhs |
Documented V4L2_PIX_FMT_RGB444. | ||
Revision 0.18 | 2006-10-18 | mhs |
Added the description of extended controls by Hans Verkuil. Linked V4L2_PIX_FMT_MPEG to V4L2_CID_MPEG_STREAM_TYPE. | ||
Revision 0.17 | 2006-10-12 | mhs |
Corrected V4L2_PIX_FMT_HM12 description. | ||
Revision 0.16 | 2006-10-08 | mhs |
VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS are now part of the API. | ||
Revision 0.15 | 2006-09-23 | mhs |
Cleaned up the bibliography, added BT.653 and BT.1119. capture.c/start_capturing() for user pointer I/O did not initialize the buffer index. Documented the V4L MPEG and MJPEG VID_TYPEs and V4L2_PIX_FMT_SBGGR8. Updated the list of reserved pixel formats. See the history chapter for API changes. | ||
Revision 0.14 | 2006-09-14 | mr |
Added VIDIOC_ENUM_FRAMESIZES and VIDIOC_ENUM_FRAMEINTERVALS proposal for frame format enumeration of digital devices. | ||
Revision 0.13 | 2006-04-07 | mhs |
Corrected the description of struct v4l2_window clips. New V4L2_STD_ and V4L2_TUNER_MODE_LANG1_LANG2 defines. | ||
Revision 0.12 | 2006-02-03 | mhs |
Corrected the description of struct v4l2_captureparm and v4l2_outputparm. | ||
Revision 0.11 | 2006-01-27 | mhs |
Improved the description of struct v4l2_tuner. | ||
Revision 0.10 | 2006-01-10 | mhs |
VIDIOC_G_INPUT and VIDIOC_S_PARM clarifications. | ||
Revision 0.9 | 2005-11-27 | mhs |
Improved the 525 line numbering diagram. Hans Verkuil and I rewrote the sliced VBI section. He also contributed a VIDIOC_LOG_STATUS page. Fixed VIDIOC_S_STD call in the video standard selection example. Various updates. | ||
Revision 0.8 | 2004-10-04 | mhs |
Somehow a piece of junk slipped into the capture example, removed. | ||
Revision 0.7 | 2004-09-19 | mhs |
Fixed video standard selection, control enumeration, downscaling and aspect example. Added read and user pointer i/o to video capture example. | ||
Revision 0.6 | 2004-08-01 | mhs |
v4l2_buffer changes, added video capture example, various corrections. | ||
Revision 0.5 | 2003-11-05 | mhs |
Pixel format erratum. | ||
Revision 0.4 | 2003-09-17 | mhs |
Corrected source and Makefile to generate a PDF. SGML fixes. Added latest API changes. Closed gaps in the history chapter. | ||
Revision 0.3 | 2003-02-05 | mhs |
Another draft, more corrections. | ||
Revision 0.2 | 2003-01-15 | mhs |
Second draft, with corrections pointed out by Gerd Knorr. | ||
Revision 0.1 | 2002-12-01 | mhs |
First draft, based on documentation by Bill Dirks and discussions on the V4L mailing list. |
Table of Contents
V4L2_COLORSPACE_SMPTE170M
)V4L2_COLORSPACE_REC709
)V4L2_COLORSPACE_SRGB
)V4L2_COLORSPACE_ADOBERGB
)V4L2_COLORSPACE_BT2020
)V4L2_COLORSPACE_SMPTE240M
)V4L2_COLORSPACE_470_SYSTEM_M
)V4L2_COLORSPACE_470_SYSTEM_BG
)V4L2_COLORSPACE_JPEG
)V4L2_PIX_FMT_YUYV
with different order of samples
in memoryV4L2_PIX_FMT_YUYV
with different order of samples
in memoryV4L2_PIX_FMT_YUYV
with different order of samples
in memoryV4L2_PIX_FMT_YUV420
with planes non contiguous in memory. V4L2_PIX_FMT_YVU420
with planes non contiguous in memory. V4L2_PIX_FMT_YUYV
V4L2_PIX_FMT_Y41P
V4L2_PIX_FMT_YVU420
V4L2_PIX_FMT_NV12
and V4L2_PIX_FMT_NV21
with planes
non contiguous in memory. V4L2_PIX_FMT_NV12
is the memory layout. Pixels are
grouped in macroblocks of 64x32 size. The order of macroblocks in memory is
also not standard.
V4L2_PIX_FMT_YVU420
V4L2_PIX_FMT_NV16
and V4L2_PIX_FMT_NV61
with planes
non contiguous in memory. V4L2_PIX_FMT_YVU420