Clean up: remove dependency to 3a lib headers
authorMarko Ollonen <marko.ollonen@ixonos.com>
Wed, 28 Nov 2012 11:47:42 +0000 (13:47 +0200)
committerMarko Ollonen <marko.ollonen@ixonos.com>
Thu, 29 Nov 2012 10:56:25 +0000 (12:56 +0200)
Change-Id: Idc7f23881b8711132cb1e203fd5f91bb8661a10c

configure.ac
gst-libs/atomisphal/Makefile.am
gst-libs/atomisphal/gstv4l2mfldadvci.c
gst-libs/atomisphal/gstv4l2mfldadvci.h
gst-libs/atomisphal/mfld_cam.c
gst/mfldv4l2cam/Makefile.am
gst/mfldv4l2cam/gstv4l2camsrc.c
packaging/mfldv4l2camsrc.changes
packaging/mfldv4l2camsrc.spec

index fba1222..9d9f636 100644 (file)
@@ -4,7 +4,7 @@ dnl versions of gstreamer and plugins-base
 GST_MAJORMINOR=0.10
 GST_REQUIRED=0.10.0
 GSTPB_REQUIRED=0.10.0
-#LIBMFLD_REQUIRED=0.10.0
+LIBMFLD_REQUIRED=0.10.0
 
 dnl fill in your package name and version here
 dnl the fourth (nano) number should be 0 for a release, 1 for CVS,
@@ -132,7 +132,7 @@ fi
 AC_SUBST(plugindir)
 
 dnl set proper LDFLAGS for plugins
-GST_PLUGIN_LDFLAGS='-module -avoid-version -Bstatic -lmfldadvci -export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*'
+GST_PLUGIN_LDFLAGS='-module -avoid-version -export-symbols-regex [_]*\(gst_\|Gst\|GST_\).*'
 AC_SUBST(GST_PLUGIN_LDFLAGS)
 
 dnl LDFLAGS really should only contain flags, not libs - they get added before
@@ -154,13 +154,18 @@ AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
 AC_SUBST(GST_CHECK_CFLAGS)
 AC_SUBST(GST_CHECK_LIBS)
 
-
+dnl check gst check 3a support
+dnl LIBMFLDADVCI_CFLAGS
+dnl LIBMFLDADVCI_LIBS
 HAVE_LIBMFLDADVCI=yes
-PKG_CHECK_MODULES(LIBMFLDADVCI, libmfdldadvci >= $LIBMFLD_REQUIRED, HAVE_LIBMFLDADVCI=yes, HAVE_LIBMFLDADVCI=no)
-AM_CONDITIONAL(HAVE_LIBMFLDADVCI, test ! "x$LIBMFLDADVCI" = "xno")
+PKG_CHECK_MODULES(LIBMFLDADVCI, libmfldadvci >= $LIBMFLD_REQUIRED, HAVE_LIBMFLDADVCI=yes, HAVE_LIBMFLDADVCI=no)
+AM_CONDITIONAL(HAVE_LIBMFLDADVCI, test ! "x$LIBMFLDADVCI" = "xyes")
+if test "x$HAVE_LIBMFLDADVCI" = "xyes"; then
+LIBMFLDADVCI_CFLAGS="-DUSE_STATIC_3A -I/usr/include/libmfldadvci/"
+LIBMFLDADVCI_LIBS="-Bstatic -lmfldadvci"
 AC_SUBST(LIBMFLDADVCI_CFLAGS)
 AC_SUBST(LIBMFLDADVCI_LIBS)
-
+fi
 AC_PATH_PROG(VALGRIND_PATH, valgrind, no)
 AM_CONDITIONAL(HAVE_VALGRIND, test ! "x$VALGRIND_PATH" = "xno")
 
index 62987d0..0369816 100644 (file)
@@ -14,10 +14,12 @@ libgstatomisphal_@GST_MAJORMINOR@include_HEADERS = mfld_cam.h  \
                                                sh_css_types.h
 
 libgstatomisphal_@GST_MAJORMINOR@_la_CFLAGS = $(GST_CFLAGS)\
-                                       -DSTDC99 -D__user=
+                                       -DSTDC99 -D__user= \
+                                       $(LIBMFLDADVCI_CFLAGS)
 
 libgstatomisphal_@GST_MAJORMINOR@_la_LIBADD = $(GST_LIBS)
 
-libgstatomisphal_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LDFLAGS)
+libgstatomisphal_@GST_MAJORMINOR@_la_LDFLAGS = $(GST_LDFLAGS)\
+                                       $(LIBMFLDADVCI_LIBS)
 
 noinst_HEADERS = mfld_driver.h
index f7e6a16..5e2d5b7 100644 (file)
@@ -22,7 +22,7 @@
 #include <math.h>
 #include <sys/ioctl.h>
 #include <gst/gst.h>
-#include "ci_adv_pub.h"
+
 
 void cam_lib_3a_dbg(const char *format, ...);
 
@@ -34,7 +34,7 @@ int __android_log_print(int prio, const char *tag, const char *fmt, ...)
 /* for debug message and error message output
  *
  */
-static bool use_3A_debug = FALSE;
+static gboolean use_3A_debug = FALSE;
 
 void
 cam_lib_3a_dbg (const char *format, ...)
@@ -87,68 +87,68 @@ wrapper_default_dis_calc_still (struct atomisp_dis_vector * vector, int frame_nu
 }
 
 static void
-wrapper_default_do_redeye_removal (ia_frame *ia_frame)
+wrapper_default_do_redeye_removal (advci_frame_t *frame)
 {
 }
 
 static void
-wrapper_default_still_compose (ia_frame *com_buf,
-                     ia_frame bufs[],
+wrapper_default_still_compose (advci_frame_t *com_buf,
+                     advci_frame_t bufs[],
                      int frame_dis,
                      struct atomisp_dis_vector vectors[])
 {
 }
 
 static void
-wrapper_default_AeSetFlickerMode(ia_3a_ae_flicker_mode mode)
+wrapper_default_AeSetFlickerMode(advci_ae_flicker_mode mode)
 {
 }
 
 static void
-wrapper_default_AeGetFlickerMode(ia_3a_ae_flicker_mode *mode)
+wrapper_default_AeGetFlickerMode(advci_ae_flicker_mode *mode)
 {
 }
 
 static void
-wrapper_default_AeSetExposureProgram(ia_3a_ae_exposure_program program)
+wrapper_default_AeSetExposureProgram(advci_ae_exposure_program program)
 {
 }
 
 static void
-wrapper_default_AeGetExposureProgram(ia_3a_ae_exposure_program *program)
+wrapper_default_AeGetExposureProgram(advci_ae_exposure_program *program)
 {
 }
 
-static void wrapper_default_AfSetMode(ia_3a_af_mode mode)
+static void wrapper_default_AfSetMode(advci_af_mode mode)
 {
 }
 
-static void wrapper_default_AfGetMode(ia_3a_af_mode *mode)
+static void wrapper_default_AfGetMode(advci_af_mode *mode)
 {
 }
 
-static void wrapper_default_AfSetRange(ia_3a_af_range range)
+static void wrapper_default_AfSetRange(advci_af_range range)
 {
 }
 
-static void wrapper_default_AfGetRange(ia_3a_af_range *range)
+static void wrapper_default_AfGetRange(advci_af_range *range)
 {
 }
 
-static void wrapper_default_AwbSetMode(ia_3a_awb_mode mode)
+static void wrapper_default_AwbSetMode(advci_awb_mode mode)
 {
 }
 
-static void wrapper_default_AwbGetMode(ia_3a_awb_mode *mode)
+static void wrapper_default_AwbGetMode(advci_awb_mode *mode)
 {
 }
 
-static void wrapper_default_AwbSetLightSource(ia_3a_awb_light_source ls)
+static void wrapper_default_AwbSetLightSource(advci_awb_light_source ls)
 {
 }
 
 static void
-wrapper_default_AwbGetLightSource(ia_3a_awb_light_source *ls)
+wrapper_default_AwbGetLightSource(advci_awb_light_source *ls)
 {
 }
 
@@ -169,7 +169,7 @@ wrapper_default_isp_set_fd (int fd, const char *sensor_id)
 }
 
 static void
-wrapper_default_switch_mode (ia_3a_isp_mode mode, float frame_rate)
+wrapper_default_switch_mode (advci_isp_mode mode, float frame_rate)
 {
 }
 
