return;
}
-static void wrapper_default_int (int a)
-{
- return;
-}
-
static int wrapper_default_int_void (void)
{
return 0;
static ci_adv_Err
wrapper_default_int_int (int i)
{
+ return 0;
}
static ci_adv_Err
wrapper_default_intp (int *p)
{
+ return 0;
}
static int
{
}
+static gboolean
+wrapper_default_af_assist_light_needed(void)
+{
+return FALSE;
+}
static ci_adv_Err wrapper_default_AeSetManualIso(int sensitivity)
{
return;
}
-static void
-lib_3a_int (int a)
-{
- cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
- return;
-}
-
static int
lib_3a_int_void (void)
{
lib_3a_AeGetExposureProgram(advci_ae_exposure_program *program)
{
cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
- ci_adv_ae_get_exposure_program(program);
+ ci_adv_ae_get_exposure_program((ia_3a_ae_exposure_program *)program);
}
static void
lib_3a_isp_set_fd (int fd, const char *sensor_id)
{
int sensor_type;
- advci_window window;
+ ia_3a_window window;
cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
if (ci_adv_init(sensor_id, fd, NULL) == 0) {
static gboolean lib_3a_af_is_complete(void)
{
- ia_3a_af_status status;
+ advci_af_status status;
gboolean completed = FALSE;
lib_3a_AfGetStillAfStatus(&status);
- if (status == ia_3a_af_status_error) {
+ if (status == advci_af_status_error) {
cam_lib_3a_dbg("==== still AF failed \n");
completed = TRUE;
}
- else if (status == ia_3a_af_status_success) {
+ else if (status == advci_af_status_success) {
cam_lib_3a_dbg("==== still AF success");
completed = TRUE;
- } else if (status == ia_3a_af_status_cancelled) {
+ } else if (status == advci_af_status_cancelled) {
cam_lib_3a_dbg("==== still AF cancelled \n");
completed = TRUE;
}
lib_3a_AfGetMeteringMode(advci_af_metering_mode *mode)
{
cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
- ci_adv_af_get_metering_mode(mode);
+ ci_adv_af_get_metering_mode((ia_3a_af_metering_mode *)mode);
}
static void
lib_3a_Ae_Af_GetWindow(advci_window *window)
{
cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
- ia_3a_ae_get_window(window);
+ ia_3a_ae_get_window((ia_3a_window *)window);
}
static void
__func__, window->x_left,window->x_right,
window->y_top , window->y_bottom, window->weight);
- ci_adv_ae_set_window(window);
- ci_adv_af_set_windows(1, window);
+ ci_adv_ae_set_window((ia_3a_window *)window);
+ ci_adv_af_set_windows(1, (ia_3a_window *)window);
}
static void
lib_3a_AeAfAwb_process( struct timeval *frame_timestamp)
{
int status;
- //cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
+ // cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
status = ci_adv_process_frame(TRUE,frame_timestamp);
}
static void
static void
lib_ae_is_flash_needed(gboolean *useflash)
{
- ci_adv_ae_is_flash_necessary(useflash);
+ ci_adv_ae_is_flash_necessary((_Bool *)useflash);
cam_lib_3a_dbg("%s:%d useflash: %d\n", __func__, __LINE__, *useflash);
}
static void
lib_3a_GetMakerNote(advci_mknote_mode mknMode, advci_mknote *note)
{
- note = ci_adv_get_maker_note(mknMode);
+ note = (advci_mknote *)ci_adv_get_maker_note((ia_3a_mknote_mode)mknMode);
}
static void
{
if (mknData != NULL)
{
- ci_adv_put_maker_note(mknData);
+ ci_adv_put_maker_note((ia_3a_mknote *)mknData);
}
}
ci_adv_reset_maker_note();
}
+static gboolean
+lib_3a_af_assist_light_needed(void)
+{
+ bool bNeed = FALSE;
+ ci_adv_err ret = ci_adv_af_need_assist_light(&bNeed);
+ cam_lib_3a_dbg("%s:%d assist_light_needed: %d\n", __func__, __LINE__, bNeed);
+
+ return bNeed;
+}
void
lib_3a_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci)
mfldadvci->ae_calc_with_flash = lib_3a_calc_with_flash;
mfldadvci->ae_is_flash_needed = lib_ae_is_flash_needed;
+ mfldadvci->af_assist_light_needed = lib_3a_af_assist_light_needed;
mfldadvci->ae_apply_results = lib_3a_ae;
mfldadvci->ae_calc_with_flash = wrapper_default_calc_with_flash;
mfldadvci->ae_is_flash_needed = wrapper_default_is_flash_needed;
+ mfldadvci->af_assist_light_needed = wrapper_default_af_assist_light_needed;
mfldadvci->ae_apply_results = wrapper_default_ae;