aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-01-15 15:49:56 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-01-15 15:49:56 -0500
commit122804ecb59493fbb4d31b3ba9ac59faaf45276f (patch)
treecff4d8a158c412e4a8d3abc8d91bb0eb52b01c9a /include/linux
parent16008d641670571ff4cd750b416c7caf2d89f467 (diff)
parent126400033940afb658123517a2e80eb68259fbd7 (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.h19
-rw-r--r--include/linux/dvb/version.h2
-rw-r--r--include/linux/videodev2.h56
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
73struct dvb_frontend_info { 73struct 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__)
184typedef enum fe_bandwidth { 185typedef 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
195typedef enum fe_guard_interval { 196typedef 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__)
216struct dvb_qpsk_parameters { 218struct 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
255struct dvb_frontend_event { 256struct 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
321typedef enum fe_pilot { 325typedef enum fe_pilot {
322 PILOT_ON, 326 PILOT_ON,
@@ -333,7 +337,7 @@ typedef enum fe_rolloff {
333 337
334typedef enum fe_delivery_system { 338typedef 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
355struct dtv_cmds_h { 364struct 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 */
781struct 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