libobscura: Cameras are STILL difficult
Day 1 | 17:50 | 00:20 | H.2214 | dcz
Note: I'm reworking this at the moment, some things won't work.
The libobscura experiment exists to find out what a point-and-shoot API
abstracting Video4Linux should look like. It has its roots on one hand in the
Librem 5 project, where I wrote some 70% of the camera stack, and on the other
hand in libcamera, which I found too difficult to use.
You think controlling a modern camera is easy? Think again. Between pixel
formats, depths, media entities, pads and links, sensitivity, denoising, phase
detection, shutter lengths, DMAbuf, OpenGL, feedback loops, requests, and
statistics, there's enough opportunities to get lost in the detail.
Thankfully, Prototype Fund thinks I'm up for the challenge, so they are funding
me through libobscura in order to get lost, and maybe find something in the
process.
Apart from showing the general problems of camera support, I'll tell about new
problems since CCC.
Project repo: https://codeberg.org/libobscura/libobscura