]> git.sesse.net Git - vlc/blobdiff - modules/access/videodev2.h
Removes trailing spaces. Removes tabs.
[vlc] / modules / access / videodev2.h
index a358497a894cb2f78155c15d0ea547557e0e979f..a9d5e47e994dd61116a1addc382848555960e6dc 100644 (file)
@@ -1,21 +1,21 @@
 #ifndef __LINUX_VIDEODEV2_H
 #define __LINUX_VIDEODEV2_H
 /*
- *     Video for Linux Two
+ *    Video for Linux Two
  *
- *     Header file for v4l or V4L2 drivers and applications, for
- *     Linux kernels 2.2.x or 2.4.x.
+ *    Header file for v4l or V4L2 drivers and applications, for
+ *    Linux kernels 2.2.x or 2.4.x.
  *
- *     See http://bytesex.org/v4l/ for API specs and other
- *     v4l2 documentation.
+ *    See http://bytesex.org/v4l/ for API specs and other
+ *    v4l2 documentation.
  *
- *     Author: Bill Dirks <bdirks@pacbell.net>
- *             Justin Schoeman
- *             et al.
+ *    Author: Bill Dirks <bdirks@pacbell.net>
+ *        Justin Schoeman
+ *        et al.
  */
 
 /*
- *     M I S C E L L A N E O U S
+ *    M I S C E L L A N E O U S
  */
 
 /*  Four-character-code (FOURCC) */
         (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24))
 
 /*
- *     E N U M S
+ *    E N U M S
  */
 enum v4l2_field {
-       V4L2_FIELD_ANY        = 0, /* driver can choose from none,
-                                     top, bottom, interlaced
-                                     depending on whatever it thinks
-                                     is approximate ... */
-       V4L2_FIELD_NONE       = 1, /* this device has no fields ... */
-       V4L2_FIELD_TOP        = 2, /* top field only */
-       V4L2_FIELD_BOTTOM     = 3, /* bottom field only */
-       V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
-       V4L2_FIELD_SEQ_TB     = 5, /* both fields sequential into one
-                                     buffer, top-bottom order */
-       V4L2_FIELD_SEQ_BT     = 6, /* same as above + bottom-top order */
-       V4L2_FIELD_ALTERNATE  = 7, /* both fields alternating into
-                                     separate buffers */
-};
-#define V4L2_FIELD_HAS_TOP(field)      \
-       ((field) == V4L2_FIELD_TOP      ||\
-        (field) == V4L2_FIELD_INTERLACED ||\
-        (field) == V4L2_FIELD_SEQ_TB   ||\
-        (field) == V4L2_FIELD_SEQ_BT)
-#define V4L2_FIELD_HAS_BOTTOM(field)   \
-       ((field) == V4L2_FIELD_BOTTOM   ||\
-        (field) == V4L2_FIELD_INTERLACED ||\
-        (field) == V4L2_FIELD_SEQ_TB   ||\
-        (field) == V4L2_FIELD_SEQ_BT)
-#define V4L2_FIELD_HAS_BOTH(field)     \
-       ((field) == V4L2_FIELD_INTERLACED ||\
-        (field) == V4L2_FIELD_SEQ_TB   ||\
-        (field) == V4L2_FIELD_SEQ_BT)
+    V4L2_FIELD_ANY        = 0, /* driver can choose from none,
+                      top, bottom, interlaced
+                      depending on whatever it thinks
+                      is approximate ... */
+    V4L2_FIELD_NONE       = 1, /* this device has no fields ... */
+    V4L2_FIELD_TOP        = 2, /* top field only */
+    V4L2_FIELD_BOTTOM     = 3, /* bottom field only */
+    V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
+    V4L2_FIELD_SEQ_TB     = 5, /* both fields sequential into one
+                      buffer, top-bottom order */
+    V4L2_FIELD_SEQ_BT     = 6, /* same as above + bottom-top order */
+    V4L2_FIELD_ALTERNATE  = 7, /* both fields alternating into
+                      separate buffers */
+};
+#define V4L2_FIELD_HAS_TOP(field)    \
+    ((field) == V4L2_FIELD_TOP     ||\
+     (field) == V4L2_FIELD_INTERLACED ||\
+     (field) == V4L2_FIELD_SEQ_TB    ||\
+     (field) == V4L2_FIELD_SEQ_BT)
+#define V4L2_FIELD_HAS_BOTTOM(field)    \
+    ((field) == V4L2_FIELD_BOTTOM     ||\
+     (field) == V4L2_FIELD_INTERLACED ||\
+     (field) == V4L2_FIELD_SEQ_TB    ||\
+     (field) == V4L2_FIELD_SEQ_BT)
+#define V4L2_FIELD_HAS_BOTH(field)    \
+    ((field) == V4L2_FIELD_INTERLACED ||\
+     (field) == V4L2_FIELD_SEQ_TB    ||\
+     (field) == V4L2_FIELD_SEQ_BT)
 
 enum v4l2_buf_type {
-       V4L2_BUF_TYPE_VIDEO_CAPTURE  = 1,
-       V4L2_BUF_TYPE_VIDEO_OUTPUT   = 2,
-       V4L2_BUF_TYPE_VIDEO_OVERLAY  = 3,
-       V4L2_BUF_TYPE_VBI_CAPTURE    = 4,
-       V4L2_BUF_TYPE_VBI_OUTPUT     = 5,
-       V4L2_BUF_TYPE_PRIVATE        = 0x80,
+    V4L2_BUF_TYPE_VIDEO_CAPTURE  = 1,
+    V4L2_BUF_TYPE_VIDEO_OUTPUT   = 2,
+    V4L2_BUF_TYPE_VIDEO_OVERLAY  = 3,
+    V4L2_BUF_TYPE_VBI_CAPTURE    = 4,
+    V4L2_BUF_TYPE_VBI_OUTPUT     = 5,
+    V4L2_BUF_TYPE_PRIVATE        = 0x80,
 };
 
 enum v4l2_ctrl_type {
-       V4L2_CTRL_TYPE_INTEGER       = 1,
-       V4L2_CTRL_TYPE_BOOLEAN       = 2,
-       V4L2_CTRL_TYPE_MENU          = 3,
-       V4L2_CTRL_TYPE_BUTTON        = 4,
+    V4L2_CTRL_TYPE_INTEGER         = 1,
+    V4L2_CTRL_TYPE_BOOLEAN         = 2,
+    V4L2_CTRL_TYPE_MENU         = 3,
+    V4L2_CTRL_TYPE_BUTTON         = 4,
 };
 
 enum v4l2_tuner_type {
-       V4L2_TUNER_RADIO             = 1,
-       V4L2_TUNER_ANALOG_TV         = 2,
+    V4L2_TUNER_RADIO         = 1,
+    V4L2_TUNER_ANALOG_TV         = 2,
 };
 
 enum v4l2_memory {
-       V4L2_MEMORY_MMAP             = 1,
-       V4L2_MEMORY_USERPTR          = 2,
-       V4L2_MEMORY_OVERLAY          = 3,
+    V4L2_MEMORY_MMAP             = 1,
+    V4L2_MEMORY_USERPTR          = 2,
+    V4L2_MEMORY_OVERLAY          = 3,
 };
 
 /* see also http://vektor.theorem.ca/graphics/ycbcr/ */
 enum v4l2_colorspace {
-       /* ITU-R 601 -- broadcast NTSC/PAL */
-       V4L2_COLORSPACE_SMPTE170M     = 1,
-
-       /* 1125-Line (US) HDTV */
-       V4L2_COLORSPACE_SMPTE240M     = 2,
-
-       /* HD and modern captures. */
-       V4L2_COLORSPACE_REC709        = 3,
-       
-       /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */
-       V4L2_COLORSPACE_BT878         = 4,
-       
-       /* These should be useful.  Assume 601 extents. */
-       V4L2_COLORSPACE_470_SYSTEM_M  = 5,
-       V4L2_COLORSPACE_470_SYSTEM_BG = 6,
-       
-       /* I know there will be cameras that send this.  So, this is
-        * unspecified chromaticities and full 0-255 on each of the
-        * Y'CbCr components
-        */
-       V4L2_COLORSPACE_JPEG          = 7,
-       
-       /* For RGB colourspaces, this is probably a good start. */
-       V4L2_COLORSPACE_SRGB          = 8,
+    /* ITU-R 601 -- broadcast NTSC/PAL */
+    V4L2_COLORSPACE_SMPTE170M     = 1,
+
+    /* 1125-Line (US) HDTV */
+    V4L2_COLORSPACE_SMPTE240M     = 2,
+
+    /* HD and modern captures. */
+    V4L2_COLORSPACE_REC709        = 3,
+    
+    /* broken BT878 extents (601, luma range 16-253 instead of 16-235) */
+    V4L2_COLORSPACE_BT878         = 4,
+    
+    /* These should be useful.  Assume 601 extents. */
+    V4L2_COLORSPACE_470_SYSTEM_M  = 5,
+    V4L2_COLORSPACE_470_SYSTEM_BG = 6,
+    
+    /* I know there will be cameras that send this.  So, this is
+     * unspecified chromaticities and full 0-255 on each of the
+     * Y'CbCr components
+     */
+    V4L2_COLORSPACE_JPEG          = 7,
+    
+    /* For RGB colourspaces, this is probably a good start. */
+    V4L2_COLORSPACE_SRGB          = 8,
 };
 
 struct v4l2_rect {
-       __s32   left;
-       __s32   top;
-       __s32   width;
-       __s32   height;
+    __s32   left;
+    __s32   top;
+    __s32   width;
+    __s32   height;
 };
 
 struct v4l2_fract {
-       __u32   numerator;
-       __u32   denominator;
+    __u32   numerator;
+    __u32   denominator;
 };
 
 /*
- *     D R I V E R   C A P A B I L I T I E S
+ *    D R I V E R   C A P A B I L I T I E S
  */
 struct v4l2_capability
 {
-       __u8    driver[16];     /* i.e. "bttv" */
-       __u8    card[32];       /* i.e. "Hauppauge WinTV" */
-       __u8    bus_info[32];   /* "PCI:" + pci_dev->slot_name */
-       __u32   version;        /* should use KERNEL_VERSION() */
-       __u32   capabilities;   /* Device capabilities */
-       __u32   reserved[4];
+    __u8    driver[16];    /* i.e. "bttv" */
+    __u8    card[32];    /* i.e. "Hauppauge WinTV" */
+    __u8    bus_info[32];    /* "PCI:" + pci_dev->slot_name */
+    __u32   version;        /* should use KERNEL_VERSION() */
+    __u32    capabilities;    /* Device capabilities */
+    __u32    reserved[4];
 };
 
 /* Values for 'capabilities' field */
