Revert "camera: fix the problem flash does not work in ZSL mode"
This reverts commit f7bed851477169bfad98c6f495d90fbca7f99ed5.
Conflicts:
QCameraHWI.cpp
QCamera_Intf.h
Bug: 7290909
Change-Id: I115fe0382cf1a984f8a681df77f9751c648affd4
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c b/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
index 2bfacfb..826b5dd 100755
--- a/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
+++ b/camera/QCamera/stack/mm-camera-interface/src/mm_camera.c
@@ -649,7 +649,7 @@
sizeof(focus_distances_info_t),
p_value);
break;
- case MM_CAMERA_PARM_QUERY_FLASH4SNAP:
+ case MM_CAMERA_PARM_QUERY_FALSH4SNAP:
rc = mm_camera_send_native_ctrl_cmd(my_obj,
CAMERA_QUERY_FLASH_FOR_SNAPSHOT,
sizeof(int),
diff --git a/camera/QCameraHWI.cpp b/camera/QCameraHWI.cpp
index b7e7044..3d32f94 100755
--- a/camera/QCameraHWI.cpp
+++ b/camera/QCameraHWI.cpp
@@ -892,10 +892,6 @@
case MM_CAMERA_INFO_EVT_ROI:
roiEvent(event->e.roi, app_cb);
break;
- case MM_CAMERA_INFO_FLASH_FRAME_IDX:
- zslFlashEvent(event->e.zsl_flash_info, app_cb);
- break;
-
default:
break;
}
@@ -903,24 +899,6 @@
return;
}
-void QCameraHardwareInterface::zslFlashEvent(struct zsl_flash_t evt, app_notify_cb_t *) {
- ALOGV("%s: E", __func__);
- ALOGV("flashEvent: numFrames = %d, frameId[0] = %d", evt.valid_entires, evt.frame_idx[0]);
-
- int32_t value = 0;
- if (native_set_parms(MM_CAMERA_PARM_AEC_LOCK,
- sizeof(int32_t), (void *)(&value)) == false) {
- ALOGE("error: can not unlock AEC");
- }
-
- status_t ret = mStreamSnap->takePictureZSL();
- if (ret != MM_CAMERA_OK) {
- ALOGE("%s: Error taking ZSL snapshot!", __func__);
- }
- ALOGV("%s: X", __func__);
-}
-
-
void QCameraHardwareInterface::processEvent(mm_camera_event_t *event)
{
app_notify_cb_t app_cb;
@@ -1684,38 +1662,11 @@
mStreamSnap->setFullSizeLiveshot(false);
if (isZSLMode()) {
if (mStreamSnap != NULL) {
- // Query if flash is required based on lighting condition
- int32_t flash_expected = 0;
- if(MM_CAMERA_OK != cam_config_get_parm(mCameraId,
- MM_CAMERA_PARM_QUERY_FLASH4SNAP, &flash_expected)){
- ALOGE("%s: error: can not get flash_expected value",
- __func__);
- return BAD_VALUE;
- }
- ALOGE("flash_expected = %d, mode = %d",
- flash_expected, getFlashMode());
- if(getFlashMode() != LED_MODE_OFF && flash_expected) {
- // Flash is used
- takePicturePrepareHardware();
-
- pausePreviewForZSL();
-
- //start flash LED
- uint32_t value = 1;
- if(native_set_parms(MM_CAMERA_PARM_ZSL_FLASH, sizeof(value),
- (void *)&value) == false) {
- ALOGE("%s: error: cannot set ZSL flash", __func__);
- return BAD_VALUE;
- }
- // takepictureZSL() will be called when the event for
- // zslflash is received
- } else {
- //Flash is not used
- pausePreviewForZSL();
- if (MM_CAMERA_OK != mStreamSnap->takePictureZSL()) {
- ALOGE("%s: Error taking ZSL snapshot!", __func__);
- ret = BAD_VALUE;
- }
+ pausePreviewForZSL();
+ ret = mStreamSnap->takePictureZSL();
+ if (ret != MM_CAMERA_OK) {
+ ALOGE("%s: Error taking ZSL snapshot!", __func__);
+ ret = BAD_VALUE;
}
}
else {
diff --git a/camera/QCameraHWI.h b/camera/QCameraHWI.h
index 1f67edf..bf5965a 100644
--- a/camera/QCameraHWI.h
+++ b/camera/QCameraHWI.h
@@ -530,7 +530,6 @@
void processInfoEvent(mm_camera_info_event_t *event, app_notify_cb_t *);
void processprepareSnapshotEvent(cam_ctrl_status_t *);
void roiEvent(fd_roi_t roi, app_notify_cb_t *);
- void zslFlashEvent(struct zsl_flash_t evt, app_notify_cb_t *);
void zoomEvent(cam_ctrl_status_t *status, app_notify_cb_t *);
void autofocusevent(cam_ctrl_status_t *status, app_notify_cb_t *);
void handleZoomEventForPreview(app_notify_cb_t *);
@@ -577,7 +576,6 @@
status_t setJpegRotation(int isZSL);
int getJpegRotation(void);
int getISOSpeedValue();
- int getFlashMode();
status_t setAntibanding(const QCameraParameters& params);
status_t setEffect(const QCameraParameters& params);
status_t setExposureCompensation(const QCameraParameters ¶ms);
diff --git a/camera/QCameraHWI_Parm.cpp b/camera/QCameraHWI_Parm.cpp
index c2b336c..e771317 100644
--- a/camera/QCameraHWI_Parm.cpp
+++ b/camera/QCameraHWI_Parm.cpp
@@ -2828,17 +2828,6 @@
return NO_ERROR;
}
-int QCameraHardwareInterface::getFlashMode() {
- const char *str = mParameters.get(CameraParameters::KEY_FLASH_MODE);
- if (str != NULL) {
- int32_t value = attr_lookup(flash, sizeof(flash) / sizeof(str_map), str);
- return value;
- } else {
- ALOGE("%s: Error: Flash parameter not-set (unexpected)", __func__);
- return -1;
- }
-}
-
status_t QCameraHardwareInterface::setFlash(const QCameraParameters& params)
{
ALOGV("%s: E",__func__);
diff --git a/camera/QCameraHWI_Still.cpp b/camera/QCameraHWI_Still.cpp
index 7acd8fd..1ff8142 100644
--- a/camera/QCameraHWI_Still.cpp
+++ b/camera/QCameraHWI_Still.cpp
@@ -2300,6 +2300,7 @@
}
if (isZSLMode()) {
+ prepareHardware();
ret = initZSLSnapshot();
if(ret != NO_ERROR) {
ALOGE("%s : Error while Initializing ZSL snapshot",__func__);
diff --git a/camera/QCamera_Intf.h b/camera/QCamera_Intf.h
index 13ecc63..1a83200 100644
--- a/camera/QCamera_Intf.h
+++ b/camera/QCamera_Intf.h
@@ -45,7 +45,7 @@
#define CEILING4(X) (((X) + 0x0003) & 0xFFFC)
#define CEILING2(X) (((X) + 0x0001) & 0xFFFE)
-#define MAX_ROI 4
+#define MAX_ROI 2
#define MAX_NUM_PARM 5
#define MAX_NUM_OPS 2
#define VIDEO_MAX_PLANES 8
@@ -393,7 +393,7 @@
MM_CAMERA_PARM_CAMERA_ID,
MM_CAMERA_PARM_CAMERA_INFO,
MM_CAMERA_PARM_PREVIEW_SIZE, /*35*/
- MM_CAMERA_PARM_QUERY_FLASH4SNAP,
+ MM_CAMERA_PARM_QUERY_FALSH4SNAP,
MM_CAMERA_PARM_FOCUS_DISTANCES,
MM_CAMERA_PARM_BUFFER_INFO,
MM_CAMERA_PARM_JPEG_ROTATION,
@@ -466,7 +466,6 @@
MM_CAMERA_PARM_RAW_SNAPSHOT_FMT,
MM_CAMERA_PARM_FACIAL_FEATURE_INFO,
MM_CAMERA_PARM_CAF_LOCK_CANCEL,
- MM_CAMERA_PARM_ZSL_FLASH,
#ifdef FAST_AF
MM_CAMERA_PARM_CAF_TYPE,
#endif
@@ -608,7 +607,6 @@
CAMERA_SET_3A_CONVERGENCE,
CAMERA_SET_PREVIEW_HFR, /*120*/
CAMERA_GET_MAX_DIMENSION,
- CAMERA_SET_ZSL_FLASH,
CAMERA_GET_MAX_NUM_FACES_DECT,
CAMERA_SET_CHANNEL_STREAM,
CAMERA_GET_CHANNEL_STREAM,
@@ -987,17 +985,11 @@
} d;
};
-struct zsl_flash_t {
- uint32_t frame_idx[5];
- uint8_t valid_entires;
-};
-
typedef struct {
uint32_t event_id;
union {
mm_camera_histo_mem_info_t histo_mem_info;
struct fd_roi_t roi;
- struct zsl_flash_t zsl_flash_info;
} e;
} mm_camera_info_event_t;
diff --git a/camera/mm-camera-interface/mm_camera.c b/camera/mm-camera-interface/mm_camera.c
index 12203e0..4a54d50 100644
--- a/camera/mm-camera-interface/mm_camera.c
+++ b/camera/mm-camera-interface/mm_camera.c
@@ -362,10 +362,6 @@
mm_jpeg_encoder_setRotation(*((int *)parm->p_value),isZSL);
return MM_CAMERA_OK;
- case MM_CAMERA_PARM_ZSL_FLASH:
- return mm_camera_send_native_ctrl_cmd(my_obj,
- CAMERA_SET_ZSL_FLASH, sizeof(uint32_t), (void *)parm->p_value);
-
case MM_CAMERA_PARM_ASD_ENABLE:
return mm_camera_send_native_ctrl_cmd(my_obj,
CAMERA_SET_ASD_ENABLE, sizeof(uint32_t), (void *)parm->p_value);
@@ -600,7 +596,7 @@
case MM_CAMERA_PARM_FOCUS_DISTANCES:
return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_GET_PARM_FOCUS_DISTANCES,
sizeof(focus_distances_info_t), (void *)parm->p_value);
- case MM_CAMERA_PARM_QUERY_FLASH4SNAP:
+ case MM_CAMERA_PARM_QUERY_FALSH4SNAP:
return mm_camera_send_native_ctrl_cmd(my_obj, CAMERA_QUERY_FLASH_FOR_SNAPSHOT,
sizeof(int), (void *)parm->p_value);
case MM_CAMERA_PARM_3D_FRAME_FORMAT:
@@ -847,11 +843,6 @@
rc = mm_camera_ch_fn(my_obj, ch_type,
MM_CAMERA_STATE_EVT_STREAM_ON, NULL);
break;
- case MM_CAMERA_OPS_PREPARE_SNAPSHOT:
- rc = mm_camera_send_native_ctrl_timeout_cmd(my_obj,CAMERA_PREPARE_SNAPSHOT, 0, NULL, 2000);
- CDBG("%s: prepare snapshot done opcode = %d, rc= %d\n", __func__, opcode, rc);
- break;
-
default:
break;
}