summaryrefslogtreecommitdiff
path: root/isp/omap3isp.c
diff options
context:
space:
mode:
Diffstat (limited to 'isp/omap3isp.c')
-rw-r--r--isp/omap3isp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/isp/omap3isp.c b/isp/omap3isp.c
index d1c74c1..f100254 100644
--- a/isp/omap3isp.c
+++ b/isp/omap3isp.c
@@ -947,6 +947,12 @@ struct omap3_isp_device *omap3_isp_open(const char *devname,
goto error;
}
+ ret = omap3_isp_stats_init(isp);
+ if (ret < 0) {
+ printf("error: unable to initialize statistics engine.\n");
+ goto error;
+ }
+
ret = omap3_isp_preview_setup(isp);
if (ret < 0) {
printf("error: unable to setup preview engine.\n");
@@ -965,6 +971,7 @@ void omap3_isp_close(struct omap3_isp_device *isp)
if (isp == NULL)
return;
+ omap3_isp_stats_cleanup(isp);
omap3_isp_pipeline_destroy(&isp->viewfinder);
omap3_isp_pipeline_destroy(&isp->snapshot);
media_close(isp->mdev);
@@ -1030,6 +1037,9 @@ static int __omap3_isp_viewfinder_start(struct omap3_isp_device *isp)
OMAP3_ISP_EVENT_READ, omap3_isp_viewfinder_event,
isp);
+ /* Start the statistics engine. */
+ omap3_isp_stats_start(isp);
+
ret = omap3_isp_video_start(isp->viewfinder.output);
if (ret < 0) {
printf("error: streamon failed for viewfinder (%d)\n", ret);
@@ -1046,6 +1056,8 @@ static int __omap3_isp_viewfinder_stop(struct omap3_isp_device *isp)
isp->ops->unwatch_fd(isp->viewfinder.output->video->fd);
+ omap3_isp_stats_stop(isp);
+
ret = omap3_isp_video_stop(isp->viewfinder.output);
if (ret < 0) {
printf("error: streamoff failed for viewfinder\n");