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 | ||