1059b1c5bSMauro Carvalho Chehab.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 254f38fcaSMauro Carvalho Chehab 354f38fcaSMauro Carvalho Chehab.. _common: 454f38fcaSMauro Carvalho Chehab 554f38fcaSMauro Carvalho Chehab################### 654f38fcaSMauro Carvalho ChehabCommon API Elements 754f38fcaSMauro Carvalho Chehab################### 854f38fcaSMauro Carvalho ChehabProgramming a V4L2 device consists of these steps: 954f38fcaSMauro Carvalho Chehab 1054f38fcaSMauro Carvalho Chehab- Opening the device 1154f38fcaSMauro Carvalho Chehab 1254f38fcaSMauro Carvalho Chehab- Changing device properties, selecting a video and audio input, video 1354f38fcaSMauro Carvalho Chehab standard, picture brightness a. o. 1454f38fcaSMauro Carvalho Chehab 1554f38fcaSMauro Carvalho Chehab- Negotiating a data format 1654f38fcaSMauro Carvalho Chehab 1754f38fcaSMauro Carvalho Chehab- Negotiating an input/output method 1854f38fcaSMauro Carvalho Chehab 1954f38fcaSMauro Carvalho Chehab- The actual input/output loop 2054f38fcaSMauro Carvalho Chehab 2154f38fcaSMauro Carvalho Chehab- Closing the device 2254f38fcaSMauro Carvalho Chehab 2354f38fcaSMauro Carvalho ChehabIn practice most steps are optional and can be executed out of order. It 2454f38fcaSMauro Carvalho Chehabdepends on the V4L2 device type, you can read about the details in 2554f38fcaSMauro Carvalho Chehab:ref:`devices`. In this chapter we will discuss the basic concepts 2654f38fcaSMauro Carvalho Chehabapplicable to all devices. 2754f38fcaSMauro Carvalho Chehab 2854f38fcaSMauro Carvalho Chehab 2954f38fcaSMauro Carvalho Chehab.. toctree:: 3054f38fcaSMauro Carvalho Chehab :maxdepth: 1 3154f38fcaSMauro Carvalho Chehab 3254f38fcaSMauro Carvalho Chehab open 3354f38fcaSMauro Carvalho Chehab querycap 3454f38fcaSMauro Carvalho Chehab app-pri 3554f38fcaSMauro Carvalho Chehab video 3654f38fcaSMauro Carvalho Chehab audio 3754f38fcaSMauro Carvalho Chehab tuner 3854f38fcaSMauro Carvalho Chehab standard 3954f38fcaSMauro Carvalho Chehab dv-timings 4054f38fcaSMauro Carvalho Chehab control 4154f38fcaSMauro Carvalho Chehab extended-controls 4254f38fcaSMauro Carvalho Chehab ext-ctrls-camera 4354f38fcaSMauro Carvalho Chehab ext-ctrls-flash 4454f38fcaSMauro Carvalho Chehab ext-ctrls-image-source 4554f38fcaSMauro Carvalho Chehab ext-ctrls-image-process 4654f38fcaSMauro Carvalho Chehab ext-ctrls-codec 4781c6892dSEzequiel Garcia ext-ctrls-codec-stateless 4854f38fcaSMauro Carvalho Chehab ext-ctrls-jpeg 4954f38fcaSMauro Carvalho Chehab ext-ctrls-dv 5054f38fcaSMauro Carvalho Chehab ext-ctrls-rf-tuner 5154f38fcaSMauro Carvalho Chehab ext-ctrls-fm-tx 5254f38fcaSMauro Carvalho Chehab ext-ctrls-fm-rx 5354f38fcaSMauro Carvalho Chehab ext-ctrls-detect 54*4e4053a2SStanimir Varbanov ext-ctrls-colorimetry 552e9a7e0bSMauro Carvalho Chehab fourcc 5654f38fcaSMauro Carvalho Chehab format 5754f38fcaSMauro Carvalho Chehab planar-apis 5854f38fcaSMauro Carvalho Chehab selection-api 5954f38fcaSMauro Carvalho Chehab crop 6054f38fcaSMauro Carvalho Chehab streaming-par 61