ipa: simple: Report black levels in metadata

Provide the determined black level values in the metadata
to add to the completed requests.

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Milan Zamazal <mzamazal@redhat.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Kieran Bingham 2025-03-27 19:59:42 +01:00 committed by Laurent Pinchart
parent a0b97475b1
commit 8a4c2682be

View file

@ -11,6 +11,8 @@
#include <libcamera/base/log.h> #include <libcamera/base/log.h>
#include "control_ids.h"
namespace libcamera { namespace libcamera {
namespace ipa::soft::algorithms { namespace ipa::soft::algorithms {
@ -49,8 +51,15 @@ void BlackLevel::process(IPAContext &context,
[[maybe_unused]] const uint32_t frame, [[maybe_unused]] const uint32_t frame,
IPAFrameContext &frameContext, IPAFrameContext &frameContext,
const SwIspStats *stats, const SwIspStats *stats,
[[maybe_unused]] ControlList &metadata) ControlList &metadata)
{ {
/* Assign each of the R G G B channels as the same black level. */
const int32_t blackLevel = context.activeState.blc.level * 256;
const int32_t blackLevels[] = {
blackLevel, blackLevel, blackLevel, blackLevel
};
metadata.set(controls::SensorBlackLevels, blackLevels);
if (context.configuration.black.level.has_value()) if (context.configuration.black.level.has_value())
return; return;