[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