summaryrefslogtreecommitdiffstats
path: root/camera/CameraHal_Module.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'camera/CameraHal_Module.cpp')
-rw-r--r--camera/CameraHal_Module.cpp65
1 files changed, 64 insertions, 1 deletions
diff --git a/camera/CameraHal_Module.cpp b/camera/CameraHal_Module.cpp
index b107bc7..b94b9d6 100644
--- a/camera/CameraHal_Module.cpp
+++ b/camera/CameraHal_Module.cpp
@@ -88,6 +88,25 @@ int camera_set_preview_window(struct camera_device * device,
return rv;
}
+int camera_set_buffer_source(struct camera_device * device,
+ struct preview_stream_ops *tapin,
+ struct preview_stream_ops *tapout)
+{
+ int rv = -EINVAL;
+ ti_camera_device_t* ti_dev = NULL;
+
+ LOGV("%s", __FUNCTION__);
+
+ if(!device)
+ return rv;
+
+ ti_dev = (ti_camera_device_t*) device;
+
+ rv = gCameraHals[ti_dev->cameraid]->setBufferSource(tapin, tapout);
+
+ return rv;
+}
+
void camera_set_callbacks(struct camera_device * device,
camera_notify_callback notify_cb,
camera_data_callback data_cb,
@@ -307,10 +326,17 @@ int camera_cancel_auto_focus(struct camera_device * device)
return rv;
}
+#ifdef OMAP_ENHANCEMENT
+int camera_take_picture(struct camera_device * device, const char *params)
+#else
int camera_take_picture(struct camera_device * device)
+#endif
{
int rv = -EINVAL;
ti_camera_device_t* ti_dev = NULL;
+#ifndef OMAP_ENHANCEMENT
+ const char* params = NULL;
+#endif
LOGV("%s", __FUNCTION__);
@@ -319,7 +345,7 @@ int camera_take_picture(struct camera_device * device)
ti_dev = (ti_camera_device_t*) device;
- rv = gCameraHals[ti_dev->cameraid]->takePicture();
+ rv = gCameraHals[ti_dev->cameraid]->takePicture(params);
return rv;
}
@@ -339,6 +365,38 @@ int camera_cancel_picture(struct camera_device * device)
return rv;
}
+int camera_reprocess(struct camera_device * device, const char *params)
+{
+ int rv = -EINVAL;
+ ti_camera_device_t* ti_dev = NULL;
+
+ LOGV("%s", __FUNCTION__);
+
+ if(!device)
+ return rv;
+
+ ti_dev = (ti_camera_device_t*) device;
+
+ rv = gCameraHals[ti_dev->cameraid]->reprocess(params);
+ return rv;
+}
+
+int camera_cancel_reprocess(struct camera_device * device)
+{
+ int rv = -EINVAL;
+ ti_camera_device_t* ti_dev = NULL;
+
+ LOGV("%s", __FUNCTION__);
+
+ if(!device)
+ return rv;
+
+ ti_dev = (ti_camera_device_t*) device;
+
+ rv = gCameraHals[ti_dev->cameraid]->cancel_reprocess();
+ return rv;
+}
+
int camera_set_parameters(struct camera_device * device, const char *params)
{
int rv = -EINVAL;
@@ -539,6 +597,7 @@ int camera_device_open(const hw_module_t* module, const char* name,
camera_device->base.ops = camera_ops;
camera_ops->set_preview_window = camera_set_preview_window;
+ camera_ops->set_buffer_source = camera_set_buffer_source;
camera_ops->set_callbacks = camera_set_callbacks;
camera_ops->enable_msg_type = camera_enable_msg_type;
camera_ops->disable_msg_type = camera_disable_msg_type;
@@ -561,6 +620,10 @@ int camera_device_open(const hw_module_t* module, const char* name,
camera_ops->send_command = camera_send_command;
camera_ops->release = camera_release;
camera_ops->dump = camera_dump;
+#ifdef OMAP_ENHANCEMENT
+ camera_ops->reprocess = camera_reprocess;
+ camera_ops->cancel_reprocess = camera_cancel_reprocess;
+#endif
*device = &camera_device->base.common;