1.. Permission is granted to copy, distribute and/or modify this 2.. document under the terms of the GNU Free Documentation License, 3.. Version 1.1 or any later version published by the Free Software 4.. Foundation, with no Invariant Sections, no Front-Cover Texts 5.. and no Back-Cover Texts. A copy of the license is included at 6.. Documentation/userspace-api/media/fdl-appendix.rst. 7.. 8.. TODO: replace it to GFDL-1.1-or-later WITH no-invariant-sections 9 10.. _common: 11 12################### 13Common API Elements 14################### 15Programming a V4L2 device consists of these steps: 16 17- Opening the device 18 19- Changing device properties, selecting a video and audio input, video 20 standard, picture brightness a. o. 21 22- Negotiating a data format 23 24- Negotiating an input/output method 25 26- The actual input/output loop 27 28- Closing the device 29 30In practice most steps are optional and can be executed out of order. It 31depends on the V4L2 device type, you can read about the details in 32:ref:`devices`. In this chapter we will discuss the basic concepts 33applicable to all devices. 34 35 36.. toctree:: 37 :maxdepth: 1 38 39 open 40 querycap 41 app-pri 42 video 43 audio 44 tuner 45 standard 46 dv-timings 47 control 48 extended-controls 49 ext-ctrls-camera 50 ext-ctrls-flash 51 ext-ctrls-image-source 52 ext-ctrls-image-process 53 ext-ctrls-codec 54 ext-ctrls-jpeg 55 ext-ctrls-dv 56 ext-ctrls-rf-tuner 57 ext-ctrls-fm-tx 58 ext-ctrls-fm-rx 59 ext-ctrls-detect 60 fourcc 61 format 62 planar-apis 63 selection-api 64 crop 65 streaming-par 66