-#define V4L2_CAP_VIDEO_CAPTURE 0x00000001  /* Is a video capture device */
-#define V4L2_CAP_VIDEO_OUTPUT  0x00000002  /* Is a video output device */
-#define V4L2_CAP_VIDEO_OVERLAY 0x00000004  /* Can do video overlay */
-#define V4L2_CAP_VBI_CAPTURE   0x00000010  /* Is a VBI capture device */
-#define V4L2_CAP_VBI_OUTPUT    0x00000020  /* Is a VBI output device */
-#define V4L2_CAP_RDS_CAPTURE   0x00000100  /* RDS data capture */
+#define V4L2_CAP_VIDEO_CAPTURE    0x00000001  /* Is a video capture device */
+#define V4L2_CAP_VIDEO_OUTPUT    0x00000002  /* Is a video output device */
+#define V4L2_CAP_VIDEO_OVERLAY    0x00000004  /* Can do video overlay */
+#define V4L2_CAP_VBI_CAPTURE    0x00000010  /* Is a VBI capture device */
+#define V4L2_CAP_VBI_OUTPUT    0x00000020  /* Is a VBI output device */
+#define V4L2_CAP_RDS_CAPTURE    0x00000100  /* RDS data capture */
 
-#define V4L2_CAP_TUNER         0x00010000  /* Has a tuner */
-#define V4L2_CAP_AUDIO         0x00020000  /* has audio support */
+#define V4L2_CAP_TUNER        0x00010000  /* Has a tuner */
+#define V4L2_CAP_AUDIO        0x00020000  /* has audio support */
 
 #define V4L2_CAP_READWRITE      0x01000000  /* read/write systemcalls */
 #define V4L2_CAP_ASYNCIO        0x02000000  /* async I/O */
 #define V4L2_CAP_STREAMING      0x04000000  /* streaming I/O ioctls */
 
 /*
- *     V I D E O   I M A G E   F O R M A T
+ *    V I D E O   I M A G E   F O R M A T
  */
 
 struct v4l2_pix_format
 {
-       __u32                   width;
-       __u32                   height;
-       __u32                   pixelformat;
-       enum v4l2_field         field;
-       __u32                   bytesperline;   /* for padding, zero if unused */
-       __u32                   sizeimage;
-        enum v4l2_colorspace   colorspace;
-       __u32                   priv;           /* private data, depends on pixelformat */
+    __u32                  width;
+    __u32                 height;
+    __u32                 pixelformat;
+    enum v4l2_field      field;
+    __u32                bytesperline;    /* for padding, zero if unused */
+    __u32                   sizeimage;
+        enum v4l2_colorspace    colorspace;
+    __u32            priv;        /* private data, depends on pixelformat */
 };
 
 /*           Pixel format    FOURCC                  depth  Description   */
@@ -205,53 +205,53 @@ struct v4l2_pix_format
 #define V4L2_PIX_FMT_WNVA    v4l2_fourcc('W','N','V','A') /* Winnov hw compres */
 
 /*
- *     F O R M A T   E N U M E R A T I O N
+ *    F O R M A T   E N U M E R A T I O N
  */
 struct v4l2_fmtdesc
 {
-       __u32               index;             /* Format number      */
-       enum v4l2_buf_type  type;              /* buffer type        */
-       __u32               flags;
-       __u8                description[32];   /* Description string */
-       __u32               pixelformat;       /* Format fourcc      */
-       __u32               reserved[4];
+    __u32                index;             /* Format number      */
+    enum v4l2_buf_type  type;              /* buffer type        */
+    __u32               flags;
+    __u8                description[32];   /* Description string */
+    __u32                pixelformat;       /* Format fourcc      */
+    __u32                reserved[4];
 };
 
 #define V4L2_FMT_FLAG_COMPRESSED 0x0001
 
 
 /*
- *     T I M E C O D E
+ *    T I M E C O D E
  */
 struct v4l2_timecode
 {
-       __u32   type;
-       __u32   flags;
-       __u8    frames;
-       __u8    seconds;
-       __u8    minutes;
-       __u8    hours;
-       __u8    userbits[4];
+    __u32    type;
+    __u32    flags;
+    __u8    frames;
+    __u8    seconds;
+    __u8    minutes;
+    __u8    hours;
+    __u8    userbits[4];
 };
 
 /*  Type  */