@@ -191,11 +191,11 @@ static void wrapper_default_AfVersion(int * major, int * minor)
 {
 }
 
-static void wrapper_default_AfGetStillAfStatus(ia_3a_af_status *status)
+static void wrapper_default_AfGetStillAfStatus(advci_af_status *status)
 {
 }
 
-static bool wrapper_default_af_is_complete(void)
+static gboolean wrapper_default_af_is_complete(void)
 {
   return TRUE;
 }
@@ -222,11 +222,11 @@ static void wrapper_default_AeGetManualAperture(int *aperture)
 {
 }
 
-static void wrapper_default_AeGetFlashMode(ia_3a_ae_flash_mode *mode)
+static void wrapper_default_AeGetFlashMode(advci_ae_flash_mode *mode)
 {
 }
 
-static void wrapper_default_AeSetFlashMode(ia_3a_ae_flash_mode mode)
+static void wrapper_default_AeSetFlashMode(advci_ae_flash_mode mode)
 {
 }
 
@@ -244,33 +244,33 @@ static void wrapper_default_GetGridInfo(void * grid_info)
 }
 
 static void
-wrapper_default_AeSetMeteringMode(ia_3a_ae_metering_mode mode)
+wrapper_default_AeSetMeteringMode(advci_ae_metering_mode mode)
 {
 }
 
 static void
-wrapper_default_AeGetMeteringMode(ia_3a_ae_metering_mode *mode)
+wrapper_default_AeGetMeteringMode(advci_ae_metering_mode *mode)
 {
 }
 
 static void
-wrapper_default_AfSetMeteringMode(ia_3a_af_metering_mode mode)
+wrapper_default_AfSetMeteringMode(advci_af_metering_mode mode)
 {
 }
 
 static void
-wrapper_default_AfGetMeteringMode(ia_3a_af_metering_mode *mode)
+wrapper_default_AfGetMeteringMode(advci_af_metering_mode *mode)
 {
 }
 
 static void
-wrapper_default_Ae_Af_GetWindow(ia_3a_window *window)
+wrapper_default_Ae_Af_GetWindow(advci_window *window)
 {
 
 }
 
 static void
-wrapper_default_Ae_Af_SetWindow( ia_3a_window *window)
+wrapper_default_Ae_Af_SetWindow( advci_window *window)
 {
 }
 static void wrapper_default_af_start( )
@@ -301,47 +301,38 @@ static void wrapper_default_get_statistics( )
 static void wrapper_default_awb_apply_results( )
 {
 }
-static void wrapper_default_AwbSetImageEffect(ia_3a_image_effect effect)
+static void wrapper_default_AwbSetImageEffect(advci_image_effect effect)
 {
 }
 
 static void
-wrapper_default_AwbGetImageEffect(ia_3a_image_effect *effect)
+wrapper_default_AwbGetImageEffect(advci_image_effect *effect)
 {
 }
 
 static void
-wrapper_default_is_flash_needed(bool *useflash)
+wrapper_default_is_flash_needed(gboolean *useflash)
 {
 
 }
 
 static ci_adv_Err wrapper_default_AeSetManualIso(int sensitivity)
 {
-  return ci_adv_success;
+  return 0;
 }
 
 static ci_adv_Err wrapper_default_AeGetManualIso(int *sensitivity)
 {
-  return ci_adv_success;
-}
-
-static void
-wrapper_default_GetMakerNote(ia_3a_mknote_mode mknMode, ia_3a_mknote *note)
-{
+  return 0;
 }
 
 static void
-wrapper_default_AddMakerNoteRecord(ia_3a_mknote_field_type mkn_format_id,
-                                   ia_3a_mknote_field_name mkn_name_id,
-                                   const void *record,
-                                   unsigned short record_size)
+wrapper_default_GetMakerNote(advci_mknote_mode mknMode, advci_mknote *note)
 {
-
 }
 
 static void
-wrapper_default_PutMakerNote(ia_3a_mknote *mknData)
+wrapper_default_PutMakerNote(advci_mknote *mknData)
 {
 
 }
@@ -409,14 +400,14 @@ lib_3a_dis_calc_still (struct atomisp_dis_vector * vector, int frame_number)
 }
 
 static void
-lib_3a_do_redeye_removal (ia_frame *ia_frame)
+lib_3a_do_redeye_removal (advci_frame_t *frame)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
 }
 
 static void
-lib_3a_still_compose (ia_frame *com_buf,
-                     ia_frame bufs[],
+lib_3a_still_compose (advci_frame_t *com_buf,
+                     advci_frame_t bufs[],
                      int frame_dis,
                      struct atomisp_dis_vector vectors[])
 {
@@ -425,83 +416,83 @@ lib_3a_still_compose (ia_frame *com_buf,
 }
 
 static void
-lib_3a_AeSetFlickerMode(ia_3a_ae_flicker_mode mode)
+lib_3a_AeSetFlickerMode(advci_ae_flicker_mode mode)
 {
   cam_lib_3a_dbg("%s:%d mode:%d\n", __func__, __LINE__,mode);
-  ci_adv_ae_set_flicker_mode(mode);
+  ci_adv_ae_set_flicker_mode((advci_ae_flicker_mode)mode);
 }
 
 static void
-lib_3a_AeGetFlickerMode(ia_3a_ae_flicker_mode *mode)
+lib_3a_AeGetFlickerMode(advci_ae_flicker_mode *mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *mode= ia_3a_ae_get_flicker_mode();
 }
 
 static void
-lib_3a_AeSetExposureProgram(ia_3a_ae_exposure_program program)
+lib_3a_AeSetExposureProgram(advci_ae_exposure_program program)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ci_adv_ae_set_exposure_program(program);
 }
 
 static void
-lib_3a_AeGetExposureProgram(ia_3a_ae_exposure_program *program)
+lib_3a_AeGetExposureProgram(advci_ae_exposure_program *program)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ci_adv_ae_get_exposure_program(program);
 }
 
 static void
-lib_3a_AfSetMode(ia_3a_af_mode mode)
+lib_3a_AfSetMode(advci_af_mode mode)
 {
   cam_lib_3a_dbg("%s:%d mode:%d\n", __func__, __LINE__,mode);
   ci_adv_af_set_mode(mode);
 }
 
 static void
-lib_3a_AfGetMode(ia_3a_af_mode *mode)
+lib_3a_AfGetMode(advci_af_mode *mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *mode = ia_3a_af_get_focus_mode();
 }
 
 static void
-lib_3a_AfSetRange(ia_3a_af_range range)
+lib_3a_AfSetRange(advci_af_range range)
 {
   cam_lib_3a_dbg ("%s:%d\n", __func__, __LINE__);
   ci_adv_af_set_range(range);
 }
 
 static void
-lib_3a_AfGetRange(ia_3a_af_range *range)
+lib_3a_AfGetRange(advci_af_range *range)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *range = ia_3a_af_get_focus_range();
 }
 
 static void
-lib_3a_AwbSetMode(ia_3a_awb_mode mode)
+lib_3a_AwbSetMode(advci_awb_mode mode)
 {
   cam_lib_3a_dbg("%s:%d mode:%d\n" , __func__, __LINE__,mode);
   ci_adv_awb_set_mode(mode);
 }
 
 static void
-lib_3a_AwbGetMode(ia_3a_awb_mode *mode)
+lib_3a_AwbGetMode(advci_awb_mode *mode)
 {
   *mode = ia_3a_awb_get_mode();
 }
 
 static void
-lib_3a_AwbSetLightSource(ia_3a_awb_light_source ls)
+lib_3a_AwbSetLightSource(advci_awb_light_source ls)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ci_adv_awb_set_light_source(ls);
 }
 
 static void
