Media subsystem kernel internal API¶
Copyright © 2009-2016 : LinuxTV Developers
This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
For more details see the file COPYING in the source distribution of Linux.
Table of Contents
- 1. Video4Linux devices
- 1.1. Introduction
- 1.2. Structure of a V4L driver
- 1.3. Structure of the V4L2 framework
- 1.4. Video device’ s internal representation
- 1.5. V4L2 device instance
- 1.6. V4L2 File handlers
- 1.7. V4L2 sub-devices
- 1.8. V4L2 sub-device userspace API
- 1.9. I2C sub-device drivers
- 1.10. V4L2 sub-device functions and data structures
- 1.11. V4L2 events
- 1.12. V4L2 Controls
- 1.12.1. Introduction
- 1.12.2. Objects in the framework
- 1.12.3. Basic usage for V4L2 and sub-device drivers
- 1.12.4. Inheriting Sub-device Controls
- 1.12.5. Accessing Control Values
- 1.12.6. Menu Controls
- 1.12.7. Custom Controls
- 1.12.8. Active and Grabbed Controls
- 1.12.9. Control Clusters
- 1.12.10. Handling autogain/gain-type Controls with Auto Clusters
- 1.12.11. VIDIOC_LOG_STATUS Support
- 1.12.12. Different Handlers for Different Video Nodes
- 1.12.13. Finding Controls
- 1.12.14. Preventing Controls inheritance
- 1.12.15. V4L2_CTRL_TYPE_CTRL_CLASS Controls
- 1.12.16. Adding Notify Callbacks
- 1.12.17. v4l2_ctrl functions and data structures
- 1.13. Videobuf Framework
- 1.14. V4L2 videobuf2 functions and data structures
- 1.15. V4L2 clocks
- 1.16. V4L2 DV Timings functions
- 1.17. V4L2 flash functions and data structures
- 1.18. V4L2 Media Controller functions and data structures
- 1.19. V4L2 Media Bus functions and data structures
- 1.20. V4L2 Memory to Memory functions and data structures
- 1.21. V4L2 async kAPI
- 1.22. V4L2 fwnode kAPI
- 1.23. V4L2 rect helper functions
- 1.24. Tuner functions and data structures
- 1.25. V4L2 common functions and data structures
- 1.26. Hauppauge TV EEPROM functions and data structures
- 2. Digital TV (DVB) devices
- 3. Remote Controller devices
- 4. Media Controller devices
- 4.1. Media Controller
- 4.1.1. Abstract media device model
- 4.1.2. Media device
- 4.1.3. Entities
- 4.1.4. Interfaces
- 4.1.5. Pads
- 4.1.6. Links
- 4.1.7. Graph traversal
- 4.1.8. Use count and power handling
- 4.1.9. Links setup
- 4.1.10. Pipelines and media streams
- 4.1.11. Link validation
- 4.1.12. Media Controller Device Allocator API
- 4.1.13. API Definitions
- 4.1. Media Controller
- 5. CEC Kernel Support
- 5.1. The CEC Protocol
- 5.2. CEC Adapter Interface
- 5.3. Implementing the Low-Level CEC Adapter
- 5.4. Implementing the interrupt handler
- 5.5. Optional: Implementing Error Injection Support
- 5.6. Implementing the High-Level CEC Adapter
- 5.7. CEC framework functions
- 5.8. CEC Pin framework
- 5.9. CEC Notifier framework
- 6. MIPI CSI-2