Composite Video Device Abstraction for Libcamera
summary
Libcamera gains a C++ composite v4l2 video device that presents an ISP plus memory‑to‑memory postprocessors (dewarp, JPEG) as one video node, driving selection via a use‑case enum: video only, video+dewarp, video+JPEG or both. The class overrides V4L2 methods, orchestrates stream on/off across ISP/dewarp/JPEG, and handles intermediate buffer allocation (application buffers at pipeline end, intermediate buffers from the video buffer pool or dewarp buffer pool) and control routing so pipeline handlers don’t manage per‑device wiring.
AI-written summary · about
chapters (8)
- 0:00Introduction
- 0:21Problem statement and ISP overview
- 8:32Libcamera’s ISP simplification
- 11:51Pipeline handling choices
- 14:17Composite video abstraction design
- 18:08Initialization and use cases
- 21:28Buffer allocation in pipelines
- 25:52Performance and Q&A
related talks
25mLibcamera: Making Complex Cameras Easy
41mLearn How to Support Your SoC and ISP in Libcamera
36mCamera/ISP Drivers Using V4L2 Media Controller Framework
46mWhy Embedded Cameras are Difficult, and How to Make Them Easy
43mApplication Support with Libcamera
41mHow V4L2 Transformed To Support Embedded Cameras
34mExtending Libcamera to Provide a Fully Open Camera SoftISP Stack
38mVideo4Zephyr: From Basic APIs Towards a Full-fledged Video Subsystem
