diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-15 15:49:56 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-01-15 15:49:56 -0500 |
| commit | 122804ecb59493fbb4d31b3ba9ac59faaf45276f (patch) | |
| tree | cff4d8a158c412e4a8d3abc8d91bb0eb52b01c9a /include/linux/videodev2.h | |
| parent | 16008d641670571ff4cd750b416c7caf2d89f467 (diff) | |
| parent | 126400033940afb658123517a2e80eb68259fbd7 (diff) | |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (655 commits)
[media] revert patch: HDIC HD29L2 DMB-TH USB2.0 reference design driver
mb86a20s: Add a few more register settings at the init seq
mb86a20s: Group registers into the same line
[media] [PATCH] don't reset the delivery system on DTV_CLEAR
[media] [BUG] it913x-fe fix typo error making SNR levels unstable
[media] cx23885: Query the CX25840 during enum_input for status
[media] cx25840: Add support for g_input_status
[media] rc-videomate-m1f.c Rename to match remote controler name
[media] drivers: media: au0828: Fix dependency for VIDEO_AU0828
[media] convert drivers/media/* to use module_platform_driver()
[media] drivers: video: cx231xx: Fix dependency for VIDEO_CX231XX_DVB
[media] Exynos4 JPEG codec v4l2 driver
[media] doc: v4l: selection: choose pixels as units for selection rectangles
[media] v4l: s5p-tv: mixer: fix setup of VP scaling
[media] v4l: s5p-tv: mixer: add support for selection API
[media] v4l: emulate old crop API using extended crop/compose API
[media] doc: v4l: add documentation for selection API
[media] doc: v4l: add binary images for selection API
[media] v4l: add support for selection api
[media] hd29l2: fix review findings
...
Diffstat (limited to 'include/linux/videodev2.h')
| -rw-r--r-- | include/linux/videodev2.h | 56 |
1 files changed, 53 insertions, 3 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index d2f74f8e3fe3..5e11f8a1f867 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h | |||
| @@ -403,6 +403,7 @@ struct v4l2_pix_format { | |||
| 403 | #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ | 403 | #define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ |
| 404 | #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ | 404 | #define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ |
| 405 | #define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ | 405 | #define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */ |
| 406 | #define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0') /* compressed RGGB bayer */ | ||
| 406 | #define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */ | 407 | #define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */ |
| 407 | #define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ | 408 | #define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */ |
| 408 | #define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ | 409 | #define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ |
| @@ -744,6 +745,48 @@ struct v4l2_crop { | |||
| 744 | struct v4l2_rect c; | 745 | struct v4l2_rect c; |
| 745 | }; | 746 | }; |
| 746 | 747 | ||
| 748 | /* Hints for adjustments of selection rectangle */ | ||
| 749 | #define V4L2_SEL_FLAG_GE 0x00000001 | ||
| 750 | #define V4L2_SEL_FLAG_LE 0x00000002 | ||
| 751 | |||
| 752 | /* Selection targets */ | ||
| 753 | |||
| 754 | /* current cropping area */ | ||
| 755 | #define V4L2_SEL_TGT_CROP_ACTIVE 0 | ||
| 756 | /* default cropping area */ | ||
| 757 | #define V4L2_SEL_TGT_CROP_DEFAULT 1 | ||
| 758 | /* cropping bounds */ | ||
| 759 | #define V4L2_SEL_TGT_CROP_BOUNDS 2 | ||
| 760 | /* current composing area */ | ||
| 761 | #define V4L2_SEL_TGT_COMPOSE_ACTIVE 256 | ||
| 762 | /* default composing area */ | ||
| 763 | #define V4L2_SEL_TGT_COMPOSE_DEFAULT 257 | ||
| 764 | /* composing bounds */ | ||
| 765 | #define V4L2_SEL_TGT_COMPOSE_BOUNDS 258 | ||
| 766 | /* current composing area plus all padding pixels */ | ||
| 767 | #define V4L2_SEL_TGT_COMPOSE_PADDED 259 | ||
| 768 | |||
| 769 | /** | ||
| 770 | * struct v4l2_selection - selection info | ||
| 771 | * @type: buffer type (do not use *_MPLANE types) | ||
| 772 | * @target: selection target, used to choose one of possible rectangles | ||
| 773 | * @flags: constraints flags | ||
| 774 | * @r: coordinates of selection window | ||
| 775 | * @reserved: for future use, rounds structure size to 64 bytes, set to zero | ||
| 776 | * | ||
| 777 | * Hardware may use multiple helper window to process a video stream. | ||
| 778 | * The structure is used to exchange this selection areas between | ||
| 779 | * an application and a driver. | ||
| 780 | */ | ||
| 781 | struct v4l2_selection { | ||
| 782 | __u32 type; | ||
| 783 | __u32 target; | ||
| 784 | __u32 flags; | ||
| 785 | struct v4l2_rect r; | ||
| 786 | __u32 reserved[9]; | ||
| 787 | }; | ||
| 788 | |||
| 789 | |||
| 747 | /* | 790 | /* |
| 748 | * A N A L O G V I D E O S T A N D A R D | 791 | * A N A L O G V I D E O S T A N D A R D |
| 749 | */ | 792 | */ |
| @@ -1133,6 +1176,7 @@ struct v4l2_querymenu { | |||
| 1133 | #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 | 1176 | #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 |
| 1134 | 1177 | ||
| 1135 | /* User-class control IDs defined by V4L2 */ | 1178 | /* User-class control IDs defined by V4L2 */ |
| 1179 | #define V4L2_CID_MAX_CTRLS 1024 | ||
| 1136 | #define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) | 1180 | #define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900) |
| 1137 | #define V4L2_CID_USER_BASE V4L2_CID_BASE | 1181 | #define V4L2_CID_USER_BASE V4L2_CID_BASE |
| 1138 | /* IDs reserved for driver specific controls */ | 1182 | /* IDs reserved for driver specific controls */ |
| @@ -1206,10 +1250,10 @@ enum v4l2_colorfx { | |||
| 1206 | #define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) | 1250 | #define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39) |
| 1207 | #define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) | 1251 | #define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40) |
| 1208 | 1252 | ||
| 1209 | /* last CID + 1 */ | 1253 | #define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41) |
| 1210 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+41) | ||
| 1211 | 1254 | ||
| 1212 | /* Minimum number of buffer neede by the device */ | 1255 | /* last CID + 1 */ |
| 1256 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+42) | ||
| 1213 | 1257 | ||
| 1214 | /* MPEG-class control IDs defined by V4L2 */ | 1258 | /* MPEG-class control IDs defined by V4L2 */ |
| 1215 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) | 1259 | #define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) |
| @@ -1684,6 +1728,8 @@ enum v4l2_flash_strobe_source { | |||
| 1684 | #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1) | 1728 | #define V4L2_FLASH_FAULT_TIMEOUT (1 << 1) |
| 1685 | #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2) | 1729 | #define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2) |
| 1686 | #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3) | 1730 | #define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3) |
| 1731 | #define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4) | ||
| 1732 | #define V4L2_FLASH_FAULT_INDICATOR (1 << 5) | ||
| 1687 | 1733 | ||
| 1688 | #define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) | 1734 | #define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11) |
| 1689 | #define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) | 1735 | #define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12) |
| @@ -2257,6 +2303,10 @@ struct v4l2_create_buffers { | |||
| 2257 | #define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers) | 2303 | #define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers) |
| 2258 | #define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer) | 2304 | #define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer) |
| 2259 | 2305 | ||
| 2306 | /* Experimental selection API */ | ||
| 2307 | #define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection) | ||
| 2308 | #define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection) | ||
| 2309 | |||
| 2260 | /* Reminder: when adding new ioctls please add support for them to | 2310 | /* Reminder: when adding new ioctls please add support for them to |
| 2261 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ | 2311 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ |
| 2262 | 2312 | ||
