18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci.. _common: 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci################### 68c2ecf20Sopenharmony_ciCommon API Elements 78c2ecf20Sopenharmony_ci################### 88c2ecf20Sopenharmony_ciProgramming a V4L2 device consists of these steps: 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ci- Opening the device 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci- Changing device properties, selecting a video and audio input, video 138c2ecf20Sopenharmony_ci standard, picture brightness a. o. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci- Negotiating a data format 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci- Negotiating an input/output method 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci- The actual input/output loop 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ci- Closing the device 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ciIn practice most steps are optional and can be executed out of order. It 248c2ecf20Sopenharmony_cidepends on the V4L2 device type, you can read about the details in 258c2ecf20Sopenharmony_ci:ref:`devices`. In this chapter we will discuss the basic concepts 268c2ecf20Sopenharmony_ciapplicable to all devices. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci.. toctree:: 308c2ecf20Sopenharmony_ci :maxdepth: 1 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci open 338c2ecf20Sopenharmony_ci querycap 348c2ecf20Sopenharmony_ci app-pri 358c2ecf20Sopenharmony_ci video 368c2ecf20Sopenharmony_ci audio 378c2ecf20Sopenharmony_ci tuner 388c2ecf20Sopenharmony_ci standard 398c2ecf20Sopenharmony_ci dv-timings 408c2ecf20Sopenharmony_ci control 418c2ecf20Sopenharmony_ci extended-controls 428c2ecf20Sopenharmony_ci ext-ctrls-camera 438c2ecf20Sopenharmony_ci ext-ctrls-flash 448c2ecf20Sopenharmony_ci ext-ctrls-image-source 458c2ecf20Sopenharmony_ci ext-ctrls-image-process 468c2ecf20Sopenharmony_ci ext-ctrls-codec 478c2ecf20Sopenharmony_ci ext-ctrls-jpeg 488c2ecf20Sopenharmony_ci ext-ctrls-dv 498c2ecf20Sopenharmony_ci ext-ctrls-rf-tuner 508c2ecf20Sopenharmony_ci ext-ctrls-fm-tx 518c2ecf20Sopenharmony_ci ext-ctrls-fm-rx 528c2ecf20Sopenharmony_ci ext-ctrls-detect 538c2ecf20Sopenharmony_ci fourcc 548c2ecf20Sopenharmony_ci format 558c2ecf20Sopenharmony_ci planar-apis 568c2ecf20Sopenharmony_ci selection-api 578c2ecf20Sopenharmony_ci crop 588c2ecf20Sopenharmony_ci streaming-par 59