.. | .. |
---|
26 | 26 | * :ref:`VIDIOC_QUERYCAP <vidioc_querycap>` ioctl |
---|
27 | 27 | * @vidioc_enum_fmt_vid_cap: pointer to the function that implements |
---|
28 | 28 | * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
29 | | - * for video capture in single plane mode |
---|
| 29 | + * for video capture in single and multi plane mode |
---|
30 | 30 | * @vidioc_enum_fmt_vid_overlay: pointer to the function that implements |
---|
31 | 31 | * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
32 | 32 | * for video overlay |
---|
33 | 33 | * @vidioc_enum_fmt_vid_out: pointer to the function that implements |
---|
34 | 34 | * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
35 | | - * for video output in single plane mode |
---|
36 | | - * @vidioc_enum_fmt_vid_cap_mplane: pointer to the function that implements |
---|
37 | | - * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
38 | | - * for video capture in multiplane mode |
---|
39 | | - * @vidioc_enum_fmt_vid_out_mplane: pointer to the function that implements |
---|
40 | | - * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
41 | | - * for video output in multiplane mode |
---|
| 35 | + * for video output in single and multi plane mode |
---|
42 | 36 | * @vidioc_enum_fmt_sdr_cap: pointer to the function that implements |
---|
43 | 37 | * :ref:`VIDIOC_ENUM_FMT <vidioc_enum_fmt>` ioctl logic |
---|
44 | 38 | * for Software Defined Radio capture |
---|
.. | .. |
---|
229 | 223 | * :ref:`VIDIOC_G_MODULATOR <vidioc_g_modulator>` ioctl |
---|
230 | 224 | * @vidioc_s_modulator: pointer to the function that implements |
---|
231 | 225 | * :ref:`VIDIOC_S_MODULATOR <vidioc_g_modulator>` ioctl |
---|
232 | | - * @vidioc_cropcap: pointer to the function that implements |
---|
233 | | - * :ref:`VIDIOC_CROPCAP <vidioc_cropcap>` ioctl |
---|
234 | | - * @vidioc_g_crop: pointer to the function that implements |
---|
235 | | - * :ref:`VIDIOC_G_CROP <vidioc_g_crop>` ioctl |
---|
236 | | - * @vidioc_s_crop: pointer to the function that implements |
---|
237 | | - * :ref:`VIDIOC_S_CROP <vidioc_g_crop>` ioctl |
---|
| 226 | + * @vidioc_g_pixelaspect: pointer to the function that implements |
---|
| 227 | + * the pixelaspect part of the :ref:`VIDIOC_CROPCAP <vidioc_cropcap>` ioctl |
---|
238 | 228 | * @vidioc_g_selection: pointer to the function that implements |
---|
239 | 229 | * :ref:`VIDIOC_G_SELECTION <vidioc_g_selection>` ioctl |
---|
240 | 230 | * @vidioc_s_selection: pointer to the function that implements |
---|
.. | .. |
---|
317 | 307 | struct v4l2_fmtdesc *f); |
---|
318 | 308 | int (*vidioc_enum_fmt_vid_out)(struct file *file, void *fh, |
---|
319 | 309 | struct v4l2_fmtdesc *f); |
---|
320 | | - int (*vidioc_enum_fmt_vid_cap_mplane)(struct file *file, void *fh, |
---|
321 | | - struct v4l2_fmtdesc *f); |
---|
322 | | - int (*vidioc_enum_fmt_vid_out_mplane)(struct file *file, void *fh, |
---|
323 | | - struct v4l2_fmtdesc *f); |
---|
324 | 310 | int (*vidioc_enum_fmt_sdr_cap)(struct file *file, void *fh, |
---|
325 | 311 | struct v4l2_fmtdesc *f); |
---|
326 | 312 | int (*vidioc_enum_fmt_sdr_out)(struct file *file, void *fh, |
---|
.. | .. |
---|
508 | 494 | int (*vidioc_s_modulator)(struct file *file, void *fh, |
---|
509 | 495 | const struct v4l2_modulator *a); |
---|
510 | 496 | /* Crop ioctls */ |
---|
511 | | - int (*vidioc_cropcap)(struct file *file, void *fh, |
---|
512 | | - struct v4l2_cropcap *a); |
---|
513 | | - int (*vidioc_g_crop)(struct file *file, void *fh, |
---|
514 | | - struct v4l2_crop *a); |
---|
515 | | - int (*vidioc_s_crop)(struct file *file, void *fh, |
---|
516 | | - const struct v4l2_crop *a); |
---|
| 497 | + int (*vidioc_g_pixelaspect)(struct file *file, void *fh, |
---|
| 498 | + int buf_type, struct v4l2_fract *aspect); |
---|
517 | 499 | int (*vidioc_g_selection)(struct file *file, void *fh, |
---|
518 | 500 | struct v4l2_selection *s); |
---|
519 | 501 | int (*vidioc_s_selection)(struct file *file, void *fh, |
---|
.. | .. |
---|
620 | 602 | #define V4L2_DEV_DEBUG_STREAMING 0x08 |
---|
621 | 603 | /* Log poll() */ |
---|
622 | 604 | #define V4L2_DEV_DEBUG_POLL 0x10 |
---|
| 605 | +/* Log controls */ |
---|
| 606 | +#define V4L2_DEV_DEBUG_CTRL 0x20 |
---|
623 | 607 | |
---|
624 | 608 | /* Video standard functions */ |
---|
625 | 609 | |
---|
.. | .. |
---|
740 | 724 | long int video_ioctl2(struct file *file, |
---|
741 | 725 | unsigned int cmd, unsigned long int arg); |
---|
742 | 726 | |
---|
| 727 | +/* |
---|
| 728 | + * The user space interpretation of the 'v4l2_event' differs |
---|
| 729 | + * based on the 'time_t' definition on 32-bit architectures, so |
---|
| 730 | + * the kernel has to handle both. |
---|
| 731 | + * This is the old version for 32-bit architectures. |
---|
| 732 | + */ |
---|
| 733 | +struct v4l2_event_time32 { |
---|
| 734 | + __u32 type; |
---|
| 735 | + union { |
---|
| 736 | + struct v4l2_event_vsync vsync; |
---|
| 737 | + struct v4l2_event_ctrl ctrl; |
---|
| 738 | + struct v4l2_event_frame_sync frame_sync; |
---|
| 739 | + struct v4l2_event_src_change src_change; |
---|
| 740 | + struct v4l2_event_motion_det motion_det; |
---|
| 741 | + __u8 data[64]; |
---|
| 742 | + } u; |
---|
| 743 | + __u32 pending; |
---|
| 744 | + __u32 sequence; |
---|
| 745 | + struct old_timespec32 timestamp; |
---|
| 746 | + __u32 id; |
---|
| 747 | + __u32 reserved[8]; |
---|
| 748 | +}; |
---|
| 749 | + |
---|
| 750 | +#define VIDIOC_DQEVENT_TIME32 _IOR('V', 89, struct v4l2_event_time32) |
---|
| 751 | + |
---|
| 752 | +struct v4l2_buffer_time32 { |
---|
| 753 | + __u32 index; |
---|
| 754 | + __u32 type; |
---|
| 755 | + __u32 bytesused; |
---|
| 756 | + __u32 flags; |
---|
| 757 | + __u32 field; |
---|
| 758 | + struct old_timeval32 timestamp; |
---|
| 759 | + struct v4l2_timecode timecode; |
---|
| 760 | + __u32 sequence; |
---|
| 761 | + |
---|
| 762 | + /* memory location */ |
---|
| 763 | + __u32 memory; |
---|
| 764 | + union { |
---|
| 765 | + __u32 offset; |
---|
| 766 | + unsigned long userptr; |
---|
| 767 | + struct v4l2_plane *planes; |
---|
| 768 | + __s32 fd; |
---|
| 769 | + } m; |
---|
| 770 | + __u32 length; |
---|
| 771 | + __u32 reserved2; |
---|
| 772 | + union { |
---|
| 773 | + __s32 request_fd; |
---|
| 774 | + __u32 reserved; |
---|
| 775 | + }; |
---|
| 776 | +}; |
---|
| 777 | +#define VIDIOC_QUERYBUF_TIME32 _IOWR('V', 9, struct v4l2_buffer_time32) |
---|
| 778 | +#define VIDIOC_QBUF_TIME32 _IOWR('V', 15, struct v4l2_buffer_time32) |
---|
| 779 | +#define VIDIOC_DQBUF_TIME32 _IOWR('V', 17, struct v4l2_buffer_time32) |
---|
| 780 | +#define VIDIOC_PREPARE_BUF_TIME32 _IOWR('V', 93, struct v4l2_buffer_time32) |
---|
| 781 | + |
---|
743 | 782 | #endif /* _V4L2_IOCTL_H */ |
---|