-#define V4L2_TC_TYPE_24FPS             1
-#define V4L2_TC_TYPE_25FPS             2
-#define V4L2_TC_TYPE_30FPS             3
-#define V4L2_TC_TYPE_50FPS             4
-#define V4L2_TC_TYPE_60FPS             5
+#define V4L2_TC_TYPE_24FPS        1
+#define V4L2_TC_TYPE_25FPS        2
+#define V4L2_TC_TYPE_30FPS        3
+#define V4L2_TC_TYPE_50FPS        4
+#define V4L2_TC_TYPE_60FPS        5
 
 /*  Flags  */
-#define V4L2_TC_FLAG_DROPFRAME         0x0001 /* "drop-frame" mode */
-#define V4L2_TC_FLAG_COLORFRAME                0x0002
-#define V4L2_TC_USERBITS_field         0x000C
-#define V4L2_TC_USERBITS_USERDEFINED   0x0000
-#define V4L2_TC_USERBITS_8BITCHARS     0x0008
+#define V4L2_TC_FLAG_DROPFRAME        0x0001 /* "drop-frame" mode */
+#define V4L2_TC_FLAG_COLORFRAME        0x0002
+#define V4L2_TC_USERBITS_field        0x000C
+#define V4L2_TC_USERBITS_USERDEFINED    0x0000
+#define V4L2_TC_USERBITS_8BITCHARS    0x0008
 /* The above is based on SMPTE timecodes */
 
 
 /*
- *     C O M P R E S S I O N   P A R A M E T E R S
+ *    C O M P R E S S I O N   P A R A M E T E R S
  */
 #if 0
 /* ### generic compression settings don't work, there is too much
@@ -259,35 +259,35 @@ struct v4l2_timecode
  * ### later ... */
 struct v4l2_compression
 {
-       __u32   quality;
-       __u32   keyframerate;
-       __u32   pframerate;
-       __u32   reserved[5];
+    __u32    quality;
+    __u32    keyframerate;
+    __u32    pframerate;
+    __u32    reserved[5];
 };
 #endif
 
 struct v4l2_jpegcompression
 {
-       int quality;
-
-       int  APPn;              /* Number of APP segment to be written,
-                                * must be 0..15 */
-       int  APP_len;           /* Length of data in JPEG APPn segment */
-       char APP_data[60];      /* Data in the JPEG APPn segment. */
-       
-       int  COM_len;           /* Length of data in JPEG COM segment */
-       char COM_data[60];      /* Data in JPEG COM segment */
-       
-       __u32 jpeg_markers;     /* Which markers should go into the JPEG
-                                * output. Unless you exactly know what
-                                * you do, leave them untouched.
-                                * Inluding less markers will make the
-                                * resulting code smaller, but there will
-                                * be fewer aplications which can read it.
-                                * The presence of the APP and COM marker
-                                * is influenced by APP_len and COM_len
-                                * ONLY, not by this property! */
-       
+    int quality;
+
+    int  APPn;              /* Number of APP segment to be written,
+                 * must be 0..15 */
+    int  APP_len;           /* Length of data in JPEG APPn segment */
+    char APP_data[60];      /* Data in the JPEG APPn segment. */
+    
+    int  COM_len;           /* Length of data in JPEG COM segment */
+    char COM_data[60];      /* Data in JPEG COM segment */
+    
+    __u32 jpeg_markers;     /* Which markers should go into the JPEG
+                 * output. Unless you exactly know what
+                 * you do, leave them untouched.
+                 * Inluding less markers will make the
+                 * resulting code smaller, but there will
+                 * be fewer aplications which can read it.
+                 * The presence of the APP and COM marker
+                 * is influenced by APP_len and COM_len
+                 * ONLY, not by this property! */
+    
 #define V4L2_JPEG_MARKER_DHT (1<<3)    /* Define Huffman Tables */
 #define V4L2_JPEG_MARKER_DQT (1<<4)    /* Define Quantization Tables */
 #define V4L2_JPEG_MARKER_DRI (1<<5)    /* Define Restart Interval */
@@ -298,126 +298,126 @@ struct v4l2_jpegcompression
 
 
 /*
- *     M E M O R Y - M A P P I N G   B U F F E R S
+ *    M E M O R Y - M A P P I N G   B U F F E R S
  */
 struct v4l2_requestbuffers
 {
-       __u32                   count;
-       enum v4l2_buf_type      type;
-       enum v4l2_memory        memory;
-       __u32                   reserved[2];
+    __u32                    count;
+    enum v4l2_buf_type      type;
+    enum v4l2_memory        memory;
+    __u32                    reserved[2];
 };
 
 struct v4l2_buffer
 {
-       __u32                   index;
-       enum v4l2_buf_type      type;
-       __u32                   bytesused;
-       __u32                   flags;
-       enum v4l2_field         field;
-       struct timeval          timestamp;
-       struct v4l2_timecode    timecode;
-       __u32                   sequence;
-
-       /* memory location */
-       enum v4l2_memory        memory;
-       union {
-               __u32           offset;
-               unsigned long   userptr;
-       } m;
-       __u32                   length;
-
-       __u32                   reserved[2];
+    __u32            index;
+    enum v4l2_buf_type      type;
+    __u32            bytesused;
+    __u32            flags;
+    enum v4l2_field        field;
+    struct timeval        timestamp;
+    struct v4l2_timecode    timecode;
+    __u32            sequence;
+
+    /* memory location */
+    enum v4l2_memory        memory;
+    union {
+        __u32           offset;
+        unsigned long   userptr;
+    } m;
+    __u32            length;
+
+    __u32            reserved[2];
 };
 
 /*  Flags for 'flags' field */
-#define V4L2_BUF_FLAG_MAPPED   0x0001  /* Buffer is mapped (flag) */
-#define V4L2_BUF_FLAG_QUEUED   0x0002  /* Buffer is queued for processing */
-#define V4L2_BUF_FLAG_DONE     0x0004  /* Buffer is ready */
-#define V4L2_BUF_FLAG_KEYFRAME 0x0008  /* Image is a keyframe (I-frame) */
-#define V4L2_BUF_FLAG_PFRAME   0x0010  /* Image is a P-frame */
-#define V4L2_BUF_FLAG_BFRAME   0x0020  /* Image is a B-frame */
-#define V4L2_BUF_FLAG_TIMECODE 0x0100  /* timecode field is valid */
+#define V4L2_BUF_FLAG_MAPPED    0x0001  /* Buffer is mapped (flag) */
+#define V4L2_BUF_FLAG_QUEUED    0x0002    /* Buffer is queued for processing */
+#define V4L2_BUF_FLAG_DONE    0x0004    /* Buffer is ready */
+#define V4L2_BUF_FLAG_KEYFRAME    0x0008    /* Image is a keyframe (I-frame) */
+#define V4L2_BUF_FLAG_PFRAME    0x0010    /* Image is a P-frame */
+#define V4L2_BUF_FLAG_BFRAME    0x0020    /* Image is a B-frame */
+#define V4L2_BUF_FLAG_TIMECODE    0x0100    /* timecode field is valid */
 
 /*
- *     O V E R L A Y   P R E V I E W
+ *    O V E R L A Y   P R E V I E W
  */
 struct v4l2_framebuffer
 {
-       __u32                   capability;
-       __u32                   flags;
+    __u32            capability;
+    __u32            flags;
 /* FIXME: in theory we should pass something like PCI device + memory
  * region + offset instead of some physical address */
-       void*                   base;
-       struct v4l2_pix_format  fmt;
+    void*                   base;
+    struct v4l2_pix_format    fmt;
 };
 /*  Flags for the 'capability' field. Read only */
-#define V4L2_FBUF_CAP_EXTERNOVERLAY    0x0001
-#define V4L2_FBUF_CAP_CHROMAKEY                0x0002
+#define V4L2_FBUF_CAP_EXTERNOVERLAY    0x0001
+#define V4L2_FBUF_CAP_CHROMAKEY        0x0002
 #define V4L2_FBUF_CAP_LIST_CLIPPING     0x0004
-#define V4L2_FBUF_CAP_BITMAP_CLIPPING  0x0008
+#define V4L2_FBUF_CAP_BITMAP_CLIPPING    0x0008
 /*  Flags for the 'flags' field. */
-#define V4L2_FBUF_FLAG_PRIMARY         0x0001
-#define V4L2_FBUF_FLAG_OVERLAY         0x0002
-#define V4L2_FBUF_FLAG_CHROMAKEY       0x0004
+#define V4L2_FBUF_FLAG_PRIMARY        0x0001
+#define V4L2_FBUF_FLAG_OVERLAY        0x0002
+#define V4L2_FBUF_FLAG_CHROMAKEY    0x0004
 
 struct v4l2_clip
 {
-       struct v4l2_rect        c;
-       struct v4l2_clip        *next;
+    struct v4l2_rect        c;
+    struct v4l2_clip    *next;
 };
 
 struct v4l2_window
 {
-       struct v4l2_rect        w;
-       enum v4l2_field         field;
-       __u32                   chromakey;
-       struct v4l2_clip        *clips;
-       __u32                   clipcount;
-       void                    *bitmap;
+    struct v4l2_rect        w;
+    enum v4l2_field      field;
+    __u32            chromakey;
+    struct v4l2_clip    *clips;
+    __u32            clipcount;
+    void            *bitmap;
 };
 
 
 /*
- *     C A P T U R E   P A R A M E T E R S
+ *    C A P T U R E   P A R A M E T E R S
  */
 struct v4l2_captureparm
 {
-       __u32              capability;    /*  Supported modes */
-       __u32              capturemode;   /*  Current mode */
-       struct v4l2_fract  timeperframe;  /*  Time per frame in .1us units */
-       __u32              extendedmode;  /*  Driver-specific extensions */
-       __u32              readbuffers;   /*  # of buffers for read */
-       __u32              reserved[4];
+    __u32           capability;      /*  Supported modes */
+    __u32           capturemode;      /*  Current mode */
+    struct v4l2_fract  timeperframe;  /*  Time per frame in .1us units */
+    __u32           extendedmode;  /*  Driver-specific extensions */
+    __u32              readbuffers;   /*  # of buffers for read */
+    __u32           reserved[4];
 };
 /*  Flags for 'capability' and 'capturemode' fields */
-#define V4L2_MODE_HIGHQUALITY  0x0001  /*  High quality imaging mode */
-#define V4L2_CAP_TIMEPERFRAME  0x1000  /*  timeperframe field is supported */
+#define V4L2_MODE_HIGHQUALITY    0x0001    /*  High quality imaging mode */
+#define V4L2_CAP_TIMEPERFRAME    0x1000    /*  timeperframe field is supported */
 
 struct v4l2_outputparm
 {
-       __u32              capability;   /*  Supported modes */
-       __u32              outputmode;   /*  Current mode */
-       struct v4l2_fract  timeperframe; /*  Time per frame in seconds */
-       __u32              extendedmode; /*  Driver-specific extensions */
-       __u32              writebuffers; /*  # of buffers for write */
-       __u32              reserved[4];
+    __u32           capability;     /*  Supported modes */
+    __u32           outputmode;     /*  Current mode */
+    struct v4l2_fract  timeperframe; /*  Time per frame in seconds */
+    __u32           extendedmode; /*  Driver-specific extensions */
+    __u32              writebuffers; /*  # of buffers for write */
+    __u32           reserved[4];
 };
 
 /*
- *     I N P U T   I M A G E   C R O P P I N G
+ *    I N P U T   I M A G E   C R O P P I N G
  */
 
 struct v4l2_cropcap {
-       enum v4l2_buf_type      type;   
+    enum v4l2_buf_type      type;    
         struct v4l2_rect        bounds;
         struct v4l2_rect        defrect;
         struct v4l2_fract       pixelaspect;
 };
 
 struct v4l2_crop {
-       enum v4l2_buf_type      type;
-       struct v4l2_rect        c;
+    enum v4l2_buf_type      type;
+    struct v4l2_rect        c;
 };
 
 /*
@@ -457,66 +457,66 @@ typedef __u64 v4l2_std_id;
 #define V4L2_STD_ATSC_16_VSB    ((v4l2_std_id)0x02000000)
 
 /* some common needed stuff */
-#define V4L2_STD_PAL_BG                (V4L2_STD_PAL_B         |\
-                                V4L2_STD_PAL_B1        |\
-                                V4L2_STD_PAL_G)
-#define V4L2_STD_PAL_DK                (V4L2_STD_PAL_D         |\
-                                V4L2_STD_PAL_D1        |\
-                                V4L2_STD_PAL_K)
-#define V4L2_STD_PAL           (V4L2_STD_PAL_BG        |\
-                                V4L2_STD_PAL_DK        |\
-                                V4L2_STD_PAL_H         |\
-                                V4L2_STD_PAL_I)
-#define V4L2_STD_NTSC           (V4L2_STD_NTSC_M       |\
-                                V4L2_STD_NTSC_M_JP)
-#define V4L2_STD_SECAM         (V4L2_STD_SECAM_B       |\
-                                V4L2_STD_SECAM_D       |\
-                                V4L2_STD_SECAM_G       |\
-                                V4L2_STD_SECAM_H       |\
-                                V4L2_STD_SECAM_K       |\
-                                V4L2_STD_SECAM_K1      |\
-                                V4L2_STD_SECAM_L)
-
-#define V4L2_STD_525_60                (V4L2_STD_PAL_M         |\
-                                V4L2_STD_PAL_60        |\
-                                V4L2_STD_NTSC)
-#define V4L2_STD_625_50                (V4L2_STD_PAL           |\
-                                V4L2_STD_PAL_N         |\
-                                V4L2_STD_PAL_Nc        |\
-                                V4L2_STD_SECAM)
+#define V4L2_STD_PAL_BG        (V4L2_STD_PAL_B        |\
+                 V4L2_STD_PAL_B1    |\
+                 V4L2_STD_PAL_G)
+#define V4L2_STD_PAL_DK        (V4L2_STD_PAL_D        |\
+                 V4L2_STD_PAL_D1    |\
+                 V4L2_STD_PAL_K)
+#define V4L2_STD_PAL        (V4L2_STD_PAL_BG    |\
+                 V4L2_STD_PAL_DK    |\
+                 V4L2_STD_PAL_H        |\
+                 V4L2_STD_PAL_I)
+#define V4L2_STD_NTSC           (V4L2_STD_NTSC_M    |\
+                 V4L2_STD_NTSC_M_JP)
+#define V4L2_STD_SECAM        (V4L2_STD_SECAM_B    |\
+                 V4L2_STD_SECAM_D    |\
+                 V4L2_STD_SECAM_G    |\
+                 V4L2_STD_SECAM_H    |\
+                 V4L2_STD_SECAM_K    |\
+                 V4L2_STD_SECAM_K1    |\
+                 V4L2_STD_SECAM_L)
+
+#define V4L2_STD_525_60        (V4L2_STD_PAL_M        |\
+                 V4L2_STD_PAL_60    |\
+                 V4L2_STD_NTSC)
+#define V4L2_STD_625_50        (V4L2_STD_PAL        |\
+                 V4L2_STD_PAL_N        |\
+                 V4L2_STD_PAL_Nc    |\
+                 V4L2_STD_SECAM)
 
 #define V4L2_STD_UNKNOWN        0
-#define V4L2_STD_ALL            (V4L2_STD_525_60       |\
-                                V4L2_STD_625_50)
+#define V4L2_STD_ALL            (V4L2_STD_525_60    |\
+                 V4L2_STD_625_50)
 
 struct v4l2_standard
 {
-       __u32                index;
-       v4l2_std_id          id;
-       __u8                 name[24];
-       struct v4l2_fract    frameperiod; /* Frames, not fields */
-       __u32                framelines;
-       __u32                reserved[4];
+    __u32                    index;
+    v4l2_std_id          id;
+    __u8             name[24];
+    struct v4l2_fract    frameperiod; /* Frames, not fields */
+    __u32             framelines;
+    __u32             reserved[4];
 };
 
 
 /*
- *     V I D E O   I N P U T S
+ *    V I D E O   I N P U T S
  */
 struct v4l2_input
 {
-       __u32        index;             /*  Which input */
-       __u8         name[32];          /*  Label */
-       __u32        type;              /*  Type of input */
-       __u32        audioset;          /*  Associated audios (bitfield) */
-       __u32        tuner;             /*  Associated tuner */
-       v4l2_std_id  std;
-       __u32        status;
-       __u32        reserved[4];
+    __u32         index;        /*  Which input */
+    __u8         name[32];            /*  Label */
+    __u32         type;        /*  Type of input */
+    __u32         audioset;            /*  Associated audios (bitfield) */
+    __u32        tuner;             /*  Associated tuner */
+    v4l2_std_id  std;
+    __u32         status;
+    __u32         reserved[4];
 };
 /*  Values for the 'type' field */
