| @@ -599,6 +599,8 @@ struct v4l2_pix_format { · 598 unmodified lines |
| 599 | #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */ | 599 | #define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */ |
| 600 | #define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */ | 600 | #define V4L2_PIX_FMT_Y10P v4l2_fourcc('Y', '1', '0', 'P') /* 10 Greyscale, MIPI RAW10 packed */ |
| 601 | #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */ | 601 | #define V4L2_PIX_FMT_IPU3_Y10 v4l2_fourcc('i', 'p', '3', 'y') /* IPU3 packed 10-bit greyscale */ |
| | 602 | #define V4L2_PIX_FMT_Y12P v4l2_fourcc('Y', '1', '2', 'P') /* 12 Greyscale, MIPI RAW12 packed */ |
| | 603 | #define V4L2_PIX_FMT_Y14P v4l2_fourcc('Y', '1', '4', 'P') /* 14 Greyscale, MIPI RAW14 packed */ |
| 602 | | 604 | |
| 603 | /* Palette formats */ | 605 | /* Palette formats */ |
| 604 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ | 606 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ |
| @@ -839,6 +841,20 @@ struct v4l2_pix_format { · 234 unmodified lines |
| 839 | #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ | 841 | #define V4L2_META_FMT_RK_ISP1_PARAMS v4l2_fourcc('R', 'K', '1', 'P') /* Rockchip ISP1 3A Parameters */ |
| 840 | #define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A Statistics */ | 842 | #define V4L2_META_FMT_RK_ISP1_STAT_3A v4l2_fourcc('R', 'K', '1', 'S') /* Rockchip ISP1 3A Statistics */ |
| 841 | | 843 | |
| | 844 | #ifdef __KERNEL__ |
| | 845 | /* |
| | 846 | * Line-based metadata formats. Remember to update v4l_fill_fmtdesc() when |
| | 847 | * adding new ones! |
| | 848 | */ |
| | 849 | #define V4L2_META_FMT_GENERIC_8 v4l2_fourcc('M', 'E', 'T', '8') /* Generic 8-bit metadata */ |
| | 850 | #define V4L2_META_FMT_GENERIC_CSI2_10 v4l2_fourcc('M', 'C', '1', 'A') /* 10-bit CSI-2 packed 8-bit metadata */ |
| | 851 | #define V4L2_META_FMT_GENERIC_CSI2_12 v4l2_fourcc('M', 'C', '1', 'C') /* 12-bit CSI-2 packed 8-bit metadata */ |
| | 852 | #define V4L2_META_FMT_GENERIC_CSI2_14 v4l2_fourcc('M', 'C', '1', 'E') /* 14-bit CSI-2 packed 8-bit metadata */ |
| | 853 | #define V4L2_META_FMT_GENERIC_CSI2_16 v4l2_fourcc('M', 'C', '1', 'G') /* 16-bit CSI-2 packed 8-bit metadata */ |
| | 854 | #define V4L2_META_FMT_GENERIC_CSI2_20 v4l2_fourcc('M', 'C', '1', 'K') /* 20-bit CSI-2 packed 8-bit metadata */ |
| | 855 | #define V4L2_META_FMT_GENERIC_CSI2_24 v4l2_fourcc('M', 'C', '1', 'O') /* 24-bit CSI-2 packed 8-bit metadata */ |
| | 856 | #endif |
| | 857 | |
| 842 | /* priv field value to indicates that subsequent fields are valid. */ | 858 | /* priv field value to indicates that subsequent fields are valid. */ |
| 843 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe | 859 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe |
| 844 | | 860 | |
| @@ -869,6 +885,7 @@ struct v4l2_fmtdesc { · 24 unmodified lines |
| 869 | #define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080 | 885 | #define V4L2_FMT_FLAG_CSC_YCBCR_ENC 0x0080 |
| 870 | #define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC | 886 | #define V4L2_FMT_FLAG_CSC_HSV_ENC V4L2_FMT_FLAG_CSC_YCBCR_ENC |
| 871 | #define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100 | 887 | #define V4L2_FMT_FLAG_CSC_QUANTIZATION 0x0100 |
| | 888 | #define V4L2_FMT_FLAG_META_LINE_BASED 0x0200 |
| 872 | | 889 | |
| 873 | /* Frame Size and frame rate enumeration */ | 890 | /* Frame Size and frame rate enumeration */ |
| 874 | /* | 891 | /* |
| @@ -1036,6 +1053,7 @@ struct v4l2_requestbuffers { · 161 unmodified lines |
| 1036 | #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) | 1053 | #define V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF (1 << 5) |
| 1037 | #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) | 1054 | #define V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS (1 << 6) |
| 1038 | #define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7) | 1055 | #define V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS (1 << 7) |
| | 1056 | #define V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS (1 << 8) |
| 1039 | | 1057 | |
| 1040 | /** | 1058 | /** |
| 1041 | * struct v4l2_plane - plane info for multi-planar buffers | 1059 | * struct v4l2_plane - plane info for multi-planar buffers |
| @@ -1841,7 +1859,7 @@ struct v4l2_ext_control { · 799 unmodified lines |
| 1841 | struct v4l2_ctrl_hdr10_cll_info __user *p_hdr10_cll_info; | 1859 | struct v4l2_ctrl_hdr10_cll_info __user *p_hdr10_cll_info; |
| 1842 | struct v4l2_ctrl_hdr10_mastering_display __user *p_hdr10_mastering_display; | 1860 | struct v4l2_ctrl_hdr10_mastering_display __user *p_hdr10_mastering_display; |
| 1843 | void __user *ptr; | 1861 | void __user *ptr; |
| 1844 | }; | 1862 | } __attribute__ ((packed)); |
| 1845 | } __attribute__ ((packed)); | 1863 | } __attribute__ ((packed)); |
| 1846 | | 1864 | |
| 1847 | struct v4l2_ext_controls { | 1865 | struct v4l2_ext_controls { |
| @@ -2415,10 +2433,19 @@ struct v4l2_sdr_format { · 567 unmodified lines |
| 2415 | * struct v4l2_meta_format - metadata format definition | 2433 | * struct v4l2_meta_format - metadata format definition |
| 2416 | * @dataformat: little endian four character code (fourcc) | 2434 | * @dataformat: little endian four character code (fourcc) |
| 2417 | * @buffersize: maximum size in bytes required for data | 2435 | * @buffersize: maximum size in bytes required for data |
| | 2436 | * @width: number of data units of data per line (valid for line |
| | 2437 | * based formats only, see format documentation) |
| | 2438 | * @height: number of lines of data per buffer (valid for line based |
| | 2439 | * formats only) |
| | 2440 | * @bytesperline: offset between the beginnings of two adjacent lines in |
| | 2441 | * bytes (valid for line based formats only) |
| 2418 | */ | 2442 | */ |
| 2419 | struct v4l2_meta_format { | 2443 | struct v4l2_meta_format { |
| 2420 | __u32 dataformat; | 2444 | __u32 dataformat; |
| 2421 | __u32 buffersize; | 2445 | __u32 buffersize; |
| | 2446 | __u32 width; |
| | 2447 | __u32 height; |
| | 2448 | __u32 bytesperline; |
| 2422 | } __attribute__ ((packed)); | 2449 | } __attribute__ ((packed)); |
| 2423 | | 2450 | |
| 2424 | /** | 2451 | /** |
| @@ -2624,6 +2651,20 @@ struct v4l2_create_buffers { · 199 unmodified lines |
| 2624 | __u32 reserved[5]; | 2651 | __u32 reserved[5]; |
| 2625 | }; | 2652 | }; |
| 2626 | | 2653 | |
| | 2654 | /** |
| | 2655 | * struct v4l2_remove_buffers - VIDIOC_REMOVE_BUFS argument |
| | 2656 | * @index: the first buffer to be removed |
| | 2657 | * @count: number of buffers to removed |
| | 2658 | * @type: enum v4l2_buf_type |
| | 2659 | * @reserved: future extensions |
| | 2660 | */ |
| | 2661 | struct v4l2_remove_buffers { |
| | 2662 | __u32 index; |
| | 2663 | __u32 count; |
| | 2664 | __u32 type; |
| | 2665 | __u32 reserved[13]; |
| | 2666 | }; |
| | 2667 | |
| 2627 | /* | 2668 | /* |
| 2628 | * 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 | 2669 | * 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 |
| 2629 | * | 2670 | * |
| @@ -2723,6 +2764,8 @@ struct v4l2_create_buffers { · 93 unmodified lines |
| 2723 | #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) | 2764 | #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) |
| 2724 | | 2765 | |
| 2725 | #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) | 2766 | #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) |
| | 2767 | #define VIDIOC_REMOVE_BUFS _IOWR('V', 104, struct v4l2_remove_buffers) |
| | 2768 | |
| 2726 | | 2769 | |
| 2727 | /* Reminder: when adding new ioctls please add support for them to | 2770 | /* Reminder: when adding new ioctls please add support for them to |
| 2728 | drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */ | 2771 | drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */ |