17-19 October 2023
Palexco
Europe/Madrid timezone

Camera stack for Complex Camera

Not scheduled
2h
Palexco

Palexco

Muelle de Trasatlánticos, s/n, 15003 A Coruña, A Coruña, Spain
Workshop Discussion Topic Workshop

Speaker

Ricardo Ribalda (Google)

Description

Through the last years cameras' ISPs have evolved from something configurable to something programmable, just like the video cards.

Unfortunately, video4linux2 (v4l2) has not evolved in the same way. It still abstracts the cameras as a set of blocks that send video streams to others in well known formats that have controls (the media controller). This has these problems:

  • v4l2 drivers builds abstractions that do not match the hardware, resulting in extremely large drivers (complex drivers)
  • v4l2 drivers have fixed functionality. Vendors cannot have differentiating features on their camera stack. (lack of innovation)
  • v4l2 subsystem obliges that all the access to the hardware is documented, which can lead to lawsuits if cores use patented algos unknowingly (legal uncertainty)

In comparison, Android has avoided v4l2 on their stack, instead they expect that vendors support a very abstracted userspace API, not imposing any limitation to vendors on how they access their hardware.

To solve this problem, Google has been working on KCAM, a new camera kernel infrastructure that lets you send command buffers directly to ISPs. It mimics very much DRM in that sense, most of the driver lives in userspace not in kernelspace. Memory operations are abstracted as well as unsafe commands.

The objective of the workshop is to discuss how Kcam fits on the camera and kernel ecosystem and the openness requirements.

In-person or virtual presentation In-person
GSoC, EVoC or Outreachy No
Code of Conduct Yes

Primary author

Presentation Materials

There are no materials yet.
2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer