diff options
Diffstat (limited to 'include/linux/videodev2.h')
| -rw-r--r-- | include/linux/videodev2.h | 207 |
1 files changed, 147 insertions, 60 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 89a055761bed..a114fff6568b 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
| @@ -15,16 +15,99 @@ | |||
| 15 | */ | 15 | */ |
| 16 | #ifdef __KERNEL__ | 16 | #ifdef __KERNEL__ |
| 17 | #include <linux/time.h> /* need struct timeval */ | 17 | #include <linux/time.h> /* need struct timeval */ |
| 18 | #include <linux/poll.h> | ||
| 19 | #include <linux/device.h> | ||
| 18 | #endif | 20 | #endif |
| 19 | #include <linux/compiler.h> /* need __user */ | 21 | #include <linux/compiler.h> /* need __user */ |
| 20 | 22 | ||
| 23 | |||
| 24 | #define OBSOLETE_OWNER 1 /* It will be removed for 2.6.15 */ | ||
| 25 | #define HAVE_V4L2 1 | ||
| 26 | |||
| 27 | /* | ||
| 28 | * Common stuff for both V4L1 and V4L2 | ||
| 29 | * Moved from videodev.h | ||
| 30 | */ | ||
| 31 | |||
| 32 | #define VIDEO_MAX_FRAME 32 | ||
| 33 | |||
| 34 | #define VID_TYPE_CAPTURE 1 /* Can capture */ | ||
| 35 | #define VID_TYPE_TUNER 2 /* Can tune */ | ||
| 36 | #define VID_TYPE_TELETEXT 4 /* Does teletext */ | ||
| 37 | #define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */ | ||
| 38 | #define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */ | ||
| 39 | #define VID_TYPE_CLIPPING 32 /* Can clip */ | ||
| 40 | #define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */ | ||
| 41 | #define VID_TYPE_SCALES 128 /* Scalable */ | ||
| 42 | #define VID_TYPE_MONOCHROME 256 /* Monochrome only */ | ||
| 43 | #define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */ | ||
| 44 | #define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */ | ||
| 45 | #define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */ | ||
| 46 | #define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */ | ||
| 47 | #define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */ | ||
| 48 | |||
| 49 | #ifdef __KERNEL__ | ||
| 50 | |||
| 51 | #define VFL_TYPE_GRABBER 0 | ||
| 52 | #define VFL_TYPE_VBI 1 | ||
| 53 | #define VFL_TYPE_RADIO 2 | ||
| 54 | #define VFL_TYPE_VTX 3 | ||
| 55 | |||
| 56 | struct video_device | ||
| 57 | { | ||
| 58 | /* device info */ | ||
| 59 | struct device *dev; | ||
| 60 | char name[32]; | ||
| 61 | int type; /* v4l1 */ | ||
| 62 | int type2; /* v4l2 */ | ||
| 63 | int hardware; | ||
| 64 | int minor; | ||
| 65 | |||
| 66 | /* device ops + callbacks */ | ||
| 67 | struct file_operations *fops; | ||
| 68 | void (*release)(struct video_device *vfd); | ||
| 69 | |||
| 70 | |||
| 71 | #if OBSOLETE_OWNER /* to be removed in 2.6.15 */ | ||
| 72 | /* obsolete -- fops->owner is used instead */ | ||
| 73 | struct module *owner; | ||
| 74 | /* dev->driver_data will be used instead some day. | ||
| 75 | * Use the video_{get|set}_drvdata() helper functions, | ||
| 76 | * so the switch over will be transparent for you. | ||
| 77 | * Or use {pci|usb}_{get|set}_drvdata() directly. */ | ||
| 78 | void *priv; | ||
| 79 | #endif | ||
| 80 | |||
| 81 | /* for videodev.c intenal usage -- please don't touch */ | ||
| 82 | int users; /* video_exclusive_{open|close} ... */ | ||
| 83 | struct semaphore lock; /* ... helper function uses these */ | ||
| 84 | char devfs_name[64]; /* devfs */ | ||
| 85 | struct class_device class_dev; /* sysfs */ | ||
| 86 | }; | ||
| 87 | |||
| 88 | #define VIDEO_MAJOR 81 | ||
| 89 | |||
| 90 | extern int video_register_device(struct video_device *, int type, int nr); | ||
| 91 | extern void video_unregister_device(struct video_device *); | ||
| 92 | extern int video_usercopy(struct inode *inode, struct file *file, | ||
| 93 | unsigned int cmd, unsigned long arg, | ||
| 94 | int (*func)(struct inode *inode, struct file *file, | ||
| 95 | unsigned int cmd, void *arg)); | ||
| 96 | |||
| 97 | /* helper functions to alloc / release struct video_device, the | ||
| 98 | later can be used for video_device->release() */ | ||
| 99 | struct video_device *video_device_alloc(void); | ||
| 100 | void video_device_release(struct video_device *vfd); | ||
| 101 | |||
| 102 | #endif | ||
| 103 | |||
| 21 | /* | 104 | /* |
| 22 | * M I S C E L L A N E O U S | 105 | * M I S C E L L A N E O U S |
| 23 | */ | 106 | */ |
| 24 | 107 | ||
| 25 | /* Four-character-code (FOURCC) */ | 108 | /* Four-character-code (FOURCC) */ |
| 26 | #define v4l2_fourcc(a,b,c,d)\ | 109 | #define v4l2_fourcc(a,b,c,d)\ |
| 27 | (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24)) | 110 | (((__u32)(a)<<0)|((__u32)(b)<<8)|((__u32)(c)<<16)|((__u32)(d)<<24)) |
| 28 | 111 | ||
| 29 | /* | 112 | /* |
| 30 | * E N U M S | 113 | * E N U M S |
| @@ -154,20 +237,20 @@ struct v4l2_capability | |||
| 154 | }; | 237 | }; |
| 155 | 238 | ||
| 156 | /* Values for 'capabilities' field */ | 239 | /* Values for 'capabilities' field */ |
| 157 | #define V4L2_CAP_VIDEO_CAPTURE 0x00000001 /* Is a video capture device */ | 240 | #define V4L2_CAP_VIDEO_CAPTURE 0x00000001 /* Is a video capture device */ |
| 158 | #define V4L2_CAP_VIDEO_OUTPUT 0x00000002 /* Is a video output device */ | 241 | #define V4L2_CAP_VIDEO_OUTPUT 0x00000002 /* Is a video output device */ |
| 159 | #define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ | 242 | #define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ |
| 160 | #define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ | 243 | #define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ |
| 161 | #define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ | 244 | #define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ |
| 162 | #if 1 | 245 | #if 1 |
| 163 | #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ | 246 | #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ |
| 164 | #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ | 247 | #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ |
| 165 | #endif | 248 | #endif |
| 166 | #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ | 249 | #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ |
| 167 | 250 | ||
| 168 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ | 251 | #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ |
| 169 | #define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ | 252 | #define V4L2_CAP_AUDIO 0x00020000 /* has audio support */ |
| 170 | #define V4L2_CAP_RADIO 0x00040000 /* is a radio device */ | 253 | #define V4L2_CAP_RADIO 0x00040000 /* is a radio device */ |
| 171 | 254 | ||
| 172 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ | 255 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ |
| 173 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ | 256 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ |
| @@ -179,13 +262,13 @@ struct v4l2_capability | |||
| 179 | 262 | ||
| 180 | struct v4l2_pix_format | 263 | struct v4l2_pix_format |
| 181 | { | 264 | { |
| 182 | __u32 width; | 265 | __u32 width; |
| 183 | __u32 height; | 266 | __u32 height; |
| 184 | __u32 pixelformat; | 267 | __u32 pixelformat; |
| 185 | enum v4l2_field field; | 268 | enum v4l2_field field; |
| 186 | __u32 bytesperline; /* for padding, zero if unused */ | 269 | __u32 bytesperline; /* for padding, zero if unused */ |
| 187 | __u32 sizeimage; | 270 | __u32 sizeimage; |
| 188 | enum v4l2_colorspace colorspace; | 271 | enum v4l2_colorspace colorspace; |
| 189 | __u32 priv; /* private data, depends on pixelformat */ | 272 | __u32 priv; /* private data, depends on pixelformat */ |
| 190 | }; | 273 | }; |
| 191 | 274 | ||
| @@ -238,12 +321,12 @@ struct v4l2_pix_format | |||
| 238 | */ | 321 | */ |
| 239 | struct v4l2_fmtdesc | 322 | struct v4l2_fmtdesc |
| 240 | { | 323 | { |
| 241 | __u32 index; /* Format number */ | 324 | __u32 index; /* Format number */ |
| 242 | enum v4l2_buf_type type; /* buffer type */ | 325 | enum v4l2_buf_type type; /* buffer type */ |
| 243 | __u32 flags; | 326 | __u32 flags; |
| 244 | __u8 description[32]; /* Description string */ | 327 | __u8 description[32]; /* Description string */ |
| 245 | __u32 pixelformat; /* Format fourcc */ | 328 | __u32 pixelformat; /* Format fourcc */ |
| 246 | __u32 reserved[4]; | 329 | __u32 reserved[4]; |
| 247 | }; | 330 | }; |
| 248 | 331 | ||
| 249 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 | 332 | #define V4L2_FMT_FLAG_COMPRESSED 0x0001 |
| @@ -393,7 +476,7 @@ struct v4l2_jpegcompression | |||
| 393 | #define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ | 476 | #define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */ |
| 394 | #define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ | 477 | #define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */ |
| 395 | #define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will | 478 | #define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will |
| 396 | * allways use APP0 */ | 479 | * allways use APP0 */ |
| 397 | }; | 480 | }; |
| 398 | 481 | ||
| 399 | 482 | ||
| @@ -402,10 +485,10 @@ struct v4l2_jpegcompression | |||
| 402 | */ | 485 | */ |
| 403 | struct v4l2_requestbuffers | 486 | struct v4l2_requestbuffers |
| 404 | { | 487 | { |
| 405 | __u32 count; | 488 | __u32 count; |
| 406 | enum v4l2_buf_type type; | 489 | enum v4l2_buf_type type; |
| 407 | enum v4l2_memory memory; | 490 | enum v4l2_memory memory; |
| 408 | __u32 reserved[2]; | 491 | __u32 reserved[2]; |
| 409 | }; | 492 | }; |
| 410 | 493 | ||
| 411 | struct v4l2_buffer | 494 | struct v4l2_buffer |
| @@ -511,9 +594,9 @@ struct v4l2_outputparm | |||
| 511 | 594 | ||
| 512 | struct v4l2_cropcap { | 595 | struct v4l2_cropcap { |
| 513 | enum v4l2_buf_type type; | 596 | enum v4l2_buf_type type; |
| 514 | struct v4l2_rect bounds; | 597 | struct v4l2_rect bounds; |
| 515 | struct v4l2_rect defrect; | 598 | struct v4l2_rect defrect; |
| 516 | struct v4l2_fract pixelaspect; | 599 | struct v4l2_fract pixelaspect; |
| 517 | }; | 600 | }; |
| 518 | 601 | ||
| 519 | struct v4l2_crop { | 602 | struct v4l2_crop { |
| @@ -544,6 +627,7 @@ typedef __u64 v4l2_std_id; | |||
| 544 | 627 | ||
| 545 | #define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000) | 628 | #define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000) |
| 546 | #define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) | 629 | #define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) |
| 630 | #define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000) | ||
| 547 | 631 | ||
| 548 | #define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000) | 632 | #define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000) |
| 549 | #define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000) | 633 | #define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000) |
| @@ -581,13 +665,14 @@ typedef __u64 v4l2_std_id; | |||
| 581 | 665 | ||
| 582 | #define V4L2_STD_525_60 (V4L2_STD_PAL_M |\ | 666 | #define V4L2_STD_525_60 (V4L2_STD_PAL_M |\ |
| 583 | V4L2_STD_PAL_60 |\ | 667 | V4L2_STD_PAL_60 |\ |
| 584 | V4L2_STD_NTSC) | 668 | V4L2_STD_NTSC |\ |
| 669 | V4L2_STD_NTSC_443) | ||
| 585 | #define V4L2_STD_625_50 (V4L2_STD_PAL |\ | 670 | #define V4L2_STD_625_50 (V4L2_STD_PAL |\ |
| 586 | V4L2_STD_PAL_N |\ | 671 | V4L2_STD_PAL_N |\ |
| 587 | V4L2_STD_PAL_Nc |\ | 672 | V4L2_STD_PAL_Nc |\ |
| 588 | V4L2_STD_SECAM) | 673 | V4L2_STD_SECAM) |
| 589 | #define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\ | 674 | #define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\ |
| 590 | V4L2_STD_ATSC_16_VSB) | 675 | V4L2_STD_ATSC_16_VSB) |
| 591 | 676 | ||
| 592 | #define V4L2_STD_UNKNOWN 0 | 677 | #define V4L2_STD_UNKNOWN 0 |
| 593 | #define V4L2_STD_ALL (V4L2_STD_525_60 |\ | 678 | #define V4L2_STD_ALL (V4L2_STD_525_60 |\ |
| @@ -595,7 +680,7 @@ typedef __u64 v4l2_std_id; | |||
| 595 | 680 | ||
| 596 | struct v4l2_standard | 681 | struct v4l2_standard |
| 597 | { | 682 | { |
| 598 | __u32 index; | 683 | __u32 index; |
| 599 | v4l2_std_id id; | 684 | v4l2_std_id id; |
| 600 | __u8 name[24]; | 685 | __u8 name[24]; |
| 601 | struct v4l2_fract frameperiod; /* Frames, not fields */ | 686 | struct v4l2_fract frameperiod; /* Frames, not fields */ |
| @@ -610,9 +695,9 @@ struct v4l2_standard | |||
| 610 | struct v4l2_input | 695 | struct v4l2_input |
| 611 | { | 696 | { |
| 612 | __u32 index; /* Which input */ | 697 | __u32 index; /* Which input */ |
| 613 | __u8 name[32]; /* Label */ | 698 | __u8 name[32]; /* Label */ |
| 614 | __u32 type; /* Type of input */ | 699 | __u32 type; /* Type of input */ |
| 615 | __u32 audioset; /* Associated audios (bitfield) */ | 700 | __u32 audioset; /* Associated audios (bitfield) */ |
| 616 | __u32 tuner; /* Associated tuner */ | 701 | __u32 tuner; /* Associated tuner */ |
| 617 | v4l2_std_id std; | 702 | v4l2_std_id std; |
| 618 | __u32 status; | 703 | __u32 status; |
| @@ -647,9 +732,9 @@ struct v4l2_input | |||
| 647 | struct v4l2_output | 732 | struct v4l2_output |
| 648 | { | 733 | { |
| 649 | __u32 index; /* Which output */ | 734 | __u32 index; /* Which output */ |
| 650 | __u8 name[32]; /* Label */ | 735 | __u8 name[32]; /* Label */ |
| 651 | __u32 type; /* Type of output */ | 736 | __u32 type; /* Type of output */ |
| 652 | __u32 audioset; /* Associated audios (bitfield) */ | 737 | __u32 audioset; /* Associated audios (bitfield) */ |
| 653 | __u32 modulator; /* Associated modulator */ | 738 | __u32 modulator; /* Associated modulator */ |
| 654 | v4l2_std_id std; | 739 | v4l2_std_id std; |
| 655 | __u32 reserved[4]; | 740 | __u32 reserved[4]; |
| @@ -671,12 +756,12 @@ struct v4l2_control | |||
| 671 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ | 756 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
| 672 | struct v4l2_queryctrl | 757 | struct v4l2_queryctrl |
| 673 | { | 758 | { |
| 674 | __u32 id; | 759 | __u32 id; |
| 675 | enum v4l2_ctrl_type type; | 760 | enum v4l2_ctrl_type type; |
| 676 | __u8 name[32]; /* Whatever */ | 761 | __u8 name[32]; /* Whatever */ |
| 677 | __s32 minimum; /* Note signedness */ | 762 | __s32 minimum; /* Note signedness */ |
| 678 | __s32 maximum; | 763 | __s32 maximum; |
| 679 | __s32 step; | 764 | __s32 step; |
| 680 | __s32 default_value; | 765 | __s32 default_value; |
| 681 | __u32 flags; | 766 | __u32 flags; |
| 682 | __u32 reserved[2]; | 767 | __u32 reserved[2]; |
| @@ -779,10 +864,10 @@ struct v4l2_modulator | |||
| 779 | 864 | ||
| 780 | struct v4l2_frequency | 865 | struct v4l2_frequency |
| 781 | { | 866 | { |
| 782 | __u32 tuner; | 867 | __u32 tuner; |
| 783 | enum v4l2_tuner_type type; | 868 | enum v4l2_tuner_type type; |
| 784 | __u32 frequency; | 869 | __u32 frequency; |
| 785 | __u32 reserved[8]; | 870 | __u32 reserved[8]; |
| 786 | }; | 871 | }; |
| 787 | 872 | ||
| 788 | /* | 873 | /* |
| @@ -802,6 +887,7 @@ struct v4l2_audio | |||
| 802 | 887 | ||
| 803 | /* Flags for the 'mode' field */ | 888 | /* Flags for the 'mode' field */ |
| 804 | #define V4L2_AUDMODE_AVL 0x00001 | 889 | #define V4L2_AUDMODE_AVL 0x00001 |
| 890 | #define V4L2_AUDMODE_32BITS 0x00002 | ||
| 805 | 891 | ||
| 806 | struct v4l2_audioout | 892 | struct v4l2_audioout |
| 807 | { | 893 | { |
| @@ -846,14 +932,14 @@ struct v4l2_vbi_format | |||
| 846 | 932 | ||
| 847 | struct v4l2_sliced_vbi_format | 933 | struct v4l2_sliced_vbi_format |
| 848 | { | 934 | { |
| 849 | __u16 service_set; | 935 | __u16 service_set; |
| 850 | /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field | 936 | /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field |
| 851 | service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field | 937 | service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field |
| 852 | (equals frame lines 313-336 for 625 line video | 938 | (equals frame lines 313-336 for 625 line video |
| 853 | standards, 263-286 for 525 line standards) */ | 939 | standards, 263-286 for 525 line standards) */ |
| 854 | __u16 service_lines[2][24]; | 940 | __u16 service_lines[2][24]; |
| 855 | __u32 io_size; | 941 | __u32 io_size; |
| 856 | __u32 reserved[2]; /* must be zero */ | 942 | __u32 reserved[2]; /* must be zero */ |
| 857 | }; | 943 | }; |
| 858 | 944 | ||
| 859 | #define V4L2_SLICED_TELETEXT_B (0x0001) | 945 | #define V4L2_SLICED_TELETEXT_B (0x0001) |
| @@ -866,22 +952,22 @@ struct v4l2_sliced_vbi_format | |||
| 866 | 952 | ||
| 867 | struct v4l2_sliced_vbi_cap | 953 | struct v4l2_sliced_vbi_cap |
| 868 | { | 954 | { |
| 869 | __u16 service_set; | 955 | __u16 service_set; |
| 870 | /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field | 956 | /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field |
| 871 | service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field | 957 | service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field |
| 872 | (equals frame lines 313-336 for 625 line video | 958 | (equals frame lines 313-336 for 625 line video |
| 873 | standards, 263-286 for 525 line standards) */ | 959 | standards, 263-286 for 525 line standards) */ |
| 874 | __u16 service_lines[2][24]; | 960 | __u16 service_lines[2][24]; |
| 875 | __u32 reserved[4]; /* must be 0 */ | 961 | __u32 reserved[4]; /* must be 0 */ |
| 876 | }; | 962 | }; |
| 877 | 963 | ||
| 878 | struct v4l2_sliced_vbi_data | 964 | struct v4l2_sliced_vbi_data |
| 879 | { | 965 | { |
| 880 | __u32 id; | 966 | __u32 id; |
| 881 | __u32 field; /* 0: first field, 1: second field */ | 967 | __u32 field; /* 0: first field, 1: second field */ |
| 882 | __u32 line; /* 1-23 */ | 968 | __u32 line; /* 1-23 */ |
| 883 | __u32 reserved; /* must be 0 */ | 969 | __u32 reserved; /* must be 0 */ |
| 884 | __u8 data[48]; | 970 | __u8 data[48]; |
| 885 | }; | 971 | }; |
| 886 | #endif | 972 | #endif |
| 887 | 973 | ||
| @@ -896,9 +982,9 @@ struct v4l2_format | |||
| 896 | enum v4l2_buf_type type; | 982 | enum v4l2_buf_type type; |
| 897 | union | 983 | union |
| 898 | { | 984 | { |
| 899 | struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE | 985 | struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE |
| 900 | struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY | 986 | struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY |
| 901 | struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE | 987 | struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE |
| 902 | #if 1 | 988 | #if 1 |
| 903 | struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE | 989 | struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE |
| 904 | #endif | 990 | #endif |
| @@ -981,6 +1067,7 @@ struct v4l2_streamparm | |||
| 981 | #if 1 | 1067 | #if 1 |
| 982 | #define VIDIOC_G_SLICED_VBI_CAP _IOR ('V', 69, struct v4l2_sliced_vbi_cap) | 1068 | #define VIDIOC_G_SLICED_VBI_CAP _IOR ('V', 69, struct v4l2_sliced_vbi_cap) |
| 983 | #endif | 1069 | #endif |
| 1070 | #define VIDIOC_LOG_STATUS _IO ('V', 70) | ||
| 984 | 1071 | ||
| 985 | /* for compatibility, will go away some day */ | 1072 | /* for compatibility, will go away some day */ |
| 986 | #define VIDIOC_OVERLAY_OLD _IOWR ('V', 14, int) | 1073 | #define VIDIOC_OVERLAY_OLD _IOWR ('V', 14, int) |
