1. Common API Elements¶
Programming a V4L2 device consists of these steps:
- Opening the device
- Changing device properties, selecting a video and audio input, video standard, picture brightness a. o.
- Negotiating a data format
- Negotiating an input/output method
- The actual input/output loop
- Closing the device
In practice most steps are optional and can be executed out of order. It depends on the V4L2 device type, you can read about the details in Interfaces. In this chapter we will discuss the basic concepts applicable to all devices.
- 1.1. Opening and Closing Devices
- 1.2. Querying Capabilities
- 1.3. Application Priority
- 1.4. Video Inputs and Outputs
- 1.5. Audio Inputs and Outputs
- 1.6. Tuners and Modulators
- 1.7. Video Standards
- 1.8. Digital Video (DV) Timings
- 1.9. User Controls
- 1.10. Extended Controls API
- 1.11. Camera Control Reference
- 1.12. Flash Control Reference
- 1.13. Image Source Control Reference
- 1.14. Image Process Control Reference
- 1.15. Codec Control Reference
- 1.16. Stateless Codec Control Reference
- 1.17. JPEG Control Reference
- 1.18. Digital Video Control Reference
- 1.19. RF Tuner Control Reference
- 1.20. FM Transmitter Control Reference
- 1.21. FM Receiver Control Reference
- 1.22. Detect Control Reference
- 1.23. Guidelines for Video4Linux pixel format 4CCs
- 1.24. Data Formats
- 1.25. Single- and multi-planar APIs
- 1.26. Cropping, composing and scaling – the SELECTION API
- 1.27. Image Cropping, Insertion and Scaling – the CROP API
- 1.28. Streaming Parameters