diff options
Diffstat (limited to 'include/linux/videodev2.h')
-rw-r--r-- | include/linux/videodev2.h | 74 |
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) | ||
891 | enum 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 | |||
1378 | struct 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 | |||
1383 | struct 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 | |||
1388 | struct 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 | |||
1395 | struct 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 */ | ||
1407 | struct 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) |