-lib_3a_AwbGetLightSource(ia_3a_awb_light_source *ls)
+lib_3a_AwbGetLightSource(advci_awb_light_source *ls)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *ls = ia_3a_awb_get_light_source();
@@ -525,7 +516,7 @@ static int
 lib_3a_isp_set_fd (int fd, const char *sensor_id)
 {
   int sensor_type;
-  ia_3a_window window;
+  advci_window window;
 
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   if (ci_adv_init(sensor_id, fd, NULL) == 0) {
@@ -553,13 +544,13 @@ lib_3a_isp_set_fd (int fd, const char *sensor_id)
 
     ci_adv_ae_set_window(&window);
 
-    ci_adv_ae_set_exposure_program(ia_3a_ae_exposure_program_auto);
+    ci_adv_ae_set_exposure_program(advci_ae_exposure_program_auto);
     ci_adv_ae_set_mode(ia_3a_ae_mode_auto);
-    ci_adv_ae_set_metering_mode(ia_3a_ae_metering_mode_center);
-    ci_adv_af_set_range (ia_3a_af_range_full);
-    ci_adv_awb_set_mode(ia_3a_awb_mode_auto);
-    ci_adv_af_set_mode(ia_3a_af_mode_auto);
-    ci_adv_af_set_metering_mode (ia_3a_af_metering_mode_auto);
+    ci_adv_ae_set_metering_mode(advci_ae_metering_mode_center);
+    ci_adv_af_set_range (advci_af_range_full);
+    ci_adv_awb_set_mode(advci_awb_mode_auto);
+    ci_adv_af_set_mode(advci_af_mode_auto);
+    ci_adv_af_set_metering_mode (advci_af_metering_mode_auto);
 
   }
 
@@ -567,10 +558,10 @@ lib_3a_isp_set_fd (int fd, const char *sensor_id)
 }
 
 static void
-lib_3a_switch_mode (ia_3a_isp_mode mode, float frame_rate)
+lib_3a_switch_mode (advci_isp_mode mode, float frame_rate)
 {
   cam_lib_3a_dbg("%s:%d mode:%d frame_rate:%f\n", __func__, __LINE__, mode,frame_rate);
-  ci_adv_configure(mode, frame_rate);
+  ci_adv_configure((ia_3a_isp_mode)mode, frame_rate);
 }
 
 static ci_adv_Err lib_3a_AeGetWindowsNum(int *num)
@@ -597,16 +588,16 @@ static void lib_3a_AfVersion(int * major, int * minor)
   ci_adv_af_version(major,minor);
 }
 
-static void lib_3a_AfGetStillAfStatus(ia_3a_af_status *status)
+static void lib_3a_AfGetStillAfStatus(advci_af_status *status)
 {
   *status = ci_adv_af_get_status();
 }
 
-static bool lib_3a_af_is_complete(void)
+static gboolean lib_3a_af_is_complete(void)
 {
 
   ia_3a_af_status status;
-  bool completed = FALSE;
+  gboolean completed = FALSE;
 
   lib_3a_AfGetStillAfStatus(&status);
 
@@ -656,13 +647,13 @@ static void lib_3a_AeGetManualAperture(int *aperture)
   *aperture = (int)ia_3a_ae_get_manual_aperture();
 }
 
-static void lib_3a_AeGetFlashMode(ia_3a_ae_flash_mode *mode)
+static void lib_3a_AeGetFlashMode(advci_ae_flash_mode *mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *mode= ia_3a_ae_get_flash_mode();
 }
 
-static void lib_3a_AeSetFlashMode(ia_3a_ae_flash_mode mode)
+static void lib_3a_AeSetFlashMode(advci_ae_flash_mode mode)
 {
   cam_lib_3a_dbg("%s:%d mode:%d \n", __func__, __LINE__, mode);
   ci_adv_ae_set_flash_mode(mode);
@@ -686,42 +677,42 @@ static void lib_3a_GetGridInfo(void * grid_info)
 }
 
 static void
-lib_3a_AeSetMeteringMode(ia_3a_ae_metering_mode mode)
+lib_3a_AeSetMeteringMode(advci_ae_metering_mode mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
-  ci_adv_ae_set_metering_mode(mode);
+  ci_adv_ae_set_metering_mode((ia_3a_ae_metering_mode)mode);
 }
 
 static void
-lib_3a_AeGetMeteringMode(ia_3a_ae_metering_mode *mode)
+lib_3a_AeGetMeteringMode(advci_ae_metering_mode *mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   *mode = ia_3a_ae_get_metering_mode();
 }
 
 static void
-lib_3a_AfSetMeteringMode(ia_3a_af_metering_mode mode)
+lib_3a_AfSetMeteringMode(advci_af_metering_mode mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ci_adv_af_set_metering_mode(mode);
 }
 
 static void
-lib_3a_AfGetMeteringMode(ia_3a_af_metering_mode *mode)
+lib_3a_AfGetMeteringMode(advci_af_metering_mode *mode)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ci_adv_af_get_metering_mode(mode);
 }
 
 static void
-lib_3a_Ae_Af_GetWindow(ia_3a_window *window)
+lib_3a_Ae_Af_GetWindow(advci_window *window)
 {
   cam_lib_3a_dbg("%s:%d\n", __func__, __LINE__);
   ia_3a_ae_get_window(window);
 }
 
 static void
