summaryrefslogtreecommitdiffstats
path: root/include/media
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>2011-03-28 18:28:28 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-05-20 16:55:31 +0200
commitaee5c2f1fc9c7cd2502ff14f818fcedef666f038 (patch)
treef1eb50bc8558350d927b7624723ce7203272ceeb /include/media
parent[media] V4L: mx3_camera: implement .stop_streaming() (diff)
downloadlinux-aee5c2f1fc9c7cd2502ff14f818fcedef666f038.tar.xz
linux-aee5c2f1fc9c7cd2502ff14f818fcedef666f038.zip
[media] V4L: soc-camera: add a livecrop host operation
Add an soc-camera host livecrop operation to implement live zoom. If a host driver implements it, it should take care to preserve output frame format, then live crop doesn't break streaming. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/soc_camera.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/media/soc_camera.h b/include/media/soc_camera.h
index f80b5372baf3..844cd09d7d3e 100644
--- a/include/media/soc_camera.h
+++ b/include/media/soc_camera.h
@@ -80,6 +80,11 @@ struct soc_camera_host_ops {
int (*cropcap)(struct soc_camera_device *, struct v4l2_cropcap *);
int (*get_crop)(struct soc_camera_device *, struct v4l2_crop *);
int (*set_crop)(struct soc_camera_device *, struct v4l2_crop *);
+ /*
+ * The difference to .set_crop() is, that .set_livecrop is not allowed
+ * to change the output sizes
+ */
+ int (*set_livecrop)(struct soc_camera_device *, struct v4l2_crop *);
int (*set_fmt)(struct soc_camera_device *, struct v4l2_format *);
int (*try_fmt)(struct soc_camera_device *, struct v4l2_format *);
void (*init_videobuf)(struct videobuf_queue *,