config VIDEO_BT848
	tristate "BT848 Video For Linux"
	depends on VIDEO_DEV && PCI && I2C && VIDEO_V4L2
	select I2C_ALGOBIT
	select VIDEOBUF_DMA_SG
	depends on RC_CORE
	depends on MEDIA_RADIO_SUPPORT
	select VIDEO_TUNER
	select VIDEO_TVEEPROM
	select VIDEO_MSP3400 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TVAUDIO if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_TDA7432 if MEDIA_SUBDRV_AUTOSELECT
	select VIDEO_SAA6588 if MEDIA_SUBDRV_AUTOSELECT
	select RADIO_ADAPTERS
	select RADIO_TEA575X
	---help---
	  Support for BT848 based frame grabber/overlay boards. This includes
	  the Miro, Hauppauge and STB boards. Please read the material in
	  <file:Documentation/video4linux/bttv/> for more information.

	  To compile this driver as a module, choose M here: the
	  module will be called bttv.

config DVB_BT8XX
	tristate "DVB/ATSC Support for bt878 based TV cards"
	depends on DVB_CORE && PCI && I2C && VIDEO_BT848
	select DVB_MT352 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_SP887X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_NXT6000 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_CX24110 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_OR51211 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LGDT330X if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select MEDIA_TUNER_SIMPLE if MEDIA_SUBDRV_AUTOSELECT
	help
	  Support for PCI cards based on the Bt8xx PCI bridge. Examples are
	  the Nebula cards, the Pinnacle PCTV cards, the Twinhan DST cards,
	  the pcHDTV HD2000 cards, the DViCO FusionHDTV Lite cards, and
	  some AVerMedia cards.

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the PCI bus, so you need
	  an external software decoder to watch TV on your computer.

	  Say Y if you own such a device and want to use it.
