cleanup lsc & dvs code.
authorMarko Ollonen <marko.ollonen@ixonos.com>
Tue, 9 Apr 2013 08:59:26 +0000 (11:59 +0300)
committerMarko Ollonen <marko.ollonen@ixonos.com>
Tue, 9 Apr 2013 09:15:27 +0000 (12:15 +0300)
Change-Id: Ib9ba7add1da2c643407499db8b0d34926ba3c884

gst-libs/atomisphal/gstv4l2mfldadvci.c
gst-libs/atomisphal/gstv4l2mfldadvci.h
gst-libs/atomisphal/mfld_cam.c

index 992f684..0035aac 100644 (file)
@@ -337,12 +337,13 @@ lib_3a_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci,  GModule *mod)
   g_module_symbol (mod, "ci_adv_ae_set_bias", (gpointer) &mfldadvci->AeSetBias);
   g_module_symbol (mod, "ci_adv_ae_get_bias", (gpointer) &mfldadvci->AeGetBias);
 
+  g_module_symbol (mod, "ci_adv_enable_shading_correction", (gpointer) &mfldadvci->EnableShadingCorrection);
+  g_module_symbol (mod, "ci_adv_dvs_process", (gpointer) &mfldadvci->DvsProcess);
 
   mfldadvci->initialized = 0;
   // TODO
   mfldadvci->init = wrapper_default_init;
   mfldadvci->mode_spec_init = wrapper_default_int_void;
-  mfldadvci->update_dis_results = wrapper_default_void;
   mfldadvci->do_redeye_removal = wrapper_default_do_redeye_removal;
   mfldadvci->load_gdc_table = wrapper_default_void;
   mfldadvci->AeGetIso = wrapper_default_AeGetManualIso;
@@ -373,8 +374,6 @@ wrapper_default_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci)
   mfldadvci->af_start = wrapper_default_af_start;
   mfldadvci->af_stop = wrapper_default_af_stop;
 
-  mfldadvci->update_dis_results = wrapper_default_void;
-
   mfldadvci->do_redeye_removal = wrapper_default_do_redeye_removal;
   mfldadvci->load_gdc_table = wrapper_default_void;
 
@@ -430,5 +429,8 @@ wrapper_default_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci)
   mfldadvci->AeSetMode = wrapper_default_AeSetMode;
   mfldadvci->AeGetMode = wrapper_default_AeGetMode;
 
+  mfldadvci->EnableShadingCorrection = wrapper_default_enable;
+  mfldadvci->DvsProcess = wrapper_default_void;
+
 
 }
index 03a13eb..0244f6b 100644 (file)
@@ -210,8 +210,6 @@ struct _GstV4l2MFLDAdvCI
   void (*af_stop)(void);
   void (*af_assist_light_needed)(gboolean *needed);
 
-  void (*update_dis_results)(void);
-
   void (*do_redeye_removal) (advci_frame_t *user_buf);
 
   void (*load_gdc_table)(void);
@@ -277,6 +275,8 @@ struct _GstV4l2MFLDAdvCI
   void (*AeLock)(gboolean lock);
   void (*AfLock)(gboolean lock);
 
+  void (*EnableShadingCorrection)(gboolean enable);
+  void (*DvsProcess)(void);
 };
 
 void lib_3a_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci, GModule *mod);
index bd0d8aa..e82c67f 100644 (file)
@@ -105,7 +105,6 @@ struct mfld_driver_t
   //GThread *thread;
   pthread_t thread;
   unsigned int width, height, fourcc;
-  struct atomisp_dis_vector dvs_vector;
   float frame_rate;
   int sensor_type;
   struct timeval timestamp;
@@ -697,6 +696,8 @@ cam_set_capture_mode (int fd, cam_capture_mode_t mode)
       case CAM_CAPTURE_MODE_VIDEO_RECORD:
         mfldadvci->switch_mode (advci_isp_mode_video, mfld_driver.frame_rate);
         cam_driver_dbg ("%s: VIDEO Mode is set\n", __func__);
+        /* lens shading recalculate */
+        mfldadvci->EnableShadingCorrection(TRUE);
         break;
       case CAM_CAPTURE_MODE_STILL_CAPTURE:
         mfldadvci->switch_mode (advci_isp_mode_capture, mfld_driver.frame_rate);
@@ -1217,8 +1218,6 @@ libmfld_cam_init (GstV4l2MFLDAdvCI * advci)
   mfld_driver.mmap = 1;
   mfld_driver.g_3a_started = 0;
 
-  mfld_driver.dvs_vector.x = 0;
-  mfld_driver.dvs_vector.y = 0;
   mfld_driver.focus_done = 0;
   mfld_driver.flash_used = FALSE;
   mfld_driver.enable_torch = FALSE;
@@ -1651,34 +1650,6 @@ get_flash_status(void)
   return flash_en;
 }
 
-static void
-cam_dis_dvs_processing (struct atomisp_dis_vector *vectors, advci_frame_t *bufs,
-       struct v4l2_buffer *buffer, int frame_cnt, int dis_enabled)
-{
-  struct atomisp_dis_vector *dvs_vector;
-
-  cam_driver_dbg ("Begin cam_dis_get_statices\n");
-  if (mfld_driver.sensor_type == SENSOR_TYPE_RAW) {
-
-    cam_driver_dbg ("Begin cam_dis_still_process\n");
-
-    if (mfld_driver.capture_mode == CAM_CAPTURE_MODE_VIDEO_RECORD)
-      dvs_vector = &mfld_driver.dvs_vector;
-    else
-      dvs_vector = NULL;
-    // TODO !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
-    // 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);
-    }
-
-    cam_driver_dbg ("Update DIS results\n");
-    mfldadvci->update_dis_results();
-  }
-}
-
 static gboolean cam_af_is_complete(void)
 {
   cam_driver_dbg("%s:%d\n", __func__, __LINE__);
@@ -1737,9 +1708,9 @@ run_normal_sequence(int fd, struct v4l2_buffer *buffer)
     mfld_driver.timestamp = buffer->timestamp;
     sem_post(&g_sem_3a);
 
-    /* DIS and DVS processing */
-    if (dis_enabled || mfld_driver.dvs_enabled)
-      cam_dis_dvs_processing(vectors, bufs, buffer, frame_cnt, dis_enabled);
+    /* DVS processing */
+    if (mfld_driver.dvs_enabled)
+      mfldadvci->DvsProcess();
 
       /* Qbuffer for the DIS */
     if (frame_cnt >= 1)