[libcamera-devel,0/3] Support monochrome raw sensors
mbox series

Message ID 20210615105139.16171-1-david.plowman@raspberrypi.com
Headers show
Series
  • Support monochrome raw sensors
Related show

Message

David Plowman June 15, 2021, 10:51 a.m. UTC
Hi

This small patch set adds the necessary support for monochrome
(greyscale) raw sensors, and also adds a tuning for one such sensor
(the OV9281) for the Raspberry Pi. There are 3 patches:

The first patch is the only one that affects non-Raspberry Pi code. It
adds a new "MONO" order to the BayerFormat class. Possibly this might
be slightly controversial, since when is "not really a Bayer format"
a valid Bayer format?

Nonetheless, I think it does make sense, and indeed this is not the
first time I've created an enum for the 4 standard Bayer orders and
then, when a monochrome sensor comes along, found myself adding this
extra item. Moreover, the code that uses it - even all the transform
related stuff - all works out nicely with no further edits. What do
people think?

The final two commits are Pi specific - I think they should be
self-explanatory.

Thanks!
David

David Plowman (3):
  libcamera: Add support for monochrome sensors
  libcamera: ipa: raspberrypi: Demote warnings about lack of AWB results
  libcamera: ipa: raspberrypi: Add support for ov9281 sensor

 include/libcamera/internal/bayer_format.h   |   3 +-
 src/ipa/raspberrypi/cam_helper_mov9281.cpp  | 108 ++++++++++++++++++++
 src/ipa/raspberrypi/controller/rpi/agc.cpp  |   2 +-
 src/ipa/raspberrypi/controller/rpi/alsc.cpp |   2 +-
 src/ipa/raspberrypi/data/meson.build        |   1 +
 src/ipa/raspberrypi/data/mov9281.json       |  92 +++++++++++++++++
 src/ipa/raspberrypi/meson.build             |   1 +
 src/libcamera/bayer_format.cpp              |  14 ++-
 src/libcamera/camera_sensor.cpp             |   3 +
 src/libcamera/property_ids.yaml             |   4 +
 10 files changed, 225 insertions(+), 5 deletions(-)
 create mode 100644 src/ipa/raspberrypi/cam_helper_mov9281.cpp
 create mode 100644 src/ipa/raspberrypi/data/mov9281.json