aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/videodev2.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/videodev2.h')
-rw-r--r--include/linux/videodev2.h74
1 files changed, 63 insertions, 11 deletions
diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
index 5571dbe1c0ad..ebb2ea6b4995 100644
--- a/include/linux/videodev2.h
+++ b/include/linux/videodev2.h
@@ -344,6 +344,8 @@ struct v4l2_pix_format {
344#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */ 344#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
345#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */ 345#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
346#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */ 346#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
347#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
348#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
347#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */ 349#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
348#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */ 350#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
349 351
@@ -735,6 +737,11 @@ struct v4l2_input {
735#define V4L2_IN_ST_NO_SIGNAL 0x00000002 737#define V4L2_IN_ST_NO_SIGNAL 0x00000002
736#define V4L2_IN_ST_NO_COLOR 0x00000004 738#define V4L2_IN_ST_NO_COLOR 0x00000004
737 739
740/* field 'status' - sensor orientation */
741/* If sensor is mounted upside down set both bits */
742#define V4L2_IN_ST_HFLIP 0x00000010 /* Frames are flipped horizontally */
743#define V4L2_IN_ST_VFLIP 0x00000020 /* Frames are flipped vertically */
744
738/* field 'status' - analog */ 745/* field 'status' - analog */
739#define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */ 746#define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */
740#define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */ 747#define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */
@@ -829,6 +836,7 @@ struct v4l2_querymenu {
829#define V4L2_CTRL_FLAG_UPDATE 0x0008 836#define V4L2_CTRL_FLAG_UPDATE 0x0008
830#define V4L2_CTRL_FLAG_INACTIVE 0x0010 837#define V4L2_CTRL_FLAG_INACTIVE 0x0010
831#define V4L2_CTRL_FLAG_SLIDER 0x0020 838#define V4L2_CTRL_FLAG_SLIDER 0x0020
839#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
832 840
833/* Query flag, to be ORed with the control ID */ 841/* Query flag, to be ORed with the control ID */
834#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 842#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
@@ -879,8 +887,15 @@ enum v4l2_power_line_frequency {
879#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28) 887#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
880#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29) 888#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
881#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30) 889#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
890#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
891enum v4l2_colorfx {
892 V4L2_COLORFX_NONE = 0,
893 V4L2_COLORFX_BW = 1,
894 V4L2_COLORFX_SEPIA = 2,
895};
896
882/* last CID + 1 */ 897/* last CID + 1 */
883#define V4L2_CID_LASTP1 (V4L2_CID_BASE+31) 898#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32)
884 899
885/* MPEG-class control IDs defined by V4L2 */ 900/* MPEG-class control IDs defined by V4L2 */
886#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900) 901#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
@@ -1339,6 +1354,53 @@ struct v4l2_sliced_vbi_data {
1339}; 1354};
1340 1355
1341/* 1356/*
1357 * Sliced VBI data inserted into MPEG Streams
1358 */
1359
1360/*
1361 * V4L2_MPEG_STREAM_VBI_FMT_IVTV:
1362 *
1363 * Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
1364 * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
1365 * data
1366 *
1367 * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
1368 * definitions are not included here. See the MPEG-2 specifications for details
1369 * on these headers.
1370 */
1371
1372/* Line type IDs */
1373#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
1374#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
1375#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
1376#define V4L2_MPEG_VBI_IVTV_VPS (7)
1377
1378struct v4l2_mpeg_vbi_itv0_line {
1379 __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
1380 __u8 data[42]; /* Sliced VBI data for the line */
1381} __attribute__ ((packed));
1382
1383struct v4l2_mpeg_vbi_itv0 {
1384 __le32 linemask[2]; /* Bitmasks of VBI service lines present */
1385 struct v4l2_mpeg_vbi_itv0_line line[35];
1386} __attribute__ ((packed));
1387
1388struct v4l2_mpeg_vbi_ITV0 {
1389 struct v4l2_mpeg_vbi_itv0_line line[36];
1390} __attribute__ ((packed));
1391
1392#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
1393#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
1394
1395struct v4l2_mpeg_vbi_fmt_ivtv {
1396 __u8 magic[4];
1397 union {
1398 struct v4l2_mpeg_vbi_itv0 itv0;
1399 struct v4l2_mpeg_vbi_ITV0 ITV0;
1400 };
1401} __attribute__ ((packed));
1402
1403/*
1342 * A G G R E G A T E S T R U C T U R E S 1404 * A G G R E G A T E S T R U C T U R E S
1343 */ 1405 */
1344 1406
@@ -1403,14 +1465,6 @@ struct v4l2_dbg_chip_ident {
1403 __u32 revision; /* chip revision, chip specific */ 1465 __u32 revision; /* chip revision, chip specific */
1404} __attribute__ ((packed)); 1466} __attribute__ ((packed));
1405 1467
1406/* VIDIOC_G_CHIP_IDENT_OLD: Deprecated, do not use */
1407struct v4l2_chip_ident_old {
1408 __u32 match_type; /* Match type */
1409 __u32 match_chip; /* Match this chip, meaning determined by match_type */
1410 __u32 ident; /* chip identifier as specified in <media/v4l2-chip-ident.h> */
1411 __u32 revision; /* chip revision, chip specific */
1412};
1413
1414/* 1468/*
1415 * 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 1469 * 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
1416 * 1470 *
@@ -1488,8 +1542,6 @@ struct v4l2_chip_ident_old {
1488/* Experimental, meant for debugging, testing and internal use. 1542/* Experimental, meant for debugging, testing and internal use.
1489 Never use this ioctl in applications! */ 1543 Never use this ioctl in applications! */
1490#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident) 1544#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
1491/* This is deprecated and will go away in 2.6.30 */
1492#define VIDIOC_G_CHIP_IDENT_OLD _IOWR('V', 81, struct v4l2_chip_ident_old)
1493#endif 1545#endif
1494 1546
1495#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek) 1547#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)