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