//GThread *thread;
pthread_t thread;
unsigned int width, height, fourcc;
+ ci_adv_dis_vector dvs_vector;
};
struct buffer
if (tmp_mode & (1 << CAM_CAPTURE_CORRECTION_DVS)) {
if (mode & (1 << CAM_CAPTURE_CORRECTION_DVS)) {
+ mfld_driver.dvs_enabled = 1;
ret = cam_driver_set_dvs (fd, ON);
} else {
+ mfld_driver.dvs_enabled = 0;
ret = cam_driver_set_dvs (fd, OFF);
}
}
mfld_driver.mmap = 1;
mfld_driver.g_3a_started = 0;
+ mfld_driver.dvs_vector.x = 0;
+ mfld_driver.dvs_vector.y = 0;
+
mfldadvci = advci;
/* Initalize the 3A library */
/* DIS and DVS processing */
if (dis_enabled || mfld_driver.dvs_enabled) {
+ ci_adv_dis_vector *dvs_vector;
cam_driver_dbg ("Begin cam_dis_get_statices\n");
mfldadvci->dis_read_statistics (); //read_dis_stats_from_xmem();
cam_driver_dbg ("Begin cam_dis_still_process\n");
- mfldadvci->dis_process (0); /* dis_vector only valid in video mode */
+ if (mfld_driver.mode == CI_ISP_MODE_VIDEO)
+ dvs_vector = &mfld_driver.dvs_vector;
+ else
+ dvs_vector = NULL;
+ mfldadvci->dis_process (dvs_vector); /* dis_vector only valid in video mode */
if (dis_enabled) {
mfldadvci->dis_calc_still (&vectors[frame_cnt], frame_cnt);
cam_copy_v4l2buf_to_user (&bufs[frame_cnt], buffer);