-#define V4L2_INPUT_TYPE_TUNER          1
-#define V4L2_INPUT_TYPE_CAMERA         2
+#define V4L2_INPUT_TYPE_TUNER        1
+#define V4L2_INPUT_TYPE_CAMERA        2
 
 /* field 'status' - general */
 #define V4L2_IN_ST_NO_POWER    0x00000001  /* Attached device is off */
@@ -538,310 +538,310 @@ struct v4l2_input
 #define V4L2_IN_ST_VTR         0x04000000  /* VTR time constant */
 
 /*
- *     V I D E O   O U T P U T S
+ *    V I D E O   O U T P U T S
  */
 struct v4l2_output
 {
-       __u32        index;             /*  Which output */
-       __u8         name[32];          /*  Label */
-       __u32        type;              /*  Type of output */
-       __u32        audioset;          /*  Associated audios (bitfield) */
-       __u32        modulator;         /*  Associated modulator */
-       v4l2_std_id  std;
-       __u32        reserved[4];
+    __u32         index;        /*  Which output */
+    __u8         name[32];            /*  Label */
+    __u32         type;        /*  Type of output */
+    __u32         audioset;            /*  Associated audios (bitfield) */
+    __u32         modulator;         /*  Associated modulator */
+    v4l2_std_id  std;
+    __u32         reserved[4];
 };
 /*  Values for the 'type' field */
-#define V4L2_OUTPUT_TYPE_MODULATOR             1
-#define V4L2_OUTPUT_TYPE_ANALOG                        2
-#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY      3
+#define V4L2_OUTPUT_TYPE_MODULATOR        1
+#define V4L2_OUTPUT_TYPE_ANALOG            2
+#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY    3
 
 /*
- *     C O N T R O L S
+ *    C O N T R O L S
  */
 struct v4l2_control
 {
-       __u32                id;
-       __s32                value;
+    __u32             id;
+    __s32             value;
 };
 
 /*  Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
 struct v4l2_queryctrl
 {
-       __u32                id;
-       enum v4l2_ctrl_type  type;
-       __u8                 name[32];  /* Whatever */
-       __s32                minimum;   /* Note signedness */
-       __s32                maximum;
-       __s32                step;
-       __s32                default_value;
-       __u32                flags;
-       __u32                reserved[2];
+    __u32                 id;
+    enum v4l2_ctrl_type  type;
+    __u8             name[32];    /* Whatever */
+    __s32             minimum;    /* Note signedness */
+    __s32             maximum;
+    __s32                 step;
+    __s32             default_value;
+    __u32                flags;
+    __u32             reserved[2];
 };
 
 /*  Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
 struct v4l2_querymenu
 {
-       __u32           id;
-       __u32           index;
-       __u8            name[32];       /* Whatever */
-       __u32           reserved;
+    __u32        id;
+    __u32        index;
+    __u8        name[32];    /* Whatever */
+    __u32        reserved;
 };
 
 /*  Control flags  */
-#define V4L2_CTRL_FLAG_DISABLED                0x0001
-#define V4L2_CTRL_FLAG_GRABBED         0x0002
+#define V4L2_CTRL_FLAG_DISABLED        0x0001
+#define V4L2_CTRL_FLAG_GRABBED        0x0002
 
 /*  Control IDs defined by V4L2 */
-#define V4L2_CID_BASE                  0x00980900
+#define V4L2_CID_BASE            0x00980900
 /*  IDs reserved for driver specific controls */