-lib_3a_Ae_Af_SetWindow( ia_3a_window *window)
+lib_3a_Ae_Af_SetWindow( advci_window *window)
 {
   cam_lib_3a_dbg("%s:window....%d:%d:%d:%d:%d\n",
       __func__, window->x_left,window->x_right,
@@ -795,7 +786,7 @@ lib_3a_awb_apply_results( )
 {
 }
 static void
-lib_3a_AwbSetImageEffect(ia_3a_image_effect effect)
+lib_3a_AwbSetImageEffect(advci_image_effect effect)
 {
   cam_lib_3a_dbg("%s:%d effect %d\n", __func__, __LINE__, effect);
 
@@ -803,7 +794,7 @@ lib_3a_AwbSetImageEffect(ia_3a_image_effect effect)
 }
 
 static void
-lib_3a_AwbGetImageEffect(ia_3a_image_effect *effect)
+lib_3a_AwbGetImageEffect(advci_image_effect *effect)
 {
   *effect = ci_adv_isp_get_image_effect();
   cam_lib_3a_dbg("%s:%d effect: %d\n", __func__, __LINE__, *effect);
@@ -811,7 +802,7 @@ lib_3a_AwbGetImageEffect(ia_3a_image_effect *effect)
 }
 
 static void
-lib_ae_is_flash_needed(bool *useflash)
+lib_ae_is_flash_needed(gboolean *useflash)
 {
   ci_adv_ae_is_flash_necessary(useflash);
   cam_lib_3a_dbg("%s:%d useflash: %d\n", __func__, __LINE__, *useflash);
@@ -851,22 +842,13 @@ lib_3a_AeGetManualIso(int *sensitivity)
 }
 
 static void
-lib_3a_GetMakerNote(ia_3a_mknote_mode mknMode, ia_3a_mknote *note)
+lib_3a_GetMakerNote(advci_mknote_mode mknMode, advci_mknote *note)
 {
     note = ci_adv_get_maker_note(mknMode);
 }
 
 static void
-lib_3a_AddMakerNoteRecord(ia_3a_mknote_field_type mkn_format_id,
-                                   ia_3a_mknote_field_name mkn_name_id,
-                                   const void *record,
-                                   unsigned short record_size)
-{
-  ci_adv_add_maker_note_record(mkn_format_id, mkn_name_id, record, record_size);
-}
-
-static void
-lib_3a_PutMakerNote(ia_3a_mknote *mknData)
+lib_3a_PutMakerNote(advci_mknote *mknData)
 {
     if (mknData != NULL)
     {
@@ -963,7 +945,6 @@ lib_3a_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci)
   mfldadvci->Awbmatrix = lib_3a_Awbmatrix;
   mfldadvci->GetGridInfo = lib_3a_GetGridInfo;
   mfldadvci->GetMakerNote  = lib_3a_GetMakerNote;
-  mfldadvci->AddMakerNoteRecord = lib_3a_AddMakerNoteRecord;
   mfldadvci->PutMakerNote = lib_3a_PutMakerNote;
   mfldadvci->ResetMakerNote = lib_3a_ResetMakerNote;
 }
@@ -1050,7 +1031,6 @@ wrapper_default_link_functions_init (GstV4l2MFLDAdvCI *mfldadvci)
   mfldadvci->Awbmatrix = wrapper_default_Awbmatrix;
   mfldadvci->GetGridInfo = wrapper_default_GetGridInfo;
   mfldadvci->GetMakerNote  = wrapper_default_GetMakerNote;
-  mfldadvci->AddMakerNoteRecord = wrapper_default_AddMakerNoteRecord;
   mfldadvci->PutMakerNote = wrapper_default_PutMakerNote;
   mfldadvci->ResetMakerNote = wrapper_default_ResetMakerNote;
 }
index ea14d20..7491119 100644 (file)
 
 #include <stdlib.h>
 #include <stdio.h>
-
+#include <glib.h>
 #include "atomisp.h"
 
-
+#ifdef USE_STATIC_3A
 #include "ci_adv_pub.h"
 #include "ia_types.h"
 #include "ia_redeye.h"
 #include "ia_dvs.h"
 #include "ia_dis.h"
-
+#endif /* USE_STATIC_3A */
 
 typedef enum {
   ci_adv_Success,
@@ -52,12 +52,130 @@ typedef enum {
      report all possible errors. */
 } ci_adv_Err;
 
+typedef enum
+{
+  advci_isp_mode_preview,
+  advci_isp_mode_video,
+  advci_isp_mode_capture,
+  advci_isp_mode_continuous
+} advci_isp_mode;
+
+typedef struct {
+  void *addr;
+  int   length;
+  int   width;
+  int   height;
+  int   format;
+} advci_frame_t;
+
+typedef enum {
+  advci_ae_flicker_mode_off,  /* No flicker correction */
+  advci_ae_flicker_mode_50hz, /* Correct 50Hz flicker */
+  advci_ae_flicker_mode_60hz, /* Correct 60Hz flicker */
+  advci_ae_flicker_mode_auto  /* Auto detect and correct flicker */
+} advci_ae_flicker_mode;
+
+typedef enum {
+  advci_ae_exposure_program_auto,
+  advci_ae_exposure_program_portrait,
+  advci_ae_exposure_program_sports,
+  advci_ae_exposure_program_landscape,
+  advci_ae_exposure_program_night,
+  advci_ae_exposure_program_fireworks
+} advci_ae_exposure_program;
+
+typedef enum {
+  advci_ae_metering_mode_auto,       /* Automatic */
+  advci_ae_metering_mode_spot,       /* Spot metering, */
+  advci_ae_metering_mode_center,     /* Center-weighted metering */
+  advci_ae_metering_mode_customized, /* Customized */
+  advci_ae_metering_mode_average,    /* Average metering */
+} advci_ae_metering_mode;
+
+
+typedef struct {
+  int x_left;
+  int x_right;
+  int y_top;
+  int y_bottom;
+  int weight;
+} advci_window;
+
+typedef enum {
+  advci_af_metering_mode_auto,
+  advci_af_metering_mode_spot,
+  advci_af_metering_mode_multi,
+} advci_af_metering_mode;
+
+
+typedef enum {
+  advci_af_range_norm,
+  advci_af_range_macro,
+  advci_af_range_full
+} advci_af_range;
+
+/* Auto White Balance */
+typedef enum {
+  advci_awb_mode_auto,       /* Corrected colors are calibrated to match changes in illuminant color */
+  advci_awb_mode_manual      /* The current color balance is retained */
+} advci_awb_mode;
+
+typedef enum {
+  advci_image_effect_none = 0,
+  advci_image_effect_bw,
+  advci_image_effect_sepia,
+  advci_image_effect_negative
+} advci_image_effect;
+
+typedef enum {
+  advci_awb_light_source_other,
+  advci_awb_light_source_filament_lamp,
+  advci_awb_light_source_clear_sky,
+  advci_awb_light_source_cloudiness,
+  advci_awb_light_source_shadow_area,
+  advci_awb_light_source_fluorlamp_w,
+  advci_awb_light_source_fluorlamp_n,
+  advci_awb_light_source_fluorlamp_d,
+} advci_awb_light_source;
+
+typedef enum {
+  advci_ae_flash_mode_auto,      /* Automatic (don't flash when it's dark) */
+  advci_ae_flash_mode_off,       /* Off */
+  advci_ae_flash_mode_on,        /* On */
+  advci_ae_flash_mode_day_sync,  /* Day Sync */
+  advci_ae_flash_mode_slow_sync, /* Slow Sync */
+} advci_ae_flash_mode;
+
+typedef struct {
+  char *data;
+  unsigned int bytes;
+} advci_mknote;
+
+typedef enum {
+  advci_mknote_mode_jpeg,   /* Returns makernote data for JPEG EXIF */
+  advci_mknote_mode_raw     /* Returns makernote data for RAW Header */
+} advci_mknote_mode;
 
 enum {
-    SENSOR_TYPE_RAW = 1,
-    SENSOR_TYPE_SOC
+  SENSOR_TYPE_RAW = 1,
+  SENSOR_TYPE_SOC
 };
 
+typedef enum {
+  advci_af_mode_auto,
+  advci_af_mode_manual,
+  advci_af_mode_video
+} advci_af_mode;
+
+typedef enum {
+  advci_af_status_error,     /* Cannot focus */
+  advci_af_status_success,   /* Successfully focussed */
+  advci_af_status_cancelled, /* Canceled by user */
+  advci_af_status_busy,      /* Busy focussing */
+  advci_af_status_idle       /* AF not running */
+} advci_af_status;
+
+
 typedef struct _GstV4l2MFLDAdvCI GstV4l2MFLDAdvCI;
 /**
  * GstV4l2MFLDAdvCI
@@ -70,7 +188,7 @@ struct _GstV4l2MFLDAdvCI
   /* 3A control API */
 
   int (*mode_spec_init)(void);
-  void (*switch_mode)(ia_3a_isp_mode mode, float frame_rate);
+  void (*switch_mode)(advci_isp_mode mode, float frame_rate);
   void (*init) (void);
   void (*uninit) (void);
   int (*isp_set_fd)(int fd, const char *sensor_id);
@@ -82,12 +200,12 @@ struct _GstV4l2MFLDAdvCI
   void (*ae_calc_for_flash)(void);
   void (*ae_calc_without_flash)(void);
   void (*ae_calc_with_flash)(void);
-  void (*ae_is_flash_needed) (bool *useflash);
+  void (*ae_is_flash_needed)(gboolean *useflash);
   void (*ae_apply_results)(void);
 
   void (*af_start)(void);
   void (*af_stop)(void);
-  bool (*af_is_complete)(void);
+  gboolean (*af_is_complete)(void);
 
   void (*awb_apply_results)(void);
   void (*awb_calc_flash)(void);
@@ -99,9 +217,9 @@ struct _GstV4l2MFLDAdvCI
 
   void (*dis_calc_still)(struct atomisp_dis_vector *vector, int frame_number);
 
-  void (*do_redeye_removal) (ia_frame *user_buf);
+  void (*do_redeye_removal) (advci_frame_t *user_buf);
 
-  void (*still_compose) (ia_frame *com_buf, ia_frame bufs[],
+  void (*still_compose) (advci_frame_t *com_buf, advci_frame_t bufs[],
                    int frame_dis, struct atomisp_dis_vector vectors[]);
 
   void (*load_gdc_table)(void);
@@ -109,71 +227,58 @@ struct _GstV4l2MFLDAdvCI
   /* 3A property API */
   ci_adv_Err (*AeSetBias)(int bias); /* bias: -2.0(EV) to +2.0(EV) */
   ci_adv_Err (*AeGetBias)(int *bias); /* bias: -2.0(EV) to +2.0(EV) */
-  void (*AeSetFlickerMode)(ia_3a_ae_flicker_mode mode);
-  void (*AeGetFlickerMode)(ia_3a_ae_flicker_mode *mode);
-  void (*AeSetExposureProgram)(ia_3a_ae_exposure_program program);
-  void (*AeGetExposureProgram)(ia_3a_ae_exposure_program *program);
-  void (*AeSetMeteringMode)(ia_3a_ae_metering_mode mode);
-  void (*AeGetMeteringMode)(ia_3a_ae_metering_mode *mode);
-  void (*AeSetWindow)(ia_3a_window *window);
-  void (*AeGetWindow)(ia_3a_window *window);
+  void (*AeSetFlickerMode)(advci_ae_flicker_mode mode);
+  void (*AeGetFlickerMode)(advci_ae_flicker_mode *mode);
+  void (*AeSetExposureProgram)(advci_ae_exposure_program program);
+  void (*AeGetExposureProgram)(advci_ae_exposure_program *program);
+  void (*AeSetMeteringMode)(advci_ae_metering_mode mode);
+  void (*AeGetMeteringMode)(advci_ae_metering_mode *mode);
+  void (*AeSetWindow)(advci_window *window);
+  void (*AeGetWindow)(advci_window *window);
   ci_adv_Err (*AeSetIso)(int sensitivity);
   ci_adv_Err (*AeGetIso)(int *sensitivity);
 
-  void (*AfSetMode)(ia_3a_af_mode mode);
-  void (*AfGetMode)(ia_3a_af_mode *mode);
-  void (*AfSetMeteringMode)(ia_3a_af_metering_mode mode);
-  void (*AfGetMeteringMode)(ia_3a_af_metering_mode *mode);
-  void (*AfSetWindow)(ia_3a_window *window);
-  void (*AfGetWindow)(ia_3a_window *window);
-
-  /*
-  ci_adv_Err (*AfStartStillAf)(void);
-  ci_adv_Err (*AfStopStillAf)(void);
-  ci_adv_Err (*AfGetStillAfStatus)(ci_adv_AfStatus *status);
-  */
-  void (*AfSetRange)(ia_3a_af_range range);
-  void (*AfGetRange)(ia_3a_af_range *range);
+  void (*AfSetMode)(advci_af_mode mode);
+  void (*AfGetMode)(advci_af_mode *mode);
+  void (*AfSetMeteringMode)(advci_af_metering_mode mode);
+  void (*AfGetMeteringMode)(advci_af_metering_mode *mode);
+  void (*AfSetWindow)(advci_window *window);
+  void (*AfGetWindow)(advci_window *window);
+
+  void (*AfSetRange)(advci_af_range range);
+  void (*AfGetRange)(advci_af_range *range);
 
   /* AWB mode */
-  void (*AwbSetMode)(ia_3a_awb_mode mode);
-  void (*AwbGetMode)(ia_3a_awb_mode *mode);
+  void (*AwbSetMode)(advci_awb_mode mode);
+  void (*AwbGetMode)(advci_awb_mode *mode);
 
   /* color tone */
-  void (*AwbSetImageEffect) (ia_3a_image_effect effect);
-  void (*AwbGetImageEffect)(ia_3a_image_effect *effect);
+  void (*AwbSetImageEffect) (advci_image_effect effect);
+  void (*AwbGetImageEffect)(advci_image_effect *effect);
 
 
   /* AWB Light Source */
-  void (*AwbSetLightSource)(ia_3a_awb_light_source ls);
-  void (*AwbGetLightSource)(ia_3a_awb_light_source *ls);
+  void (*AwbSetLightSource)(advci_awb_light_source ls);
+  void (*AwbGetLightSource)(advci_awb_light_source *ls);
 
   ci_adv_Err (*AeGetWindowsNum)(int *num);
   void (*AwbVersion)(int * major, int * minor);
   void (*AeVersion)(int * major, int * minor);
   void (*AfVersion)(int * major, int * minor);
-  void (*AfGetStillAfStatus)(ia_3a_af_status *status);
+  void (*AfGetStillAfStatus)(advci_af_status *status);
   void (*RerVersion)(int * major, int * minor);
   ci_adv_Err (*AeGetManualShutter)(int *time);
   void (*Awbdata)(unsigned * num_p, unsigned * avg_r, unsigned * avg_gr,
                     unsigned * avg_b, unsigned * avg_gb);
   void (*AeGetManualAperture)(int *aperture);
-  void (*AeGetFlashMode)(ia_3a_ae_flash_mode *mode);
-  void (*AeSetFlashMode)(ia_3a_ae_flash_mode mode);
+  void (*AeGetFlashMode)(advci_ae_flash_mode *mode);
+  void (*AeSetFlashMode)(advci_ae_flash_mode mode);
   void (*AwbGetManualColorTemperature)(int *ctemp);
   void (*Awbmatrix)(int msqWbGain[3], int msqCcMtrx[9], unsigned short * shift);
   void (*GetGridInfo) (void * grid_info);
-  void (*GetMakerNote) (ia_3a_mknote_mode mknMode, ia_3a_mknote * note);
-  void (*AddMakerNoteRecord) (ia_3a_mknote_field_type mkn_format_id,
-                                   ia_3a_mknote_field_name mkn_name_id,
-                                   const void *record,
-                                   unsigned short record_size);
-  void (*PutMakerNote)(ia_3a_mknote *mknData);
+  void (*GetMakerNote) (advci_mknote_mode mknMode, advci_mknote * note);
+  void (*PutMakerNote)(advci_mknote *mknData);
   void (*ResetMakerNote)(void);
-
-
-
-
   int fd;
 };
 
index 45d6a79..eadd327 100644 (file)
@@ -29,9 +29,6 @@
 #include "mfld_cam.h"
 #include "mfld_driver.h"
 
-#include "ia_types.h"
-#include "ia_3a_types.h"
-
 #include <glib.h>
 #include <pthread.h>
 #include <errno.h>
@@ -42,11 +39,11 @@ sem_t g_sem_3a;
 /* Focus Status Map */
 static const int focus_status_map[][2] =
 {
-  { CAM_FOCUS_STATUS_IDLE , ia_3a_af_status_idle},        /* AF not running */
-  { CAM_FOCUS_STATUS_RUNNING, ia_3a_af_status_busy},      /* Busy focusing */
-  { CAM_FOCUS_STATUS_SUCCESS, ia_3a_af_status_success},   /* Successfully focussed */
-  { CAM_FOCUS_STATUS_FAIL, ia_3a_af_status_error},        /* Cannot focus */
-  { CAM_FOCUS_STATUS_SUCCESS, ia_3a_af_status_cancelled,},/* Canceled by user */
+  { CAM_FOCUS_STATUS_IDLE , advci_af_status_idle},        /* AF not running */
+  { CAM_FOCUS_STATUS_RUNNING, advci_af_status_busy},      /* Busy focusing */
+  { CAM_FOCUS_STATUS_SUCCESS, advci_af_status_success},   /* Successfully focussed */
+  { CAM_FOCUS_STATUS_FAIL, advci_af_status_error},        /* Cannot focus */
+  { CAM_FOCUS_STATUS_SUCCESS, advci_af_status_cancelled,},/* Canceled by user */
   { -1, -1 }
 
 };
@@ -89,7 +86,7 @@ cam_find_item_new (const int table[][2], const int item, int reverse)
 struct mfld_driver_t
 {
   int fd;
-  ia_3a_isp_mode mode;
+  advci_isp_mode mode;
   int rer_enabled;
   int dis_enabled, dvs_enabled;
   int af_enabled, ae_enabled, awb_enabled;
@@ -165,27 +162,27 @@ set_wb_mode (int wb_mode)
 
   switch (wb_mode) {
     case CAM_AWB_MODE_AUTO:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_auto);
+      mfldadvci->AwbSetMode (advci_awb_mode_auto);
       break;
     case CAM_AWB_MODE_DAYLIGHT:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_manual);
-      mfldadvci->AwbSetLightSource (ia_3a_awb_light_source_clear_sky);
+      mfldadvci->AwbSetMode (advci_awb_mode_manual);
+      mfldadvci->AwbSetLightSource (advci_awb_light_source_clear_sky);
       break;
     case CAM_AWB_MODE_CLOUDY:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_manual);
-      mfldadvci->AwbSetLightSource (ia_3a_awb_light_source_cloudiness);
+      mfldadvci->AwbSetMode (advci_awb_mode_manual);
+      mfldadvci->AwbSetLightSource (advci_awb_light_source_cloudiness);
       break;
     case CAM_AWB_MODE_SUNSET:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_manual);
