[libcamera-devel] [PATCH 0/4] Raspberry Pi: Embedded data usage

Naushir Patuck naush at raspberrypi.com
Tue Feb 16 11:31:36 CET 2021


Hi,

This series of patches addresses the wasteful usage of embedded data streams on sensors that do not supply embedded data. We switch to using control lists to pass exposure and gain values from DelayedCtrls into the IPA in these cases.

The breakdown of patches is as follows:

Patch 1/4
Stores the DelayedCtrls::get() provided control list with the bayer framebuffer in a queue, and pass this control list to the IPA on a RPi::IPA_EVENT_SIGNAL_ISP_PREPARE event.  If there is no embedded data, the IPA will simply pull the exposure and gain values from this control list.

Patch 2/4
Remove the MdParserRPi object, it is not used anymore with the above change.

Patch 3/4
This change selectively turns on the Unicam embedded data node on sensors that support embedded data.

Patch 4/4
With the IPA now able to use control lists to extract exposure and gain values, we add a flag in the pipeline handler to relax the strict bayer <-> embedded data buffer matching routine.  If this flag is set, and no match is found, the ipa reverts to the control list values.  This avoids a few possible frame drops on heavily loaded systems.

Regards,
Naush

Naushir Patuck (4):
  pipeline: ipa: raspberrypi: Pass exposure/gain values to IPA though
    controls
  ipa: raspberrypi: Remove MdParserRPi
  pipeline: raspberrypi: Only enabled embedded stream when available
  pipeline: raspberrypi: Allow either strict or non-strict buffer
    matching

 src/ipa/raspberrypi/cam_helper.cpp            |   9 +-
 src/ipa/raspberrypi/cam_helper_imx219.cpp     |   4 +-
 src/ipa/raspberrypi/cam_helper_ov5647.cpp     |   3 +-
 src/ipa/raspberrypi/md_parser_rpi.cpp         |  37 ----
 src/ipa/raspberrypi/md_parser_rpi.hpp         |  32 ---
 src/ipa/raspberrypi/meson.build               |   1 -
 src/ipa/raspberrypi/raspberrypi.cpp           | 142 ++++++++-----
 .../pipeline/raspberrypi/raspberrypi.cpp      | 194 +++++++++++-------
 8 files changed, 211 insertions(+), 211 deletions(-)
 delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.cpp
 delete mode 100644 src/ipa/raspberrypi/md_parser_rpi.hpp

-- 
2.25.1



More information about the libcamera-devel mailing list