diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-24 20:35:10 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-24 20:35:10 -0500 |
| commit | 21fbd5809ad126b949206d78e0a0e07ec872ea11 (patch) | |
| tree | a824045df99fc1f0690095a925cceb50207e332b /include/uapi/linux | |
| parent | d9978ec5680059d727b39d6c706777c6973587f2 (diff) | |
| parent | ed72d37a33fdf43dc47787fe220532cdec9da528 (diff) | |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- Some cleanups at V4L2 documentation
- new drivers: ts2020 frontend, ov9650 sensor, s5c73m3 sensor,
sh-mobile veu mem2mem driver, radio-ma901, davinci_vpfe staging
driver
- Lots of missing MAINTAINERS entries added
- several em28xx driver improvements, including its conversion to
videobuf2
- several fixups on drivers to make them to better comply with the API
- DVB core: add support for DVBv5 stats, allowing the implementation of
statistics for new standards like ISDB
- mb86a20s: add statistics to the driver
- lots of new board additions, cleanups, and driver improvements.
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (596 commits)
[media] media: Add 0x3009 USB PID to ttusb2 driver (fixed diff)
[media] rtl28xxu: Add USB IDs for Compro VideoMate U620F
[media] em28xx: add usb id for terratec h5 rev. 3
[media] media: rc: gpio-ir-recv: add support for device tree parsing
[media] mceusb: move check earlier to make smatch happy
[media] radio-si470x doc: add info about v4l2-ctl and sox+alsa
[media] staging: media: Remove unnecessary OOM messages
[media] sh_vou: Use vou_dev instead of vou_file wherever possible
[media] sh_vou: Use video_drvdata()
[media] drivers/media/platform/soc_camera/pxa_camera.c: use devm_ functions
[media] mt9t112: mt9t111 format set up differs from mt9t112
[media] sh-mobile-ceu-camera: fix SHARPNESS control default
Revert "[media] fc0011: Return early, if the frequency is already tuned"
[media] cx18/ivtv: fix regression: remove __init from a non-init function
[media] em28xx: fix analog streaming with USB bulk transfers
[media] stv0900: remove unnecessary null pointer check
[media] fc0011: Return early, if the frequency is already tuned
[media] fc0011: Add some sanity checks and cleanups
[media] fc0011: Fix xin value clamping
Revert "[media] [PATH,1/2] mxl5007 move reset to attach"
...
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/dvb/frontend.h | 79 | ||||
| -rw-r--r-- | include/uapi/linux/dvb/version.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/meye.h | 8 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 33 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-mediabus.h | 11 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 35 |
6 files changed, 133 insertions, 35 deletions
diff --git a/include/uapi/linux/dvb/frontend.h b/include/uapi/linux/dvb/frontend.h index c12d452cb40d..c56d77c496a5 100644 --- a/include/uapi/linux/dvb/frontend.h +++ b/include/uapi/linux/dvb/frontend.h | |||
| @@ -365,7 +365,17 @@ struct dvb_frontend_event { | |||
| 365 | #define DTV_INTERLEAVING 60 | 365 | #define DTV_INTERLEAVING 60 |
| 366 | #define DTV_LNA 61 | 366 | #define DTV_LNA 61 |
| 367 | 367 | ||
| 368 | #define DTV_MAX_COMMAND DTV_LNA | 368 | /* Quality parameters */ |
| 369 | #define DTV_STAT_SIGNAL_STRENGTH 62 | ||
| 370 | #define DTV_STAT_CNR 63 | ||
| 371 | #define DTV_STAT_PRE_ERROR_BIT_COUNT 64 | ||
| 372 | #define DTV_STAT_PRE_TOTAL_BIT_COUNT 65 | ||
| 373 | #define DTV_STAT_POST_ERROR_BIT_COUNT 66 | ||
| 374 | #define DTV_STAT_POST_TOTAL_BIT_COUNT 67 | ||
| 375 | #define DTV_STAT_ERROR_BLOCK_COUNT 68 | ||
| 376 | #define DTV_STAT_TOTAL_BLOCK_COUNT 69 | ||
| 377 | |||
| 378 | #define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT | ||
| 369 | 379 | ||
| 370 | typedef enum fe_pilot { | 380 | typedef enum fe_pilot { |
| 371 | PILOT_ON, | 381 | PILOT_ON, |
| @@ -452,11 +462,78 @@ struct dtv_cmds_h { | |||
| 452 | __u32 reserved:30; /* Align */ | 462 | __u32 reserved:30; /* Align */ |
| 453 | }; | 463 | }; |
| 454 | 464 | ||
| 465 | /** | ||
| 466 | * Scale types for the quality parameters. | ||
| 467 | * @FE_SCALE_NOT_AVAILABLE: That QoS measure is not available. That | ||
| 468 | * could indicate a temporary or a permanent | ||
| 469 | * condition. | ||
| 470 | * @FE_SCALE_DECIBEL: The scale is measured in 0.0001 dB steps, typically | ||
| 471 | * used on signal measures. | ||
| 472 | * @FE_SCALE_RELATIVE: The scale is a relative percentual measure, | ||
| 473 | * ranging from 0 (0%) to 0xffff (100%). | ||
| 474 | * @FE_SCALE_COUNTER: The scale counts the occurrence of an event, like | ||
| 475 | * bit error, block error, lapsed time. | ||
| 476 | */ | ||
| 477 | enum fecap_scale_params { | ||
| 478 | FE_SCALE_NOT_AVAILABLE = 0, | ||
| 479 | FE_SCALE_DECIBEL, | ||
| 480 | FE_SCALE_RELATIVE, | ||
| 481 | FE_SCALE_COUNTER | ||
| 482 | }; | ||
| 483 | |||
| 484 | /** | ||
| 485 | * struct dtv_stats - Used for reading a DTV status property | ||
| 486 | * | ||
| 487 | * @value: value of the measure. Should range from 0 to 0xffff; | ||
| 488 | * @scale: Filled with enum fecap_scale_params - the scale | ||
| 489 | * in usage for that parameter | ||
| 490 | * | ||
| 491 | * For most delivery systems, this will return a single value for each | ||
| 492 | * parameter. | ||
| 493 | * It should be noticed, however, that new OFDM delivery systems like | ||
| 494 | * ISDB can use different modulation types for each group of carriers. | ||
| 495 | * On such standards, up to 8 groups of statistics can be provided, one | ||
| 496 | * for each carrier group (called "layer" on ISDB). | ||
| 497 | * In order to be consistent with other delivery systems, the first | ||
| 498 | * value refers to the entire set of carriers ("global"). | ||
| 499 | * dtv_status:scale should use the value FE_SCALE_NOT_AVAILABLE when | ||
| 500 | * the value for the entire group of carriers or from one specific layer | ||
| 501 | * is not provided by the hardware. | ||
| 502 | * st.len should be filled with the latest filled status + 1. | ||
| 503 | * | ||
| 504 | * In other words, for ISDB, those values should be filled like: | ||
| 505 | * u.st.stat.svalue[0] = global statistics; | ||
| 506 | * u.st.stat.scale[0] = FE_SCALE_DECIBELS; | ||
| 507 | * u.st.stat.value[1] = layer A statistics; | ||
| 508 | * u.st.stat.scale[1] = FE_SCALE_NOT_AVAILABLE (if not available); | ||
| 509 | * u.st.stat.svalue[2] = layer B statistics; | ||
| 510 | * u.st.stat.scale[2] = FE_SCALE_DECIBELS; | ||
| 511 | * u.st.stat.svalue[3] = layer C statistics; | ||
| 512 | * u.st.stat.scale[3] = FE_SCALE_DECIBELS; | ||
| 513 | * u.st.len = 4; | ||
| 514 | */ | ||
| 515 | struct dtv_stats { | ||
| 516 | __u8 scale; /* enum fecap_scale_params type */ | ||
| 517 | union { | ||
| 518 | __u64 uvalue; /* for counters and relative scales */ | ||
| 519 | __s64 svalue; /* for 0.0001 dB measures */ | ||
| 520 | }; | ||
| 521 | } __attribute__ ((packed)); | ||
| 522 | |||
| 523 | |||
| 524 | #define MAX_DTV_STATS 4 | ||
| 525 | |||
| 526 | struct dtv_fe_stats { | ||
| 527 | __u8 len; | ||
| 528 | struct dtv_stats stat[MAX_DTV_STATS]; | ||
| 529 | } __attribute__ ((packed)); | ||
| 530 | |||
| 455 | struct dtv_property { | 531 | struct dtv_property { |
| 456 | __u32 cmd; | 532 | __u32 cmd; |
| 457 | __u32 reserved[3]; | 533 | __u32 reserved[3]; |
| 458 | union { | 534 | union { |
| 459 | __u32 data; | 535 | __u32 data; |
| 536 | struct dtv_fe_stats st; | ||
| 460 | struct { | 537 | struct { |
| 461 | __u8 data[32]; | 538 | __u8 data[32]; |
| 462 | __u32 len; | 539 | __u32 len; |
diff --git a/include/uapi/linux/dvb/version.h b/include/uapi/linux/dvb/version.h index 827cce7e33e3..e53e2ad4444f 100644 --- a/include/uapi/linux/dvb/version.h +++ b/include/uapi/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 9 | 27 | #define DVB_API_VERSION_MINOR 10 |
| 28 | 28 | ||
| 29 | #endif /*_DVBVERSION_H_*/ | 29 | #endif /*_DVBVERSION_H_*/ |
diff --git a/include/uapi/linux/meye.h b/include/uapi/linux/meye.h index 0dd49954f746..8ff50fe9e481 100644 --- a/include/uapi/linux/meye.h +++ b/include/uapi/linux/meye.h | |||
| @@ -57,10 +57,8 @@ struct meye_params { | |||
| 57 | #define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOC_PRIVATE+5, int) | 57 | #define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOC_PRIVATE+5, int) |
| 58 | 58 | ||
| 59 | /* V4L2 private controls */ | 59 | /* V4L2 private controls */ |
| 60 | #define V4L2_CID_AGC V4L2_CID_PRIVATE_BASE | 60 | #define V4L2_CID_MEYE_AGC (V4L2_CID_USER_MEYE_BASE + 0) |
| 61 | #define V4L2_CID_MEYE_SHARPNESS (V4L2_CID_PRIVATE_BASE + 1) | 61 | #define V4L2_CID_MEYE_PICTURE (V4L2_CID_USER_MEYE_BASE + 1) |
| 62 | #define V4L2_CID_PICTURE (V4L2_CID_PRIVATE_BASE + 2) | 62 | #define V4L2_CID_MEYE_FRAMERATE (V4L2_CID_USER_MEYE_BASE + 2) |
| 63 | #define V4L2_CID_JPEGQUAL (V4L2_CID_PRIVATE_BASE + 3) | ||
| 64 | #define V4L2_CID_FRAMERATE (V4L2_CID_PRIVATE_BASE + 4) | ||
| 65 | 63 | ||
| 66 | #endif | 64 | #endif |
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index f56c945cecd4..dcd63745e83a 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -88,10 +88,6 @@ | |||
| 88 | #define V4L2_CID_HFLIP (V4L2_CID_BASE+20) | 88 | #define V4L2_CID_HFLIP (V4L2_CID_BASE+20) |
| 89 | #define V4L2_CID_VFLIP (V4L2_CID_BASE+21) | 89 | #define V4L2_CID_VFLIP (V4L2_CID_BASE+21) |
| 90 | 90 | ||
| 91 | /* Deprecated; use V4L2_CID_PAN_RESET and V4L2_CID_TILT_RESET */ | ||
| 92 | #define V4L2_CID_HCENTER (V4L2_CID_BASE+22) | ||
| 93 | #define V4L2_CID_VCENTER (V4L2_CID_BASE+23) | ||
| 94 | |||
| 95 | #define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) | 91 | #define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24) |
| 96 | enum v4l2_power_line_frequency { | 92 | enum v4l2_power_line_frequency { |
| 97 | V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, | 93 | V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0, |
| @@ -144,6 +140,11 @@ enum v4l2_colorfx { | |||
| 144 | /* last CID + 1 */ | 140 | /* last CID + 1 */ |
| 145 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+43) | 141 | #define V4L2_CID_LASTP1 (V4L2_CID_BASE+43) |
| 146 | 142 | ||
| 143 | /* USER-class private control IDs */ | ||
| 144 | |||
| 145 | /* The base for the meye driver controls. See linux/meye.h for the list | ||
| 146 | * of controls. We reserve 16 controls for this driver. */ | ||
| 147 | #define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000) | ||
| 147 | 148 | ||
| 148 | /* MPEG-class control IDs */ | 149 | /* MPEG-class control IDs */ |
| 149 | 150 | ||
| @@ -782,6 +783,7 @@ enum v4l2_jpeg_chroma_subsampling { | |||
| 782 | #define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17) | 783 | #define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17) |
| 783 | #define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18) | 784 | #define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18) |
| 784 | 785 | ||
| 786 | |||
| 785 | /* Image source controls */ | 787 | /* Image source controls */ |
| 786 | #define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900) | 788 | #define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900) |
| 787 | #define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1) | 789 | #define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1) |
| @@ -800,4 +802,27 @@ enum v4l2_jpeg_chroma_subsampling { | |||
| 800 | #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) | 802 | #define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2) |
| 801 | #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) | 803 | #define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3) |
| 802 | 804 | ||
| 805 | |||
| 806 | /* DV-class control IDs defined by V4L2 */ | ||
| 807 | #define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) | ||
| 808 | #define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1) | ||
| 809 | |||
| 810 | #define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1) | ||
| 811 | #define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2) | ||
| 812 | #define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3) | ||
| 813 | #define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4) | ||
| 814 | enum v4l2_dv_tx_mode { | ||
| 815 | V4L2_DV_TX_MODE_DVI_D = 0, | ||
| 816 | V4L2_DV_TX_MODE_HDMI = 1, | ||
| 817 | }; | ||
| 818 | #define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5) | ||
| 819 | enum v4l2_dv_rgb_range { | ||
| 820 | V4L2_DV_RGB_RANGE_AUTO = 0, | ||
| 821 | V4L2_DV_RGB_RANGE_LIMITED = 1, | ||
| 822 | V4L2_DV_RGB_RANGE_FULL = 2, | ||
| 823 | }; | ||
| 824 | |||
| 825 | #define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100) | ||
| 826 | #define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) | ||
| 827 | |||
| 803 | #endif | 828 | #endif |
diff --git a/include/uapi/linux/v4l2-mediabus.h b/include/uapi/linux/v4l2-mediabus.h index 7d64e0e1a18b..b9b7bea04537 100644 --- a/include/uapi/linux/v4l2-mediabus.h +++ b/include/uapi/linux/v4l2-mediabus.h | |||
| @@ -47,8 +47,9 @@ enum v4l2_mbus_pixelcode { | |||
| 47 | V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, | 47 | V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007, |
| 48 | V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, | 48 | V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008, |
| 49 | 49 | ||
| 50 | /* YUV (including grey) - next is 0x2014 */ | 50 | /* YUV (including grey) - next is 0x2017 */ |
| 51 | V4L2_MBUS_FMT_Y8_1X8 = 0x2001, | 51 | V4L2_MBUS_FMT_Y8_1X8 = 0x2001, |
| 52 | V4L2_MBUS_FMT_UV8_1X8 = 0x2015, | ||
| 52 | V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, | 53 | V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002, |
| 53 | V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, | 54 | V4L2_MBUS_FMT_VYUY8_1_5X8 = 0x2003, |
| 54 | V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, | 55 | V4L2_MBUS_FMT_YUYV8_1_5X8 = 0x2004, |
| @@ -65,14 +66,20 @@ enum v4l2_mbus_pixelcode { | |||
| 65 | V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, | 66 | V4L2_MBUS_FMT_VYUY8_1X16 = 0x2010, |
| 66 | V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, | 67 | V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011, |
| 67 | V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, | 68 | V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012, |
| 69 | V4L2_MBUS_FMT_YDYUYDYV8_1X16 = 0x2014, | ||
| 68 | V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, | 70 | V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d, |
| 69 | V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, | 71 | V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e, |
| 72 | V4L2_MBUS_FMT_YUV10_1X30 = 0x2016, | ||
| 70 | 73 | ||
| 71 | /* Bayer - next is 0x3015 */ | 74 | /* Bayer - next is 0x3019 */ |
| 72 | V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, | 75 | V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001, |
| 73 | V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, | 76 | V4L2_MBUS_FMT_SGBRG8_1X8 = 0x3013, |
| 74 | V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, | 77 | V4L2_MBUS_FMT_SGRBG8_1X8 = 0x3002, |
| 75 | V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, | 78 | V4L2_MBUS_FMT_SRGGB8_1X8 = 0x3014, |
| 79 | V4L2_MBUS_FMT_SBGGR10_ALAW8_1X8 = 0x3015, | ||
| 80 | V4L2_MBUS_FMT_SGBRG10_ALAW8_1X8 = 0x3016, | ||
| 81 | V4L2_MBUS_FMT_SGRBG10_ALAW8_1X8 = 0x3017, | ||
| 82 | V4L2_MBUS_FMT_SRGGB10_ALAW8_1X8 = 0x3018, | ||
| 76 | V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, | 83 | V4L2_MBUS_FMT_SBGGR10_DPCM8_1X8 = 0x300b, |
| 77 | V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, | 84 | V4L2_MBUS_FMT_SGBRG10_DPCM8_1X8 = 0x300c, |
| 78 | V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, | 85 | V4L2_MBUS_FMT_SGRBG10_DPCM8_1X8 = 0x3009, |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 3cf3e946e331..234d1d870914 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -334,6 +334,9 @@ struct v4l2_pix_format { | |||
| 334 | /* Palette formats */ | 334 | /* Palette formats */ |
| 335 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ | 335 | #define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */ |
| 336 | 336 | ||
| 337 | /* Chrominance formats */ | ||
| 338 | #define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */ | ||
| 339 | |||
| 337 | /* Luminance+Chrominance formats */ | 340 | /* Luminance+Chrominance formats */ |
| 338 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */ | 341 | #define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */ |
| 339 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */ | 342 | #define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */ |
| @@ -386,6 +389,11 @@ struct v4l2_pix_format { | |||
| 386 | #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ | 389 | #define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */ |
| 387 | #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ | 390 | #define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */ |
| 388 | #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ | 391 | #define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */ |
| 392 | /* 10bit raw bayer a-law compressed to 8 bits */ | ||
| 393 | #define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8') | ||
| 394 | #define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8') | ||
| 395 | #define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8') | ||
| 396 | #define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8') | ||
| 389 | /* 10bit raw bayer DPCM compressed to 8 bits */ | 397 | /* 10bit raw bayer DPCM compressed to 8 bits */ |
| 390 | #define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8') | 398 | #define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8') |
| 391 | #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') | 399 | #define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8') |
| @@ -693,6 +701,10 @@ struct v4l2_buffer { | |||
| 693 | /* Cache handling flags */ | 701 | /* Cache handling flags */ |
| 694 | #define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800 | 702 | #define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800 |
| 695 | #define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000 | 703 | #define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x1000 |
| 704 | /* Timestamp type */ | ||
| 705 | #define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000 | ||
| 706 | #define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000 | ||
| 707 | #define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000 | ||
| 696 | 708 | ||
| 697 | /** | 709 | /** |
| 698 | * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor | 710 | * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor |
| @@ -1342,28 +1354,6 @@ struct v4l2_querymenu { | |||
| 1342 | #define V4L2_CID_PRIVATE_BASE 0x08000000 | 1354 | #define V4L2_CID_PRIVATE_BASE 0x08000000 |
| 1343 | 1355 | ||
| 1344 | 1356 | ||
| 1345 | /* DV-class control IDs defined by V4L2 */ | ||
| 1346 | #define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900) | ||
| 1347 | #define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1) | ||
| 1348 | |||
| 1349 | #define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1) | ||
| 1350 | #define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2) | ||
| 1351 | #define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3) | ||
| 1352 | #define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4) | ||
| 1353 | enum v4l2_dv_tx_mode { | ||
| 1354 | V4L2_DV_TX_MODE_DVI_D = 0, | ||
| 1355 | V4L2_DV_TX_MODE_HDMI = 1, | ||
| 1356 | }; | ||
| 1357 | #define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5) | ||
| 1358 | enum v4l2_dv_rgb_range { | ||
| 1359 | V4L2_DV_RGB_RANGE_AUTO = 0, | ||
| 1360 | V4L2_DV_RGB_RANGE_LIMITED = 1, | ||
| 1361 | V4L2_DV_RGB_RANGE_FULL = 2, | ||
| 1362 | }; | ||
| 1363 | |||
| 1364 | #define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100) | ||
| 1365 | #define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101) | ||
| 1366 | |||
| 1367 | /* | 1357 | /* |
| 1368 | * T U N I N G | 1358 | * T U N I N G |
| 1369 | */ | 1359 | */ |
| @@ -1810,6 +1800,7 @@ struct v4l2_event_vsync { | |||
| 1810 | /* Payload for V4L2_EVENT_CTRL */ | 1800 | /* Payload for V4L2_EVENT_CTRL */ |
| 1811 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) | 1801 | #define V4L2_EVENT_CTRL_CH_VALUE (1 << 0) |
| 1812 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) | 1802 | #define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1) |
| 1803 | #define V4L2_EVENT_CTRL_CH_RANGE (1 << 2) | ||
| 1813 | 1804 | ||
| 1814 | struct v4l2_event_ctrl { | 1805 | struct v4l2_event_ctrl { |
| 1815 | __u32 changes; | 1806 | __u32 changes; |
