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 | |
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')
-rw-r--r-- | include/linux/dvb/frontend.h | 19 | ||||
-rw-r--r-- | include/linux/dvb/version.h | 2 | ||||
-rw-r--r-- | include/linux/videodev2.h | 56 |
3 files changed, 68 insertions, 9 deletions
diff --git a/include/linux/dvb/frontend.h b/include/linux/dvb/frontend.h index 1b1094c35e4f..cb4428ab81ed 100644 --- a/include/linux/dvb/frontend.h +++ b/include/linux/dvb/frontend.h | |||
@@ -72,7 +72,7 @@ typedef enum fe_caps { | |||
72 | 72 | ||
73 | struct dvb_frontend_info { | 73 | struct dvb_frontend_info { |
74 | char name[128]; | 74 | char name[128]; |
75 | fe_type_t type; | 75 | fe_type_t type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */ |
76 | __u32 frequency_min; | 76 | __u32 frequency_min; |
77 | __u32 frequency_max; | 77 | __u32 frequency_max; |
78 | __u32 frequency_stepsize; | 78 | __u32 frequency_stepsize; |
@@ -181,6 +181,7 @@ typedef enum fe_transmit_mode { | |||
181 | TRANSMISSION_MODE_32K, | 181 | TRANSMISSION_MODE_32K, |
182 | } fe_transmit_mode_t; | 182 | } fe_transmit_mode_t; |
183 | 183 | ||
184 | #if defined(__DVB_CORE__) || !defined (__KERNEL__) | ||
184 | typedef enum fe_bandwidth { | 185 | typedef enum fe_bandwidth { |
185 | BANDWIDTH_8_MHZ, | 186 | BANDWIDTH_8_MHZ, |
186 | BANDWIDTH_7_MHZ, | 187 | BANDWIDTH_7_MHZ, |
@@ -190,7 +191,7 @@ typedef enum fe_bandwidth { | |||
190 | BANDWIDTH_10_MHZ, | 191 | BANDWIDTH_10_MHZ, |
191 | BANDWIDTH_1_712_MHZ, | 192 | BANDWIDTH_1_712_MHZ, |
192 | } fe_bandwidth_t; | 193 | } fe_bandwidth_t; |
193 | 194 | #endif | |
194 | 195 | ||
195 | typedef enum fe_guard_interval { | 196 | typedef enum fe_guard_interval { |
196 | GUARD_INTERVAL_1_32, | 197 | GUARD_INTERVAL_1_32, |
@@ -213,6 +214,7 @@ typedef enum fe_hierarchy { | |||
213 | } fe_hierarchy_t; | 214 | } fe_hierarchy_t; |
214 | 215 | ||
215 | 216 | ||
217 | #if defined(__DVB_CORE__) || !defined (__KERNEL__) | ||
216 | struct dvb_qpsk_parameters { | 218 | struct dvb_qpsk_parameters { |
217 | __u32 symbol_rate; /* symbol rate in Symbols per second */ | 219 | __u32 symbol_rate; /* symbol rate in Symbols per second */ |
218 | fe_code_rate_t fec_inner; /* forward error correction (see above) */ | 220 | fe_code_rate_t fec_inner; /* forward error correction (see above) */ |
@@ -251,11 +253,11 @@ struct dvb_frontend_parameters { | |||
251 | } u; | 253 | } u; |
252 | }; | 254 | }; |
253 | 255 | ||
254 | |||
255 | struct dvb_frontend_event { | 256 | struct dvb_frontend_event { |
256 | fe_status_t status; | 257 | fe_status_t status; |
257 | struct dvb_frontend_parameters parameters; | 258 | struct dvb_frontend_parameters parameters; |
258 | }; | 259 | }; |
260 | #endif | ||
259 | 261 | ||
260 | /* S2API Commands */ | 262 | /* S2API Commands */ |
261 | #define DTV_UNDEFINED 0 | 263 | #define DTV_UNDEFINED 0 |
@@ -316,7 +318,9 @@ struct dvb_frontend_event { | |||
316 | 318 | ||
317 | #define DTV_DVBT2_PLP_ID 43 | 319 | #define DTV_DVBT2_PLP_ID 43 |
318 | 320 | ||
319 | #define DTV_MAX_COMMAND DTV_DVBT2_PLP_ID | 321 | #define DTV_ENUM_DELSYS 44 |
322 | |||
323 | #define DTV_MAX_COMMAND DTV_ENUM_DELSYS | ||
320 | 324 | ||
321 | typedef enum fe_pilot { | 325 | typedef enum fe_pilot { |
322 | PILOT_ON, | 326 | PILOT_ON, |
@@ -333,7 +337,7 @@ typedef enum fe_rolloff { | |||
333 | 337 | ||
334 | typedef enum fe_delivery_system { | 338 | typedef enum fe_delivery_system { |
335 | SYS_UNDEFINED, | 339 | SYS_UNDEFINED, |
336 | SYS_DVBC_ANNEX_AC, | 340 | SYS_DVBC_ANNEX_A, |
337 | SYS_DVBC_ANNEX_B, | 341 | SYS_DVBC_ANNEX_B, |
338 | SYS_DVBT, | 342 | SYS_DVBT, |
339 | SYS_DSS, | 343 | SYS_DSS, |
@@ -350,8 +354,13 @@ typedef enum fe_delivery_system { | |||
350 | SYS_DAB, | 354 | SYS_DAB, |
351 | SYS_DVBT2, | 355 | SYS_DVBT2, |
352 | SYS_TURBO, | 356 | SYS_TURBO, |
357 | SYS_DVBC_ANNEX_C, | ||
353 | } fe_delivery_system_t; | 358 | } fe_delivery_system_t; |
354 | 359 | ||
360 | |||
361 | #define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A | ||
362 | |||
363 | |||
355 | struct dtv_cmds_h { | 364 | struct dtv_cmds_h { |
356 | char *name; /* A display name for debugging purposes */ | 365 | char *name; /* A display name for debugging purposes */ |
357 | 366 | ||
diff --git a/include/linux/dvb/version.h b/include/linux/dvb/version.h index 66594b1d5d7b..0559e2bd38f9 100644 --- a/include/linux/dvb/version.h +++ b/include/linux/dvb/version.h | |||
@@ -24,6 +24,6 @@ | |||
24 | #define _DVBVERSION_H_ | 24 | #define _DVBVERSION_H_ |
25 | 25 | ||
26 | #define DVB_API_VERSION 5 | 26 | #define DVB_API_VERSION 5 |
27 | #define DVB_API_VERSION_MINOR 4 | 27 | #define DVB_API_VERSION_MINOR 5 |
28 | 28 | ||
29 | #endif /*_DVBVERSION_H_*/ | 29 | #endif /*_DVBVERSION_H_*/ |
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 | ||