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