-#define V4L2_CID_PRIVATE_BASE          0x08000000
-
-#define V4L2_CID_BRIGHTNESS            (V4L2_CID_BASE+0)
-#define V4L2_CID_CONTRAST              (V4L2_CID_BASE+1)
-#define V4L2_CID_SATURATION            (V4L2_CID_BASE+2)
-#define V4L2_CID_HUE                   (V4L2_CID_BASE+3)
-#define V4L2_CID_AUDIO_VOLUME          (V4L2_CID_BASE+5)
-#define V4L2_CID_AUDIO_BALANCE         (V4L2_CID_BASE+6)
-#define V4L2_CID_AUDIO_BASS            (V4L2_CID_BASE+7)
-#define V4L2_CID_AUDIO_TREBLE          (V4L2_CID_BASE+8)
-#define V4L2_CID_AUDIO_MUTE            (V4L2_CID_BASE+9)
-#define V4L2_CID_AUDIO_LOUDNESS                (V4L2_CID_BASE+10)
-#define V4L2_CID_BLACK_LEVEL           (V4L2_CID_BASE+11)
-#define V4L2_CID_AUTO_WHITE_BALANCE    (V4L2_CID_BASE+12)
-#define V4L2_CID_DO_WHITE_BALANCE      (V4L2_CID_BASE+13)
-#define V4L2_CID_RED_BALANCE           (V4L2_CID_BASE+14)
-#define V4L2_CID_BLUE_BALANCE          (V4L2_CID_BASE+15)
-#define V4L2_CID_GAMMA                 (V4L2_CID_BASE+16)
-#define V4L2_CID_WHITENESS             (V4L2_CID_GAMMA) /* ? Not sure */
-#define V4L2_CID_EXPOSURE              (V4L2_CID_BASE+17)
-#define V4L2_CID_AUTOGAIN              (V4L2_CID_BASE+18)
-#define V4L2_CID_GAIN                  (V4L2_CID_BASE+19)
-#define V4L2_CID_HFLIP                 (V4L2_CID_BASE+20)
-#define V4L2_CID_VFLIP                 (V4L2_CID_BASE+21)
-#define V4L2_CID_HCENTER               (V4L2_CID_BASE+22)
-#define V4L2_CID_VCENTER               (V4L2_CID_BASE+23)
-#define V4L2_CID_LASTP1                        (V4L2_CID_BASE+24) /* last CID + 1 */
+#define V4L2_CID_PRIVATE_BASE        0x08000000
+
+#define V4L2_CID_BRIGHTNESS        (V4L2_CID_BASE+0)
+#define V4L2_CID_CONTRAST        (V4L2_CID_BASE+1)
+#define V4L2_CID_SATURATION        (V4L2_CID_BASE+2)
+#define V4L2_CID_HUE            (V4L2_CID_BASE+3)
+#define V4L2_CID_AUDIO_VOLUME        (V4L2_CID_BASE+5)
+#define V4L2_CID_AUDIO_BALANCE        (V4L2_CID_BASE+6)
+#define V4L2_CID_AUDIO_BASS        (V4L2_CID_BASE+7)
+#define V4L2_CID_AUDIO_TREBLE        (V4L2_CID_BASE+8)
+#define V4L2_CID_AUDIO_MUTE        (V4L2_CID_BASE+9)
+#define V4L2_CID_AUDIO_LOUDNESS        (V4L2_CID_BASE+10)
+#define V4L2_CID_BLACK_LEVEL        (V4L2_CID_BASE+11)
+#define V4L2_CID_AUTO_WHITE_BALANCE    (V4L2_CID_BASE+12)
+#define V4L2_CID_DO_WHITE_BALANCE    (V4L2_CID_BASE+13)
+#define V4L2_CID_RED_BALANCE        (V4L2_CID_BASE+14)
+#define V4L2_CID_BLUE_BALANCE        (V4L2_CID_BASE+15)
+#define V4L2_CID_GAMMA            (V4L2_CID_BASE+16)
+#define V4L2_CID_WHITENESS        (V4L2_CID_GAMMA) /* ? Not sure */
+#define V4L2_CID_EXPOSURE        (V4L2_CID_BASE+17)
+#define V4L2_CID_AUTOGAIN        (V4L2_CID_BASE+18)
+#define V4L2_CID_GAIN            (V4L2_CID_BASE+19)
+#define V4L2_CID_HFLIP            (V4L2_CID_BASE+20)
+#define V4L2_CID_VFLIP            (V4L2_CID_BASE+21)
+#define V4L2_CID_HCENTER        (V4L2_CID_BASE+22)
+#define V4L2_CID_VCENTER        (V4L2_CID_BASE+23)
+#define V4L2_CID_LASTP1            (V4L2_CID_BASE+24) /* last CID + 1 */
 
 /*
- *     T U N I N G
+ *    T U N I N G
  */
 struct v4l2_tuner
 {
-       __u32                   index;
-       __u8                    name[32];
-       enum v4l2_tuner_type    type;
-       __u32                   capability;
-       __u32                   rangelow;
-       __u32                   rangehigh;
-       __u32                   rxsubchans;
-       __u32                   audmode;
-       __s32                   signal;
-       __s32                   afc;
-       __u32                   reserved[4];
+    __u32                   index;
+    __u8            name[32];
+    enum v4l2_tuner_type    type;
+    __u32            capability;
+    __u32            rangelow;
+    __u32            rangehigh;
+    __u32            rxsubchans;
+    __u32            audmode;
+    __s32            signal;
+    __s32            afc;
+    __u32            reserved[4];
 };
 
 struct v4l2_modulator
 {
-       __u32                   index;
-       __u8                    name[32];
-       __u32                   capability;
-       __u32                   rangelow;
-       __u32                   rangehigh;
-       __u32                   txsubchans;
-       __u32                   reserved[4];
+    __u32            index;
+    __u8            name[32];
+    __u32            capability;
+    __u32            rangelow;
+    __u32            rangehigh;
+    __u32            txsubchans;
+    __u32            reserved[4];
 };
 
 /*  Flags for the 'capability' field */
-#define V4L2_TUNER_CAP_LOW             0x0001
-#define V4L2_TUNER_CAP_NORM            0x0002
-#define V4L2_TUNER_CAP_STEREO          0x0010
-#define V4L2_TUNER_CAP_LANG2           0x0020
-#define V4L2_TUNER_CAP_SAP             0x0020
-#define V4L2_TUNER_CAP_LANG1           0x0040
+#define V4L2_TUNER_CAP_LOW        0x0001
+#define V4L2_TUNER_CAP_NORM        0x0002
+#define V4L2_TUNER_CAP_STEREO        0x0010
+#define V4L2_TUNER_CAP_LANG2        0x0020
+#define V4L2_TUNER_CAP_SAP        0x0020
+#define V4L2_TUNER_CAP_LANG1        0x0040
 
 /*  Flags for the 'rxsubchans' field */
-#define V4L2_TUNER_SUB_MONO            0x0001
-#define V4L2_TUNER_SUB_STEREO          0x0002
-#define V4L2_TUNER_SUB_LANG2           0x0004
-#define V4L2_TUNER_SUB_SAP             0x0004
-#define V4L2_TUNER_SUB_LANG1           0x0008
+#define V4L2_TUNER_SUB_MONO        0x0001
+#define V4L2_TUNER_SUB_STEREO        0x0002
+#define V4L2_TUNER_SUB_LANG2        0x0004
+#define V4L2_TUNER_SUB_SAP        0x0004
+#define V4L2_TUNER_SUB_LANG1        0x0008
 
 /*  Values for the 'audmode' field */
-#define V4L2_TUNER_MODE_MONO           0x0000
-#define V4L2_TUNER_MODE_STEREO         0x0001
-#define V4L2_TUNER_MODE_LANG2          0x0002
-#define V4L2_TUNER_MODE_SAP            0x0002
-#define V4L2_TUNER_MODE_LANG1          0x0003
+#define V4L2_TUNER_MODE_MONO        0x0000
+#define V4L2_TUNER_MODE_STEREO        0x0001
+#define V4L2_TUNER_MODE_LANG2        0x0002
+#define V4L2_TUNER_MODE_SAP        0x0002
+#define V4L2_TUNER_MODE_LANG1        0x0003
 
 struct v4l2_frequency
 {
-       __u32                 tuner;
-       enum v4l2_tuner_type  type;
-        __u32                frequency;
-       __u32                 reserved[8];
+    __u32                  tuner;
+    enum v4l2_tuner_type  type;
+        __u32                  frequency;
+    __u32                  reserved[8];
 };
 
 /*
- *     A U D I O
+ *    A U D I O
  */
 struct v4l2_audio
 {
-       __u32   index;
-       __u8    name[32];
-       __u32   capability;
-       __u32   mode;
-       __u32   reserved[2];
+    __u32    index;
+    __u8    name[32];
+    __u32    capability;
+    __u32    mode;
+    __u32    reserved[2];
 };
 /*  Flags for the 'capability' field */
