[PATCH v1 10/11] ipa: rkisp1: Add compand feature flag to ipa context
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu Jul 4 15:51:01 CEST 2024
On Thu, Jul 04, 2024 at 03:38:00PM +0200, Jacopo Mondi wrote:
> On Thu, Jul 04, 2024 at 01:52:29AM GMT, Laurent Pinchart wrote:
> > From: Paul Elder <paul.elder at ideasonboard.com>
> >
> > Add a compand feature flag to the hardware settings section of the IPA
> > context, so that we can act accordingly for black level subtraction, and
> > to pave the way to skipping companding appropriately when support for it
> > is added.
> >
> > Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > src/ipa/rkisp1/ipa_context.h | 1 +
> > src/ipa/rkisp1/rkisp1.cpp | 14 +++++++++++++-
> > 2 files changed, 14 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h
> > index 1d0e9030af1c..f5503ada7d8b 100644
> > --- a/src/ipa/rkisp1/ipa_context.h
> > +++ b/src/ipa/rkisp1/ipa_context.h
> > @@ -31,6 +31,7 @@ struct IPAHwSettings {
> > unsigned int numHistogramBins;
> > unsigned int numHistogramWeights;
> > unsigned int numGammaOutSamples;
> > + bool compand;
>
> not thrilled by a boolean. If other ISP blocks will have to be
> supported per-platform this will need to be made a 'feature', like
> it's been done on the Linux side.
>
> If you prefer, it could be done on top.
> Reviewed-by: Jacopo Mondi <jacopo.mondi at ideasonboard.com>
I'd prefer doing it on top indeed, when we'll have more visibility.
> > };
> >
> > struct IPASessionConfiguration {
> > diff --git a/src/ipa/rkisp1/rkisp1.cpp b/src/ipa/rkisp1/rkisp1.cpp
> > index 1a89eabf10b4..083d5b08caff 100644
> > --- a/src/ipa/rkisp1/rkisp1.cpp
> > +++ b/src/ipa/rkisp1/rkisp1.cpp
> > @@ -93,6 +93,15 @@ const IPAHwSettings ipaHwSettingsV10{
> > RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10,
> > RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10,
> > RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10,
> > + false,
> > +};
> > +
> > +const IPAHwSettings ipaHwSettingsIMX8MP{
> > + RKISP1_CIF_ISP_AE_MEAN_MAX_V10,
> > + RKISP1_CIF_ISP_HIST_BIN_N_MAX_V10,
> > + RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V10,
> > + RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V10,
> > + true,
> > };
> >
> > const IPAHwSettings ipaHwSettingsV12{
> > @@ -100,6 +109,7 @@ const IPAHwSettings ipaHwSettingsV12{
> > RKISP1_CIF_ISP_HIST_BIN_N_MAX_V12,
> > RKISP1_CIF_ISP_HISTOGRAM_WEIGHT_GRIDS_SIZE_V12,
> > RKISP1_CIF_ISP_GAMMA_OUT_MAX_SAMPLES_V12,
> > + false,
> > };
> >
> > /* List of controls handled by the RkISP1 IPA */
> > @@ -130,9 +140,11 @@ int IPARkISP1::init(const IPASettings &settings, unsigned int hwRevision,
> > /* \todo Add support for other revisions */
> > switch (hwRevision) {
> > case RKISP1_V10:
> > - case RKISP1_V_IMX8MP:
> > context_.hw = &ipaHwSettingsV10;
> > break;
> > + case RKISP1_V_IMX8MP:
> > + context_.hw = &ipaHwSettingsIMX8MP;
> > + break;
> > case RKISP1_V12:
> > context_.hw = &ipaHwSettingsV12;
> > break;
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list