[PATCH v1 10/11] ipa: rkisp1: Add compand feature flag to ipa context

Jacopo Mondi jacopo.mondi at ideasonboard.com
Thu Jul 4 15:38:00 CEST 2024


Hi Laurent

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>

>  };
>
>  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