-#define V4L2_AUDCAP_STEREO             0x00001
-#define V4L2_AUDCAP_AVL                        0x00002
+#define V4L2_AUDCAP_STEREO        0x00001
+#define V4L2_AUDCAP_AVL            0x00002
 
 /*  Flags for the 'mode' field */
-#define V4L2_AUDMODE_AVL               0x00001
+#define V4L2_AUDMODE_AVL        0x00001
 
 struct v4l2_audioout
 {
-       __u32   index;
-       __u8    name[32];
-       __u32   capability;
-       __u32   mode;
-       __u32   reserved[2];
+    __u32    index;
+    __u8    name[32];
+    __u32    capability;
+    __u32    mode;
+    __u32    reserved[2];
 };
 
 /*
- *     D A T A   S E R V I C E S   ( V B I )
+ *    D A T A   S E R V I C E S   ( V B I )
  *
- *     Data services API by Michael Schimek
+ *    Data services API by Michael Schimek
  */
 
 struct v4l2_vbi_format
 {
-       __u32   sampling_rate;          /* in 1 Hz */
-       __u32   offset;
-       __u32   samples_per_line;
-       __u32   sample_format;          /* V4L2_PIX_FMT_* */
-       __s32   start[2];
-       __u32   count[2];
-       __u32   flags;                  /* V4L2_VBI_* */
-       __u32   reserved[2];            /* must be zero */
+    __u32    sampling_rate;        /* in 1 Hz */
+    __u32    offset;
+    __u32    samples_per_line;
+    __u32    sample_format;        /* V4L2_PIX_FMT_* */
+    __s32    start[2];
+    __u32    count[2];
+    __u32    flags;            /* V4L2_VBI_* */
+    __u32    reserved[2];        /* must be zero */
 };
 
 /*  VBI flags  */
-#define V4L2_VBI_UNSYNC                (1<< 0)
-#define V4L2_VBI_INTERLACED    (1<< 1)
+#define V4L2_VBI_UNSYNC        (1<< 0)
+#define V4L2_VBI_INTERLACED    (1<< 1)
 
 
 /*
- *     A G G R E G A T E   S T R U C T U R E S
+ *    A G G R E G A T E   S T R U C T U R E S
  */
 
-/*     Stream data format
+/*    Stream data format
  */
 struct v4l2_format
 {
-       enum v4l2_buf_type type;
-       union
-       {
-               struct v4l2_pix_format  pix;  // V4L2_BUF_TYPE_VIDEO_CAPTURE
-               struct v4l2_window      win;  // V4L2_BUF_TYPE_VIDEO_OVERLAY
-               struct v4l2_vbi_format  vbi;  // V4L2_BUF_TYPE_VBI_CAPTURE
-               __u8    raw_data[200];        // user-defined
-       } fmt;
+    enum v4l2_buf_type type;
+    union
+    {
+        struct v4l2_pix_format    pix;  // V4L2_BUF_TYPE_VIDEO_CAPTURE
+        struct v4l2_window    win;  // V4L2_BUF_TYPE_VIDEO_OVERLAY
+        struct v4l2_vbi_format    vbi;  // V4L2_BUF_TYPE_VBI_CAPTURE
+        __u8    raw_data[200];        // user-defined
+    } fmt;
 };
 
 
-/*     Stream type-dependent parameters
+/*    Stream type-dependent parameters
  */
 struct v4l2_streamparm
 {
-       enum v4l2_buf_type type;
-       union
-       {
-               struct v4l2_captureparm capture;
-               struct v4l2_outputparm  output;
-               __u8    raw_data[200];  /* user-defined */
-       } parm;
+    enum v4l2_buf_type type;
+    union
+    {
+        struct v4l2_captureparm    capture;
+        struct v4l2_outputparm    output;
+        __u8    raw_data[200];  /* user-defined */
+    } parm;
 };
 
 
 
 /*
- *     I O C T L   C O D E S   F O R   V I D E O   D E V I C E S
+ *    I O C T L   C O D E S   F O R   V I D E O   D E V I C E S
  *
  */
-#define VIDIOC_QUERYCAP                _IOR  ('V',  0, struct v4l2_capability)
-#define VIDIOC_RESERVED                _IO   ('V',  1)
+#define VIDIOC_QUERYCAP        _IOR  ('V',  0, struct v4l2_capability)
+#define VIDIOC_RESERVED        _IO   ('V',  1)
 #define VIDIOC_ENUM_FMT         _IOWR ('V',  2, struct v4l2_fmtdesc)
-#define VIDIOC_G_FMT           _IOWR ('V',  4, struct v4l2_format)
-#define VIDIOC_S_FMT           _IOWR ('V',  5, struct v4l2_format)
+#define VIDIOC_G_FMT        _IOWR ('V',  4, struct v4l2_format)
+#define VIDIOC_S_FMT        _IOWR ('V',  5, struct v4l2_format)
 #if 0
-#define VIDIOC_G_COMP          _IOR  ('V',  6, struct v4l2_compression)
-#define VIDIOC_S_COMP          _IOW  ('V',  7, struct v4l2_compression)
+#define VIDIOC_G_COMP        _IOR  ('V',  6, struct v4l2_compression)
+#define VIDIOC_S_COMP        _IOW  ('V',  7, struct v4l2_compression)
 #endif