-      mfldadvci->AwbSetLightSource (ia_3a_awb_light_source_shadow_area);
+      mfldadvci->AwbSetMode (advci_awb_mode_manual);
+      mfldadvci->AwbSetLightSource (advci_awb_light_source_shadow_area);
       break;
     case CAM_AWB_MODE_TUNGSTEN:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_manual);
-      mfldadvci->AwbSetLightSource (ia_3a_awb_light_source_filament_lamp);
+      mfldadvci->AwbSetMode (advci_awb_mode_manual);
+      mfldadvci->AwbSetLightSource (advci_awb_light_source_filament_lamp);
       break;
     case CAM_AWB_MODE_FLUORESCENT:
-      mfldadvci->AwbSetMode (ia_3a_awb_mode_manual);
-       mfldadvci->AwbSetLightSource (ia_3a_awb_light_source_fluorlamp_w);
+       mfldadvci->AwbSetMode (advci_awb_mode_manual);
+       mfldadvci->AwbSetLightSource (advci_awb_light_source_fluorlamp_w);
       break;
     default:
       cam_driver_dbg ("Not support awb mode\n");
@@ -199,33 +196,33 @@ set_wb_mode (int wb_mode)
 cam_err_t
 get_wb_mode (int *wb_mode)
 {
-  ia_3a_awb_light_source ls;
-  ia_3a_awb_mode mode;
+  advci_awb_light_source ls;
+  advci_awb_mode mode;
 
   mfldadvci->AwbGetMode (&mode);
 
-  if (mode == ia_3a_awb_mode_auto) {
+  if (mode == advci_awb_mode_auto) {
     *wb_mode = CAM_AWB_MODE_AUTO;
     return CAM_ERR_NONE;
   }
   //Manual Mode, check the error?
   mfldadvci->AwbGetLightSource (&ls);
   switch (ls) {
-    case ia_3a_awb_light_source_filament_lamp:
+    case advci_awb_light_source_filament_lamp:
       *wb_mode = CAM_AWB_MODE_TUNGSTEN;
       break;
-    case ia_3a_awb_light_source_clear_sky:
+    case advci_awb_light_source_clear_sky:
       *wb_mode = CAM_AWB_MODE_DAYLIGHT;
       break;
-    case ia_3a_awb_light_source_cloudiness:
+    case advci_awb_light_source_cloudiness:
       *wb_mode = CAM_AWB_MODE_CLOUDY;
       break;
-    case ia_3a_awb_light_source_shadow_area:
+    case advci_awb_light_source_shadow_area:
       *wb_mode = CAM_AWB_MODE_SUNSET;
       break;
-    case ia_3a_awb_light_source_fluorlamp_w:
-    case ia_3a_awb_light_source_fluorlamp_n:
-    case ia_3a_awb_light_source_fluorlamp_d:
+    case advci_awb_light_source_fluorlamp_w:
+    case advci_awb_light_source_fluorlamp_n:
+    case advci_awb_light_source_fluorlamp_d:
       *wb_mode = CAM_AWB_MODE_FLUORESCENT;
       break;
     default:
@@ -261,26 +258,26 @@ get_tone_mode (int fd, int *mode)
 static cam_err_t
 set_scene_mode (int mode)
 {
-  ia_3a_ae_exposure_program scene;
+  advci_ae_exposure_program scene;
 
   switch (mode) {
     case CAM_GENERAL_SCENE_MODE_PORTRAIT:
-      scene = ia_3a_ae_exposure_program_portrait;
+      scene = advci_ae_exposure_program_portrait;
       break;
     case CAM_GENERAL_SCENE_MODE_LANDSCAPE:
-      scene = ia_3a_ae_exposure_program_landscape;
+      scene = advci_ae_exposure_program_landscape;
       break;
     case CAM_GENERAL_SCENE_MODE_SPORT:
-      scene = ia_3a_ae_exposure_program_sports;
+      scene = advci_ae_exposure_program_sports;
       break;
     case CAM_GENERAL_SCENE_MODE_NIGHT:
-      scene = ia_3a_ae_exposure_program_night;
+      scene = advci_ae_exposure_program_night;
       break;
     case CAM_GENERAL_SCENE_MODE_AUTO:
-      scene = ia_3a_ae_exposure_program_auto;
+      scene = advci_ae_exposure_program_auto;
       break;
     case CAM_GENERAL_SCENE_MODE_FIREWORKS:
-      scene = ia_3a_ae_exposure_program_fireworks;
+      scene = advci_ae_exposure_program_fireworks;
       break;
     default:
       cam_driver_dbg ("%s Not supported Scene Mode %d\n", __func__, mode);
@@ -350,16 +347,16 @@ set_flicker_mode (int mode)
   /* Convert camera genreral flicker mode to AE flicker mode */
   switch (mode) {
     case CAM_GENERAL_FLICKER_REDUCTION_MODE_OFF:
-      mfldadvci->AeSetFlickerMode (ia_3a_ae_flicker_mode_off);
+      mfldadvci->AeSetFlickerMode (advci_ae_flicker_mode_off);
       break;
     case CAM_GENERAL_FLICKER_REDUCTION_MODE_50HZ:
-      mfldadvci->AeSetFlickerMode (ia_3a_ae_flicker_mode_50hz);
+      mfldadvci->AeSetFlickerMode (advci_ae_flicker_mode_50hz);
       break;
     case CAM_GENERAL_FLICKER_REDUCTION_MODE_60HZ:
-      mfldadvci->AeSetFlickerMode (ia_3a_ae_flicker_mode_60hz);
+      mfldadvci->AeSetFlickerMode (advci_ae_flicker_mode_60hz);
       break;
     case CAM_GENERAL_FLICKER_REDUCTION_MODE_AUTO:
-      mfldadvci->AeSetFlickerMode (ia_3a_ae_flicker_mode_auto);
+      mfldadvci->AeSetFlickerMode (advci_ae_flicker_mode_auto);
       break;
     default:
       cam_driver_dbg ("Not supported flicker mode\n");
@@ -372,22 +369,22 @@ static cam_err_t
 get_flicker_mode (int *mode)
 {
   int ret = 0;
-  ia_3a_ae_flicker_mode flicker_mode;
+  advci_ae_flicker_mode flicker_mode;
 
   mfldadvci->AeGetFlickerMode (&flicker_mode);
 
   /* Convert AE flicker mode to camera general flicker mode */
   switch (flicker_mode) {
-    case ia_3a_ae_flicker_mode_off:
+    case advci_ae_flicker_mode_off:
       *mode = CAM_GENERAL_FLICKER_REDUCTION_MODE_OFF;
       break;
-    case ia_3a_ae_flicker_mode_50hz:
+    case advci_ae_flicker_mode_50hz:
       *mode = CAM_GENERAL_FLICKER_REDUCTION_MODE_50HZ;
       break;
-    case ia_3a_ae_flicker_mode_60hz:
+    case advci_ae_flicker_mode_60hz:
       *mode = CAM_GENERAL_FLICKER_REDUCTION_MODE_60HZ;
       break;
-    case ia_3a_ae_flicker_mode_auto:
+    case advci_ae_flicker_mode_auto:
       *mode = CAM_GENERAL_FLICKER_REDUCTION_MODE_AUTO;
       break;
     default:
@@ -405,19 +402,19 @@ set_focus_mode (int mode)
   if (mfld_driver.sensor_type == SENSOR_TYPE_RAW){
     switch (mode) {
       case CAM_FOCUS_MODE_AUTO:
-        mfldadvci->AfSetMode (ia_3a_af_mode_auto);
+        mfldadvci->AfSetMode (advci_af_mode_auto);
         break;
       case CAM_FOCUS_MODE_MACRO:
-        mfldadvci->AfSetMode (ia_3a_af_mode_auto);
-        mfldadvci->AfSetRange (ia_3a_af_range_macro);
+        mfldadvci->AfSetMode (advci_af_mode_auto);
+        mfldadvci->AfSetRange (advci_af_range_macro);
         break;
       case CAM_FOCUS_MODE_NORM:
-        mfldadvci->AfSetMode (ia_3a_af_mode_auto);
-        mfldadvci->AfSetRange (ia_3a_af_range_norm);
+        mfldadvci->AfSetMode (advci_af_mode_auto);
+        mfldadvci->AfSetRange (advci_af_range_norm);
         break;
       case CAM_FOCUS_MODE_FULL:
-        mfldadvci->AfSetMode (ia_3a_af_mode_auto);
-        mfldadvci->AfSetRange (ia_3a_af_range_full);
+        mfldadvci->AfSetMode (advci_af_mode_auto);
+        mfldadvci->AfSetRange (advci_af_range_full);
         break;
       default:
         cam_driver_dbg ("Not supported mode\n");
@@ -640,26 +637,26 @@ cam_set_capture_mode (int fd, cam_capture_mode_t mode)
   if (mfld_driver.sensor_type == SENSOR_TYPE_RAW){
     switch (mode) {
       case CAM_CAPTURE_MODE_VIEWFINDER:
-        mfldadvci->switch_mode (ia_3a_isp_mode_preview, mfld_driver.frame_rate);
+        mfldadvci->switch_mode (advci_isp_mode_preview, mfld_driver.frame_rate);
         set_flash_mode(fd, mfld_cam_settings.flash_mode);
         if (mfld_driver.ae_enabled)
           mfld_driver.first_frame = 1;
         cam_driver_dbg ("%s: VIEWFINDER Mode is set\n", __func__);
         break;
       case CAM_CAPTURE_MODE_VIDEO_RECORD:
-        mfldadvci->switch_mode (ia_3a_isp_mode_video, mfld_driver.frame_rate);
+        mfldadvci->switch_mode (advci_isp_mode_video, mfld_driver.frame_rate);
         if (mfld_driver.ae_enabled)
           mfld_driver.first_frame = 1;
         cam_driver_dbg ("%s: VIDEO Mode is set\n", __func__);
         break;
       case CAM_CAPTURE_MODE_STILL_CAPTURE:
-        mfldadvci->switch_mode (ia_3a_isp_mode_capture, mfld_driver.frame_rate);
+        mfldadvci->switch_mode (advci_isp_mode_capture, mfld_driver.frame_rate);
         if (mfld_driver.ae_enabled)
           mfld_driver.first_frame = 1;
         cam_driver_dbg ("%s: STILL Mode is set\n", __func__);
         break;
       default:
-        mfldadvci->switch_mode (ia_3a_isp_mode_preview, mfld_driver.frame_rate);
+        mfldadvci->switch_mode (advci_isp_mode_preview, mfld_driver.frame_rate);
         mfld_driver.first_frame = 1;
         cam_driver_dbg ("%s: NULL Mode is set\n", __func__);
         break;
@@ -803,8 +800,8 @@ cam_set_privacy_light (int fd, int on)
 int
 cam_checkfocus_status (cam_focus_status_t * status, int force_update)
 {
-  ia_3a_af_status af_status;
-  bool do_read = FALSE;
+  advci_af_status af_status;
+  gboolean do_read = FALSE;
 
   if (mfld_driver.focus_done >= FOCUS_REALLY_DONE) {
     mfld_driver.focus_done = 0;
@@ -1235,7 +1232,7 @@ cam_set_frame_rate( float frame_rate)
  * For Red Eye Reduction and Still Image Stabilization
  */
 static void
-cam_copy_v4l2buf_to_user (ia_frame *user, struct v4l2_buffer *buf)
+cam_copy_v4l2buf_to_user (advci_frame_t *user, struct v4l2_buffer *buf)
 {
   void *addr;
   if (mfld_driver.mmap) {
@@ -1263,7 +1260,7 @@ cam_copy_v4l2buf_to_user (ia_frame *user, struct v4l2_buffer *buf)
 }
 
 static void
-cam_free_bufs (ia_frame *bufs)
+cam_free_bufs (advci_frame_t *bufs)
 {
   int i;
   for (i = 0; i < DIS_COMPOSITE_FRAMES; i++) {
@@ -1275,10 +1272,10 @@ cam_free_bufs (ia_frame *bufs)
 }
 
 static void
-cam_still_compose (struct v4l2_buffer *buf, ia_frame bufs[],
+cam_still_compose (struct v4l2_buffer *buf, advci_frame_t bufs[],
     int frame_dis, struct atomisp_dis_vector vectors[])
 {
-  ia_frame com_buf;
+  advci_frame_t com_buf;
 
   cam_driver_dbg ("Still Compose Phase 1: Begin\n");
   com_buf.length = buf->length;
@@ -1302,7 +1299,7 @@ cam_do_redeye_removal (struct v4l2_buffer *buf)
 {
 
 
-  ia_frame user_buf;
+  advci_frame_t user_buf;
   user_buf.length = buf->length;
   if (mfld_driver.mmap)
     user_buf.addr = mmap (NULL, buf->length, PROT_READ | PROT_WRITE, MAP_SHARED,
@@ -1550,11 +1547,11 @@ cam_capture_init (int fd, struct v4l2_buffer *buffer,
   }
 }
 
-static bool
+static gboolean
 get_flash_status(void)
 {
   int cur_flash_mode = CAM_LIGHT_FLASH_MODE_OFF;
-  bool flash_en = FALSE;
+  gboolean flash_en = FALSE;
 
   get_flash_mode(&cur_flash_mode);
 
@@ -1575,7 +1572,7 @@ get_flash_status(void)
 }
 
 static void
-cam_dis_dvs_processing (struct atomisp_dis_vector *vectors, ia_frame *bufs,
+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;
@@ -1585,7 +1582,7 @@ cam_dis_dvs_processing (struct atomisp_dis_vector *vectors, ia_frame *bufs,
 
   cam_driver_dbg ("Begin cam_dis_still_process\n");
 
-  if (mfld_driver.mode == ia_3a_isp_mode_video)
+  if (mfld_driver.mode == advci_isp_mode_video)
     dvs_vector = &mfld_driver.dvs_vector;
   else
     dvs_vector = NULL;
@@ -1606,7 +1603,7 @@ run_normal_sequence(int fd, struct v4l2_buffer *buffer)
 {
   int frame_cnt, frame_dis;
   struct atomisp_dis_vector vectors[DIS_COMPOSITE_FRAMES];
-  ia_frame bufs[DIS_COMPOSITE_FRAMES];
+  advci_frame_t bufs[DIS_COMPOSITE_FRAMES];
 
 
   int dis_enabled = mfld_driver.dis_enabled &&
@@ -1653,7 +1650,7 @@ run_normal_sequence(int fd, struct v4l2_buffer *buffer)
 
   /* Still AF processing */
   if (mfld_driver.still_af_count) {
-    bool complete = TRUE;           /* AF status */
+    gboolean complete = TRUE;           /* AF status */
 
     if (mfld_driver.af_enabled)
       complete = mfldadvci->af_is_complete ();
@@ -1685,7 +1682,7 @@ cam_capture_frames (int fd, struct v4l2_buffer *buffer,
   int index;
   int frame_dis = 1, frame_cnt;
   cam_err_t ret  = 0;
-  bool flash_en = FALSE;
+  gboolean flash_en = FALSE;
 
   cam_capture_init (fd, buffer, capture_settings);
 
@@ -1762,12 +1759,12 @@ void get_af_result(int fd, unsigned * result)
 
 cam_err_t get_af_status(int fd, unsigned * status)
 {
-  ia_3a_af_status st;
+  advci_af_status st;
 
 
   mfldadvci->AfGetStillAfStatus(&st);
 
-  if(ia_3a_af_status_success == st)
+  if(advci_af_status_success == st)
     *status = 1;
   else
     *status = 0;
@@ -1777,28 +1774,28 @@ cam_err_t get_af_status(int fd, unsigned * status)
 
 cam_err_t get_exp_mode(int fd, cam_scene_mode_t *expmode)
 {
-  ia_3a_ae_exposure_program mode;
+  advci_ae_exposure_program mode;
 
   mfldadvci->AeGetExposureProgram(&mode);
 
   /* Convert AE flicker mode to camera general flicker mode */
   switch (mode) {
-    case ia_3a_ae_exposure_program_auto:
+    case advci_ae_exposure_program_auto:
       *expmode = CAM_GENERAL_SCENE_MODE_AUTO;
       break;
-    case ia_3a_ae_exposure_program_portrait:
+    case advci_ae_exposure_program_portrait:
       *expmode = CAM_GENERAL_SCENE_MODE_PORTRAIT;
       break;
-    case ia_3a_ae_exposure_program_sports:
+    case advci_ae_exposure_program_sports:
       *expmode = CAM_GENERAL_SCENE_MODE_SPORT;
       break;
-    case ia_3a_ae_exposure_program_landscape:
+    case advci_ae_exposure_program_landscape:
       *expmode = CAM_GENERAL_SCENE_MODE_LANDSCAPE;
       break;
-    case ia_3a_ae_exposure_program_night:
+    case advci_ae_exposure_program_night:
       *expmode = CAM_GENERAL_SCENE_MODE_NIGHT;
       break;
-    case ia_3a_ae_exposure_program_fireworks:
+    case advci_ae_exposure_program_fireworks:
       *expmode = CAM_GENERAL_SCENE_MODE_FIREWORKS;
       break;
     default:
@@ -1855,19 +1852,19 @@ cam_err_t get_ae_flash_mode(int fd, cam_flash_mode_t *mode)
 
   switch(ci_mode)
   {
-    case ia_3a_ae_flash_mode_auto:
+    case advci_ae_flash_mode_auto:
       *mode = CAM_LIGHT_FLASH_MODE_AUTO;
       break;
-    case ia_3a_ae_flash_mode_off:
+    case advci_ae_flash_mode_off:
       *mode = CAM_LIGHT_FLASH_MODE_OFF;
       break;
-    case ia_3a_ae_flash_mode_on:
+    case advci_ae_flash_mode_on:
       *mode = CAM_LIGHT_FLASH_MODE_ON;
       break;
-    case ia_3a_ae_flash_mode_day_sync:
+    case advci_ae_flash_mode_day_sync:
       *mode = CAM_LIGHT_FLASH_MODE_AUTO;
       break;
-    case ia_3a_ae_flash_mode_slow_sync:
+    case advci_ae_flash_mode_slow_sync:
       *mode = CAM_LIGHT_FLASH_MODE_AUTO;
       break;
     default:
@@ -1878,25 +1875,25 @@ cam_err_t get_ae_flash_mode(int fd, cam_flash_mode_t *mode)
 }
 cam_err_t set_ae_flash_mode(int fd, cam_flash_mode_t mode)
 {
-  ia_3a_ae_flash_mode ia_mode;
+  advci_ae_flash_mode flash_mode;
 
   switch(mode)
   {
     case CAM_LIGHT_FLASH_MODE_AUTO:
-      ia_mode = ia_3a_ae_flash_mode_auto;
+      flash_mode = advci_ae_flash_mode_auto;
       break;
     case CAM_LIGHT_FLASH_MODE_OFF:
-      ia_mode = ia_3a_ae_flash_mode_off;
+      flash_mode = advci_ae_flash_mode_off;
       break;
     case CAM_LIGHT_FLASH_MODE_ON:
-      ia_mode = ia_3a_ae_flash_mode_on;
+      flash_mode = advci_ae_flash_mode_on;
       break;
     default:
-      ia_mode = ia_3a_ae_flash_mode_auto;
+      flash_mode = advci_ae_flash_mode_auto;
       break;
   }
 
-  mfldadvci->AeSetFlashMode(ia_mode);
+  mfldadvci->AeSetFlashMode(flash_mode);
 
   return CAM_ERR_NONE;
 }
index e68e1cd..8ac1260 100644 (file)
@@ -13,6 +13,7 @@ libgstmfldv4l2cam_la_CFLAGS = -I$(top_builddir)/gst-libs \
                                $(GST_BASE_CFLAGS) \
                                $(GST_CONTROLLER_CFLAGS) \
                                $(GST_BAD_CFLAGS) \
+                               $(LIBMFLDADVCI_CFLAGS) \
                                -DGST_USE_UNSTABLE_API
 
 libgstmfldv4l2cam_la_LIBADD =  $(top_builddir)/gst-libs/gst/camera/libgstmfldcamera-$(GST_MAJORMINOR).la \
@@ -25,7 +26,7 @@ libgstmfldv4l2cam_la_LIBADD = $(top_builddir)/gst-libs/gst/camera/libgstmfldcame
                                -lgstphotography-$(GST_MAJORMINOR)
 
 
-libgstmfldv4l2cam_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstmfldv4l2cam_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) $(LIBMFLDADVCI_LIBS)
 libgstmfldv4l2cam_la_LIBTOOLFLAGS = --tag=disable-static
 
 noinst_HEADERS = v4l2camsrc_calls.h gstv4l2camvidorient.h
index 1cd35f0..85157ca 100644 (file)
@@ -1241,10 +1241,10 @@ gst_v4l2camsrc_set_property (GObject * object,
                GST_DEBUG_OBJECT(v4l2camsrc,"wrong ae metering mode. set it to spot mode automaticly.\n");
                v4l2camsrc->ae_metering_mode = GST_CAMERA_AE_METERING_SPOT;
                v4l2camsrc->mfldadvci->AeSetMeteringMode
-                       ( (ia_3a_ae_metering_mode) v4l2camsrc->ae_metering_mode);
+                       ( (advci_ae_metering_mode) v4l2camsrc->ae_metering_mode);
 
       }
-      v4l2camsrc->mfldadvci->AeSetWindow ((ia_3a_window *) (&(v4l2camsrc->ae_window)));
+      v4l2camsrc->mfldadvci->AeSetWindow ((advci_window *) (&(v4l2camsrc->ae_window)));
 
       gst_structure_free (ae_window_param);
       g_free (ctmp);
@@ -1254,13 +1254,13 @@ gst_v4l2camsrc_set_property (GObject * object,
     case PROP_AE_METERING_MODE:
     {
       v4l2camsrc->ae_metering_mode = g_value_get_enum (value);
-      v4l2camsrc->mfldadvci->AeSetMeteringMode((ia_3a_ae_metering_mode)v4l2camsrc->ae_metering_mode);
+      v4l2camsrc->mfldadvci->AeSetMeteringMode((advci_ae_metering_mode)v4l2camsrc->ae_metering_mode);
       break;
     }
     case PROP_AF_METERING_MODE:
     {
       v4l2camsrc->af_metering_mode = g_value_get_enum (value);
-      v4l2camsrc->mfldadvci->AfSetMeteringMode((ia_3a_af_metering_mode)v4l2camsrc->af_metering_mode);
+      v4l2camsrc->mfldadvci->AfSetMeteringMode((advci_af_metering_mode)v4l2camsrc->af_metering_mode);
       break;
     }
     case PROP_AF_WINDOW:
@@ -1320,7 +1320,7 @@ gst_v4l2camsrc_set_property (GObject * object,
                      v4l2camsrc->af_window.y_top);
 
 
-      v4l2camsrc->mfldadvci->AfSetWindow ((ia_3a_window *) (&(v4l2camsrc->af_window)));
+      v4l2camsrc->mfldadvci->AfSetWindow ((advci_window *) (&(v4l2camsrc->af_window)));
 
       gst_structure_free (af_window_param);
       g_free (ctmp);
@@ -1707,7 +1707,7 @@ gst_v4l2camsrc_set_AeAafwindow (GstCameraSrc * camsrc, GstCameraSrc3a_window win
 
   if (v4l2camsrc->is_active) {
     g_mutex_lock (v4l2camsrc->device_mutex);
-    v4l2camsrc->mfldadvci->AfSetWindow ((ia_3a_window *) (&(v4l2camsrc->af_window)));
+    v4l2camsrc->mfldadvci->AfSetWindow ((advci_window *) (&(v4l2camsrc->af_window)));
     g_mutex_unlock (v4l2camsrc->device_mutex);
   }
 
@@ -1724,7 +1724,7 @@ gst_v4l2camsrc_set_ae_mode(GstCameraSrc * camsrc, int mode)
   if (v4l2camsrc->is_active) {
     g_mutex_lock (v4l2camsrc->device_mutex);
     v4l2camsrc->ae_metering_mode = *(GstCameraAEMeteringMode *)&mode;
-    v4l2camsrc->mfldadvci->AeSetMeteringMode((ia_3a_ae_metering_mode)v4l2camsrc->ae_metering_mode);
+    v4l2camsrc->mfldadvci->AeSetMeteringMode((advci_ae_metering_mode)v4l2camsrc->ae_metering_mode);
     g_mutex_unlock (v4l2camsrc->device_mutex);
   }
 
index f593ac9..0e6cbd2 100644 (file)
@@ -1,3 +1,6 @@
+* Wed Nov 28 2012 Marko Ollonen <marko.ollonen@ixonos.com> submit/trunk/20121126.140213@4962ec2
+- Clean up: remove dependency to 3a lib headers
+
 * Tue Nov 27 2012 Marko Ollonen <marko.ollonen@ixonos.com> submit/trunk/20121126.140213@ddbbe46
 - clean up: MIPI interrupt debugs
 
index b4261f1..21fb88a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       mfldv4l2camsrc
 Summary:    Camera source component for Intel Medfield ISP
-Version:    0.47
+Version:    0.48
 Release:    1
 Group:      Applications/Multimedia
 License:    LGPLv2+
@@ -30,7 +30,7 @@ Camera source component for Intel Medfield ISP.
 %build
 ln -sf /usr/src/kernels/*mfld-blackbay/include/ %{_builddir}/kernel_headers
 ./autogen.sh
-CFLAGS="-DSTDC99 -D__user= -DUSE_STATIC_3A -I/usr/include/libmfldadvci/ -I%{_builddir}/kernel_headers" %configure  --disable-static \
+CFLAGS="$CFLAGS -DSTDC99 -D__user= -I%{_builddir}/kernel_headers" %configure  --disable-static \
        --disable-nls \
        --enable-swscale \
        --prefix=%{_prefix} \