diff options
Diffstat (limited to 'camera/CameraHal_Module.cpp')
-rw-r--r-- | camera/CameraHal_Module.cpp | 65 |
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; |