Merge tag 'for-linus-4.21-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / include / media / v4l2-ioctl.h
index 5848d92c30da3ddd4ee24f806eaa10315603b2e5..8533ece5026e459181a9c485d6aa986a3ddcba4a 100644 (file)
@@ -48,6 +48,9 @@ struct v4l2_fh;
  * @vidioc_enum_fmt_meta_cap: pointer to the function that implements
  *     :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic
  *     for metadata capture
+ * @vidioc_enum_fmt_meta_out: pointer to the function that implements
+ *     :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic
+ *     for metadata output
  * @vidioc_g_fmt_vid_cap: pointer to the function that implements
  *     :ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for video capture
  *     in single plane mode
@@ -80,6 +83,8 @@ struct v4l2_fh;
  *     Radio output
  * @vidioc_g_fmt_meta_cap: pointer to the function that implements
  *     :ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for metadata capture
+ * @vidioc_g_fmt_meta_out: pointer to the function that implements
+ *     :ref:`VIDIOC_G_FMT <vidioc_g_fmt>` ioctl logic for metadata output
  * @vidioc_s_fmt_vid_cap: pointer to the function that implements
  *     :ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for video capture
  *     in single plane mode
@@ -112,6 +117,8 @@ struct v4l2_fh;
  *     Radio output
  * @vidioc_s_fmt_meta_cap: pointer to the function that implements
  *     :ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for metadata capture
+ * @vidioc_s_fmt_meta_out: pointer to the function that implements
+ *     :ref:`VIDIOC_S_FMT <vidioc_g_fmt>` ioctl logic for metadata output
  * @vidioc_try_fmt_vid_cap: pointer to the function that implements
  *     :ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for video capture
  *     in single plane mode
@@ -146,6 +153,8 @@ struct v4l2_fh;
  *     Radio output
  * @vidioc_try_fmt_meta_cap: pointer to the function that implements
  *     :ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for metadata capture
+ * @vidioc_try_fmt_meta_out: pointer to the function that implements
+ *     :ref:`VIDIOC_TRY_FMT <vidioc_g_fmt>` ioctl logic for metadata output
  * @vidioc_reqbufs: pointer to the function that implements
  *     :ref:`VIDIOC_REQBUFS <vidioc_reqbufs>` ioctl
  * @vidioc_querybuf: pointer to the function that implements
@@ -220,12 +229,8 @@ struct v4l2_fh;
  *     :ref:`VIDIOC_G_MODULATOR <vidioc_g_modulator>` ioctl
  * @vidioc_s_modulator: pointer to the function that implements
  *     :ref:`VIDIOC_S_MODULATOR <vidioc_g_modulator>` ioctl
- * @vidioc_cropcap: pointer to the function that implements
- *     :ref:`VIDIOC_CROPCAP <vidioc_cropcap>` ioctl
- * @vidioc_g_crop: pointer to the function that implements
- *     :ref:`VIDIOC_G_CROP <vidioc_g_crop>` ioctl
- * @vidioc_s_crop: pointer to the function that implements
- *     :ref:`VIDIOC_S_CROP <vidioc_g_crop>` ioctl
+ * @vidioc_g_pixelaspect: pointer to the function that implements
+ *     the pixelaspect part of the :ref:`VIDIOC_CROPCAP <vidioc_cropcap>` ioctl
  * @vidioc_g_selection: pointer to the function that implements
  *     :ref:`VIDIOC_G_SELECTION <vidioc_g_selection>` ioctl
  * @vidioc_s_selection: pointer to the function that implements
@@ -318,6 +323,8 @@ struct v4l2_ioctl_ops {
                                       struct v4l2_fmtdesc *f);
        int (*vidioc_enum_fmt_meta_cap)(struct file *file, void *fh,
                                        struct v4l2_fmtdesc *f);
+       int (*vidioc_enum_fmt_meta_out)(struct file *file, void *fh,
+                                       struct v4l2_fmtdesc *f);
 
        /* VIDIOC_G_FMT handlers */
        int (*vidioc_g_fmt_vid_cap)(struct file *file, void *fh,
@@ -346,6 +353,8 @@ struct v4l2_ioctl_ops {
                                    struct v4l2_format *f);
        int (*vidioc_g_fmt_meta_cap)(struct file *file, void *fh,
                                     struct v4l2_format *f);
+       int (*vidioc_g_fmt_meta_out)(struct file *file, void *fh,
+                                    struct v4l2_format *f);
 
        /* VIDIOC_S_FMT handlers */
        int (*vidioc_s_fmt_vid_cap)(struct file *file, void *fh,
@@ -374,6 +383,8 @@ struct v4l2_ioctl_ops {
                                    struct v4l2_format *f);
        int (*vidioc_s_fmt_meta_cap)(struct file *file, void *fh,
                                     struct v4l2_format *f);
+       int (*vidioc_s_fmt_meta_out)(struct file *file, void *fh,
+                                    struct v4l2_format *f);
 
        /* VIDIOC_TRY_FMT handlers */
        int (*vidioc_try_fmt_vid_cap)(struct file *file, void *fh,
@@ -402,6 +413,8 @@ struct v4l2_ioctl_ops {
                                      struct v4l2_format *f);
        int (*vidioc_try_fmt_meta_cap)(struct file *file, void *fh,
                                       struct v4l2_format *f);
+       int (*vidioc_try_fmt_meta_out)(struct file *file, void *fh,
+                                      struct v4l2_format *f);
 
        /* Buffer handlers */
        int (*vidioc_reqbufs)(struct file *file, void *fh,
@@ -491,12 +504,8 @@ struct v4l2_ioctl_ops {
        int (*vidioc_s_modulator)(struct file *file, void *fh,
                                  const struct v4l2_modulator *a);
        /* Crop ioctls */
-       int (*vidioc_cropcap)(struct file *file, void *fh,
-                             struct v4l2_cropcap *a);
-       int (*vidioc_g_crop)(struct file *file, void *fh,
-                            struct v4l2_crop *a);
-       int (*vidioc_s_crop)(struct file *file, void *fh,
-                            const struct v4l2_crop *a);
+       int (*vidioc_g_pixelaspect)(struct file *file, void *fh,
+                                   int buf_type, struct v4l2_fract *aspect);
        int (*vidioc_g_selection)(struct file *file, void *fh,
                                  struct v4l2_selection *s);
        int (*vidioc_s_selection)(struct file *file, void *fh,