# Video for Linux Two API Specification

## Revision 0.24

### Michael H Schimek

`<mschimek@gmx.at>`

### Bill Dirks

### Hans Verkuil

### Martin Rubli

Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Bill Dirks, Michael H. Schimek, Hans Verkuil, Martin Rubli

This document is copyrighted © 1999-2008 by Bill Dirks, Michael H. Schimek, Hans Verkuil and Martin Rubli.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the appendix entitled "GNU Free Documentation License".

Programming examples can be used and distributed without restrictions.

List of Figures
1-1. Image Cropping, Insertion and Scaling
3-1. Field Order, Top Field First Transmitted
3-2. Field Order, Bottom Field First Transmitted
4-1. Line synchronization
4-2. ITU-R 525 line numbering (M/NTSC and M/PAL)
4-3. ITU-R 625 line numbering

List of Examples
1-1. Information about the current video input
1-2. Switching to the first video input
1-3. Information about the current audio input
1-4. Switching to the first audio input
1-5. Information about the current video standard
1-6. Listing the video standards supported by the current input
1-7. Selecting a new video standard
1-8. Enumerating all controls
1-9. Changing controls
1-10. Resetting the cropping parameters
1-11. Simple downscaling
1-12. Selecting an output area
1-13. Current scaling factor and pixel aspect
2-1. ITU-R Rec. BT.601 color conversion
2-1. `V4L2_PIX_FMT_BGR24` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_SBGGR8` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_SBGGR16` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_GREY` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_Y16` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_YUYV` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_UYVY` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_Y41P` 8 × 4 pixel image
2-1. `V4L2_PIX_FMT_YVU420` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_YVU410` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_YUV422P` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_YUV411P` 4 × 4 pixel image
2-1. `V4L2_PIX_FMT_NV12` 4 × 4 pixel image
3-1. Mapping buffers
3-2. Initiating streaming I/O with user pointers
4-1. Finding a framebuffer device for OSD

|  | Next
|  | Introduction