camera: intel: ipu6: Update the header files of imaging control
Update the ia_xxx files in camera/hal/intel/ipu6
BUG=b:149068439, b:149068672
TEST=Full tested pass for camera functions
Cq-Depend: chromium:3361841
Cq-Depend: chrome-internal:4412794, chrome-internal:4390320
Cq-Depend: chrome-internal:4412703, chrome-internal:4378708
Change-Id: If6c30e4de6960c24be7bbf625f89d26c7f0fab8b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/camera/+/3362925
Reviewed-by: Ren-Pei Zeng <kamesan@chromium.org>
Tested-by: Ren-Pei Zeng <kamesan@chromium.org>
Commit-Queue: Ren-Pei Zeng <kamesan@chromium.org>
diff --git a/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h b/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
index 95c9598..dd5f445 100644
--- a/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
+++ b/hal/intel/ipu6/include/ia_imaging/IntelCCATypes.h
@@ -259,6 +259,7 @@
{
ia_aiq_af_status status; /*!< Focus status */
uint32_t next_lens_position; /*!< Next lens position */
+ int32_t next_focus_distance; /*!< Next focusing distance [mm] between the lens and object plane */
uint16_t current_focus_distance; /*!< Current focusing distance [mm] between the lens and object plane */
bool final_lens_position_reached; /*!< Lens has reached the final lens position */
} cca_af_results;
diff --git a/hal/intel/ipu6/include/ia_imaging/ia_aiq.h b/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
index 2ce8c9a..1409eda 100644
--- a/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
+++ b/hal/intel/ipu6/include/ia_imaging/ia_aiq.h
@@ -339,6 +339,22 @@
ia_aiq_af_results **af_results);
/*!
+ * \brief calcualte the object focus distance based on the lens position.
+ *
+ * \param[in] ia_aiq_ptr Mandatory.\n
+ * AIQ instance handle.
+ * \param[in] lens_position Mandatory.\n
+ * vcm position.
+ * \param[out] focus_distance Mandatory.\n
+ * pointer to calculated object focus distance Results from AF calculations.
+ * \return Error code.
+ */
+LIBEXPORT ia_err
+ia_aiq_calculate_focus_distance(ia_aiq *ia_aiq_ptr,
+ int32_t lens_position,
+ int32_t *focus_distance);
+
+/*!
* \brief Input parameter structure for AWB algorithm.
*/
typedef struct
diff --git a/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h b/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
index 3d2fd7a..209eff9 100644
--- a/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
+++ b/hal/intel/ipu6/include/ia_imaging/ia_aiq_types.h
@@ -304,6 +304,8 @@
int iso; /*!< ISO value corresponding to the analog gain. -1 if N/A. */
ia_aiq_gain gains[IA_CMC_GAINS_MAX_NUM]; /*!< Gain as multipliers (e.g. 1.0), -1.0f if N/A. */
unsigned int num_gains; /*!< The number of gains. */
+ unsigned int low_limit_total_exposure; /*!< Low limit of total exposure by tuning and sensor*/
+ unsigned int up_limit_total_exposure; /*!< Up limit of total exposure by tuning and sensor*/
} ia_aiq_exposure_parameters;
/*!
@@ -695,7 +697,9 @@
unsigned int gamma_lut_size; /*!< Number of elements in each gamma LUT. */
float* tone_map_lut; /*!< Tone Mapping Gain LUT. Range [0.0 FLT_MAX] */
unsigned int tone_map_lut_size; /*!< Number of elements in tone mapping LUT. */
- float base_gamma;
+ float base_gamma; /*!< gamma */
+ float btm; /*!< bottom range border */
+ float rng; /*!< dynamic range */
} ia_aiq_gbce_results;
/*!