if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_INT64, 1))
break;
dst->dm.sensor.timeStamp = curr_entry.data.i64[0];
- ALOGE("DEBUG(%s): ANDROID_SENSOR_TIMESTAMP (%lld)", __FUNCTION__, dst->dm.sensor.timeStamp);
break;
case ANDROID_CONTROL_MODE:
if (NO_ERROR != CheckEntryTypeMismatch(&curr_entry, TYPE_BYTE, 1))
break;
- dst->ctl.aa.mode = (enum aa_mode)curr_entry.data.u8[0];
+ dst->ctl.aa.mode = (enum aa_mode)(curr_entry.data.u8[0] + 1);
break;
// skip locked mode
if (dst->ctl.aa.awbMode == AA_AWBMODE_LOCKED)
dst->ctl.aa.awbMode = AA_AWBMODE_OFF;
+ dst_ext->awb_mode_dm = (enum aa_awbmode)(curr_entry.data.u8[0] + 2);
break;
case ANDROID_CONTROL_AWB_LOCK:
}
}
}
- if (dst->ctl.aa.mode != ANDROID_CONTROL_USE_SCENE_MODE)
+ if (dst->ctl.aa.mode != AA_CONTROL_USE_SCENE_MODE)
dst->ctl.aa.sceneMode = AA_SCENE_MODE_UNSUPPORTED;
ApplySceneModeParameters(request, dst_ext);
return NO_ERROR;
if (dst->ctl.aa.aeMode != AA_AEMODE_LOCKED)
dst->ctl.aa.aeMode = AA_AEMODE_ON;
dst->ctl.aa.awbMode = AA_AWBMODE_WB_AUTO;
+ dst_ext->awb_mode_dm = AA_AWBMODE_WB_AUTO;
dst->ctl.aa.isoMode = AA_ISOMODE_AUTO;
dst->ctl.aa.isoValue = 0;
dst->ctl.aa.aeTargetFpsRange[0] = 30;
if (dst->ctl.aa.aeMode != AA_AEMODE_LOCKED)
dst->ctl.aa.aeMode = AA_AEMODE_ON;
dst->ctl.aa.awbMode = AA_AWBMODE_WB_AUTO;
+ dst_ext->awb_mode_dm = AA_AWBMODE_WB_AUTO;
dst->ctl.aa.isoMode = AA_ISOMODE_MANUAL;
dst->ctl.aa.isoValue = 200;
dst->ctl.aa.aeTargetFpsRange[0] = 15;
if (dst->ctl.aa.aeMode != AA_AEMODE_LOCKED)
dst->ctl.aa.aeMode = AA_AEMODE_ON;
dst->ctl.aa.awbMode = AA_AWBMODE_WB_DAYLIGHT;
+ dst_ext->awb_mode_dm = AA_AWBMODE_WB_DAYLIGHT;
dst->ctl.aa.isoMode = AA_ISOMODE_AUTO;
dst->ctl.aa.isoValue = 0;
dst->ctl.aa.aeTargetFpsRange[0] = 15;
dst->ctl.aa.mode = AA_CONTROL_USE_SCENE_MODE;
dst->ctl.aa.aeMode = AA_AEMODE_ON; // AE_LOCK is prohibited
dst->ctl.aa.awbMode = AA_AWBMODE_WB_AUTO;
+ dst_ext->awb_mode_dm = AA_AWBMODE_WB_AUTO;
dst->ctl.aa.isoMode = AA_ISOMODE_AUTO;
dst->ctl.aa.isoValue = 0;
dst->ctl.aa.aeTargetFpsRange[0] = 8;
metadata->dm.sensor.timeStamp, metadata->dm.sensor.exposureTime, metadata->dm.lens.aperture);
- byteData = metadata->dm.aa.awbMode - 1;
+ byteData = metadata_ext->awb_mode_dm- 2;
if (0 != add_camera_metadata_entry(dst, ANDROID_CONTROL_AWB_MODE,
&byteData, 1))
return NO_MEMORY;
&byteData, 1))
return NO_MEMORY;
+ byteData = metadata->dm.aa.afMode - 1;
+ if (0 != add_camera_metadata_entry(dst, ANDROID_CONTROL_AF_MODE,
+ &byteData, 1))
+ return NO_MEMORY;
+
byteData = metadata->ctl.aa.sceneMode - 1;
if (0 != add_camera_metadata_entry(dst, ANDROID_CONTROL_SCENE_MODE,
&byteData, 1))
&metaFaceScores, tempFaceCount))
return NO_MEMORY;
}
+ if (0 != add_camera_metadata_entry(dst, ANDROID_SENSOR_SENSITIVITY,
+ &metadata->dm.aa.isoValue, 1))
+ return NO_MEMORY;
+
if (0 != add_camera_metadata_entry(dst, ANDROID_SCALER_CROP_REGION,
&metadata->ctl.scaler.cropRegion, 3))
&(metadata->dm.aa.awbState), 1))
return NO_MEMORY;
- ALOGV("(%s): AWB(%d) AE(%d) SCENE(%d) AEComp(%d)", __FUNCTION__,
- metadata->dm.aa.awbMode - 1, metadata->dm.aa.aeMode - 1, metadata->ctl.aa.sceneMode - 1,
- metadata->ctl.aa.aeExpCompensation );
+ if (0 != add_camera_metadata_entry(dst, ANDROID_JPEG_GPS_COORDINATES,
+ &(metadata->ctl.jpeg.gpsCoordinates), 3))
+ return NO_MEMORY;
+
+ if (0 != add_camera_metadata_entry(dst, ANDROID_JPEG_GPS_PROCESSING_METHOD,
+ &(metadata_ext->gpsProcessingMethod), 32))
+ return NO_MEMORY;
+
+ if (0 != add_camera_metadata_entry(dst, ANDROID_JPEG_GPS_TIMESTAMP,
+ &(metadata->ctl.jpeg.gpsTimestamp), 1))
+ return NO_MEMORY;
+ ALOGV("(%s): AWB(%d) AE(%d) SCENE(%d) AEComp(%d) AF(%d)", __FUNCTION__,
+ metadata_ext->awb_mode_dm- 2, metadata->dm.aa.aeMode - 1, metadata->ctl.aa.sceneMode - 1,
+ metadata->ctl.aa.aeExpCompensation, metadata->dm.aa.afMode - 1);
if (metadata->ctl.request.metadataMode == METADATA_MODE_NONE) {