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