set_focus_mode (int mode)
{
+ cam_driver_dbg ("set_focus_mode: %d\n", mode);
+
if (mfld_driver.sensor_type == SENSOR_TYPE_RAW){
switch (mode) {
case CAM_FOCUS_MODE_AUTO:
+ mfldadvci->AfSetMode (advci_af_mode_manual);
+ mfldadvci->AfSetRange (advci_af_range_norm);
+ mfldadvci->AfSetMeteringMode(advci_af_metering_mode_auto);
+ break;
+ case CAM_FOCUS_MODE_TOUCH_AUTO:
mfldadvci->AfSetMode (advci_af_mode_auto);
+ mfldadvci->AfSetRange (advci_af_range_full);
+ mfldadvci->AfSetMeteringMode(advci_af_metering_mode_multi);
break;
case CAM_FOCUS_MODE_MACRO:
mfldadvci->AfSetMode (advci_af_mode_auto);
mfldadvci->AfSetRange (advci_af_range_macro);
+ mfldadvci->AfSetMeteringMode(advci_af_metering_mode_auto);
break;
case CAM_FOCUS_MODE_NORM:
mfldadvci->AfSetMode (advci_af_mode_auto);
mfldadvci->AfSetRange (advci_af_range_norm);
+ mfldadvci->AfSetMeteringMode(advci_af_metering_mode_auto);
break;
case CAM_FOCUS_MODE_FULL:
- mfldadvci->AfSetMode (advci_af_mode_auto);
+ mfldadvci->AfSetMode (advci_af_mode_manual);
mfldadvci->AfSetRange (advci_af_range_full);
break;
+ case CAM_FOCUS_MODE_CONTINUOUS:
+ mfldadvci->AfSetMode (advci_af_mode_auto);
+ mfldadvci->AfSetRange (advci_af_range_norm);
+ mfldadvci->AfSetMeteringMode(advci_af_metering_mode_auto);
+ break;
default:
cam_driver_dbg ("Not supported mode\n");
return CAM_ERR_UNSUPP;
CAM_FOCUS_MODE_MACRO,
CAM_FOCUS_MODE_FULL,
CAM_FOCUS_MODE_NORM,
+ CAM_FOCUS_MODE_CONTINUOUS,
+ CAM_FOCUS_MODE_TOUCH_AUTO,
} cam_focus_mode_t;
typedef enum
GstCameraSrcClass *bclass;
gboolean opened;
GstFocusMode focus_mode;
- GST_DEBUG_OBJECT (camerasrc, "gst_camerasrc_camera_control_set_focus");
+ gboolean ret = TRUE;
+
+ GST_DEBUG_OBJECT (camerasrc, "gst_camerasrc_camera_control_set_focus: %d", mode);
bclass = GST_CAMERA_SRC_GET_CLASS (camerasrc);
opened = bclass->is_open (camerasrc);
focus_mode = GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY;
break;
case MM_CAMCORDER_FOCUS_MODE_AUTO:
- case MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO:
focus_mode = GST_PHOTOGRAPHY_FOCUS_MODE_AUTO;
break;
+ case MM_CAMCORDER_FOCUS_MODE_TOUCH_AUTO:
+ focus_mode = GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT;
+ break;
case MM_CAMCORDER_FOCUS_MODE_PAN:
focus_mode = GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL;
break;
camerasrc->photoconf.focus_mode = focus_mode;
GST_OBJECT_UNLOCK (camerasrc);
- return TRUE;
+ if (bclass->is_active (camerasrc)) {
+ ret = bclass->write_settings (camerasrc, &camerasrc->photoconf, FALSE);
+ }
+
+ return ret;
}
gboolean
control.id = attribute_num;
if (control.id > SOURCE_PRIV_BASE) {
- GST_DEBUG_OBJECT (v4l2camsrc, "mmfw control JippiKayJei");
switch (control.id) {
case MM_CAM_FILTER_WB_SOURCE_PRIV:
err = cam_feature_get (v4l2camsrc->video_fd, CAM_AWB_MODE, &tmp_value);
control.id = attribute_num;
control.value = value;
if (control.id > SOURCE_PRIV_BASE) {
- GST_DEBUG_OBJECT (v4l2camsrc, "mmfw control JippiKayJei");
switch (control.id) {
case MM_CAM_FILTER_WB_SOURCE_PRIV:
cam_feature_set (v4l2camsrc->video_fd, CAM_AWB_MODE, gst_v4l2camsrc_wb_map[value]);
static const gint gst_v4l2camsrc_focus_map[] = {
CAM_FOCUS_MODE_AUTO, /* GST_PHOTOGRAPHY_FOCUS_MODE_AUTO = 0 */
CAM_FOCUS_MODE_MACRO, /* GST_PHOTOGRAPHY_FOCUS_MODE_MACRO */
- CAM_FOCUS_MODE_NORM, /* GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT */
+ CAM_FOCUS_MODE_TOUCH_AUTO, /* GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT */
CAM_FOCUS_MODE_FULL, /* GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY */
CAM_FOCUS_MODE_AUTO, /* GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL */
CAM_FOCUS_MODE_FULL, /* GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED */
- CAM_FOCUS_MODE_AUTO, /* GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL */
- CAM_FOCUS_MODE_AUTO, /* GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED */
+ CAM_FOCUS_MODE_CONTINUOUS, /* GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL */
+ CAM_FOCUS_MODE_CONTINUOUS, /* GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED */
-1
};
+* Wed Jan 16 2013 Marko Ollonen <marko.ollonen@ixonos.com> accepted/trunk/20130114.185021@4590562
+- continuos focus mode support added, TZSP-1133.
+- fix bugs came from 3a lib dynamic linking change.
+
* Mon Jan 14 2013 Marko Ollonen <marko.ollonen@ixonos.com> accepted/tizen_2.0/20130110.192337@36cdfa5
- buffer-sharing: supports <video/x-vaapi-sharing> on video buffer, TZSP-4544.
-
* Wed Jan 09 2013 Marko Ollonen <marko.ollonen@ixonos.com> submit/tizen_2.0/20130109.153255@4dec286
- use 3a lib dynamically linked,TZSP-2927.