[media] v4l2-ctrls: add new RDS TX controls
[deliverable/linux.git] / include / uapi / linux / videodev2.h
index eb3bdd33816b7f4e4ed579dce9ccf0478cf27765..778a3298fb3441d4ab001afe7e920c249109bf83 100644 (file)
@@ -124,6 +124,10 @@ enum v4l2_field {
         (field) == V4L2_FIELD_INTERLACED_BT ||\
         (field) == V4L2_FIELD_SEQ_TB ||\
         (field) == V4L2_FIELD_SEQ_BT)
+#define V4L2_FIELD_HAS_T_OR_B(field)   \
+       ((field) == V4L2_FIELD_BOTTOM ||\
+        (field) == V4L2_FIELD_TOP ||\
+        (field) == V4L2_FIELD_ALTERNATE)
 
 enum v4l2_buf_type {
        V4L2_BUF_TYPE_VIDEO_CAPTURE        = 1,
@@ -288,6 +292,7 @@ struct v4l2_pix_format {
        __u32                   sizeimage;
        __u32                   colorspace;     /* enum v4l2_colorspace */
        __u32                   priv;           /* private data, depends on pixelformat */
+       __u32                   flags;          /* format flags (V4L2_PIX_FMT_FLAG_*) */
 };
 
 /*      Pixel format         FOURCC                          depth  Description  */
@@ -448,10 +453,16 @@ struct v4l2_pix_format {
 /* SDR formats - used only for Software Defined Radio devices */
 #define V4L2_SDR_FMT_CU8          v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
 #define V4L2_SDR_FMT_CU16LE       v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */
+#define V4L2_SDR_FMT_CS8          v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */
+#define V4L2_SDR_FMT_CS14LE       v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
+#define V4L2_SDR_FMT_RU12LE       v4l2_fourcc('R', 'U', '1', '2') /* real u12le */
 
 /* priv field value to indicates that subsequent fields are valid. */
 #define V4L2_PIX_FMT_PRIV_MAGIC                0xfeedcafe
 
+/* Flags */
+#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001
+
 /*
  *     F O R M A T   E N U M E R A T I O N
  */
@@ -1277,6 +1288,7 @@ struct v4l2_ext_control {
                char *string;
                __u8 *p_u8;
                __u16 *p_u16;
+               __u32 *p_u32;
                void *ptr;
        };
 } __attribute__ ((packed));
@@ -1309,6 +1321,7 @@ enum v4l2_ctrl_type {
        V4L2_CTRL_COMPOUND_TYPES     = 0x0100,
        V4L2_CTRL_TYPE_U8            = 0x0100,
        V4L2_CTRL_TYPE_U16           = 0x0101,
+       V4L2_CTRL_TYPE_U32           = 0x0102,
 };
 
 /*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
@@ -1631,6 +1644,12 @@ struct v4l2_vbi_format {
 #define V4L2_VBI_UNSYNC                (1 << 0)
 #define V4L2_VBI_INTERLACED    (1 << 1)
 
+/* ITU-R start lines for each field */
+#define V4L2_VBI_ITU_525_F1_START (1)
+#define V4L2_VBI_ITU_525_F2_START (264)
+#define V4L2_VBI_ITU_625_F1_START (1)
+#define V4L2_VBI_ITU_625_F2_START (314)
+
 /* Sliced VBI
  *
  *    This implements is a proposal V4L2 API to allow SLICED VBI
@@ -1754,6 +1773,7 @@ struct v4l2_plane_pix_format {
  * @colorspace:                enum v4l2_colorspace; supplemental to pixelformat
  * @plane_fmt:         per-plane information
  * @num_planes:                number of planes for this format
+ * @flags:             format flags (V4L2_PIX_FMT_FLAG_*)
  */
 struct v4l2_pix_format_mplane {
        __u32                           width;
@@ -1764,16 +1784,19 @@ struct v4l2_pix_format_mplane {
 
        struct v4l2_plane_pix_format    plane_fmt[VIDEO_MAX_PLANES];
        __u8                            num_planes;
-       __u8                            reserved[11];
+       __u8                            flags;
+       __u8                            reserved[10];
 } __attribute__ ((packed));
 
 /**
  * struct v4l2_sdr_format - SDR format definition
  * @pixelformat:       little endian four character code (fourcc)
+ * @buffersize:                maximum size in bytes required for data
  */
 struct v4l2_sdr_format {
        __u32                           pixelformat;
-       __u8                            reserved[28];
+       __u32                           buffersize;
+       __u8                            reserved[24];
 } __attribute__ ((packed));
 
 /**
This page took 0.02554 seconds and 5 git commands to generate.