Immediately after switching the page, it will work with CSR.
Please reload your browser to see how it works.
I'm a maintainer for openpnp-capture and I've always had the thought of hardware acceleration in the back of my mind, but I didn't really know how I would go about it. Reading the comments on using shaders for color space conversion really opened my eyes.
I like that this is in Rust. It should make it very portable over time and Rust's dependency management and builds should make it a heck of a lot easier to distribute on multiple architectures (if you intend to).
Looks awesome, good luck!
There are already other libraries for camera support on Linux. You can use the V4L2 APIs directly, or use libcamera, or libmegapixels.
They all strike various middle points on the power vs user-friendliness scale. Having worked with all of them while developing camera support for the Librem 5, I never got the impression that any of them are particularly easy to use.
Libobscura is an experiment because it tries to find an API that fulfills the needs of most people and remains hard to use wrong.