Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-2.6-microblaze.git] / Documentation / userspace-api / media / v4l / common.rst
1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
2
3 .. _common:
4
5 ###################
6 Common API Elements
7 ###################
8 Programming a V4L2 device consists of these steps:
9
10 -  Opening the device
11
12 -  Changing device properties, selecting a video and audio input, video
13    standard, picture brightness a. o.
14
15 -  Negotiating a data format
16
17 -  Negotiating an input/output method
18
19 -  The actual input/output loop
20
21 -  Closing the device
22
23 In practice most steps are optional and can be executed out of order. It
24 depends on the V4L2 device type, you can read about the details in
25 :ref:`devices`. In this chapter we will discuss the basic concepts
26 applicable to all devices.
27
28
29 .. toctree::
30     :maxdepth: 1
31
32     open
33     querycap
34     app-pri
35     video
36     audio
37     tuner
38     standard
39     dv-timings
40     control
41     extended-controls
42     ext-ctrls-camera
43     ext-ctrls-flash
44     ext-ctrls-image-source
45     ext-ctrls-image-process
46     ext-ctrls-codec
47     ext-ctrls-codec-stateless
48     ext-ctrls-jpeg
49     ext-ctrls-dv
50     ext-ctrls-rf-tuner
51     ext-ctrls-fm-tx
52     ext-ctrls-fm-rx
53     ext-ctrls-detect
54     fourcc
55     format
56     planar-apis
57     selection-api
58     crop
59     streaming-par