From: Marko Ollonen Date: Wed, 10 Apr 2013 09:52:51 +0000 (+0300) Subject: Change flash sequence to use one bit longer flash. X-Git-Tag: 2.1b_release~1^2~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=10d52b886f03695d3981f5cd80edac7920f533b0;p=adaptation%2Fintel_mfld%2Fgst-plugins-atomisp.git Change flash sequence to use one bit longer flash. Previously used two shot flashes. Change-Id: Ib36fca3d9e20a5cdbbee6aaa9abab65c948d6f9d --- diff --git a/gst-libs/atomisphal/mfld_cam.c b/gst-libs/atomisphal/mfld_cam.c index 69b48cf..51d07e3 100644 --- a/gst-libs/atomisphal/mfld_cam.c +++ b/gst-libs/atomisphal/mfld_cam.c @@ -1551,9 +1551,9 @@ run_flash_sequence (int fd, struct v4l2_buffer *buffer) cam_driver_dbg ("%s: Error dqbuf %d\n", __func__, 0); return CAM_ERR_SYS; } - // pre flash - mfldadvci->process_flash (advci_flash_stage_pre); - led_flash_trigger (fd, 0, 0); + // main flash + mfldadvci->process_flash (advci_flash_stage_main); + cam_driver_request_flash(fd, 1); if (-1 == ioctl (fd, VIDIOC_QBUF, buffer)) { cam_driver_dbg ("%s: Error qbuf %d\n", __func__, 1); return CAM_ERR_SYS; @@ -1562,9 +1562,7 @@ run_flash_sequence (int fd, struct v4l2_buffer *buffer) cam_driver_dbg ("%s: Error dqbuf %d\n", __func__, 1); return CAM_ERR_SYS; } - // main flash - mfldadvci->process_flash (advci_flash_stage_main); - led_flash_trigger (fd, 0, 15); + if (-1 == ioctl (fd, VIDIOC_QBUF, buffer)) { cam_driver_dbg ("%s: Error qbuf %d\n", __func__, 2); return CAM_ERR_SYS; diff --git a/gst-libs/atomisphal/mfld_driver.c b/gst-libs/atomisphal/mfld_driver.c index bbffd18..546e907 100644 --- a/gst-libs/atomisphal/mfld_driver.c +++ b/gst-libs/atomisphal/mfld_driver.c @@ -719,6 +719,12 @@ led_flash_trigger (int fd, int duration, int intensity) cam_driver_dbg("%s\n",__func__); + ret = cam_driver_set_led_flash (fd, V4L2_CID_FLASH_TIMEOUT, duration); + if (ret != CAM_ERR_NONE) + { + cam_driver_dbg ("%s: Error flash ioctl %d\n", __func__, 3); + } + ret = cam_driver_set_led_flash (fd, V4L2_CID_FLASH_STROBE, 0); if (ret != CAM_ERR_NONE) { @@ -734,11 +740,12 @@ led_flash_trigger (int fd, int duration, int intensity) { cam_driver_dbg ("%s: Error flash ioctl %d\n", __func__, 2); } - ret = cam_driver_set_led_flash (fd, V4L2_CID_FLASH_TIMEOUT, duration); - if (ret != CAM_ERR_NONE) - { - cam_driver_dbg ("%s: Error flash ioctl %d\n", __func__, 3); - } + +} + +void cam_driver_request_flash(int fd, int numFrames) +{ + cam_driver_set_attribute(fd, V4L2_CID_REQUEST_FLASH, numFrames, "request flash"); } void diff --git a/gst-libs/atomisphal/mfld_driver.h b/gst-libs/atomisphal/mfld_driver.h index 7264f8e..1e1cd42 100644 --- a/gst-libs/atomisphal/mfld_driver.h +++ b/gst-libs/atomisphal/mfld_driver.h @@ -118,5 +118,7 @@ cam_err_t cam_driver_set_mipi_interrupt(int fd, int enable); cam_err_t cam_driver_set_indication_intensity (int fd,int intensity); cam_err_t cam_driver_set_torch(int fd, int on); +void cam_driver_request_flash(int fd, int numFrames); + #endif /* _MFLD_DRIVER_H */