/* last CID + 1 */
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
+/* USER-class private control IDs */
+
+/* The base for the meye driver controls. See linux/meye.h for the list
+ * of controls. We reserve 16 controls for this driver. */
+#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
+
+/* The base for the bttv driver controls.
+ * We reserve 32 controls for this driver. */
+#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
+
+
+/* The base for the s2255 driver controls.
+ * We reserve 8 controls for this driver. */
+#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1010)
/* MPEG-class control IDs */
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
+
/* Image source controls */
#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
+
+/* DV-class control IDs defined by V4L2 */
+#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
+#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
+
+#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
+#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
+#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
+#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
+enum v4l2_dv_tx_mode {
+ V4L2_DV_TX_MODE_DVI_D = 0,
+ V4L2_DV_TX_MODE_HDMI = 1,
+};
+#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
+enum v4l2_dv_rgb_range {
+ V4L2_DV_RGB_RANGE_AUTO = 0,
+ V4L2_DV_RGB_RANGE_LIMITED = 1,
+ V4L2_DV_RGB_RANGE_FULL = 2,
+};
+
+#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
+#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
+
#endif
#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000
#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000
#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000
+#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x4000
/**
* struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
#define V4L2_CID_PRIVATE_BASE 0x08000000
-/* DV-class control IDs defined by V4L2 */
-#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
-#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
-
-#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
-#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
-#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
-#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
-enum v4l2_dv_tx_mode {
- V4L2_DV_TX_MODE_DVI_D = 0,
- V4L2_DV_TX_MODE_HDMI = 1,
-};
-#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
-enum v4l2_dv_rgb_range {
- V4L2_DV_RGB_RANGE_AUTO = 0,
- V4L2_DV_RGB_RANGE_LIMITED = 1,
- V4L2_DV_RGB_RANGE_FULL = 2,
-};
-
-#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
-#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
-
/*
* T U N I N G
*/
/* Payload for V4L2_EVENT_CTRL */
#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
+#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
struct v4l2_event_ctrl {
uint32_t changes;
/* module au0828 */
V4L2_IDENT_AU0828 = 828,
+ /* module bttv: ident 848 + 849 */
+ V4L2_IDENT_BT848 = 848,
+ V4L2_IDENT_BT849 = 849,
+
/* module bt856: just ident 856 */
V4L2_IDENT_BT856 = 856,
/* module bt866: just ident 866 */
V4L2_IDENT_BT866 = 866,
+ /* module bttv: ident 878 + 879 */
+ V4L2_IDENT_BT878 = 878,
+ V4L2_IDENT_BT879 = 879,
+
/* module ks0127: reserved range 1120-1129 */
V4L2_IDENT_KS0122S = 1122,
V4L2_IDENT_KS0127 = 1127,
/* last CID + 1 */
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
+/* USER-class private control IDs */
+
+/* The base for the meye driver controls. See linux/meye.h for the list
+ * of controls. We reserve 16 controls for this driver. */
+#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
+
+/* The base for the bttv driver controls.
+ * We reserve 32 controls for this driver. */
+#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
+
+
+/* The base for the s2255 driver controls.
+ * We reserve 8 controls for this driver. */
+#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1010)
/* MPEG-class control IDs */
#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
+
/* Image source controls */
#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
+
+/* DV-class control IDs defined by V4L2 */
+#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
+#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
+
+#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
+#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
+#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
+#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
+enum v4l2_dv_tx_mode {
+ V4L2_DV_TX_MODE_DVI_D = 0,
+ V4L2_DV_TX_MODE_HDMI = 1,
+};
+#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
+enum v4l2_dv_rgb_range {
+ V4L2_DV_RGB_RANGE_AUTO = 0,
+ V4L2_DV_RGB_RANGE_LIMITED = 1,
+ V4L2_DV_RGB_RANGE_FULL = 2,
+};
+
+#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
+#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
+
#endif
#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000
#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000
#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000
+#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x4000
/**
* struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
#define V4L2_CID_PRIVATE_BASE 0x08000000
-/* DV-class control IDs defined by V4L2 */
-#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
-#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
-
-#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
-#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
-#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
-#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
-enum v4l2_dv_tx_mode {
- V4L2_DV_TX_MODE_DVI_D = 0,
- V4L2_DV_TX_MODE_HDMI = 1,
-};
-#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
-enum v4l2_dv_rgb_range {
- V4L2_DV_RGB_RANGE_AUTO = 0,
- V4L2_DV_RGB_RANGE_LIMITED = 1,
- V4L2_DV_RGB_RANGE_FULL = 2,
-};
-
-#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
-#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
-
/*
* T U N I N G
*/
/* Payload for V4L2_EVENT_CTRL */
#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
+#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
struct v4l2_event_ctrl {
__u32 changes;
/* module au0828 */
V4L2_IDENT_AU0828 = 828,
+ /* module bttv: ident 848 + 849 */
+ V4L2_IDENT_BT848 = 848,
+ V4L2_IDENT_BT849 = 849,
+
/* module bt856: just ident 856 */
V4L2_IDENT_BT856 = 856,
/* module bt866: just ident 866 */
V4L2_IDENT_BT866 = 866,
+ /* module bttv: ident 878 + 879 */
+ V4L2_IDENT_BT878 = 878,
+ V4L2_IDENT_BT879 = 879,
+
/* module ks0127: reserved range 1120-1129 */
V4L2_IDENT_KS0122S = 1122,
V4L2_IDENT_KS0127 = 1127,
# devices supported by the linux kernel
#driver table file
-* rc-terratec-slim-2 terratec_slim_2
-* rc-adstech-dvb-t-pci adstech_dvb_t_pci
+* rc-powercolor-real-angel powercolor_real_angel
+* rc-kworld-315u kworld_315u
+* rc-it913x-v2 it913x_v2
+* rc-em-terratec em_terratec
* rc-ati-tv-wonder-hd-600 ati_tv_wonder_hd_600
-* rc-behold-columbus behold_columbus
-* rc-encore-enltv2 encore_enltv2
-* rc-tt-1500 tt_1500
-* rc-tevii-nec tevii_nec
-* rc-eztv eztv
-* rc-iodata-bctv7e iodata_bctv7e
-* rc-pctv-sedna pctv_sedna
+* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro
* rc-pinnacle-pctv-hd pinnacle_pctv_hd
-* rc-total-media-in-hand-02 total_media_in_hand_02
-* rc-hauppauge hauppauge
-* rc-rc6-mce rc6_mce
-* rc-cinergy-1400 cinergy_1400
-* rc-digitalnow-tinytwin digitalnow_tinytwin
-* rc-it913x-v2 it913x_v2
-* rc-budget-ci-old budget_ci_old
-* rc-encore-enltv encore_enltv
-* rc-pixelview-new pixelview_new
-* rc-leadtek-y04g0051 leadtek_y04g0051
-* rc-kaiomy kaiomy
-* rc-digittrade digittrade
-* rc-videomate-k100 videomate_k100
-* rc-msi-tvanywhere-plus msi_tvanywhere_plus
-* rc-avermedia-rm-ks avermedia_rm_ks
-* rc-anysee anysee
-* rc-medion-x10-digitainer medion_x10_digitainer
-* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6
+* rc-nebula nebula
* rc-proteus-2309 proteus_2309
+* rc-asus-ps3-100 asus_ps3_100
+* rc-asus-pc39 asus_pc39
* rc-fusionhdtv-mce fusionhdtv_mce
-* rc-kworld-315u kworld_315u
-* rc-dntv-live-dvb-t dntv_live_dvb_t
-* rc-pixelview pixelview
-* rc-nebula nebula
-* rc-avertv-303 avertv_303
-* rc-imon-pad imon_pad
* rc-avermedia-dvbt avermedia_dvbt
-* rc-gotview7135 gotview7135
-* rc-flydvb flydvb
-* rc-avermedia avermedia
-* rc-pinnacle-grey pinnacle_grey
+* rc-kworld-plus-tv-analog kworld_plus_tv_analog
* rc-purpletv purpletv
-* rc-behold behold
-* rc-dib0700-nec dib0700_nec
-* rc-msi-digivox-iii msi_digivox_iii
+* rc-pv951 pv951
+* rc-encore-enltv encore_enltv
+* rc-medion-x10 medion_x10
+* rc-winfast-usbii-deluxe winfast_usbii_deluxe
+* rc-flydvb flydvb
+* rc-digitalnow-tinytwin digitalnow_tinytwin
* rc-kworld-pc150u kworld_pc150u
-* rc-flyvideo flyvideo
-* rc-alink-dtu-m alink_dtu_m
-* rc-avermedia-a16d avermedia_a16d
+* rc-evga-indtube evga_indtube
+* rc-videomate-s350 videomate_s350
+* rc-avermedia-rm-ks avermedia_rm_ks
+* rc-azurewave-ad-tu700 azurewave_ad_tu700
+* rc-pctv-sedna pctv_sedna
+* rc-it913x-v1 it913x_v1
+* rc-videomate-k100 videomate_k100
+* rc-dm1105-nec dm1105_nec
+* rc-winfast winfast
+* rc-kaiomy kaiomy
+* rc-anysee anysee
+* rc-technisat-usb2 technisat_usb2
+* rc-rc6-mce rc6_mce
* rc-terratec-slim terratec_slim
-* rc-genius-tvgo-a11mce genius_tvgo_a11mce
-* rc-winfast-usbii-deluxe winfast_usbii_deluxe
+* rc-encore-enltv-fm53 encore_enltv_fm53
+* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs
+* rc-gotview7135 gotview7135
+* rc-msi-digivox-ii msi_digivox_ii
* rc-pixelview-mk12 pixelview_mk12
-* rc-streamzap streamzap
-* rc-ati-x10 ati_x10
-* rc-technisat-usb2 technisat_usb2
-* rc-it913x-v1 it913x_v1
-* rc-terratec-cinergy-xs terratec_cinergy_xs
-* rc-avermedia-m135a avermedia_m135a
-* rc-tivo tivo
-* rc-norwood norwood
-* rc-imon-mce imon_mce
-* rc-asus-pc39 asus_pc39
+* rc-budget-ci-old budget_ci_old
* rc-videomate-tv-pvr videomate_tv_pvr
* rc-dib0700-rc5 dib0700_rc5
-* rc-nec-terratec-cinergy-xs nec_terratec_cinergy_xs
-* rc-pixelview-002t pixelview_002t
-* rc-em-terratec em_terratec
-* rc-apac-viewcomp apac_viewcomp
+* rc-flyvideo flyvideo
+* rc-imon-mce imon_mce
* rc-lme2510 lme2510
-* rc-encore-enltv-fm53 encore_enltv_fm53
-* rc-kworld-plus-tv-analog kworld_plus_tv_analog
-* rc-twinhan1027 twinhan_vp1027_dvbs
-* rc-pv951 pv951
+* rc-alink-dtu-m alink_dtu_m
+* rc-leadtek-y04g0051 leadtek_y04g0051
+* rc-pixelview pixelview
+* rc-total-media-in-hand total_media_in_hand
* rc-gadmei-rm008z gadmei_rm008z
-* rc-asus-ps3-100 asus_ps3_100
+* rc-msi-digivox-iii msi_digivox_iii
+* rc-norwood norwood
+* rc-tt-1500 tt_1500
+* rc-avertv-303 avertv_303
* rc-msi-tvanywhere msi_tvanywhere
-* rc-manli manli
+* rc-avermedia-m733a-rm-k6 avermedia_m733a_rm_k6
+* rc-pinnacle-grey pinnacle_grey
+* rc-terratec-slim-2 terratec_slim_2
+* rc-real-audio-220-32-keys real_audio_220_32_keys
+* rc-iodata-bctv7e iodata_bctv7e
+* rc-pinnacle-color pinnacle_color
+* rc-avermedia-m135a avermedia_m135a
+* rc-behold behold
* rc-cinergy cinergy
-* rc-dntv-live-dvbt-pro dntv_live_dvbt_pro
+* rc-apac-viewcomp apac_viewcomp
+* rc-tivo tivo
+* rc-msi-tvanywhere-plus msi_tvanywhere_plus
+* rc-ati-x10 ati_x10
* rc-avermedia-cardbus avermedia_cardbus
-* rc-azurewave-ad-tu700 azurewave_ad_tu700
-* rc-dm1105-nec dm1105_nec
-* rc-winfast winfast
-* rc-videomate-s350 videomate_s350
+* rc-trekstor trekstor
+* rc-terratec-cinergy-xs terratec_cinergy_xs
+* rc-pixelview-002t pixelview_002t
+* rc-manli manli
+* rc-medion-x10-or2x medion_x10_or2x
+* rc-dntv-live-dvb-t dntv_live_dvb_t
+* rc-adstech-dvb-t-pci adstech_dvb_t_pci
* rc-npgtech npgtech
-* rc-powercolor-real-angel powercolor_real_angel
-* rc-total-media-in-hand total_media_in_hand
-* rc-msi-digivox-ii msi_digivox_ii
-* rc-pinnacle-color pinnacle_color
-* rc-real-audio-220-32-keys real_audio_220_32_keys
-* rc-medion-x10 medion_x10
-* rc-snapstream-firefly snapstream_firefly
-* rc-evga-indtube evga_indtube
+* rc-avermedia-a16d avermedia_a16d
+* rc-behold-columbus behold_columbus
+* rc-genius-tvgo-a11mce genius_tvgo_a11mce
+* rc-total-media-in-hand-02 total_media_in_hand_02
+* rc-hauppauge hauppauge
+* rc-streamzap streamzap
+* rc-encore-enltv2 encore_enltv2
* rc-tbs-nec tbs_nec
-* rc-medion-x10-or2x medion_x10_or2x
-* rc-trekstor trekstor
+* rc-twinhan1027 twinhan_vp1027_dvbs
+* rc-snapstream-firefly snapstream_firefly
+* rc-eztv eztv
+* rc-avermedia avermedia
+* rc-digittrade digittrade
+* rc-medion-x10-digitainer medion_x10_digitainer
+* rc-tevii-nec tevii_nec
+* rc-dib0700-nec dib0700_nec
+* rc-pixelview-new pixelview_new
+* rc-cinergy-1400 cinergy_1400
+* rc-imon-pad imon_pad
# * * a800 # found in a800.c
# * * af9005 # found in af9005-remote.c
# * * cinergyt2 # found in cinergyT2-core.c
{ "bt817a", 817 },
{ "bt819a", 819 },
{ "au0828", 828 },
+{ "bt848", 848 },
+{ "bt849", 849 },
{ "bt856", 856 },
{ "bt866", 866 },
+{ "bt878", 878 },
+{ "bt879", 879 },
{ "ks0122s", 1122 },
{ "ks0127", 1127 },
{ "ks0127b", 1128 },