Development: Video4Linux APIs
Development stages of the Video4Linux application programming interface (API).
Video4Linux
v4l (also known as v4l1) is the original video capture/overlay API of the Linux kernel. It appeared late in the 2.1.x development cycle of the Linux kernel. Support for the v4l API was dropped from the 2.5.x branch with the 2.6.15 kernel release, but remains in the 2.4.x branch.
Video4Linux2
v4l2, the second generation of the video4linux API, fixes a number of design bugs that were present in the original API. It was integrated into the standard Linux kernel in 2.5.x.
Starting in October 2006, Jon Corbet started publishing a series of articles to document v4l2 internals, including video_ioctl2, at lwn:
- The Video4Linux2 API: an introduction (updated as new articles are published) 2006 Oct 11
- Part 2: registration and open() 2006 Oct 18
- Part 3: Basic ioctl() handling 2006 Oct 30
- Part 4: Inputs and Outputs 2006 Dec 13
- Part 5a: Colors and formats 2007 Jan 24
- Part 5b: Format Negotiation 2007 Mar 23
- Part 6a: Basic Frame I/O 2007 May 18
- Part 6b: Streaming I/O 2007 July 5
- Part 7: Controls 2007 August 31
- The Video4Linux2 API: an introduction (updated as new articles are published) 2006 Oct 11
One may also wish to read through some suggestions for enhancing v4l2.