]> err.no Git - linux-2.6/blobdiff - include/media/v4l2-dev.h
ocfs2: Unlock mutex in local alloc failure case
[linux-2.6] / include / media / v4l2-dev.h
index 46eb71f5653ceac859bbaf15231d6bd666bdad82..17f8f3a2f0a3e4214120d63b9047356eefa459a4 100644 (file)
@@ -77,9 +77,6 @@ int v4l_compat_translate_ioctl(struct inode *inode, struct file *file,
 extern long v4l_compat_ioctl32(struct file *file, unsigned int cmd,
                                unsigned long arg);
 
-/* Forward definition of v4l2-common.h defined structure */
-struct v4l2_register;
-
 /*
  * Newer version of video_device, handled by videodev2.c
  *     This version moves redundant code from video device code to
@@ -130,6 +127,8 @@ struct video_device
                                            struct v4l2_fmtdesc *f);
        int (*vidioc_enum_fmt_video_output)(struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
+       int (*vidioc_enum_fmt_output_overlay) (struct file *file, void *fh,
+                                           struct v4l2_fmtdesc *f);
        int (*vidioc_enum_fmt_vbi_output)  (struct file *file, void *fh,
                                            struct v4l2_fmtdesc *f);
        int (*vidioc_enum_fmt_type_private)(struct file *file, void *fh,
@@ -148,6 +147,8 @@ struct video_device
                                        struct v4l2_format *f);
        int (*vidioc_g_fmt_video_output)(struct file *file, void *fh,
                                        struct v4l2_format *f);
+       int (*vidioc_g_fmt_output_overlay) (struct file *file, void *fh,
+                                       struct v4l2_format *f);
        int (*vidioc_g_fmt_type_private)(struct file *file, void *fh,
                                        struct v4l2_format *f);
 
@@ -165,6 +166,8 @@ struct video_device
                                        struct v4l2_format *f);
        int (*vidioc_s_fmt_video_output)(struct file *file, void *fh,
                                        struct v4l2_format *f);
+       int (*vidioc_s_fmt_output_overlay) (struct file *file, void *fh,
+                                       struct v4l2_format *f);
        int (*vidioc_s_fmt_type_private)(struct file *file, void *fh,
                                        struct v4l2_format *f);
 
@@ -181,6 +184,8 @@ struct video_device
                                          struct v4l2_format *f);
        int (*vidioc_try_fmt_video_output)(struct file *file, void *fh,
                                          struct v4l2_format *f);
+       int (*vidioc_try_fmt_output_overlay)(struct file *file, void *fh,
+                                         struct v4l2_format *f);
        int (*vidioc_try_fmt_type_private)(struct file *file, void *fh,
                                          struct v4l2_format *f);
 
@@ -274,6 +279,12 @@ struct video_device
                                        struct v4l2_jpegcompression *a);
        int (*vidioc_s_jpegcomp)       (struct file *file, void *fh,
                                        struct v4l2_jpegcompression *a);
+       int (*vidioc_g_enc_index)      (struct file *file, void *fh,
+                                       struct v4l2_enc_idx *a);
+       int (*vidioc_encoder_cmd)      (struct file *file, void *fh,
+                                       struct v4l2_encoder_cmd *a);
+       int (*vidioc_try_encoder_cmd)  (struct file *file, void *fh,
+                                       struct v4l2_encoder_cmd *a);
 
        /* Stream type-dependent parameter ioctls */
        int (*vidioc_g_parm)           (struct file *file, void *fh,
@@ -306,6 +317,8 @@ struct video_device
        int (*vidioc_s_register)       (struct file *file, void *fh,
                                        struct v4l2_register *reg);
 #endif
+       int (*vidioc_g_chip_ident)     (struct file *file, void *fh,
+                                       struct v4l2_chip_ident *chip);
 
 
 #ifdef OBSOLETE_OWNER /* to be removed soon */
@@ -324,6 +337,9 @@ void *priv;
        struct class_device class_dev; /* sysfs */
 };
 
+/* Class-dev to video-device */
+#define to_video_device(cd) container_of(cd, struct video_device, class_dev)
+
 /* Version 2 functions */
 extern int video_register_device(struct video_device *vfd, int type, int nr);
 void video_unregister_device(struct video_device *);
@@ -341,11 +357,9 @@ extern int video_usercopy(struct inode *inode, struct file *file,
                          int (*func)(struct inode *inode, struct file *file,
                                      unsigned int cmd, void *arg));
 
-
 #ifdef CONFIG_VIDEO_V4L1_COMPAT
 #include <linux/mm.h>
 
-#define to_video_device(cd) container_of(cd, struct video_device, class_dev)
 static inline int __must_check
 video_device_create_file(struct video_device *vfd,
                         struct class_device_attribute *attr)