Message ID | 20250113133405.12167-5-mzamazal@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series |
|
Related | show |
Hi Milan, Thank you for the patch. On Mon, Jan 13, 2025 at 02:34:03PM +0100, Milan Zamazal wrote: > From: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Provide the determined black level values in the metadata > to add to the completed requests. Reflow to 72 columns. 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> > --- > src/ipa/simple/algorithms/blc.cpp | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/src/ipa/simple/algorithms/blc.cpp b/src/ipa/simple/algorithms/blc.cpp > index 1d7d370b..d5759f92 100644 > --- a/src/ipa/simple/algorithms/blc.cpp > +++ b/src/ipa/simple/algorithms/blc.cpp > @@ -11,6 +11,8 @@ > > #include <libcamera/base/log.h> > > +#include "control_ids.h" > + > namespace libcamera { > > namespace ipa::soft::algorithms { > @@ -49,8 +51,13 @@ void BlackLevel::process(IPAContext &context, > [[maybe_unused]] const uint32_t frame, > IPAFrameContext &frameContext, > 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()) > return; >
diff --git a/src/ipa/simple/algorithms/blc.cpp b/src/ipa/simple/algorithms/blc.cpp index 1d7d370b..d5759f92 100644 --- a/src/ipa/simple/algorithms/blc.cpp +++ b/src/ipa/simple/algorithms/blc.cpp @@ -11,6 +11,8 @@ #include <libcamera/base/log.h> +#include "control_ids.h" + namespace libcamera { namespace ipa::soft::algorithms { @@ -49,8 +51,13 @@ void BlackLevel::process(IPAContext &context, [[maybe_unused]] const uint32_t frame, IPAFrameContext &frameContext, 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()) return;