-#define VIDIOC_REQBUFS         _IOWR ('V',  8, struct v4l2_requestbuffers)
-#define VIDIOC_QUERYBUF                _IOWR ('V',  9, struct v4l2_buffer)
-#define VIDIOC_G_FBUF          _IOR  ('V', 10, struct v4l2_framebuffer)
-#define VIDIOC_S_FBUF          _IOW  ('V', 11, struct v4l2_framebuffer)
-#define VIDIOC_OVERLAY         _IOWR ('V', 14, int)
-#define VIDIOC_QBUF            _IOWR ('V', 15, struct v4l2_buffer)
-#define VIDIOC_DQBUF           _IOWR ('V', 17, struct v4l2_buffer)
-#define VIDIOC_STREAMON                _IOW  ('V', 18, int)
-#define VIDIOC_STREAMOFF       _IOW  ('V', 19, int)
-#define VIDIOC_G_PARM          _IOWR ('V', 21, struct v4l2_streamparm)
-#define VIDIOC_S_PARM          _IOW  ('V', 22, struct v4l2_streamparm)
-#define VIDIOC_G_STD           _IOR  ('V', 23, v4l2_std_id)
-#define VIDIOC_S_STD           _IOW  ('V', 24, v4l2_std_id)
-#define VIDIOC_ENUMSTD         _IOWR ('V', 25, struct v4l2_standard)
-#define VIDIOC_ENUMINPUT       _IOWR ('V', 26, struct v4l2_input)
-#define VIDIOC_G_CTRL          _IOWR ('V', 27, struct v4l2_control)
-#define VIDIOC_S_CTRL          _IOW  ('V', 28, struct v4l2_control)
-#define VIDIOC_G_TUNER         _IOWR ('V', 29, struct v4l2_tuner)
-#define VIDIOC_S_TUNER         _IOW  ('V', 30, struct v4l2_tuner)
-#define VIDIOC_G_AUDIO         _IOWR ('V', 33, struct v4l2_audio)
-#define VIDIOC_S_AUDIO         _IOW  ('V', 34, struct v4l2_audio)
-#define VIDIOC_QUERYCTRL       _IOWR ('V', 36, struct v4l2_queryctrl)
-#define VIDIOC_QUERYMENU       _IOWR ('V', 37, struct v4l2_querymenu)
-#define VIDIOC_G_INPUT         _IOR  ('V', 38, int)
-#define VIDIOC_S_INPUT         _IOWR ('V', 39, int)
-#define VIDIOC_G_OUTPUT                _IOR  ('V', 46, int)
-#define VIDIOC_S_OUTPUT                _IOWR ('V', 47, int)
-#define VIDIOC_ENUMOUTPUT      _IOWR ('V', 48, struct v4l2_output)
-#define VIDIOC_G_AUDOUT                _IOWR ('V', 49, struct v4l2_audioout)
-#define VIDIOC_S_AUDOUT                _IOW  ('V', 50, struct v4l2_audioout)
-#define VIDIOC_G_MODULATOR     _IOWR ('V', 54, struct v4l2_modulator)
-#define VIDIOC_S_MODULATOR     _IOW  ('V', 55, struct v4l2_modulator)
-#define VIDIOC_G_FREQUENCY     _IOWR ('V', 56, struct v4l2_frequency)
-#define VIDIOC_S_FREQUENCY     _IOW  ('V', 57, struct v4l2_frequency)
-#define VIDIOC_CROPCAP         _IOR  ('V', 58, struct v4l2_cropcap)
-#define VIDIOC_G_CROP          _IOWR ('V', 59, struct v4l2_crop)
-#define VIDIOC_S_CROP          _IOW  ('V', 60, struct v4l2_crop)
-#define VIDIOC_G_JPEGCOMP      _IOR  ('V', 61, struct v4l2_jpegcompression)
-#define VIDIOC_S_JPEGCOMP      _IOW  ('V', 62, struct v4l2_jpegcompression)
-#define VIDIOC_QUERYSTD        _IOR  ('V', 63, v4l2_std_id)
-#define VIDIOC_TRY_FMT         _IOWR ('V', 64, struct v4l2_format)
-
-#define BASE_VIDIOC_PRIVATE    192             /* 192-255 are private */
+#define VIDIOC_REQBUFS        _IOWR ('V',  8, struct v4l2_requestbuffers)
+#define VIDIOC_QUERYBUF        _IOWR ('V',  9, struct v4l2_buffer)
+#define VIDIOC_G_FBUF        _IOR  ('V', 10, struct v4l2_framebuffer)
+#define VIDIOC_S_FBUF        _IOW  ('V', 11, struct v4l2_framebuffer)
+#define VIDIOC_OVERLAY        _IOWR ('V', 14, int)
+#define VIDIOC_QBUF        _IOWR ('V', 15, struct v4l2_buffer)
+#define VIDIOC_DQBUF        _IOWR ('V', 17, struct v4l2_buffer)
+#define VIDIOC_STREAMON        _IOW  ('V', 18, int)
+#define VIDIOC_STREAMOFF    _IOW  ('V', 19, int)
+#define VIDIOC_G_PARM        _IOWR ('V', 21, struct v4l2_streamparm)
+#define VIDIOC_S_PARM        _IOW  ('V', 22, struct v4l2_streamparm)
+#define VIDIOC_G_STD        _IOR  ('V', 23, v4l2_std_id)
+#define VIDIOC_S_STD        _IOW  ('V', 24, v4l2_std_id)
+#define VIDIOC_ENUMSTD        _IOWR ('V', 25, struct v4l2_standard)
+#define VIDIOC_ENUMINPUT    _IOWR ('V', 26, struct v4l2_input)
+#define VIDIOC_G_CTRL        _IOWR ('V', 27, struct v4l2_control)
+#define VIDIOC_S_CTRL        _IOW  ('V', 28, struct v4l2_control)
+#define VIDIOC_G_TUNER        _IOWR ('V', 29, struct v4l2_tuner)
+#define VIDIOC_S_TUNER        _IOW  ('V', 30, struct v4l2_tuner)
+#define VIDIOC_G_AUDIO        _IOWR ('V', 33, struct v4l2_audio)
+#define VIDIOC_S_AUDIO        _IOW  ('V', 34, struct v4l2_audio)
+#define VIDIOC_QUERYCTRL    _IOWR ('V', 36, struct v4l2_queryctrl)
+#define VIDIOC_QUERYMENU    _IOWR ('V', 37, struct v4l2_querymenu)
+#define VIDIOC_G_INPUT        _IOR  ('V', 38, int)
+#define VIDIOC_S_INPUT        _IOWR ('V', 39, int)
+#define VIDIOC_G_OUTPUT        _IOR  ('V', 46, int)
+#define VIDIOC_S_OUTPUT        _IOWR ('V', 47, int)
+#define VIDIOC_ENUMOUTPUT    _IOWR ('V', 48, struct v4l2_output)
+#define VIDIOC_G_AUDOUT        _IOWR ('V', 49, struct v4l2_audioout)
+#define VIDIOC_S_AUDOUT        _IOW  ('V', 50, struct v4l2_audioout)
+#define VIDIOC_G_MODULATOR    _IOWR ('V', 54, struct v4l2_modulator)
+#define VIDIOC_S_MODULATOR    _IOW  ('V', 55, struct v4l2_modulator)
+#define VIDIOC_G_FREQUENCY    _IOWR ('V', 56, struct v4l2_frequency)
+#define VIDIOC_S_FREQUENCY    _IOW  ('V', 57, struct v4l2_frequency)
+#define VIDIOC_CROPCAP        _IOR  ('V', 58, struct v4l2_cropcap)
+#define VIDIOC_G_CROP        _IOWR ('V', 59, struct v4l2_crop)
+#define VIDIOC_S_CROP        _IOW  ('V', 60, struct v4l2_crop)
+#define VIDIOC_G_JPEGCOMP    _IOR  ('V', 61, struct v4l2_jpegcompression)
+#define VIDIOC_S_JPEGCOMP    _IOW  ('V', 62, struct v4l2_jpegcompression)
+#define VIDIOC_QUERYSTD          _IOR  ('V', 63, v4l2_std_id)
+#define VIDIOC_TRY_FMT          _IOWR ('V', 64, struct v4l2_format)
+
+#define BASE_VIDIOC_PRIVATE    192        /* 192-255 are private */
 
 
 #ifdef __KERNEL__
 /*
  *
- *     V 4 L 2   D R I V E R   H E L P E R   A P I
+ *    V 4 L 2   D R I V E R   H E L P E R   A P I
  *
- *     Some commonly needed functions for drivers (v4l2-common.o module)
+ *    Some commonly needed functions for drivers (v4l2-common.o module)
  */
 #include <linux/fs.h>
 
 /*  Video standard functions  */
 extern unsigned int v4l2_video_std_fps(struct v4l2_standard *vs);
 extern int v4l2_video_std_construct(struct v4l2_standard *vs,
-                                   int id, char *name);
+                    int id, char *name);
 
 /*  Compatibility layer interface  */
 typedef int (*v4l2_kioctl)(struct inode *inode, struct file *file,
-                          unsigned int cmd, void *arg);
+               unsigned int cmd, void *arg);
 int v4l_compat_translate_ioctl(struct inode *inode, struct file *file,
-                              int cmd, void *arg, v4l2_kioctl driver_ioctl);
+                   int cmd, void *arg, v4l2_kioctl driver_ioctl);
 
 /* names for fancy debug output */
 extern char *v4l2_field_names[];