[libcamera-devel] [RFC PATCH 0/1] Raspberry Pi generalised embedded data parsing

David Plowman david.plowman at raspberrypi.com
Wed Mar 10 18:23:47 CET 2021


Hi

I'm just submitting this patch for comments in the first instance
(mostly from Naush, I guess, but everyone is welcome!). It's part of
our plan for more flexible handling of metadata from the sensor.

(The background is that we have some interesting sensors coming up
that give us other forms of embedded data, not just register
dumps, and we need to be able to deal with those!)

The plan is to give our CamHelpers a Prepare() and a Process() method,
just like all our algorithms. As usual, Prepare() runs just before the
ISP starts, Process() just after. A version of Prepare() is provided
that has basically just sucked that little bit of
register-dump-parsing functionality out of the IPA file
(raspberrypi.cpp). Process() does nothing by default.

There aren't actually many changes, but some observations on what I've
done:

* I've not updated various CamHelper comments yet, that can wait!

* I've made the Prepare() method responsible for reading the delayed
  control values if we can't use the metadata to get the
  exposure/gain. I wonder if perhaps that is better left in the
  IPA. Prepare() might indicate via a return value whether it found
  them in the embedded data or not.

* The parser object is completely hidden behind the helper now, so the
  distinction between them is rather blurring. Maybe they could be
  combined, but that can happen in a later patch.

Thanks!

David

David Plowman (1):
  ipa: raspberrypi: Use CamHelpers to generalise embedded data parsing

 src/ipa/raspberrypi/cam_helper.cpp  | 49 ++++++++++++++++
 src/ipa/raspberrypi/cam_helper.hpp  | 14 ++++-
 src/ipa/raspberrypi/raspberrypi.cpp | 88 ++++++++---------------------
 3 files changed, 84 insertions(+), 67 deletions(-)

-- 
2.20.1



More information about the libcamera-devel mailing list