[libcamera-devel] [PATCH 1/6] ipu3: Use ia_aiq_frame_use_preview as default mode for AIQ

Umang Jain umang.jain at ideasonboard.com
Thu Oct 28 15:34:17 CEST 2021


Hi Han-Lin,

Thank you for the patch.

On 10/28/21 3:33 PM, Han-Lin Chen wrote:
> The frame use mode is set according to Android Capture Intent in Intel
> HAL's implememtation. The current default mode ia_aiq_frame_use_still is
> only used with the single capture request. For preview use case, it has
> hard time converging AE and AF smoothly. Change the default mode to
> ia_aiq_frame_use_preview for better user experience.


I believe the discussions and understanding I have around frame_use, is 
that, it is something to be set to be from the applications's (or 
Request's) side and passed on to the IPA. Is this the way frame_use is 
set the existing HAL implementation on chrome side? I guess I'll need to 
check for confirmation.

Anyways, the patch looks fine to me so,

Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
>
> Signed-off-by: Han-Lin Chen <hanlinchen at chromium.com>
> ---
>   aiq/aiq_input_parameters.cpp | 10 +++++-----
>   1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/aiq/aiq_input_parameters.cpp b/aiq/aiq_input_parameters.cpp
> index 36e2b07..bc87b31 100644
> --- a/aiq/aiq_input_parameters.cpp
> +++ b/aiq/aiq_input_parameters.cpp
> @@ -132,7 +132,7 @@ void AiqInputParameters::setAeAwbAfDefaults()
>   {
>   	/*Ae Params */
>   	aeInputParams.num_exposures = NUM_EXPOSURES;
> -	aeInputParams.frame_use = ia_aiq_frame_use_still;
> +	aeInputParams.frame_use = ia_aiq_frame_use_preview;
>   	aeInputParams.flash_mode = ia_aiq_flash_mode_off;
>   	aeInputParams.operation_mode = ia_aiq_ae_operation_mode_automatic;
>   	aeInputParams.metering_mode = ia_aiq_ae_metering_mode_evaluative;
> @@ -153,7 +153,7 @@ void AiqInputParameters::setAeAwbAfDefaults()
>   	aeInputParams.manual_convergence_time = -1;
>   
>   	/* AWB Params */
> -	awbParams.frame_use = ia_aiq_frame_use_still;
> +	awbParams.frame_use = ia_aiq_frame_use_preview;
>   	awbParams.scene_mode = ia_aiq_awb_operation_mode_auto;
>   	awbParams.manual_convergence_time = -1.0;
>   	awbParams.manual_cct_range = nullptr;
> @@ -161,7 +161,7 @@ void AiqInputParameters::setAeAwbAfDefaults()
>   
>   	/* AF Params */
>   	afParams = {
> -		ia_aiq_frame_use_still, 0, 1500,
> +		ia_aiq_frame_use_preview, 0, 1500,
>   		ia_aiq_af_operation_mode_auto,
>   		ia_aiq_af_range_normal,
>   		ia_aiq_af_metering_mode_auto,
> @@ -172,11 +172,11 @@ void AiqInputParameters::setAeAwbAfDefaults()
>   	/* GBCE Params */
>   	gbceParams.gbce_level = ia_aiq_gbce_level_bypass;
>   	gbceParams.tone_map_level = ia_aiq_tone_map_level_default;
> -	gbceParams.frame_use = ia_aiq_frame_use_still;
> +	gbceParams.frame_use = ia_aiq_frame_use_preview;
>   	gbceParams.ev_shift = 0;
>   
>   	/* SA Params */
> -	saParams.frame_use = ia_aiq_frame_use_still;
> +	saParams.frame_use = ia_aiq_frame_use_preview;
>   }
>   
>   } /* namespace ipa::ipu3::aiq */


More information about the libcamera-devel mailing list