mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
media updates for v5.8-rc1
-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAl7XUmwACgkQCF8+vY7k 4RU4zg//fT32wiVAPHCCp+pDZVnWNeipXE1gnpqghd/qZXfzBPiLEC9sPS74VVkA jf1hhR33VZpKAKTPg/b074qhRZBywEOdHZnT/0CEE1oNB61shVOnyDYzLGSq95cO 6V55ovbi5IOkrg0QEJbHpG5YHzt+pq5XeWOkqGNsHwla7N7iMGMVYfHepVVDWPnZ 0wGYFF9cAJP+X/uxqkZLDVMA/K1I+QKh6vrj/qx53/eRt8VID3+i8ig3guk4PlUq 7RLw5w/CywtNaGE5zaz7T3i2eoED71JHOTXi6RxdP1z8IDvELZ9mT95GQ+enlwqt AS6Ju1sV40wviHMv5prJWQjJkrrtYH3S907lIjwBpQLNGbh2+5crCd/6CwumkGgv 1cCZ1dVmXpCe++9mU9AXmSkjsjGPStNcmHMOpc1Pwn9jUV3LQOOSDp8+RYdt1WHU Iw9cyM8NOpz5Mv/B1/ZPQ1gPb9lr1gE09XyUekxtAI/nl4nNHGWO8QDuX7Odfrv9 8nfo14lk/p6XCTA8dsWJCgI5B1fgnqD4frHKWO9Uctppc/KBW41c8JpQUjBNlG/T MhtlGwYMVgSQxpQ6wK018JUAFoWkn1Sr0zMKRayqCnMjMLHsaMwE6kq+LgmRBqbB ersKV/9ZLYqCU1d6PhEVG6xUs6GsWdLcyhALlmHsddPSdpFXdf8= =KNAo -----END PGP SIGNATURE----- Merge tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - Media documentation is now split into admin-guide, driver-api and userspace-api books (a longstanding request from Jon); - The media Kconfig was reorganized, in order to make easier to select drivers and their dependencies; - The testing drivers now has a separate directory; - added a new driver for Rockchip Video Decoder IP; - The atomisp staging driver was resurrected. It is meant to work with 4 generations of cameras on Atom-based laptops, tablets and cell phones. So, it seems worth investing time to cleanup this driver and making it in good shape. - Added some V4L2 core ancillary routines to help with h264 codecs; - Added an ov2740 image sensor driver; - The si2157 gained support for Analog TV, which, in turn, added support for some cx231xx and cx23885 boards to also support analog standards; - Added some V4L2 controls (V4L2_CID_CAMERA_ORIENTATION and V4L2_CID_CAMERA_SENSOR_ROTATION) to help identifying where the camera is located at the device; - VIDIOC_ENUM_FMT was extended to support MC-centric devices; - Lots of drivers improvements and cleanups. * tag 'media/v5.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (503 commits) media: Documentation: media: Refer to mbus format documentation from CSI-2 docs media: s5k5baf: Replace zero-length array with flexible-array media: i2c: imx219: Drop <linux/clk-provider.h> and <linux/clkdev.h> media: i2c: Add ov2740 image sensor driver media: ov8856: Implement sensor module revision identification media: ov8856: Add devicetree support media: dt-bindings: ov8856: Document YAML bindings media: dvb-usb: Add Cinergy S2 PCIe Dual Port support media: dvbdev: Fix tuner->demod media controller link media: dt-bindings: phy: phy-rockchip-dphy-rx0: move rockchip dphy rx0 bindings out of staging media: staging: dt-bindings: phy-rockchip-dphy-rx0: remove non-used reg property media: atomisp: unify the version for isp2401 a0 and b0 versions media: atomisp: update TODO with the current data media: atomisp: adjust some code at sh_css that could be broken media: atomisp: don't produce errs for ignored IRQs media: atomisp: print IRQ when debugging media: atomisp: isp_mmu: don't use kmem_cache media: atomisp: add a notice about possible leak resources media: atomisp: disable the dynamic and reserved pools media: atomisp: turn on camera before setting it ...
This commit is contained in:
commit
a98f670e41
1698 changed files with 161922 additions and 7301 deletions
|
@ -93,6 +93,7 @@ configure specific aspects of kernel behavior to your liking.
|
|||
lockup-watchdogs
|
||||
LSM/index
|
||||
md
|
||||
media/index
|
||||
mm/index
|
||||
module-signing
|
||||
mono
|
||||
|
|
|
@ -458,7 +458,7 @@
|
|||
bttv.card= [HW,V4L] bttv (bt848 + bt878 based grabber cards)
|
||||
bttv.radio= Most important insmod options are available as
|
||||
kernel args too.
|
||||
bttv.pll= See Documentation/media/v4l-drivers/bttv.rst
|
||||
bttv.pll= See Documentation/admin-guide/media/bttv.rst
|
||||
bttv.tuner=
|
||||
|
||||
bulk_remove=off [PPC] This parameter disables the use of the pSeries
|
||||
|
@ -2746,7 +2746,7 @@
|
|||
See Documentation/admin-guide/pm/sleep-states.rst.
|
||||
|
||||
meye.*= [HW] Set MotionEye Camera parameters
|
||||
See Documentation/media/v4l-drivers/meye.rst.
|
||||
See Documentation/admin-guide/media/meye.rst.
|
||||
|
||||
mfgpt_irq= [IA-32] Specify the IRQ to use for the
|
||||
Multi-Function General Purpose Timers on AMD Geode
|
||||
|
|
39
Documentation/admin-guide/media/au0828-cardlist.rst
Normal file
39
Documentation/admin-guide/media/au0828-cardlist.rst
Normal file
|
@ -0,0 +1,39 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
AU0828 cards list
|
||||
=================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{6.5cm}|p{10.0cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- USB IDs
|
||||
|
||||
* - 0
|
||||
- Unknown board
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Hauppauge HVR950Q
|
||||
- 2040:7200, 2040:7210, 2040:7217, 2040:721b, 2040:721e, 2040:721f, 2040:7280, 0fd9:0008, 2040:7260, 2040:7213, 2040:7270
|
||||
|
||||
* - 2
|
||||
- Hauppauge HVR850
|
||||
- 2040:7240
|
||||
|
||||
* - 3
|
||||
- DViCO FusionHDTV USB
|
||||
- 0fe9:d620
|
||||
|
||||
* - 4
|
||||
- Hauppauge HVR950Q rev xxF8
|
||||
- 2040:7201, 2040:7211, 2040:7281
|
||||
|
||||
* - 5
|
||||
- Hauppauge Woodbury
|
||||
- 05e1:0480, 2040:8200
|
94
Documentation/admin-guide/media/avermedia.rst
Normal file
94
Documentation/admin-guide/media/avermedia.rst
Normal file
|
@ -0,0 +1,94 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================
|
||||
Avermedia DVB-T on BT878 Release Notes
|
||||
======================================
|
||||
|
||||
February 14th 2006
|
||||
|
||||
.. note::
|
||||
|
||||
Several other Avermedia devices are supported. For a more
|
||||
broader and updated content about that, please check:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/AVerMedia
|
||||
|
||||
The Avermedia DVB-T
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Avermedia DVB-T is a budget PCI DVB card. It has 3 inputs:
|
||||
|
||||
* RF Tuner Input
|
||||
* Composite Video Input (RCA Jack)
|
||||
* SVIDEO Input (Mini-DIN)
|
||||
|
||||
The RF Tuner Input is the input to the tuner module of the
|
||||
card. The Tuner is otherwise known as the "Frontend" . The
|
||||
Frontend of the Avermedia DVB-T is a Microtune 7202D. A timely
|
||||
post to the linux-dvb mailing list ascertained that the
|
||||
Microtune 7202D is supported by the sp887x driver which is
|
||||
found in the dvb-hw CVS module.
|
||||
|
||||
The DVB-T card is based around the BT878 chip which is a very
|
||||
common multimedia bridge and often found on Analogue TV cards.
|
||||
There is no on-board MPEG2 decoder, which means that all MPEG2
|
||||
decoding must be done in software, or if you have one, on an
|
||||
MPEG2 hardware decoding card or chipset.
|
||||
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At this stage, it has not been able to ascertain the
|
||||
functionality of the remaining device nodes in respect of the
|
||||
Avermedia DVBT. However, full functionality in respect of
|
||||
tuning, receiving and supplying the MPEG2 data stream is
|
||||
possible with the currently available versions of the driver.
|
||||
It may be possible that additional functionality is available
|
||||
from the card (i.e. viewing the additional analogue inputs
|
||||
that the card presents), but this has not been tested yet. If
|
||||
I get around to this, I'll update the document with whatever I
|
||||
find.
|
||||
|
||||
To power up the card, load the following modules in the
|
||||
following order:
|
||||
|
||||
* modprobe bttv (normally loaded automatically)
|
||||
* modprobe dvb-bt8xx (or place dvb-bt8xx in /etc/modules)
|
||||
|
||||
Insertion of these modules into the running kernel will
|
||||
activate the appropriate DVB device nodes. It is then possible
|
||||
to start accessing the card with utilities such as scan, tzap,
|
||||
dvbstream etc.
|
||||
|
||||
The frontend module sp887x.o, requires an external firmware.
|
||||
Please use the command "get_dvb_firmware sp887x" to download
|
||||
it. Then copy it to /usr/lib/hotplug/firmware or /lib/firmware/
|
||||
(depending on configuration of firmware hotplug).
|
||||
|
||||
Known Limitations
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present I can say with confidence that the frontend tunes
|
||||
via /dev/dvb/adapter{x}/frontend0 and supplies an MPEG2 stream
|
||||
via /dev/dvb/adapter{x}/dvr0. I have not tested the
|
||||
functionality of any other part of the card yet. I will do so
|
||||
over time and update this document.
|
||||
|
||||
There are some limitations in the i2c layer due to a returned
|
||||
error message inconsistency. Although this generates errors in
|
||||
dmesg and the system logs, it does not appear to affect the
|
||||
ability of the frontend to function correctly.
|
||||
|
||||
Further Update
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
dvbstream and VideoLAN Client on windows works a treat with
|
||||
DVB, in fact this is currently serving as my main way of
|
||||
viewing DVB-T at the moment. Additionally, VLC is happily
|
||||
decoding HDTV signals, although the PC is dropping the odd
|
||||
frame here and there - I assume due to processing capability -
|
||||
as all the decoding is being done under windows in software.
|
||||
|
||||
Many thanks to Nigel Pearson for the updates to this document
|
||||
since the recent revision of the driver.
|
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
156
Documentation/admin-guide/media/bt8xx.rst
Normal file
|
@ -0,0 +1,156 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==================================
|
||||
How to get the bt8xx cards working
|
||||
==================================
|
||||
|
||||
Authors:
|
||||
Richard Walker,
|
||||
Jamie Honan,
|
||||
Michael Hunold,
|
||||
Manu Abraham,
|
||||
Uwe Bugla,
|
||||
Michael Krufky
|
||||
|
||||
General information
|
||||
-------------------
|
||||
|
||||
This class of cards has a bt878a as the PCI interface, and require the bttv driver
|
||||
for accessing the i2c bus and the gpio pins of the bt8xx chipset.
|
||||
|
||||
Please see :doc:`bttv-cardlist` for a complete list of Cards based on the
|
||||
Conexant Bt8xx PCI bridge supported by the Linux Kernel.
|
||||
|
||||
In order to be able to compile the kernel, some config options should be
|
||||
enabled::
|
||||
|
||||
./scripts/config -e PCI
|
||||
./scripts/config -e INPUT
|
||||
./scripts/config -m I2C
|
||||
./scripts/config -m MEDIA_SUPPORT
|
||||
./scripts/config -e MEDIA_PCI_SUPPORT
|
||||
./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_RADIO_SUPPORT
|
||||
./scripts/config -e RC_CORE
|
||||
./scripts/config -m VIDEO_BT848
|
||||
./scripts/config -m DVB_BT8XX
|
||||
|
||||
If you want to automatically support all possible variants of the Bt8xx
|
||||
cards, you should also do::
|
||||
|
||||
./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
|
||||
|
||||
.. note::
|
||||
|
||||
Please use the following options with care as deselection of drivers which
|
||||
are in fact necessary may result in DVB devices that cannot be tuned due
|
||||
to lack of driver support.
|
||||
|
||||
If your goal is to just support an specific board, you may, instead,
|
||||
disable MEDIA_SUBDRV_AUTOSELECT and manually select the frontend drivers
|
||||
required by your board. With that, you can save some RAM.
|
||||
|
||||
You can do that by calling make xconfig/qconfig/menuconfig and look at
|
||||
the options on those menu options (only enabled if
|
||||
``Autoselect ancillary drivers`` is disabled:
|
||||
|
||||
#) ``Device drivers`` => ``Multimedia support`` => ``Customize TV tuners``
|
||||
#) ``Device drivers`` => ``Multimedia support`` => ``Customize DVB frontends``
|
||||
|
||||
Then, on each of the above menu, please select your card-specific
|
||||
frontend and tuner modules.
|
||||
|
||||
|
||||
Loading Modules
|
||||
---------------
|
||||
|
||||
Regular case: If the bttv driver detects a bt8xx-based DVB card, all
|
||||
frontend and backend modules will be loaded automatically.
|
||||
|
||||
Exceptions are:
|
||||
|
||||
- Old TV cards without EEPROMs, sharing a common PCI subsystem ID;
|
||||
- Old TwinHan DST cards or clones with or without CA slot and not
|
||||
containing an Eeprom.
|
||||
|
||||
In the following cases overriding the PCI type detection for bttv and
|
||||
for dvb-bt8xx drivers by passing modprobe parameters may be necessary.
|
||||
|
||||
Running TwinHan and Clones
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
As shown at :doc:`bttv-cardlist`, TwinHan and
|
||||
clones use ``card=113`` modprobe parameter. So, in order to properly
|
||||
detect it for devices without EEPROM, you should use::
|
||||
|
||||
$ modprobe bttv card=113
|
||||
$ modprobe dst
|
||||
|
||||
Useful parameters for verbosity level and debugging the dst module::
|
||||
|
||||
verbose=0: messages are disabled
|
||||
1: only error messages are displayed
|
||||
2: notifications are displayed
|
||||
3: other useful messages are displayed
|
||||
4: debug setting
|
||||
dst_addons=0: card is a free to air (FTA) card only
|
||||
0x20: card has a conditional access slot for scrambled channels
|
||||
dst_algo=0: (default) Software tuning algorithm
|
||||
1: Hardware tuning algorithm
|
||||
|
||||
|
||||
The autodetected values are determined by the cards' "response string".
|
||||
|
||||
In your logs see f. ex.: dst_get_device_id: Recognize [DSTMCI].
|
||||
|
||||
For bug reports please send in a complete log with verbose=4 activated.
|
||||
Please also see :doc:`ci`.
|
||||
|
||||
Running multiple cards
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
See :doc:`bttv-cardlist` for a complete list of
|
||||
Card ID. Some examples:
|
||||
|
||||
=========================== ===
|
||||
Brand name ID
|
||||
=========================== ===
|
||||
Pinnacle PCTV Sat 94
|
||||
Nebula Electronics Digi TV 104
|
||||
pcHDTV HD-2000 TV 112
|
||||
Twinhan DST and clones 113
|
||||
Avermedia AverTV DVB-T 77: 123
|
||||
Avermedia AverTV DVB-T 761 124
|
||||
DViCO FusionHDTV DVB-T Lite 128
|
||||
DViCO FusionHDTV 5 Lite 135
|
||||
=========================== ===
|
||||
|
||||
.. note::
|
||||
|
||||
When you have multiple cards, the order of the card ID should
|
||||
match the order where they're detected by the system. Please notice
|
||||
that removing/inserting other PCI cards may change the detection
|
||||
order.
|
||||
|
||||
Example::
|
||||
|
||||
$ modprobe bttv card=113 card=135
|
||||
|
||||
In case of further problems please subscribe and send questions to
|
||||
the mailing list: linux-media@vger.kernel.org.
|
||||
|
||||
Probing the cards with broken PCI subsystem ID
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
There are some TwinHan cards whose EEPROM has become corrupted for some
|
||||
reason. The cards do not have a correct PCI subsystem ID.
|
||||
Still, it is possible to force probing the cards with::
|
||||
|
||||
$ echo 109e 0878 $subvendor $subdevice > \
|
||||
/sys/bus/pci/drivers/bt878/new_id
|
||||
|
||||
The two numbers there are::
|
||||
|
||||
109e: PCI_VENDOR_ID_BROOKTREE
|
||||
0878: PCI_DEVICE_ID_BROOKTREE_878
|
683
Documentation/admin-guide/media/bttv-cardlist.rst
Normal file
683
Documentation/admin-guide/media/bttv-cardlist.rst
Normal file
|
@ -0,0 +1,683 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
BTTV cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- *** UNKNOWN/GENERIC ***
|
||||
-
|
||||
|
||||
* - 1
|
||||
- MIRO PCTV
|
||||
-
|
||||
|
||||
* - 2
|
||||
- Hauppauge (bt848)
|
||||
-
|
||||
|
||||
* - 3
|
||||
- STB, Gateway P/N 6000699 (bt848)
|
||||
-
|
||||
|
||||
* - 4
|
||||
- Intel Create and Share PCI/ Smart Video Recorder III
|
||||
-
|
||||
|
||||
* - 5
|
||||
- Diamond DTV2000
|
||||
-
|
||||
|
||||
* - 6
|
||||
- AVerMedia TVPhone
|
||||
-
|
||||
|
||||
* - 7
|
||||
- MATRIX-Vision MV-Delta
|
||||
-
|
||||
|
||||
* - 8
|
||||
- Lifeview FlyVideo II (Bt848) LR26 / MAXI TV Video PCI2 LR26
|
||||
-
|
||||
|
||||
* - 9
|
||||
- IMS/IXmicro TurboTV
|
||||
-
|
||||
|
||||
* - 10
|
||||
- Hauppauge (bt878)
|
||||
- 0070:13eb, 0070:3900, 2636:10b4
|
||||
|
||||
* - 11
|
||||
- MIRO PCTV pro
|
||||
-
|
||||
|
||||
* - 12
|
||||
- ADS Technologies Channel Surfer TV (bt848)
|
||||
-
|
||||
|
||||
* - 13
|
||||
- AVerMedia TVCapture 98
|
||||
- 1461:0002, 1461:0004, 1461:0300
|
||||
|
||||
* - 14
|
||||
- Aimslab Video Highway Xtreme (VHX)
|
||||
-
|
||||
|
||||
* - 15
|
||||
- Zoltrix TV-Max
|
||||
- a1a0:a0fc
|
||||
|
||||
* - 16
|
||||
- Prolink Pixelview PlayTV (bt878)
|
||||
-
|
||||
|
||||
* - 17
|
||||
- Leadtek WinView 601
|
||||
-
|
||||
|
||||
* - 18
|
||||
- AVEC Intercapture
|
||||
-
|
||||
|
||||
* - 19
|
||||
- Lifeview FlyVideo II EZ /FlyKit LR38 Bt848 (capture only)
|
||||
-
|
||||
|
||||
* - 20
|
||||
- CEI Raffles Card
|
||||
-
|
||||
|
||||
* - 21
|
||||
- Lifeview FlyVideo 98/ Lucky Star Image World ConferenceTV LR50
|
||||
-
|
||||
|
||||
* - 22
|
||||
- Askey CPH050/ Phoebe Tv Master + FM
|
||||
- 14ff:3002
|
||||
|
||||
* - 23
|
||||
- Modular Technology MM201/MM202/MM205/MM210/MM215 PCTV, bt878
|
||||
- 14c7:0101
|
||||
|
||||
* - 24
|
||||
- Askey CPH05X/06X (bt878) [many vendors]
|
||||
- 144f:3002, 144f:3005, 144f:5000, 14ff:3000
|
||||
|
||||
* - 25
|
||||
- Terratec TerraTV+ Version 1.0 (Bt848)/ Terra TValue Version 1.0/ Vobis TV-Boostar
|
||||
-
|
||||
|
||||
* - 26
|
||||
- Hauppauge WinCam newer (bt878)
|
||||
-
|
||||
|
||||
* - 27
|
||||
- Lifeview FlyVideo 98/ MAXI TV Video PCI2 LR50
|
||||
-
|
||||
|
||||
* - 28
|
||||
- Terratec TerraTV+ Version 1.1 (bt878)
|
||||
- 153b:1127, 1852:1852
|
||||
|
||||
* - 29
|
||||
- Imagenation PXC200
|
||||
- 1295:200a
|
||||
|
||||
* - 30
|
||||
- Lifeview FlyVideo 98 LR50
|
||||
- 1f7f:1850
|
||||
|
||||
* - 31
|
||||
- Formac iProTV, Formac ProTV I (bt848)
|
||||
-
|
||||
|
||||
* - 32
|
||||
- Intel Create and Share PCI/ Smart Video Recorder III
|
||||
-
|
||||
|
||||
* - 33
|
||||
- Terratec TerraTValue Version Bt878
|
||||
- 153b:1117, 153b:1118, 153b:1119, 153b:111a, 153b:1134, 153b:5018
|
||||
|
||||
* - 34
|
||||
- Leadtek WinFast 2000/ WinFast 2000 XP
|
||||
- 107d:6606, 107d:6609, 6606:217d, f6ff:fff6
|
||||
|
||||
* - 35
|
||||
- Lifeview FlyVideo 98 LR50 / Chronos Video Shuttle II
|
||||
- 1851:1850, 1851:a050
|
||||
|
||||
* - 36
|
||||
- Lifeview FlyVideo 98FM LR50 / Typhoon TView TV/FM Tuner
|
||||
- 1852:1852
|
||||
|
||||
* - 37
|
||||
- Prolink PixelView PlayTV pro
|
||||
-
|
||||
|
||||
* - 38
|
||||
- Askey CPH06X TView99
|
||||
- 144f:3000, 144f:a005, a04f:a0fc
|
||||
|
||||
* - 39
|
||||
- Pinnacle PCTV Studio/Rave
|
||||
- 11bd:0012, bd11:1200, bd11:ff00, 11bd:ff12
|
||||
|
||||
* - 40
|
||||
- STB TV PCI FM, Gateway P/N 6000704 (bt878), 3Dfx VoodooTV 100
|
||||
- 10b4:2636, 10b4:2645, 121a:3060
|
||||
|
||||
* - 41
|
||||
- AVerMedia TVPhone 98
|
||||
- 1461:0001, 1461:0003
|
||||
|
||||
* - 42
|
||||
- ProVideo PV951
|
||||
- aa0c:146c
|
||||
|
||||
* - 43
|
||||
- Little OnAir TV
|
||||
-
|
||||
|
||||
* - 44
|
||||
- Sigma TVII-FM
|
||||
-
|
||||
|
||||
* - 45
|
||||
- MATRIX-Vision MV-Delta 2
|
||||
-
|
||||
|
||||
* - 46
|
||||
- Zoltrix Genie TV/FM
|
||||
- 15b0:4000, 15b0:400a, 15b0:400d, 15b0:4010, 15b0:4016
|
||||
|
||||
* - 47
|
||||
- Terratec TV/Radio+
|
||||
- 153b:1123
|
||||
|
||||
* - 48
|
||||
- Askey CPH03x/ Dynalink Magic TView
|
||||
-
|
||||
|
||||
* - 49
|
||||
- IODATA GV-BCTV3/PCI
|
||||
- 10fc:4020
|
||||
|
||||
* - 50
|
||||
- Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP
|
||||
-
|
||||
|
||||
* - 51
|
||||
- Eagle Wireless Capricorn2 (bt878A)
|
||||
-
|
||||
|
||||
* - 52
|
||||
- Pinnacle PCTV Studio Pro
|
||||
-
|
||||
|
||||
* - 53
|
||||
- Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS
|
||||
-
|
||||
|
||||
* - 54
|
||||
- Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90]
|
||||
-
|
||||
|
||||
* - 55
|
||||
- Askey CPH031/ BESTBUY Easy TV
|
||||
-
|
||||
|
||||
* - 56
|
||||
- Lifeview FlyVideo 98FM LR50
|
||||
- a051:41a0
|
||||
|
||||
* - 57
|
||||
- GrandTec 'Grand Video Capture' (Bt848)
|
||||
- 4344:4142
|
||||
|
||||
* - 58
|
||||
- Askey CPH060/ Phoebe TV Master Only (No FM)
|
||||
-
|
||||
|
||||
* - 59
|
||||
- Askey CPH03x TV Capturer
|
||||
-
|
||||
|
||||
* - 60
|
||||
- Modular Technology MM100PCTV
|
||||
-
|
||||
|
||||
* - 61
|
||||
- AG Electronics GMV1
|
||||
- 15cb:0101
|
||||
|
||||
* - 62
|
||||
- Askey CPH061/ BESTBUY Easy TV (bt878)
|
||||
-
|
||||
|
||||
* - 63
|
||||
- ATI TV-Wonder
|
||||
- 1002:0001
|
||||
|
||||
* - 64
|
||||
- ATI TV-Wonder VE
|
||||
- 1002:0003
|
||||
|
||||
* - 65
|
||||
- Lifeview FlyVideo 2000S LR90
|
||||
-
|
||||
|
||||
* - 66
|
||||
- Terratec TValueRadio
|
||||
- 153b:1135, 153b:ff3b
|
||||
|
||||
* - 67
|
||||
- IODATA GV-BCTV4/PCI
|
||||
- 10fc:4050
|
||||
|
||||
* - 68
|
||||
- 3Dfx VoodooTV FM (Euro)
|
||||
- 10b4:2637
|
||||
|
||||
* - 69
|
||||
- Active Imaging AIMMS
|
||||
-
|
||||
|
||||
* - 70
|
||||
- Prolink Pixelview PV-BT878P+ (Rev.4C,8E)
|
||||
-
|
||||
|
||||
* - 71
|
||||
- Lifeview FlyVideo 98EZ (capture only) LR51
|
||||
- 1851:1851
|
||||
|
||||
* - 72
|
||||
- Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)
|
||||
- 1554:4011
|
||||
|
||||
* - 73
|
||||
- Sensoray 311/611
|
||||
- 6000:0311, 6000:0611
|
||||
|
||||
* - 74
|
||||
- RemoteVision MX (RV605)
|
||||
-
|
||||
|
||||
* - 75
|
||||
- Powercolor MTV878/ MTV878R/ MTV878F
|
||||
-
|
||||
|
||||
* - 76
|
||||
- Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)
|
||||
- 0e11:0079
|
||||
|
||||
* - 77
|
||||
- GrandTec Multi Capture Card (Bt878)
|
||||
-
|
||||
|
||||
* - 78
|
||||
- Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF
|
||||
- 0a01:17de
|
||||
|
||||
* - 79
|
||||
- DSP Design TCVIDEO
|
||||
-
|
||||
|
||||
* - 80
|
||||
- Hauppauge WinTV PVR
|
||||
- 0070:4500
|
||||
|
||||
* - 81
|
||||
- IODATA GV-BCTV5/PCI
|
||||
- 10fc:4070, 10fc:d018
|
||||
|
||||
* - 82
|
||||
- Osprey 100/150 (878)
|
||||
- 0070:ff00
|
||||
|
||||
* - 83
|
||||
- Osprey 100/150 (848)
|
||||
-
|
||||
|
||||
* - 84
|
||||
- Osprey 101 (848)
|
||||
-
|
||||
|
||||
* - 85
|
||||
- Osprey 101/151
|
||||
-
|
||||
|
||||
* - 86
|
||||
- Osprey 101/151 w/ svid
|
||||
-
|
||||
|
||||
* - 87
|
||||
- Osprey 200/201/250/251
|
||||
-
|
||||
|
||||
* - 88
|
||||
- Osprey 200/250
|
||||
- 0070:ff01
|
||||
|
||||
* - 89
|
||||
- Osprey 210/220/230
|
||||
-
|
||||
|
||||
* - 90
|
||||
- Osprey 500
|
||||
- 0070:ff02
|
||||
|
||||
* - 91
|
||||
- Osprey 540
|
||||
- 0070:ff04
|
||||
|
||||
* - 92
|
||||
- Osprey 2000
|
||||
- 0070:ff03
|
||||
|
||||
* - 93
|
||||
- IDS Eagle
|
||||
-
|
||||
|
||||
* - 94
|
||||
- Pinnacle PCTV Sat
|
||||
- 11bd:001c
|
||||
|
||||
* - 95
|
||||
- Formac ProTV II (bt878)
|
||||
-
|
||||
|
||||
* - 96
|
||||
- MachTV
|
||||
-
|
||||
|
||||
* - 97
|
||||
- Euresys Picolo
|
||||
-
|
||||
|
||||
* - 98
|
||||
- ProVideo PV150
|
||||
- aa00:1460, aa01:1461, aa02:1462, aa03:1463, aa04:1464, aa05:1465, aa06:1466, aa07:1467
|
||||
|
||||
* - 99
|
||||
- AD-TVK503
|
||||
-
|
||||
|
||||
* - 100
|
||||
- Hercules Smart TV Stereo
|
||||
-
|
||||
|
||||
* - 101
|
||||
- Pace TV & Radio Card
|
||||
-
|
||||
|
||||
* - 102
|
||||
- IVC-200
|
||||
- 0000:a155, 0001:a155, 0002:a155, 0003:a155, 0100:a155, 0101:a155, 0102:a155, 0103:a155, 0800:a155, 0801:a155, 0802:a155, 0803:a155
|
||||
|
||||
* - 103
|
||||
- Grand X-Guard / Trust 814PCI
|
||||
- 0304:0102
|
||||
|
||||
* - 104
|
||||
- Nebula Electronics DigiTV
|
||||
- 0071:0101
|
||||
|
||||
* - 105
|
||||
- ProVideo PV143
|
||||
- aa00:1430, aa00:1431, aa00:1432, aa00:1433, aa03:1433
|
||||
|
||||
* - 106
|
||||
- PHYTEC VD-009-X1 VD-011 MiniDIN (bt878)
|
||||
-
|
||||
|
||||
* - 107
|
||||
- PHYTEC VD-009-X1 VD-011 Combi (bt878)
|
||||
-
|
||||
|
||||
* - 108
|
||||
- PHYTEC VD-009 MiniDIN (bt878)
|
||||
-
|
||||
|
||||
* - 109
|
||||
- PHYTEC VD-009 Combi (bt878)
|
||||
-
|
||||
|
||||
* - 110
|
||||
- IVC-100
|
||||
- ff00:a132
|
||||
|
||||
* - 111
|
||||
- IVC-120G
|
||||
- ff00:a182, ff01:a182, ff02:a182, ff03:a182, ff04:a182, ff05:a182, ff06:a182, ff07:a182, ff08:a182, ff09:a182, ff0a:a182, ff0b:a182, ff0c:a182, ff0d:a182, ff0e:a182, ff0f:a182
|
||||
|
||||
* - 112
|
||||
- pcHDTV HD-2000 TV
|
||||
- 7063:2000
|
||||
|
||||
* - 113
|
||||
- Twinhan DST + clones
|
||||
- 11bd:0026, 1822:0001, 270f:fc00, 1822:0026
|
||||
|
||||
* - 114
|
||||
- Winfast VC100
|
||||
- 107d:6607
|
||||
|
||||
* - 115
|
||||
- Teppro TEV-560/InterVision IV-560
|
||||
-
|
||||
|
||||
* - 116
|
||||
- SIMUS GVC1100
|
||||
- aa6a:82b2
|
||||
|
||||
* - 117
|
||||
- NGS NGSTV+
|
||||
-
|
||||
|
||||
* - 118
|
||||
- LMLBT4
|
||||
-
|
||||
|
||||
* - 119
|
||||
- Tekram M205 PRO
|
||||
-
|
||||
|
||||
* - 120
|
||||
- Conceptronic CONTVFMi
|
||||
-
|
||||
|
||||
* - 121
|
||||
- Euresys Picolo Tetra
|
||||
- 1805:0105, 1805:0106, 1805:0107, 1805:0108
|
||||
|
||||
* - 122
|
||||
- Spirit TV Tuner
|
||||
-
|
||||
|
||||
* - 123
|
||||
- AVerMedia AVerTV DVB-T 771
|
||||
- 1461:0771
|
||||
|
||||
* - 124
|
||||
- AverMedia AverTV DVB-T 761
|
||||
- 1461:0761
|
||||
|
||||
* - 125
|
||||
- MATRIX Vision Sigma-SQ
|
||||
-
|
||||
|
||||
* - 126
|
||||
- MATRIX Vision Sigma-SLC
|
||||
-
|
||||
|
||||
* - 127
|
||||
- APAC Viewcomp 878(AMAX)
|
||||
-
|
||||
|
||||
* - 128
|
||||
- DViCO FusionHDTV DVB-T Lite
|
||||
- 18ac:db10, 18ac:db11
|
||||
|
||||
* - 129
|
||||
- V-Gear MyVCD
|
||||
-
|
||||
|
||||
* - 130
|
||||
- Super TV Tuner
|
||||
-
|
||||
|
||||
* - 131
|
||||
- Tibet Systems 'Progress DVR' CS16
|
||||
-
|
||||
|
||||
* - 132
|
||||
- Kodicom 4400R (master)
|
||||
-
|
||||
|
||||
* - 133
|
||||
- Kodicom 4400R (slave)
|
||||
-
|
||||
|
||||
* - 134
|
||||
- Adlink RTV24
|
||||
-
|
||||
|
||||
* - 135
|
||||
- DViCO FusionHDTV 5 Lite
|
||||
- 18ac:d500
|
||||
|
||||
* - 136
|
||||
- Acorp Y878F
|
||||
- 9511:1540
|
||||
|
||||
* - 137
|
||||
- Conceptronic CTVFMi v2
|
||||
- 036e:109e
|
||||
|
||||
* - 138
|
||||
- Prolink Pixelview PV-BT878P+ (Rev.2E)
|
||||
-
|
||||
|
||||
* - 139
|
||||
- Prolink PixelView PlayTV MPEG2 PV-M4900
|
||||
-
|
||||
|
||||
* - 140
|
||||
- Osprey 440
|
||||
- 0070:ff07
|
||||
|
||||
* - 141
|
||||
- Asound Skyeye PCTV
|
||||
-
|
||||
|
||||
* - 142
|
||||
- Sabrent TV-FM (bttv version)
|
||||
-
|
||||
|
||||
* - 143
|
||||
- Hauppauge ImpactVCB (bt878)
|
||||
- 0070:13eb
|
||||
|
||||
* - 144
|
||||
- MagicTV
|
||||
-
|
||||
|
||||
* - 145
|
||||
- SSAI Security Video Interface
|
||||
- 4149:5353
|
||||
|
||||
* - 146
|
||||
- SSAI Ultrasound Video Interface
|
||||
- 414a:5353
|
||||
|
||||
* - 147
|
||||
- VoodooTV 200 (USA)
|
||||
- 121a:3000
|
||||
|
||||
* - 148
|
||||
- DViCO FusionHDTV 2
|
||||
- dbc0:d200
|
||||
|
||||
* - 149
|
||||
- Typhoon TV-Tuner PCI (50684)
|
||||
-
|
||||
|
||||
* - 150
|
||||
- Geovision GV-600
|
||||
- 008a:763c
|
||||
|
||||
* - 151
|
||||
- Kozumi KTV-01C
|
||||
-
|
||||
|
||||
* - 152
|
||||
- Encore ENL TV-FM-2
|
||||
- 1000:1801
|
||||
|
||||
* - 153
|
||||
- PHYTEC VD-012 (bt878)
|
||||
-
|
||||
|
||||
* - 154
|
||||
- PHYTEC VD-012-X1 (bt878)
|
||||
-
|
||||
|
||||
* - 155
|
||||
- PHYTEC VD-012-X2 (bt878)
|
||||
-
|
||||
|
||||
* - 156
|
||||
- IVCE-8784
|
||||
- 0000:f050, 0001:f050, 0002:f050, 0003:f050
|
||||
|
||||
* - 157
|
||||
- Geovision GV-800(S) (master)
|
||||
- 800a:763d
|
||||
|
||||
* - 158
|
||||
- Geovision GV-800(S) (slave)
|
||||
- 800b:763d, 800c:763d, 800d:763d
|
||||
|
||||
* - 159
|
||||
- ProVideo PV183
|
||||
- 1830:1540, 1831:1540, 1832:1540, 1833:1540, 1834:1540, 1835:1540, 1836:1540, 1837:1540
|
||||
|
||||
* - 160
|
||||
- Tongwei Video Technology TD-3116
|
||||
- f200:3116
|
||||
|
||||
* - 161
|
||||
- Aposonic W-DVR
|
||||
- 0279:0228
|
||||
|
||||
* - 162
|
||||
- Adlink MPG24
|
||||
-
|
||||
|
||||
* - 163
|
||||
- Bt848 Capture 14MHz
|
||||
-
|
||||
|
||||
* - 164
|
||||
- CyberVision CV06 (SV)
|
||||
-
|
||||
|
||||
* - 165
|
||||
- Kworld V-Stream Xpert TV PVR878
|
||||
-
|
||||
|
||||
* - 166
|
||||
- PCI-8604PW
|
||||
-
|
1761
Documentation/admin-guide/media/bttv.rst
Normal file
1761
Documentation/admin-guide/media/bttv.rst
Normal file
File diff suppressed because it is too large
Load diff
357
Documentation/admin-guide/media/building.rst
Normal file
357
Documentation/admin-guide/media/building.rst
Normal file
|
@ -0,0 +1,357 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
===================================
|
||||
Building support for a media device
|
||||
===================================
|
||||
|
||||
The first step is to download the Kernel's source code, either via a
|
||||
distribution-specific source file or via the Kernel's main git tree\ [1]_.
|
||||
|
||||
Please notice, however, that, if:
|
||||
|
||||
- you're a braveheart and want to experiment with new stuff;
|
||||
- if you want to report a bug;
|
||||
- if you're developing new patches
|
||||
|
||||
you should use the main media development tree ``master`` branch:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
In this case, you may find some useful information at the
|
||||
`LinuxTv wiki pages <https://linuxtv.org/wiki>`_:
|
||||
|
||||
https://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
|
||||
|
||||
.. [1] The upstream Linux Kernel development tree is located at
|
||||
|
||||
https://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/
|
||||
|
||||
Configuring the Linux Kernel
|
||||
============================
|
||||
|
||||
You can access a menu of Kernel building options with::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, select all desired options and exit it, saving the configuration.
|
||||
|
||||
The changed configuration will be at the ``.config`` file. It would
|
||||
look like::
|
||||
|
||||
...
|
||||
# CONFIG_RC_CORE is not set
|
||||
# CONFIG_CEC_CORE is not set
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
...
|
||||
|
||||
The media subsystem is controlled by those menu configuration options::
|
||||
|
||||
Device Drivers --->
|
||||
<M> Remote Controller support --->
|
||||
[ ] HDMI CEC RC integration
|
||||
[ ] Enable CEC error injection support
|
||||
[*] HDMI CEC drivers --->
|
||||
<*> Multimedia support --->
|
||||
|
||||
The ``Remote Controller support`` option enables the core support for
|
||||
remote controllers\ [2]_.
|
||||
|
||||
The ``HDMI CEC RC integration`` option enables integration of HDMI CEC
|
||||
with Linux, allowing to receive data via HDMI CEC as if it were produced
|
||||
by a remote controller directly connected to the machine.
|
||||
|
||||
The ``HDMI CEC drivers`` option allow selecting platform and USB drivers
|
||||
that receives and/or transmits CEC codes via HDMI interfaces\ [3]_.
|
||||
|
||||
The last option (``Multimedia support``) enables support for cameras,
|
||||
audio/video grabbers and TV.
|
||||
|
||||
The media subsystem support can either be built together with the main
|
||||
Kernel or as a module. For most use cases, it is preferred to have it
|
||||
built as modules.
|
||||
|
||||
.. note::
|
||||
|
||||
Instead of using a menu, the Kernel provides a script with allows
|
||||
enabling configuration options directly. To enable media support
|
||||
and remote controller support using Kernel modules, you could use::
|
||||
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -m MEDIA_SUPPORT
|
||||
|
||||
.. [2] ``Remote Controller support`` should also be enabled if you
|
||||
want to use some TV card drivers that may depend on the remote
|
||||
controller core support.
|
||||
|
||||
.. [3] Please notice that the DRM subsystem also have drivers for GPUs
|
||||
that use the media HDMI CEC support.
|
||||
|
||||
Those GPU-specific drivers are selected via the ``Graphics support``
|
||||
menu, under ``Device Drivers``.
|
||||
|
||||
When a GPU driver supports supports HDMI CEC, it will automatically
|
||||
enable the CEC core support at the media subsystem.
|
||||
|
||||
Media dependencies
|
||||
------------------
|
||||
|
||||
It should be noticed that enabling the above from a clean config is
|
||||
usually not enough. The media subsystem depends on several other Linux
|
||||
core support in order to work.
|
||||
|
||||
For example, most media devices use a serial communication bus in
|
||||
order to talk with some peripherals. Such bus is called I²C
|
||||
(Inter-Integrated Circuit). In order to be able to build support
|
||||
for such hardware, the I²C bus support should be enabled, either via
|
||||
menu or with::
|
||||
|
||||
./scripts/config -m I2C
|
||||
|
||||
Another example: the remote controller core requires support for
|
||||
input devices, with can be enabled with::
|
||||
|
||||
./scripts/config -m INPUT
|
||||
|
||||
Other core functionality may also be needed (like PCI and/or USB support),
|
||||
depending on the specific driver(s) you would like to enable.
|
||||
|
||||
Enabling Remote Controller Support
|
||||
----------------------------------
|
||||
|
||||
The remote controller menu allows selecting drivers for specific devices.
|
||||
It's menu looks like this::
|
||||
|
||||
--- Remote Controller support
|
||||
<M> Compile Remote Controller keymap modules
|
||||
[*] LIRC user interface
|
||||
[*] Support for eBPF programs attached to lirc devices
|
||||
[*] Remote controller decoders --->
|
||||
[*] Remote Controller devices --->
|
||||
|
||||
The ``Compile Remote Controller keymap modules`` option creates key maps for
|
||||
several popular remote controllers.
|
||||
|
||||
The ``LIRC user interface`` option adds enhanced functionality when using the
|
||||
``lirc`` program, by enabling an API that allows userspace to receive raw data
|
||||
from remote controllers.
|
||||
|
||||
The ``Support for eBPF programs attached to lirc devices`` option allows
|
||||
the usage of special programs (called eBPF) that would allow aplications
|
||||
to add extra remote controller decoding functionality to the Linux Kernel.
|
||||
|
||||
The ``Remote controller decoders`` option allows selecting the
|
||||
protocols that will be recognized by the Linux Kernel. Except if you
|
||||
want to disable some specific decoder, it is suggested to keep all
|
||||
sub-options enabled.
|
||||
|
||||
The ``Remote Controller devices`` allows you to select the drivers
|
||||
that would be needed to support your device.
|
||||
|
||||
The same configuration can also be set via the ``script/config``
|
||||
script. So, for instance, in order to support the ITE remote controller
|
||||
driver (found on Intel NUCs and on some ASUS x86 desktops), you could do::
|
||||
|
||||
$ scripts/config -e INPUT
|
||||
$ scripts/config -e ACPI
|
||||
$ scripts/config -e MODULES
|
||||
$ scripts/config -m RC_CORE
|
||||
$ scripts/config -e RC_DEVICES
|
||||
$ scripts/config -e RC_DECODERS
|
||||
$ scripts/config -m IR_RC5_DECODER
|
||||
$ scripts/config -m IR_ITE_CIR
|
||||
|
||||
Enabling HDMI CEC Support
|
||||
-------------------------
|
||||
|
||||
The HDMI CEC support is set automatically when a driver requires it. So,
|
||||
all you need to do is to enable support either for a graphics card
|
||||
that needs it or by one of the existing HDMI drivers.
|
||||
|
||||
The HDMI-specific drivers are available at the ``HDMI CEC drivers``
|
||||
menu\ [4]_::
|
||||
|
||||
--- HDMI CEC drivers
|
||||
< > ChromeOS EC CEC driver
|
||||
< > Amlogic Meson AO CEC driver
|
||||
< > Amlogic Meson G12A AO CEC driver
|
||||
< > Generic GPIO-based CEC driver
|
||||
< > Samsung S5P CEC driver
|
||||
< > STMicroelectronics STiH4xx HDMI CEC driver
|
||||
< > STMicroelectronics STM32 HDMI CEC driver
|
||||
< > Tegra HDMI CEC driver
|
||||
< > SECO Boards HDMI CEC driver
|
||||
[ ] SECO Boards IR RC5 support
|
||||
< > Pulse Eight HDMI CEC
|
||||
< > RainShadow Tech HDMI CEC
|
||||
|
||||
.. [4] The above contents is just an example. The actual options for
|
||||
HDMI devices depends on the system's architecture and may vary
|
||||
on new Kernels.
|
||||
|
||||
Enabling Media Support
|
||||
----------------------
|
||||
|
||||
The Media menu has a lot more options than the remote controller menu.
|
||||
Once selected, you should see the following options::
|
||||
|
||||
--- Media support
|
||||
[ ] Filter media drivers
|
||||
[*] Autoselect ancillary drivers
|
||||
Media device types --->
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
Media drivers --->
|
||||
Media ancillary drivers --->
|
||||
|
||||
Except if you know exactly what you're doing, or if you want to build
|
||||
a driver for a SoC platform, it is strongly recommended to keep the
|
||||
``Autoselect ancillary drivers`` option turned on, as it will auto-select
|
||||
the needed I²C ancillary drivers.
|
||||
|
||||
There are now two ways to select media device drivers, as described
|
||||
below.
|
||||
|
||||
``Filter media drivers`` menu
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This menu is meant to easy setup for PC and Laptop hardware. It works
|
||||
by letting the user to specify what kind of media drivers are desired,
|
||||
with those options::
|
||||
|
||||
[ ] Cameras and video grabbers
|
||||
[ ] Analog TV
|
||||
[ ] Digital TV
|
||||
[ ] AM/FM radio receivers/transmitters
|
||||
[ ] Software defined radio
|
||||
[ ] Platform-specific devices
|
||||
[ ] Test drivers
|
||||
|
||||
So, if you want to add support to a camera or video grabber only,
|
||||
select just the first option. Multiple options are allowed.
|
||||
|
||||
Once the options on this menu are selected, the building system will
|
||||
auto-select the needed core drivers in order to support the selected
|
||||
functionality.
|
||||
|
||||
.. note::
|
||||
|
||||
Most TV cards are hybrid: they support both Analog TV and Digital TV.
|
||||
|
||||
If you have an hybrid card, you may need to enable both ``Analog TV``
|
||||
and ``Digital TV`` at the menu.
|
||||
|
||||
When using this option, the defaults for the the media support core
|
||||
functionality are usually good enough to provide the basic functionality
|
||||
for the driver. Yet, you could manually enable some desired extra (optional)
|
||||
functionality using the settings under each of the following
|
||||
``Media support`` sub-menus::
|
||||
|
||||
Media core support --->
|
||||
Video4Linux options --->
|
||||
Media controller options --->
|
||||
Digital TV options --->
|
||||
HDMI CEC options --->
|
||||
|
||||
Once you select the desired filters, the drivers that matches the filtering
|
||||
criteria will be available at the ``Media support->Media drivers`` sub-menu.
|
||||
|
||||
``Media Core Support`` menu without filtering
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
If you disable the ``Filter media drivers`` menu, all drivers available
|
||||
for your system whose dependencies are met should be shown at the
|
||||
``Media drivers`` menu.
|
||||
|
||||
Please notice, however, that you should first ensure that the
|
||||
``Media Core Support`` menu has all the core functionality your drivers
|
||||
would need, as otherwise the corresponding device drivers won't be shown.
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
In order to enable modular support for one of the boards listed on
|
||||
:doc:`this table <cx231xx-cardlist>`, with modular media core modules, the
|
||||
``.config`` file should contain those lines::
|
||||
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_INPUT=y
|
||||
CONFIG_RC_CORE=m
|
||||
CONFIG_MEDIA_SUPPORT=m
|
||||
CONFIG_MEDIA_SUPPORT_FILTER=y
|
||||
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
|
||||
CONFIG_MEDIA_USB_SUPPORT=y
|
||||
CONFIG_VIDEO_CX231XX=y
|
||||
CONFIG_VIDEO_CX231XX_DVB=y
|
||||
|
||||
Building and installing a new Kernel
|
||||
====================================
|
||||
|
||||
Once the ``.config`` file has everything needed, all it takes to build
|
||||
is to run the ``make`` command::
|
||||
|
||||
$ make
|
||||
|
||||
And then install the new Kernel and its modules::
|
||||
|
||||
$ sudo make modules_install
|
||||
$ sudo make install
|
||||
|
||||
Building just the new media drivers and core
|
||||
============================================
|
||||
|
||||
Running a new development Kernel from the development tree is usually risky,
|
||||
because it may have experimental changes that may have bugs. So, there are
|
||||
some ways to build just the new drivers, using alternative trees.
|
||||
|
||||
There is the `Linux Kernel backports project
|
||||
<https://backports.wiki.kernel.org/index.php/Main_Page>`_, with contains
|
||||
newer drivers meant to be compiled against stable Kernels.
|
||||
|
||||
The LinuxTV developers, with are responsible for maintaining the media
|
||||
subsystem also maintains a backport tree, with just the media drivers
|
||||
daily updated from the newest kernel. Such tree is available at:
|
||||
|
||||
https://git.linuxtv.org/media_build.git/
|
||||
|
||||
It should be noticed that, while it should be relatively safe to use the
|
||||
``media_build`` tree for testing purposes, there are not warranties that
|
||||
it would work (or even build) on a random Kernel. This tree is maintained
|
||||
using a "best-efforts" principle, as time permits us to fix issues there.
|
||||
|
||||
If you notice anything wrong on it, feel free to submit patches at the
|
||||
Linux media subsystem's mailing list: media@vger.kernel.org. Please
|
||||
add ``[PATCH media-build]`` at the e-mail's subject if you submit a new
|
||||
patch for the media-build.
|
||||
|
||||
Before using it, you should run::
|
||||
|
||||
$ ./build
|
||||
|
||||
.. note::
|
||||
|
||||
1) you may need to run it twice if the ``media-build`` tree gets
|
||||
updated;
|
||||
2) you may need to do a ``make distclean`` if you had built it
|
||||
in the past for a different Kernel version than the one you're
|
||||
currently using;
|
||||
3) by default, it will use the same config options for media as
|
||||
the ones defined on the Kernel you're running.
|
||||
|
||||
In order to select different drivers or different config options,
|
||||
use::
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
Then, you can build and install the new drivers::
|
||||
|
||||
$ make && sudo make install
|
||||
|
||||
This will override the previous media drivers that your Kernel were
|
||||
using.
|
62
Documentation/admin-guide/media/cafe_ccic.rst
Normal file
62
Documentation/admin-guide/media/cafe_ccic.rst
Normal file
|
@ -0,0 +1,62 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cafe_ccic driver
|
||||
====================
|
||||
|
||||
Author: Jonathan Corbet <corbet@lwn.net>
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
"cafe_ccic" is a driver for the Marvell 88ALP01 "cafe" CMOS camera
|
||||
controller. This is the controller found in first-generation OLPC systems,
|
||||
and this driver was written with support from the OLPC project.
|
||||
|
||||
Current status: the core driver works. It can generate data in YUV422,
|
||||
RGB565, and RGB444 formats. (Anybody looking at the code will see RGB32 as
|
||||
well, but that is a debugging aid which will be removed shortly). VGA and
|
||||
QVGA modes work; CIF is there but the colors remain funky. Only the OV7670
|
||||
sensor is known to work with this controller at this time.
|
||||
|
||||
To try it out: either of these commands will work:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
$ mplayer tv:// -tv driver=v4l2:width=640:height=480 -nosound
|
||||
$ mplayer tv:// -tv driver=v4l2:width=640:height=480:outfmt=bgr16 -nosound
|
||||
|
||||
The "xawtv" utility also works; gqcam does not, for unknown reasons.
|
||||
|
||||
Load time options
|
||||
-----------------
|
||||
|
||||
There are a few load-time options, most of which can be changed after
|
||||
loading via sysfs as well:
|
||||
|
||||
- alloc_bufs_at_load: Normally, the driver will not allocate any DMA
|
||||
buffers until the time comes to transfer data. If this option is set,
|
||||
then worst-case-sized buffers will be allocated at module load time.
|
||||
This option nails down the memory for the life of the module, but
|
||||
perhaps decreases the chances of an allocation failure later on.
|
||||
|
||||
- dma_buf_size: The size of DMA buffers to allocate. Note that this
|
||||
option is only consulted for load-time allocation; when buffers are
|
||||
allocated at run time, they will be sized appropriately for the current
|
||||
camera settings.
|
||||
|
||||
- n_dma_bufs: The controller can cycle through either two or three DMA
|
||||
buffers. Normally, the driver tries to use three buffers; on faster
|
||||
systems, however, it will work well with only two.
|
||||
|
||||
- min_buffers: The minimum number of streaming I/O buffers that the driver
|
||||
will consent to work with. Default is one, but, on slower systems,
|
||||
better behavior with mplayer can be achieved by setting to a higher
|
||||
value (like six).
|
||||
|
||||
- max_buffers: The maximum number of streaming I/O buffers; default is
|
||||
ten. That number was carefully picked out of a hat and should not be
|
||||
assumed to actually mean much of anything.
|
||||
|
||||
- flip: If this boolean parameter is set, the sensor will be instructed to
|
||||
invert the video image. Whether it makes sense is determined by how
|
||||
your particular camera is mounted.
|
29
Documentation/admin-guide/media/cardlist.rst
Normal file
29
Documentation/admin-guide/media/cardlist.rst
Normal file
|
@ -0,0 +1,29 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Cards List
|
||||
==========
|
||||
|
||||
The media subsystem provide support for lots of PCI and USB drivers, plus
|
||||
platform-specific drivers. It also contains several ancillary I²C drivers.
|
||||
|
||||
The platform-specific drivers are usually present on embedded systems,
|
||||
or are supported by the main board. Usually, setting them is done via
|
||||
OpenFirmware or ACPI.
|
||||
|
||||
The PCI and USB drivers, however, are independent of the system's board,
|
||||
and may be added/removed by the user.
|
||||
|
||||
You may also take a look at
|
||||
https://linuxtv.org/wiki/index.php/Hardware_Device_Information
|
||||
for more details about supported cards.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
usb-cardlist
|
||||
pci-cardlist
|
||||
platform-cardlist
|
||||
radio-cardlist
|
||||
i2c-cardlist
|
||||
misc-cardlist
|
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
10
Documentation/admin-guide/media/cec-drivers.rst
Normal file
|
@ -0,0 +1,10 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=================================
|
||||
CEC driver-specific documentation
|
||||
=================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
pulse8-cec
|
77
Documentation/admin-guide/media/ci.rst
Normal file
77
Documentation/admin-guide/media/ci.rst
Normal file
|
@ -0,0 +1,77 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Digital TV Conditional Access Interface
|
||||
=======================================
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
This documentation is outdated.
|
||||
|
||||
This document describes the usage of the high level CI API as
|
||||
in accordance to the Linux DVB API. This is a not a documentation for the,
|
||||
existing low level CI API.
|
||||
|
||||
.. note::
|
||||
|
||||
For the Twinhan/Twinhan clones, the dst_ca module handles the CI
|
||||
hardware handling. This module is loaded automatically if a CI
|
||||
(Common Interface, that holds the CAM (Conditional Access Module)
|
||||
is detected.
|
||||
|
||||
ca_zap
|
||||
~~~~~~
|
||||
|
||||
A userspace application, like ``ca_zap`` is required to handle encrypted
|
||||
MPEG-TS streams.
|
||||
|
||||
The ``ca_zap`` userland application is in charge of sending the
|
||||
descrambling related information to the Conditional Access Module (CAM).
|
||||
|
||||
This application requires the following to function properly as of now.
|
||||
|
||||
a) Tune to a valid channel, with szap.
|
||||
|
||||
eg: $ szap -c channels.conf -r "TMC" -x
|
||||
|
||||
b) a channels.conf containing a valid PMT PID
|
||||
|
||||
eg: TMC:11996:h:0:27500:278:512:650:321
|
||||
|
||||
here 278 is a valid PMT PID. the rest of the values are the
|
||||
same ones that szap uses.
|
||||
|
||||
c) after running a szap, you have to run ca_zap, for the
|
||||
descrambler to function,
|
||||
|
||||
eg: $ ca_zap channels.conf "TMC"
|
||||
|
||||
d) Hopefully enjoy your favourite subscribed channel as you do with
|
||||
a FTA card.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently ca_zap, and dst_test, both are meant for demonstration
|
||||
purposes only, they can become full fledged applications if necessary.
|
||||
|
||||
|
||||
Cards that fall in this category
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
At present the cards that fall in this category are the Twinhan and its
|
||||
clones, these cards are available as VVMER, Tomato, Hercules, Orange and
|
||||
so on.
|
||||
|
||||
CI modules that are supported
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The CI module support is largely dependent upon the firmware on the cards
|
||||
Some cards do support almost all of the available CI modules. There is
|
||||
nothing much that can be done in order to make additional CI modules
|
||||
working with these cards.
|
||||
|
||||
Modules that have been tested by this driver at present are
|
||||
|
||||
(1) Irdeto 1 and 2 from SCM
|
||||
(2) Viaccess from SCM
|
||||
(3) Dragoncam
|
145
Documentation/admin-guide/media/cpia2.rst
Normal file
145
Documentation/admin-guide/media/cpia2.rst
Normal file
|
@ -0,0 +1,145 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cpia2 driver
|
||||
================
|
||||
|
||||
Authors: Peter Pregler <Peter_Pregler@email.com>,
|
||||
Scott J. Bertin <scottbertin@yahoo.com>, and
|
||||
Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which
|
||||
this one was modelled from.
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This is a driver for STMicroelectronics's CPiA2 (second generation
|
||||
Colour Processor Interface ASIC) based cameras. This camera outputs an MJPEG
|
||||
stream at up to vga size. It implements the Video4Linux interface as much as
|
||||
possible. Since the V4L interface does not support compressed formats, only
|
||||
an mjpeg enabled application can be used with the camera. We have modified the
|
||||
gqcam application to view this stream.
|
||||
|
||||
The driver is implemented as two kernel modules. The cpia2 module
|
||||
contains the camera functions and the V4L interface. The cpia2_usb module
|
||||
contains usb specific functions. The main reason for this was the size of the
|
||||
module was getting out of hand, so I separated them. It is not likely that
|
||||
there will be a parallel port version.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
- Supports cameras with the Vision stv6410 (CIF) and stv6500 (VGA) cmos
|
||||
sensors. I only have the vga sensor, so can't test the other.
|
||||
- Image formats: VGA, QVGA, CIF, QCIF, and a number of sizes in between.
|
||||
VGA and QVGA are the native image sizes for the VGA camera. CIF is done
|
||||
in the coprocessor by scaling QVGA. All other sizes are done by clipping.
|
||||
- Palette: YCrCb, compressed with MJPEG.
|
||||
- Some compression parameters are settable.
|
||||
- Sensor framerate is adjustable (up to 30 fps CIF, 15 fps VGA).
|
||||
- Adjust brightness, color, contrast while streaming.
|
||||
- Flicker control settable for 50 or 60 Hz mains frequency.
|
||||
|
||||
Making and installing the stv672 driver modules
|
||||
-----------------------------------------------
|
||||
|
||||
Requirements
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Video4Linux must be either compiled into the kernel or
|
||||
available as a module. Video4Linux2 is automatically detected and made
|
||||
available at compile time.
|
||||
|
||||
Setup
|
||||
~~~~~
|
||||
|
||||
Use ``modprobe cpia2`` to load and ``modprobe -r cpia2`` to unload. This
|
||||
may be done automatically by your distribution.
|
||||
|
||||
Driver options
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
.. tabularcolumns:: |p{13ex}|L|
|
||||
|
||||
|
||||
============== ========================================================
|
||||
Option Description
|
||||
============== ========================================================
|
||||
video_nr video device to register (0=/dev/video0, etc)
|
||||
range -1 to 64. default is -1 (first available)
|
||||
If you have more than 1 camera, this MUST be -1.
|
||||
buffer_size Size for each frame buffer in bytes (default 68k)
|
||||
num_buffers Number of frame buffers (1-32, default 3)
|
||||
alternate USB Alternate (2-7, default 7)
|
||||
flicker_freq Frequency for flicker reduction(50 or 60, default 60)
|
||||
flicker_mode 0 to disable, or 1 to enable flicker reduction.
|
||||
(default 0). This is only effective if the camera
|
||||
uses a stv0672 coprocessor.
|
||||
============== ========================================================
|
||||
|
||||
Setting the options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you are using modules, edit /etc/modules.conf and add an options
|
||||
line like this::
|
||||
|
||||
options cpia2 num_buffers=3 buffer_size=65535
|
||||
|
||||
If the driver is compiled into the kernel, at boot time specify them
|
||||
like this::
|
||||
|
||||
cpia2.num_buffers=3 cpia2.buffer_size=65535
|
||||
|
||||
What buffer size should I use?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The maximum image size depends on the alternate you choose, and the
|
||||
frame rate achieved by the camera. If the compression engine is able to
|
||||
keep up with the frame rate, the maximum image size is given by the table
|
||||
below.
|
||||
|
||||
The compression engine starts out at maximum compression, and will
|
||||
increase image quality until it is close to the size in the table. As long
|
||||
as the compression engine can keep up with the frame rate, after a short time
|
||||
the images will all be about the size in the table, regardless of resolution.
|
||||
|
||||
At low alternate settings, the compression engine may not be able to
|
||||
compress the image enough and will reduce the frame rate by producing larger
|
||||
images.
|
||||
|
||||
The default of 68k should be good for most users. This will handle
|
||||
any alternate at frame rates down to 15fps. For lower frame rates, it may
|
||||
be necessary to increase the buffer size to avoid having frames dropped due
|
||||
to insufficient space.
|
||||
|
||||
========== ========== ======== =====
|
||||
Alternate bytes/ms 15fps 30fps
|
||||
========== ========== ======== =====
|
||||
2 128 8533 4267
|
||||
3 384 25600 12800
|
||||
4 640 42667 21333
|
||||
5 768 51200 25600
|
||||
6 896 59733 29867
|
||||
7 1023 68200 34100
|
||||
========== ========== ======== =====
|
||||
|
||||
Table: Image size(bytes)
|
||||
|
||||
|
||||
How many buffers should I use?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
For normal streaming, 3 should give the best results. With only 2,
|
||||
it is possible for the camera to finish sending one image just after a
|
||||
program has started reading the other. If this happens, the driver must drop
|
||||
a frame. The exception to this is if you have a heavily loaded machine. In
|
||||
this case use 2 buffers. You are probably not reading at the full frame rate.
|
||||
If the camera can send multiple images before a read finishes, it could
|
||||
overwrite the third buffer before the read finishes, leading to a corrupt
|
||||
image. Single and double buffering have extra checks to avoid overwriting.
|
||||
|
||||
Using the camera
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We are providing a modified gqcam application to view the output. In
|
||||
order to avoid confusion, here it is called mview. There is also the qx5view
|
||||
program which can also control the lights on the qx5 microscope. MJPEG Tools
|
||||
(http://mjpeg.sourceforge.net) can also be used to record from the camera.
|
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
17
Documentation/admin-guide/media/cx18-cardlist.rst
Normal file
|
@ -0,0 +1,17 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
CX18 cards list
|
||||
===============
|
||||
|
||||
Those cards are supported by cx18 driver:
|
||||
|
||||
- Hauppauge HVR-1600 (ESMT memory)
|
||||
- Hauppauge HVR-1600 (Samsung memory)
|
||||
- Compro VideoMate H900
|
||||
- Yuan MPC718 MiniPCI DVB-T/Analog
|
||||
- Conexant Raptor PAL/SECAM
|
||||
- Toshiba Qosmio DVB-T/Analog
|
||||
- Leadtek WinFast PVR2100
|
||||
- Leadtek WinFast DVR3100
|
||||
- GoTView PCI DVD3 Hybrid
|
||||
- Hauppauge HVR-1600 (s5h1411/tda18271)
|
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
99
Documentation/admin-guide/media/cx231xx-cardlist.rst
Normal file
|
@ -0,0 +1,99 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
cx231xx cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{10.0cm}|p{6.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 12 19
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- USB IDs
|
||||
* - 0
|
||||
- Unknown CX231xx video grabber
|
||||
- 0572:5A3C
|
||||
* - 1
|
||||
- Conexant Hybrid TV - CARRAERA
|
||||
- 0572:58A2
|
||||
* - 2
|
||||
- Conexant Hybrid TV - SHELBY
|
||||
- 0572:58A1
|
||||
* - 3
|
||||
- Conexant Hybrid TV - RDE253S
|
||||
- 0572:58A4
|
||||
* - 4
|
||||
- Conexant Hybrid TV - RDU253S
|
||||
- 0572:58A5
|
||||
* - 5
|
||||
- Conexant VIDEO GRABBER
|
||||
- 0572:58A6, 07ca:c039
|
||||
* - 6
|
||||
- Conexant Hybrid TV - rde 250
|
||||
- 0572:589E
|
||||
* - 7
|
||||
- Conexant Hybrid TV - RDU 250
|
||||
- 0572:58A0
|
||||
* - 8
|
||||
- Hauppauge EXETER
|
||||
- 2040:b120, 2040:b140
|
||||
* - 9
|
||||
- Hauppauge USB Live 2
|
||||
- 2040:c200
|
||||
* - 10
|
||||
- Pixelview PlayTV USB Hybrid
|
||||
- 4000:4001
|
||||
* - 11
|
||||
- Pixelview Xcapture USB
|
||||
- 1D19:6109, 4000:4001
|
||||
* - 12
|
||||
- Kworld UB430 USB Hybrid
|
||||
- 1b80:e424
|
||||
* - 13
|
||||
- Iconbit Analog Stick U100 FM
|
||||
- 1f4d:0237
|
||||
* - 14
|
||||
- Hauppauge WinTV USB2 FM (PAL)
|
||||
- 2040:b110
|
||||
* - 15
|
||||
- Hauppauge WinTV USB2 FM (NTSC)
|
||||
- 2040:b111
|
||||
* - 16
|
||||
- Elgato Video Capture V2
|
||||
- 0fd9:0037
|
||||
* - 17
|
||||
- Geniatech OTG102
|
||||
- 1f4d:0102
|
||||
* - 18
|
||||
- Kworld UB445 USB Hybrid
|
||||
- 1b80:e421
|
||||
* - 19
|
||||
- Hauppauge WinTV 930C-HD (1113xx) / HVR-900H (111xxx) / PCTV QuatroStick 521e
|
||||
- 2040:b130, 2040:b138, 2013:0259
|
||||
* - 20
|
||||
- Hauppauge WinTV 930C-HD (1114xx) / HVR-901H (1114xx) / PCTV QuatroStick 522e
|
||||
- 2040:b131, 2040:b139, 2013:025e
|
||||
* - 21
|
||||
- Hauppauge WinTV-HVR-955Q (111401)
|
||||
- 2040:b123, 2040:b124
|
||||
* - 22
|
||||
- Terratec Grabby
|
||||
- 1f4d:0102
|
||||
* - 23
|
||||
- Evromedia USB Full Hybrid Full HD
|
||||
- 1b80:d3b2
|
||||
* - 24
|
||||
- Astrometa T2hybrid
|
||||
- 15f4:0135
|
||||
* - 25
|
||||
- The Imaging Source DFG/USB2pro
|
||||
- 199e:8002
|
||||
* - 26
|
||||
- Hauppauge WinTV-HVR-935C
|
||||
- 2040:b151
|
||||
* - 27
|
||||
- Hauppauge WinTV-HVR-975
|
||||
- 2040:b150
|
267
Documentation/admin-guide/media/cx23885-cardlist.rst
Normal file
267
Documentation/admin-guide/media/cx23885-cardlist.rst
Normal file
|
@ -0,0 +1,267 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
cx23885 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
- 0070:3400
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV-HVR1800lp
|
||||
- 0070:7600
|
||||
|
||||
* - 2
|
||||
- Hauppauge WinTV-HVR1800
|
||||
- 0070:7800, 0070:7801, 0070:7809
|
||||
|
||||
* - 3
|
||||
- Hauppauge WinTV-HVR1250
|
||||
- 0070:7911
|
||||
|
||||
* - 4
|
||||
- DViCO FusionHDTV5 Express
|
||||
- 18ac:d500
|
||||
|
||||
* - 5
|
||||
- Hauppauge WinTV-HVR1500Q
|
||||
- 0070:7790, 0070:7797
|
||||
|
||||
* - 6
|
||||
- Hauppauge WinTV-HVR1500
|
||||
- 0070:7710, 0070:7717
|
||||
|
||||
* - 7
|
||||
- Hauppauge WinTV-HVR1200
|
||||
- 0070:71d1, 0070:71d3
|
||||
|
||||
* - 8
|
||||
- Hauppauge WinTV-HVR1700
|
||||
- 0070:8101
|
||||
|
||||
* - 9
|
||||
- Hauppauge WinTV-HVR1400
|
||||
- 0070:8010
|
||||
|
||||
* - 10
|
||||
- DViCO FusionHDTV7 Dual Express
|
||||
- 18ac:d618
|
||||
|
||||
* - 11
|
||||
- DViCO FusionHDTV DVB-T Dual Express
|
||||
- 18ac:db78
|
||||
|
||||
* - 12
|
||||
- Leadtek Winfast PxDVR3200 H
|
||||
- 107d:6681
|
||||
|
||||
* - 13
|
||||
- Compro VideoMate E650F
|
||||
- 185b:e800
|
||||
|
||||
* - 14
|
||||
- TurboSight TBS 6920
|
||||
- 6920:8888
|
||||
|
||||
* - 15
|
||||
- TeVii S470
|
||||
- d470:9022
|
||||
|
||||
* - 16
|
||||
- DVBWorld DVB-S2 2005
|
||||
- 0001:2005
|
||||
|
||||
* - 17
|
||||
- NetUP Dual DVB-S2 CI
|
||||
- 1b55:2a2c
|
||||
|
||||
* - 18
|
||||
- Hauppauge WinTV-HVR1270
|
||||
- 0070:2211
|
||||
|
||||
* - 19
|
||||
- Hauppauge WinTV-HVR1275
|
||||
- 0070:2215, 0070:221d, 0070:22f2
|
||||
|
||||
* - 20
|
||||
- Hauppauge WinTV-HVR1255
|
||||
- 0070:2251, 0070:22f1
|
||||
|
||||
* - 21
|
||||
- Hauppauge WinTV-HVR1210
|
||||
- 0070:2291, 0070:2295, 0070:2299, 0070:229d, 0070:22f0, 0070:22f3, 0070:22f4, 0070:22f5
|
||||
|
||||
* - 22
|
||||
- Mygica X8506 DMB-TH
|
||||
- 14f1:8651
|
||||
|
||||
* - 23
|
||||
- Magic-Pro ProHDTV Extreme 2
|
||||
- 14f1:8657
|
||||
|
||||
* - 24
|
||||
- Hauppauge WinTV-HVR1850
|
||||
- 0070:8541
|
||||
|
||||
* - 25
|
||||
- Compro VideoMate E800
|
||||
- 1858:e800
|
||||
|
||||
* - 26
|
||||
- Hauppauge WinTV-HVR1290
|
||||
- 0070:8551
|
||||
|
||||
* - 27
|
||||
- Mygica X8558 PRO DMB-TH
|
||||
- 14f1:8578
|
||||
|
||||
* - 28
|
||||
- LEADTEK WinFast PxTV1200
|
||||
- 107d:6f22
|
||||
|
||||
* - 29
|
||||
- GoTView X5 3D Hybrid
|
||||
- 5654:2390
|
||||
|
||||
* - 30
|
||||
- NetUP Dual DVB-T/C-CI RF
|
||||
- 1b55:e2e4
|
||||
|
||||
* - 31
|
||||
- Leadtek Winfast PxDVR3200 H XC4000
|
||||
- 107d:6f39
|
||||
|
||||
* - 32
|
||||
- MPX-885
|
||||
-
|
||||
|
||||
* - 33
|
||||
- Mygica X8502/X8507 ISDB-T
|
||||
- 14f1:8502
|
||||
|
||||
* - 34
|
||||
- TerraTec Cinergy T PCIe Dual
|
||||
- 153b:117e
|
||||
|
||||
* - 35
|
||||
- TeVii S471
|
||||
- d471:9022
|
||||
|
||||
* - 36
|
||||
- Hauppauge WinTV-HVR1255
|
||||
- 0070:2259
|
||||
|
||||
* - 37
|
||||
- Prof Revolution DVB-S2 8000
|
||||
- 8000:3034
|
||||
|
||||
* - 38
|
||||
- Hauppauge WinTV-HVR4400/HVR5500
|
||||
- 0070:c108, 0070:c138, 0070:c1f8
|
||||
|
||||
* - 39
|
||||
- AVerTV Hybrid Express Slim HC81R
|
||||
- 1461:d939
|
||||
|
||||
* - 40
|
||||
- TurboSight TBS 6981
|
||||
- 6981:8888
|
||||
|
||||
* - 41
|
||||
- TurboSight TBS 6980
|
||||
- 6980:8888
|
||||
|
||||
* - 42
|
||||
- Leadtek Winfast PxPVR2200
|
||||
- 107d:6f21
|
||||
|
||||
* - 43
|
||||
- Hauppauge ImpactVCB-e
|
||||
- 0070:7133, 0070:7137
|
||||
|
||||
* - 44
|
||||
- DViCO FusionHDTV DVB-T Dual Express2
|
||||
- 18ac:db98
|
||||
|
||||
* - 45
|
||||
- DVBSky T9580
|
||||
- 4254:9580
|
||||
|
||||
* - 46
|
||||
- DVBSky T980C
|
||||
- 4254:980c
|
||||
|
||||
* - 47
|
||||
- DVBSky S950C
|
||||
- 4254:950c
|
||||
|
||||
* - 48
|
||||
- Technotrend TT-budget CT2-4500 CI
|
||||
- 13c2:3013
|
||||
|
||||
* - 49
|
||||
- DVBSky S950
|
||||
- 4254:0950
|
||||
|
||||
* - 50
|
||||
- DVBSky S952
|
||||
- 4254:0952
|
||||
|
||||
* - 51
|
||||
- DVBSky T982
|
||||
- 4254:0982
|
||||
|
||||
* - 52
|
||||
- Hauppauge WinTV-HVR5525
|
||||
- 0070:f038
|
||||
|
||||
* - 53
|
||||
- Hauppauge WinTV Starburst
|
||||
- 0070:c12a
|
||||
|
||||
* - 54
|
||||
- ViewCast 260e
|
||||
- 1576:0260
|
||||
|
||||
* - 55
|
||||
- ViewCast 460e
|
||||
- 1576:0460
|
||||
|
||||
* - 56
|
||||
- Hauppauge WinTV-QuadHD-DVB
|
||||
- 0070:6a28, 0070:6b28
|
||||
|
||||
* - 57
|
||||
- Hauppauge WinTV-QuadHD-ATSC
|
||||
- 0070:6a18, 0070:6b18
|
||||
|
||||
* - 58
|
||||
- Hauppauge WinTV-HVR-1265(161111)
|
||||
- 0070:2a18
|
||||
|
||||
* - 59
|
||||
- Hauppauge WinTV-Starburst2
|
||||
- 0070:f02a
|
||||
|
||||
* - 60
|
||||
- Hauppauge WinTV-QuadHD-DVB(885)
|
||||
-
|
||||
|
||||
* - 61
|
||||
- Hauppauge WinTV-QuadHD-ATSC(885)
|
||||
-
|
||||
|
||||
* - 62
|
||||
- AVerMedia CE310B
|
||||
- 1461:3100
|
383
Documentation/admin-guide/media/cx88-cardlist.rst
Normal file
383
Documentation/admin-guide/media/cx88-cardlist.rst
Normal file
|
@ -0,0 +1,383 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
CX88 cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV 34xxx models
|
||||
- 0070:3400, 0070:3401
|
||||
|
||||
* - 2
|
||||
- GDI Black Gold
|
||||
- 14c7:0106, 14c7:0107
|
||||
|
||||
* - 3
|
||||
- PixelView
|
||||
- 1554:4811
|
||||
|
||||
* - 4
|
||||
- ATI TV Wonder Pro
|
||||
- 1002:00f8, 1002:00f9
|
||||
|
||||
* - 5
|
||||
- Leadtek Winfast 2000XP Expert
|
||||
- 107d:6611, 107d:6613
|
||||
|
||||
* - 6
|
||||
- AverTV Studio 303 (M126)
|
||||
- 1461:000b
|
||||
|
||||
* - 7
|
||||
- MSI TV-@nywhere Master
|
||||
- 1462:8606
|
||||
|
||||
* - 8
|
||||
- Leadtek Winfast DV2000
|
||||
- 107d:6620, 107d:6621
|
||||
|
||||
* - 9
|
||||
- Leadtek PVR 2000
|
||||
- 107d:663b, 107d:663c, 107d:6632, 107d:6630, 107d:6638, 107d:6631, 107d:6637, 107d:663d
|
||||
|
||||
* - 10
|
||||
- IODATA GV-VCP3/PCI
|
||||
- 10fc:d003
|
||||
|
||||
* - 11
|
||||
- Prolink PlayTV PVR
|
||||
-
|
||||
|
||||
* - 12
|
||||
- ASUS PVR-416
|
||||
- 1043:4823, 1461:c111
|
||||
|
||||
* - 13
|
||||
- MSI TV-@nywhere
|
||||
-
|
||||
|
||||
* - 14
|
||||
- KWorld/VStream XPert DVB-T
|
||||
- 17de:08a6
|
||||
|
||||
* - 15
|
||||
- DViCO FusionHDTV DVB-T1
|
||||
- 18ac:db00
|
||||
|
||||
* - 16
|
||||
- KWorld LTV883RF
|
||||
-
|
||||
|
||||
* - 17
|
||||
- DViCO FusionHDTV 3 Gold-Q
|
||||
- 18ac:d810, 18ac:d800
|
||||
|
||||
* - 18
|
||||
- Hauppauge Nova-T DVB-T
|
||||
- 0070:9002, 0070:9001, 0070:9000
|
||||
|
||||
* - 19
|
||||
- Conexant DVB-T reference design
|
||||
- 14f1:0187
|
||||
|
||||
* - 20
|
||||
- Provideo PV259
|
||||
- 1540:2580
|
||||
|
||||
* - 21
|
||||
- DViCO FusionHDTV DVB-T Plus
|
||||
- 18ac:db10, 18ac:db11
|
||||
|
||||
* - 22
|
||||
- pcHDTV HD3000 HDTV
|
||||
- 7063:3000
|
||||
|
||||
* - 23
|
||||
- digitalnow DNTV Live! DVB-T
|
||||
- 17de:a8a6
|
||||
|
||||
* - 24
|
||||
- Hauppauge WinTV 28xxx (Roslyn) models
|
||||
- 0070:2801
|
||||
|
||||
* - 25
|
||||
- Digital-Logic MICROSPACE Entertainment Center (MEC)
|
||||
- 14f1:0342
|
||||
|
||||
* - 26
|
||||
- IODATA GV/BCTV7E
|
||||
- 10fc:d035
|
||||
|
||||
* - 27
|
||||
- PixelView PlayTV Ultra Pro (Stereo)
|
||||
-
|
||||
|
||||
* - 28
|
||||
- DViCO FusionHDTV 3 Gold-T
|
||||
- 18ac:d820
|
||||
|
||||
* - 29
|
||||
- ADS Tech Instant TV DVB-T PCI
|
||||
- 1421:0334
|
||||
|
||||
* - 30
|
||||
- TerraTec Cinergy 1400 DVB-T
|
||||
- 153b:1166
|
||||
|
||||
* - 31
|
||||
- DViCO FusionHDTV 5 Gold
|
||||
- 18ac:d500
|
||||
|
||||
* - 32
|
||||
- AverMedia UltraTV Media Center PCI 550
|
||||
- 1461:8011
|
||||
|
||||
* - 33
|
||||
- Kworld V-Stream Xpert DVD
|
||||
-
|
||||
|
||||
* - 34
|
||||
- ATI HDTV Wonder
|
||||
- 1002:a101
|
||||
|
||||
* - 35
|
||||
- WinFast DTV1000-T
|
||||
- 107d:665f
|
||||
|
||||
* - 36
|
||||
- AVerTV 303 (M126)
|
||||
- 1461:000a
|
||||
|
||||
* - 37
|
||||
- Hauppauge Nova-S-Plus DVB-S
|
||||
- 0070:9201, 0070:9202
|
||||
|
||||
* - 38
|
||||
- Hauppauge Nova-SE2 DVB-S
|
||||
- 0070:9200
|
||||
|
||||
* - 39
|
||||
- KWorld DVB-S 100
|
||||
- 17de:08b2, 1421:0341
|
||||
|
||||
* - 40
|
||||
- Hauppauge WinTV-HVR1100 DVB-T/Hybrid
|
||||
- 0070:9400, 0070:9402
|
||||
|
||||
* - 41
|
||||
- Hauppauge WinTV-HVR1100 DVB-T/Hybrid (Low Profile)
|
||||
- 0070:9800, 0070:9802
|
||||
|
||||
* - 42
|
||||
- digitalnow DNTV Live! DVB-T Pro
|
||||
- 1822:0025, 1822:0019
|
||||
|
||||
* - 43
|
||||
- KWorld/VStream XPert DVB-T with cx22702
|
||||
- 17de:08a1, 12ab:2300
|
||||
|
||||
* - 44
|
||||
- DViCO FusionHDTV DVB-T Dual Digital
|
||||
- 18ac:db50, 18ac:db54
|
||||
|
||||
* - 45
|
||||
- KWorld HardwareMpegTV XPert
|
||||
- 17de:0840, 1421:0305
|
||||
|
||||
* - 46
|
||||
- DViCO FusionHDTV DVB-T Hybrid
|
||||
- 18ac:db40, 18ac:db44
|
||||
|
||||
* - 47
|
||||
- pcHDTV HD5500 HDTV
|
||||
- 7063:5500
|
||||
|
||||
* - 48
|
||||
- Kworld MCE 200 Deluxe
|
||||
- 17de:0841
|
||||
|
||||
* - 49
|
||||
- PixelView PlayTV P7000
|
||||
- 1554:4813
|
||||
|
||||
* - 50
|
||||
- NPG Tech Real TV FM Top 10
|
||||
- 14f1:0842
|
||||
|
||||
* - 51
|
||||
- WinFast DTV2000 H
|
||||
- 107d:665e
|
||||
|
||||
* - 52
|
||||
- Geniatech DVB-S
|
||||
- 14f1:0084
|
||||
|
||||
* - 53
|
||||
- Hauppauge WinTV-HVR3000 TriMode Analog/DVB-S/DVB-T
|
||||
- 0070:1404, 0070:1400, 0070:1401, 0070:1402
|
||||
|
||||
* - 54
|
||||
- Norwood Micro TV Tuner
|
||||
-
|
||||
|
||||
* - 55
|
||||
- Shenzhen Tungsten Ages Tech TE-DTV-250 / Swann OEM
|
||||
- c180:c980
|
||||
|
||||
* - 56
|
||||
- Hauppauge WinTV-HVR1300 DVB-T/Hybrid MPEG Encoder
|
||||
- 0070:9600, 0070:9601, 0070:9602
|
||||
|
||||
* - 57
|
||||
- ADS Tech Instant Video PCI
|
||||
- 1421:0390
|
||||
|
||||
* - 58
|
||||
- Pinnacle PCTV HD 800i
|
||||
- 11bd:0051
|
||||
|
||||
* - 59
|
||||
- DViCO FusionHDTV 5 PCI nano
|
||||
- 18ac:d530
|
||||
|
||||
* - 60
|
||||
- Pinnacle Hybrid PCTV
|
||||
- 12ab:1788
|
||||
|
||||
* - 61
|
||||
- Leadtek TV2000 XP Global
|
||||
- 107d:6f18, 107d:6618, 107d:6619
|
||||
|
||||
* - 62
|
||||
- PowerColor RA330
|
||||
- 14f1:ea3d
|
||||
|
||||
* - 63
|
||||
- Geniatech X8000-MT DVBT
|
||||
- 14f1:8852
|
||||
|
||||
* - 64
|
||||
- DViCO FusionHDTV DVB-T PRO
|
||||
- 18ac:db30
|
||||
|
||||
* - 65
|
||||
- DViCO FusionHDTV 7 Gold
|
||||
- 18ac:d610
|
||||
|
||||
* - 66
|
||||
- Prolink Pixelview MPEG 8000GT
|
||||
- 1554:4935
|
||||
|
||||
* - 67
|
||||
- Kworld PlusTV HD PCI 120 (ATSC 120)
|
||||
- 17de:08c1
|
||||
|
||||
* - 68
|
||||
- Hauppauge WinTV-HVR4000 DVB-S/S2/T/Hybrid
|
||||
- 0070:6900, 0070:6904, 0070:6902
|
||||
|
||||
* - 69
|
||||
- Hauppauge WinTV-HVR4000(Lite) DVB-S/S2
|
||||
- 0070:6905, 0070:6906
|
||||
|
||||
* - 70
|
||||
- TeVii S460 DVB-S/S2
|
||||
- d460:9022
|
||||
|
||||
* - 71
|
||||
- Omicom SS4 DVB-S/S2 PCI
|
||||
- A044:2011
|
||||
|
||||
* - 72
|
||||
- TBS 8920 DVB-S/S2
|
||||
- 8920:8888
|
||||
|
||||
* - 73
|
||||
- TeVii S420 DVB-S
|
||||
- d420:9022
|
||||
|
||||
* - 74
|
||||
- Prolink Pixelview Global Extreme
|
||||
- 1554:4976
|
||||
|
||||
* - 75
|
||||
- PROF 7300 DVB-S/S2
|
||||
- B033:3033
|
||||
|
||||
* - 76
|
||||
- SATTRADE ST4200 DVB-S/S2
|
||||
- b200:4200
|
||||
|
||||
* - 77
|
||||
- TBS 8910 DVB-S
|
||||
- 8910:8888
|
||||
|
||||
* - 78
|
||||
- Prof 6200 DVB-S
|
||||
- b022:3022
|
||||
|
||||
* - 79
|
||||
- Terratec Cinergy HT PCI MKII
|
||||
- 153b:1177
|
||||
|
||||
* - 80
|
||||
- Hauppauge WinTV-IR Only
|
||||
- 0070:9290
|
||||
|
||||
* - 81
|
||||
- Leadtek WinFast DTV1800 Hybrid
|
||||
- 107d:6654
|
||||
|
||||
* - 82
|
||||
- WinFast DTV2000 H rev. J
|
||||
- 107d:6f2b
|
||||
|
||||
* - 83
|
||||
- Prof 7301 DVB-S/S2
|
||||
- b034:3034
|
||||
|
||||
* - 84
|
||||
- Samsung SMT 7020 DVB-S
|
||||
- 18ac:dc00, 18ac:dccd
|
||||
|
||||
* - 85
|
||||
- Twinhan VP-1027 DVB-S
|
||||
- 1822:0023
|
||||
|
||||
* - 86
|
||||
- TeVii S464 DVB-S/S2
|
||||
- d464:9022
|
||||
|
||||
* - 87
|
||||
- Leadtek WinFast DTV2000 H PLUS
|
||||
- 107d:6f42
|
||||
|
||||
* - 88
|
||||
- Leadtek WinFast DTV1800 H (XC4000)
|
||||
- 107d:6f38
|
||||
|
||||
* - 89
|
||||
- Leadtek TV2000 XP Global (SC4100)
|
||||
- 107d:6f36
|
||||
|
||||
* - 90
|
||||
- Leadtek TV2000 XP Global (XC4100)
|
||||
- 107d:6f43
|
||||
|
||||
* - 91
|
||||
- NotOnlyTV LV3H
|
||||
-
|
58
Documentation/admin-guide/media/cx88.rst
Normal file
58
Documentation/admin-guide/media/cx88.rst
Normal file
|
@ -0,0 +1,58 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The cx88 driver
|
||||
===============
|
||||
|
||||
Author: Gerd Hoffmann
|
||||
|
||||
This is a v4l2 device driver for the cx2388x chip.
|
||||
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
video
|
||||
- Works.
|
||||
- Overlay isn't supported.
|
||||
|
||||
audio
|
||||
- Works. The TV standard detection is made by the driver, as the
|
||||
hardware has bugs to auto-detect.
|
||||
- audio data dma (i.e. recording without loopback cable to the
|
||||
sound card) is supported via cx88-alsa.
|
||||
|
||||
vbi
|
||||
- Works.
|
||||
|
||||
|
||||
How to add support for new cards
|
||||
--------------------------------
|
||||
|
||||
The driver needs some config info for the TV cards. This stuff is in
|
||||
cx88-cards.c. If the driver doesn't work well you likely need a new
|
||||
entry for your card in that file. Check the kernel log (using dmesg)
|
||||
to see whenever the driver knows your card or not. There is a line
|
||||
like this one:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \
|
||||
34xxx models [card=1,autodetected]
|
||||
|
||||
If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to
|
||||
the driver. What to do then?
|
||||
|
||||
1) Try upgrading to the latest snapshot, maybe it has been added
|
||||
meanwhile.
|
||||
2) You can try to create a new entry yourself, have a look at
|
||||
cx88-cards.c. If that worked, mail me your changes as unified
|
||||
diff ("diff -u").
|
||||
3) Or you can mail me the config information. We need at least the
|
||||
following information to add the card:
|
||||
|
||||
- the PCI Subsystem ID ("0070:3400" from the line above,
|
||||
"lspci -v" output is fine too).
|
||||
- the tuner type used by the card. You can try to find one by
|
||||
trial-and-error using the tuner=<n> insmod option. If you
|
||||
know which one the card has you can also have a look at the
|
||||
list in CARDLIST.tuner
|
65
Documentation/admin-guide/media/davinci-vpbe.rst
Normal file
65
Documentation/admin-guide/media/davinci-vpbe.rst
Normal file
|
@ -0,0 +1,65 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The VPBE V4L2 driver design
|
||||
===========================
|
||||
|
||||
Functional partitioning
|
||||
-----------------------
|
||||
|
||||
Consists of the following:
|
||||
|
||||
1. V4L2 display driver
|
||||
|
||||
Implements creation of video2 and video3 device nodes and
|
||||
provides v4l2 device interface to manage VID0 and VID1 layers.
|
||||
|
||||
2. Display controller
|
||||
|
||||
Loads up VENC, OSD and external encoders such as ths8200. It provides
|
||||
a set of API calls to V4L2 drivers to set the output/standards
|
||||
in the VENC or external sub devices. It also provides
|
||||
a device object to access the services from OSD subdevice
|
||||
using sub device ops. The connection of external encoders to VENC LCD
|
||||
controller port is done at init time based on default output and standard
|
||||
selection or at run time when application change the output through
|
||||
V4L2 IOCTLs.
|
||||
|
||||
When connected to an external encoder, vpbe controller is also responsible
|
||||
for setting up the interface between VENC and external encoders based on
|
||||
board specific settings (specified in board-xxx-evm.c). This allows
|
||||
interfacing external encoders such as ths8200. The setup_if_config()
|
||||
is implemented for this as well as configure_venc() (part of the next patch)
|
||||
API to set timings in VENC for a specific display resolution. As of this
|
||||
patch series, the interconnection and enabling and setting of the external
|
||||
encoders is not present, and would be a part of the next patch series.
|
||||
|
||||
3. VENC subdevice module
|
||||
|
||||
Responsible for setting outputs provided through internal DACs and also
|
||||
setting timings at LCD controller port when external encoders are connected
|
||||
at the port or LCD panel timings required. When external encoder/LCD panel
|
||||
is connected, the timings for a specific standard/preset is retrieved from
|
||||
the board specific table and the values are used to set the timings in
|
||||
venc using non-standard timing mode.
|
||||
|
||||
Support LCD Panel displays using the VENC. For example to support a Logic
|
||||
PD display, it requires setting up the LCD controller port with a set of
|
||||
timings for the resolution supported and setting the dot clock. So we could
|
||||
add the available outputs as a board specific entry (i.e add the "LogicPD"
|
||||
output name to board-xxx-evm.c). A table of timings for various LCDs
|
||||
supported can be maintained in the board specific setup file to support
|
||||
various LCD displays.As of this patch a basic driver is present, and this
|
||||
support for external encoders and displays forms a part of the next
|
||||
patch series.
|
||||
|
||||
4. OSD module
|
||||
|
||||
OSD module implements all OSD layer management and hardware specific
|
||||
features. The VPBE module interacts with the OSD for enabling and
|
||||
disabling appropriate features of the OSD.
|
||||
|
||||
Current status
|
||||
--------------
|
||||
|
||||
A fully functional working version of the V4L2 driver is available. This
|
||||
driver has been tested with NTSC and PAL standards and buffer streaming.
|
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
16
Documentation/admin-guide/media/dvb-drivers.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
========================================
|
||||
Digital TV driver-specific documentation
|
||||
========================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
avermedia
|
||||
bt8xx
|
||||
lmedm04
|
||||
opera-firmware
|
||||
technisat
|
||||
ttusb-dec
|
||||
zr364xx
|
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-a800-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-a800 cards list
|
||||
=======================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVB-T USB 2.0 (A800)
|
||||
- 07ca:a800, 07ca:a801
|
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-af9005-cardlist.rst
Normal file
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9005 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Afatech DVB-T USB1.1 stick
|
||||
- 15a4:9020
|
||||
* - Ansonic DVB-T USB1.1 stick
|
||||
- 10b9:6000
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0055
|
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
80
Documentation/admin-guide/media/dvb-usb-af9015-cardlist.rst
Normal file
|
@ -0,0 +1,80 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9015 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A309
|
||||
- 07ca:a309
|
||||
* - AVerMedia AVerTV DVB-T Volar X
|
||||
- 07ca:a815
|
||||
* - Afatech AF9015 reference design
|
||||
- 15a4:9015, 15a4:9016
|
||||
* - AverMedia AVerTV Red HD+ (A850T)
|
||||
- 07ca:850b
|
||||
* - AverMedia AVerTV Volar Black HD (A850)
|
||||
- 07ca:850a
|
||||
* - AverMedia AVerTV Volar GPS 805 (A805)
|
||||
- 07ca:a805
|
||||
* - AverMedia AVerTV Volar M (A815Mac)
|
||||
- 07ca:815a
|
||||
* - Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
|
||||
- 1b80:e397
|
||||
* - DigitalNow TinyTwin
|
||||
- 13d3:3226
|
||||
* - DigitalNow TinyTwin v2
|
||||
- 1b80:e402
|
||||
* - DigitalNow TinyTwin v3
|
||||
- 1f4d:9016
|
||||
* - Fujitsu-Siemens Slim Mobile USB DVB-T
|
||||
- 07ca:8150
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:4012
|
||||
* - KWorld Digital MC-810
|
||||
- 1b80:c810
|
||||
* - KWorld PlusTV DVB-T PCI Pro Card (DVB-T PC160-T)
|
||||
- 1b80:c161
|
||||
* - KWorld PlusTV Dual DVB-T PCI (DVB-T PC160-2T)
|
||||
- 1b80:c160
|
||||
* - KWorld PlusTV Dual DVB-T Stick (DVB-T 399U)
|
||||
- 1b80:e399, 1b80:e400
|
||||
* - KWorld USB DVB-T Stick Mobile (UB383-T)
|
||||
- 1b80:e383
|
||||
* - KWorld USB DVB-T TV Stick II (VS-DVB-T 395U)
|
||||
- 1b80:e396, 1b80:e39b, 1b80:e395, 1b80:e39a
|
||||
* - Leadtek WinFast DTV Dongle Gold
|
||||
- 0413:6029
|
||||
* - Leadtek WinFast DTV2000DS
|
||||
- 0413:6a04
|
||||
* - MSI DIGIVOX Duo
|
||||
- 1462:8801
|
||||
* - MSI Digi VOX mini III
|
||||
- 1462:8807
|
||||
* - Pinnacle PCTV 71e
|
||||
- 2304:022b
|
||||
* - Sveon STV20 Tuner USB DVB-T HDTV
|
||||
- 1b80:e39d
|
||||
* - Sveon STV22 Dual USB DVB-T Tuner HDTV
|
||||
- 1b80:e401
|
||||
* - Telestar Starstick 2
|
||||
- 10b9:8000
|
||||
* - TerraTec Cinergy T Stick Dual RC
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy T Stick RC
|
||||
- 0ccd:0097
|
||||
* - TerraTec Cinergy T USB XE
|
||||
- 0ccd:0069
|
||||
* - TrekStor DVB-T USB Stick
|
||||
- 15a4:901b
|
||||
* - TwinHan AzureWave AD-TU700(704J)
|
||||
- 13d3:3237
|
||||
* - Xtensions XD-380
|
||||
- 1ae7:0381
|
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
74
Documentation/admin-guide/media/dvb-usb-af9035-cardlist.rst
Normal file
|
@ -0,0 +1,74 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-af9035 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTV Volar HD/PRO (A835)
|
||||
- 07ca:a835, 07ca:b835
|
||||
* - AVerMedia HD Volar (A867)
|
||||
- 07ca:1867, 07ca:a867, 07ca:0337
|
||||
* - AVerMedia TD310 DVB-T2
|
||||
- 07ca:1871
|
||||
* - AVerMedia Twinstar (A825)
|
||||
- 07ca:0825
|
||||
* - Afatech AF9035 reference design
|
||||
- 15a4:9035, 15a4:1000, 15a4:1001, 15a4:1002, 15a4:1003
|
||||
* - Asus U3100Mini Plus
|
||||
- 0b05:1779
|
||||
* - Avermedia A835B(1835)
|
||||
- 07ca:1835
|
||||
* - Avermedia A835B(2835)
|
||||
- 07ca:2835
|
||||
* - Avermedia A835B(3835)
|
||||
- 07ca:3835
|
||||
* - Avermedia A835B(4835)
|
||||
- 07ca:4835
|
||||
* - Avermedia AverTV Volar HD 2 (TD110)
|
||||
- 07ca:a110
|
||||
* - Avermedia H335
|
||||
- 07ca:0335
|
||||
* - Digital Dual TV Receiver CTVDIGDUAL_V2
|
||||
- 1b80:e410
|
||||
* - EVOLVEO XtraTV stick
|
||||
- 1f4d:a115
|
||||
* - Hauppauge WinTV-MiniStick 2
|
||||
- 2040:f900
|
||||
* - ITE 9135 Generic
|
||||
- 048d:9135
|
||||
* - ITE 9135(9005) Generic
|
||||
- 048d:9005
|
||||
* - ITE 9135(9006) Generic
|
||||
- 048d:9006
|
||||
* - ITE 9303 Generic
|
||||
- 048d:9306
|
||||
* - Kworld UB499-2T T09
|
||||
- 1b80:e409
|
||||
* - Leadtek WinFast DTV Dongle Dual
|
||||
- 0413:6a05
|
||||
* - Logilink VG0022A
|
||||
- 1d19:0100
|
||||
* - PCTV AndroiDTV (78e)
|
||||
- 2013:025a
|
||||
* - PCTV microStick (79e)
|
||||
- 2013:0262
|
||||
* - Sveon STV22 Dual DVB-T HDTV
|
||||
- 1b80:e411
|
||||
* - TerraTec Cinergy T Stick
|
||||
- 0ccd:0093
|
||||
* - TerraTec Cinergy T Stick (rev. 2)
|
||||
- 0ccd:00aa
|
||||
* - TerraTec Cinergy T Stick Dual RC (rev. 2)
|
||||
- 0ccd:0099
|
||||
* - TerraTec Cinergy TC2 Stick
|
||||
- 0ccd:10b2
|
||||
* - TerraTec T1
|
||||
- 0ccd:10ae
|
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-anysee-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-anysee cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Anysee
|
||||
- 04b4:861f, 1c73:861f
|
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-au6610-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-au6610 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Sigmatek DVB-110
|
||||
- 058f:6610
|
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-az6007-cardlist.rst
Normal file
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6007 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Azurewave 6007
|
||||
- 13d3:0ccd
|
||||
* - Technisat CableStar Combo HD CI
|
||||
- 14f7:0003
|
||||
* - Terratec H7
|
||||
- 0ccd:10b4, 0ccd:10a3
|
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-az6027-cardlist.rst
Normal file
|
@ -0,0 +1,24 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-az6027 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AZUREWAVE DVB-S/S2 USB2.0 (AZ6027)
|
||||
- 13d3:3275
|
||||
* - Elgato EyeTV Sat
|
||||
- 0fd9:002a, 0fd9:0025, 0fd9:0036
|
||||
* - TERRATEC S7
|
||||
- 0ccd:10a4
|
||||
* - TERRATEC S7 MKII
|
||||
- 0ccd:10ac
|
||||
* - Technisat SkyStar USB 2 HD CI
|
||||
- 14f7:0001, 14f7:0002
|
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-ce6230-cardlist.rst
Normal file
|
@ -0,0 +1,18 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ce6230 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia A310 USB 2.0 DVB-T tuner
|
||||
- 07ca:a310
|
||||
* - Intel CE9500 reference design
|
||||
- 8086:9500
|
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cinergyT2 cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TerraTec/qanu USB2.0 Highspeed DVB-T Receiver
|
||||
- 0ccd:0x0038
|
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
40
Documentation/admin-guide/media/dvb-usb-cxusb-cardlist.rst
Normal file
|
@ -0,0 +1,40 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-cxusb cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AVerTVHD Volar (A868R)
|
||||
-
|
||||
* - Conexant DMB-TH Stick
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual Digital 4 (rev 2)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T Dual USB
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T NANO2
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (LGZ201)
|
||||
-
|
||||
* - DViCO FusionHDTV DVB-T USB (TH7579)
|
||||
-
|
||||
* - DViCO FusionHDTV5 USB Gold
|
||||
-
|
||||
* - DigitalNow DVB-T Dual USB
|
||||
-
|
||||
* - Medion MD95700 (MDUSBTV-HYBRID)
|
||||
-
|
||||
* - Mygica D689 DMB-TH
|
||||
-
|
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
162
Documentation/admin-guide/media/dvb-usb-dib0700-cardlist.rst
Normal file
|
@ -0,0 +1,162 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dib0700 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema U3000 Mini DVBT Tuner
|
||||
- 0b05:171f
|
||||
* - ASUS My Cinema U3100 Mini DVBT Tuner
|
||||
- 0b05:173f
|
||||
* - AVerMedia AVerTV DVB-T Express
|
||||
- 07ca:b568
|
||||
* - AVerMedia AVerTV DVB-T Volar
|
||||
- 07ca:a807, 07ca:b808
|
||||
* - Artec T14BR DVB-T
|
||||
- 05d8:810f
|
||||
* - Asus My Cinema-U3000Hybrid
|
||||
- 0b05:1736
|
||||
* - Compro Videomate U500
|
||||
- 185b:1e78, 185b:1e80
|
||||
* - DiBcom NIM7090 reference design
|
||||
- 10b8:1bb2
|
||||
* - DiBcom NIM8096MD reference design
|
||||
- 10b8:1fa8
|
||||
* - DiBcom NIM9090MD reference design
|
||||
- 10b8:2384
|
||||
* - DiBcom STK7070P reference design
|
||||
- 10b8:1ebc
|
||||
* - DiBcom STK7070PD reference design
|
||||
- 10b8:1ebe
|
||||
* - DiBcom STK7700D reference design
|
||||
- 10b8:1ef0
|
||||
* - DiBcom STK7700P reference design
|
||||
- 10b8:1e14, 10b8:1e78
|
||||
* - DiBcom STK7770P reference design
|
||||
- 10b8:1e80
|
||||
* - DiBcom STK807xP reference design
|
||||
- 10b8:1f90
|
||||
* - DiBcom STK807xPVR reference design
|
||||
- 10b8:1f98
|
||||
* - DiBcom STK8096-PVR reference design
|
||||
- 2013:1faa, 10b8:1faa
|
||||
* - DiBcom STK8096GP reference design
|
||||
- 10b8:1fa0
|
||||
* - DiBcom STK9090M reference design
|
||||
- 10b8:2383
|
||||
* - DiBcom TFE7090PVR reference design
|
||||
- 10b8:1bb4
|
||||
* - DiBcom TFE7790P reference design
|
||||
- 10b8:1e6e
|
||||
* - DiBcom TFE8096P reference design
|
||||
- 10b8:1f9C
|
||||
* - Elgato EyeTV DTT
|
||||
- 0fd9:0021
|
||||
* - Elgato EyeTV DTT rev. 2
|
||||
- 0fd9:003f
|
||||
* - Elgato EyeTV Diversity
|
||||
- 0fd9:0011
|
||||
* - Elgato EyeTV Dtt Dlx PD378S
|
||||
- 0fd9:0020
|
||||
* - EvolutePC TVWay+
|
||||
- 1e59:0002
|
||||
* - Gigabyte U7000
|
||||
- 1044:7001
|
||||
* - Gigabyte U8000-RH
|
||||
- 1044:7002
|
||||
* - Hama DVB=T Hybrid USB Stick
|
||||
- 147f:2758
|
||||
* - Hauppauge ATSC MiniCard (B200)
|
||||
- 2040:b200
|
||||
* - Hauppauge ATSC MiniCard (B210)
|
||||
- 2040:b210
|
||||
* - Hauppauge Nova-T 500 Dual DVB-T
|
||||
- 2040:9941, 2040:9950
|
||||
* - Hauppauge Nova-T MyTV.t
|
||||
- 2040:7080
|
||||
* - Hauppauge Nova-T Stick
|
||||
- 2040:7050, 2040:7060, 2040:7070
|
||||
* - Hauppauge Nova-TD Stick (52009)
|
||||
- 2040:5200
|
||||
* - Hauppauge Nova-TD Stick/Elgato Eye-TV Diversity
|
||||
- 2040:9580
|
||||
* - Hauppauge Nova-TD-500 (84xxx)
|
||||
- 2040:8400
|
||||
* - Leadtek WinFast DTV Dongle H
|
||||
- 0413:60f6
|
||||
* - Leadtek Winfast DTV Dongle (STK7700P based)
|
||||
- 0413:6f00, 0413:6f01
|
||||
* - Medion CTX1921 DVB-T USB
|
||||
- 1660:1921
|
||||
* - Microsoft Xbox One Digital TV Tuner
|
||||
- 045e:02d5
|
||||
* - PCTV 2002e
|
||||
- 2013:025c
|
||||
* - PCTV 2002e SE
|
||||
- 2013:025d
|
||||
* - Pinnacle Expresscard 320cx
|
||||
- 2304:022e
|
||||
* - Pinnacle PCTV 2000e
|
||||
- 2304:022c
|
||||
* - Pinnacle PCTV 282e
|
||||
- 2013:0248, 2304:0248
|
||||
* - Pinnacle PCTV 340e HD Pro USB Stick
|
||||
- 2304:023d
|
||||
* - Pinnacle PCTV 72e
|
||||
- 2304:0236
|
||||
* - Pinnacle PCTV 73A
|
||||
- 2304:0243
|
||||
* - Pinnacle PCTV 73e
|
||||
- 2304:0237
|
||||
* - Pinnacle PCTV 73e SE
|
||||
- 2013:0245, 2304:0245
|
||||
* - Pinnacle PCTV DVB-T Flash Stick
|
||||
- 2304:0228
|
||||
* - Pinnacle PCTV Dual DVB-T Diversity Stick
|
||||
- 2304:0229
|
||||
* - Pinnacle PCTV HD Pro USB Stick
|
||||
- 2304:023a
|
||||
* - Pinnacle PCTV HD USB Stick
|
||||
- 2304:023b
|
||||
* - Pinnacle PCTV Hybrid Stick Solo
|
||||
- 2304:023e
|
||||
* - Prolink Pixelview SBTVD
|
||||
- 1554:5010
|
||||
* - Sony PlayTV
|
||||
- 1415:0003
|
||||
* - TechniSat AirStar TeleStick 2
|
||||
- 14f7:0004
|
||||
* - Terratec Cinergy DT USB XS Diversity/ T5
|
||||
- 0ccd:0081, 0ccd:10a1
|
||||
* - Terratec Cinergy DT XS Diversity
|
||||
- 0ccd:005a
|
||||
* - Terratec Cinergy HT Express
|
||||
- 0ccd:0060
|
||||
* - Terratec Cinergy HT USB XE
|
||||
- 0ccd:0058
|
||||
* - Terratec Cinergy T Express
|
||||
- 0ccd:0062
|
||||
* - Terratec Cinergy T USB XXS (HD)/ T3
|
||||
- 0ccd:0078, 0ccd:10a0, 0ccd:00ab
|
||||
* - Uniwill STK7700P based (Hama and others)
|
||||
- 1584:6003
|
||||
* - YUAN High-Tech DiBcom STK7700D
|
||||
- 1164:1e8c
|
||||
* - YUAN High-Tech MC770
|
||||
- 1164:0871
|
||||
* - YUAN High-Tech STK7700D
|
||||
- 1164:1efc
|
||||
* - YUAN High-Tech STK7700PH
|
||||
- 1164:1f08
|
||||
* - Yuan EC372S
|
||||
- 1164:1edc
|
||||
* - Yuan PD378S
|
||||
- 1164:2edc
|
|
@ -0,0 +1,42 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mb cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AVerMedia AverTV DVBT USB1.1
|
||||
- 14aa:0001, 14aa:0002
|
||||
* - Artec T1 USB1.1 TVBOX with AN2135
|
||||
- 05d8:8105, 05d8:8106
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235
|
||||
- 05d8:8107, 05d8:8108
|
||||
* - Artec T1 USB1.1 TVBOX with AN2235 (faulty USB IDs)
|
||||
- 0547:2235
|
||||
* - Artec T1 USB2.0
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Compro Videomate DVB-U2000 - DVB-T USB1.1 (please confirm to linux-dvb)
|
||||
- 185b:d000, 145f:010c, 185b:d001
|
||||
* - DiBcom USB1.1 DVB-T reference design (MOD3000)
|
||||
- 10b8:0bb8, 10b8:0bb9
|
||||
* - Grandtec USB1.1 DVB-T
|
||||
- 5032:0fa0, 5032:0bb8, 5032:0fa1, 5032:0bb9
|
||||
* - KWorld V-Stream XPERT DTV - DVB-T USB1.1
|
||||
- eb1a:17de, eb1a:17df
|
||||
* - KWorld Xpert DVB-T USB2.0
|
||||
- eb2a:17de
|
||||
* - KWorld/ADSTech Instant DVB-T USB2.0
|
||||
- 06e1:a333, 06e1:a334
|
||||
* - TwinhanDTV USB-Ter USB1.1 / Magic Box I / HAMA USB1.1 DVB-T device
|
||||
- 13d3:3201, 1822:3201, 13d3:3202, 1822:3202
|
||||
* - Unknown USB1.1 DVB-T device ???? please report the name to the author
|
||||
- 1025:005e, 1025:005f
|
||||
* - VideoWalker DVB-T USB
|
||||
- 0458:701e, 0458:701f
|
|
@ -0,0 +1,30 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dibusb-mc cards list
|
||||
============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Artec T1 USB2.0 TVBOX (please check the warm ID)
|
||||
- 05d8:8109, 05d8:810a
|
||||
* - Artec T14 - USB2.0 DVB-T
|
||||
- 05d8:810b, 05d8:810c
|
||||
* - DiBcom USB2.0 DVB-T reference design (MOD3000P)
|
||||
- 10b8:0bc6, 10b8:0bc7
|
||||
* - GRAND - USB2.0 DVB-T adapter
|
||||
- 5032:0bc6, 5032:0bc7
|
||||
* - Humax/Coex DVB-T USB Stick 2.0 High Speed
|
||||
- 10b9:5000, 10b9:5001
|
||||
* - LITE-ON USB2.0 DVB-T Tuner
|
||||
- 04ca:f000, 04ca:f001
|
||||
* - Leadtek - USB2.0 Winfast DTV dongle
|
||||
- 0413:6025, 0413:6026
|
||||
* - MSI Digivox Mini SL
|
||||
- eb1a:e360, eb1a:e361
|
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-digitv-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-digitv cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Nebula Electronics uDigiTV DVB-T USB2.0)
|
||||
- 0547:0201
|
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-dtt200u-cardlist.rst
Normal file
|
@ -0,0 +1,22 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtt200u cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - WideView WT-220U PenType Receiver (Miglia)
|
||||
- 18f3:0220
|
||||
* - WideView WT-220U PenType Receiver (Typhoon/Freecom)
|
||||
- 14aa:0222, 14aa:0220, 14aa:0221, 14aa:0225, 14aa:0226
|
||||
* - WideView WT-220U PenType Receiver (based on ZL353)
|
||||
- 14aa:022a, 14aa:022b
|
||||
* - WideView/Yuan/Yakumo/Hama/Typhoon DVB-T USB2.0 (WT-200U)
|
||||
- 14aa:0201, 14aa:0301
|
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-dtv5100-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dtv5100 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - AME DTV-5100 USB2.0 DVB-T
|
||||
- 0x06be:0xa232
|
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
42
Documentation/admin-guide/media/dvb-usb-dvbsky-cardlist.rst
Normal file
|
@ -0,0 +1,42 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dvbsky cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBSky S960/S860
|
||||
- 0572:6831
|
||||
* - DVBSky S960CI
|
||||
- 0572:960c
|
||||
* - DVBSky T330
|
||||
- 0572:0320
|
||||
* - DVBSky T680CI
|
||||
- 0572:680c
|
||||
* - MyGica Mini DVB-T2 USB Stick T230
|
||||
- 0572:c688
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C
|
||||
- 0572:c689
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C Lite
|
||||
- 0572:c699
|
||||
* - MyGica Mini DVB-T2 USB Stick T230C v2
|
||||
- 0572:c68a
|
||||
* - TechnoTrend TT-connect CT2-4650 CI
|
||||
- 0b48:3012
|
||||
* - TechnoTrend TT-connect CT2-4650 CI v1.1
|
||||
- 0b48:3015
|
||||
* - TechnoTrend TT-connect S2-4650 CI
|
||||
- 0b48:3017
|
||||
* - TechnoTrend TVStick CT2-4400
|
||||
- 0b48:3014
|
||||
* - Terratec Cinergy S2 Rev.4
|
||||
- 0ccd:0105
|
||||
* - Terratec H7 Rev.4
|
||||
- 0ccd:10a5
|
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
52
Documentation/admin-guide/media/dvb-usb-dw2102-cardlist.rst
Normal file
|
@ -0,0 +1,52 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-dw2102 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DVBWorld DVB-C 3101 USB2.0
|
||||
- 04b4:3101
|
||||
* - DVBWorld DVB-S 2101 USB2.0
|
||||
- 04b4:0x2101
|
||||
* - DVBWorld DVB-S 2102 USB2.0
|
||||
- 04b4:2102
|
||||
* - DVBWorld DW2104 USB2.0
|
||||
- 04b4:2104
|
||||
* - GOTVIEW Satellite HD
|
||||
- 0x1FE1:5456
|
||||
* - Geniatech T220 DVB-T/T2 USB2.0
|
||||
- 0x1f4d:0xD220
|
||||
* - SU3000HD DVB-S USB2.0
|
||||
- 0x1f4d:0x3000
|
||||
* - TeVii S482 (tuner 1)
|
||||
- 0x9022:0xd483
|
||||
* - TeVii S482 (tuner 2)
|
||||
- 0x9022:0xd484
|
||||
* - TeVii S630 USB
|
||||
- 0x9022:d630
|
||||
* - TeVii S650 USB2.0
|
||||
- 0x9022:d650
|
||||
* - TeVii S662
|
||||
- 0x9022:d662
|
||||
* - TechnoTrend TT-connect S2-4600
|
||||
- 0b48:3011
|
||||
* - TerraTec Cinergy S USB
|
||||
- 0ccd:0064
|
||||
* - Terratec Cinergy S2 USB BOX
|
||||
- 0ccd:0x0105
|
||||
* - Terratec Cinergy S2 USB HD
|
||||
- 0ccd:00a8
|
||||
* - Terratec Cinergy S2 USB HD Rev.2
|
||||
- 0ccd:00b0
|
||||
* - Terratec Cinergy S2 USB HD Rev.3
|
||||
- 0ccd:0102
|
||||
* - X3M TV SPC1400HD PCI
|
||||
- 0x1f4d:0x3100
|
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-ec168-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ec168 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - E3C EC168 reference design
|
||||
- 18b4:1689, 18b4:fffa, 18b4:fffb, 18b4:1001, 18b4:1002
|
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-gl861-cardlist.rst
Normal file
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gl861 cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - 774 Friio White ISDB-T USB2.0
|
||||
- 7a69:0001
|
||||
* - A-LINK DTU DVB-T USB2.0
|
||||
- 05e3:f170
|
||||
* - MSI Mega Sky 55801 DVB-T USB2.0
|
||||
- 0db0:5581
|
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
22
Documentation/admin-guide/media/dvb-usb-gp8psk-cardlist.rst
Normal file
|
@ -0,0 +1,22 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-gp8psk cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Genpix 8PSK-to-USB2 Rev.1 DVB-S receiver
|
||||
- 09c0:0200, 09c0:0201
|
||||
* - Genpix 8PSK-to-USB2 Rev.2 DVB-S receiver
|
||||
- 09c0:0202
|
||||
* - Genpix SkyWalker-1 DVB-S receiver
|
||||
- 09c0:0203
|
||||
* - Genpix SkyWalker-2 DVB-S receiver
|
||||
- 09c0:0206
|
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
20
Documentation/admin-guide/media/dvb-usb-lmedm04-cardlist.rst
Normal file
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-lmedm04 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DM04_LME2510C_DVB-S
|
||||
- 3344:1120
|
||||
* - DM04_LME2510C_DVB-S RS2000
|
||||
- 3344:22f0
|
||||
* - DM04_LME2510_DVB-S
|
||||
- 3344:1122
|
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
26
Documentation/admin-guide/media/dvb-usb-m920x-cardlist.rst
Normal file
|
@ -0,0 +1,26 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-m920x cards list
|
||||
========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DTV-DVB UDTT7049
|
||||
- 13d3:3219
|
||||
* - Dposh DVB-T USB2.0
|
||||
- 1498:9206, 1498:a090
|
||||
* - LifeView TV Walker Twin DVB-T USB2.0
|
||||
- 10fd:0514, 10fd:0513
|
||||
* - MSI DIGI VOX mini II DVB-T USB2.0
|
||||
- 10fd:1513
|
||||
* - MSI Mega Sky 580 DVB-T USB2.0
|
||||
- 0db0:5580
|
||||
* - Pinnacle PCTV 310e
|
||||
- 13d3:3211
|
|
@ -0,0 +1,36 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-mxl111sf cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - HCW 117xxx
|
||||
- 2040:b702
|
||||
* - HCW 126xxx
|
||||
- 2040:c602, 2040:c60a
|
||||
* - Hauppauge 117xxx ATSC+
|
||||
- 2040:b700, 2040:b703, 2040:b753, 2040:b763, 2040:b757, 2040:b767
|
||||
* - Hauppauge 117xxx DVBT
|
||||
- 2040:b704, 2040:b764
|
||||
* - Hauppauge 126xxx
|
||||
- 2040:c612, 2040:c61a
|
||||
* - Hauppauge 126xxx ATSC
|
||||
- 2040:c601, 2040:c609, 2040:b701
|
||||
* - Hauppauge 126xxx ATSC+
|
||||
- 2040:c600, 2040:c603, 2040:c60b, 2040:c653, 2040:c65b
|
||||
* - Hauppauge 126xxx DVBT
|
||||
- 2040:c604, 2040:c60c
|
||||
* - Hauppauge 138xxx DVBT
|
||||
- 2040:d854, 2040:d864, 2040:d8d4, 2040:d8e4
|
||||
* - Hauppauge Mercury
|
||||
- 2040:d853, 2040:d863, 2040:d8d3, 2040:d8e3, 2040:d8ff
|
||||
* - Hauppauge WinTV-Aero-M
|
||||
- 2040:c613, 2040:c61b
|
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-nova-t-usb2 cards list
|
||||
==============================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge WinTV-NOVA-T usb2
|
||||
- 2040:9300, 2040:9301
|
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-opera1-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-opera1 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Opera1 DVB-S USB2.0
|
||||
- 04b4:2830, 695c:3829
|
|
@ -0,0 +1,20 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-pctv452e cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - PCTV HDTV USB
|
||||
- 2304:021f
|
||||
* - Technotrend TT Connect S2-3600
|
||||
- 0b48:3007
|
||||
* - Technotrend TT Connect S2-3650-CI
|
||||
- 0b48:300a
|
|
@ -0,0 +1,80 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-rtl28xxu cards list
|
||||
===========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ASUS My Cinema-U3100Mini Plus V2
|
||||
- 1b80:d3a8
|
||||
* - Astrometa DVB-T2
|
||||
- 15f4:0131
|
||||
* - Compro VideoMate U620F
|
||||
- 185b:0620
|
||||
* - Compro VideoMate U650F
|
||||
- 185b:0650
|
||||
* - Crypto ReDi PC 50 A
|
||||
- 1f4d:a803
|
||||
* - Dexatek DK DVB-T Dongle
|
||||
- 1d19:1101
|
||||
* - Dexatek DK mini DVB-T Dongle
|
||||
- 1d19:1102
|
||||
* - DigitalNow Quad DVB-T Receiver
|
||||
- 0413:6680
|
||||
* - Freecom USB2.0 DVB-T
|
||||
- 14aa:0160, 14aa:0161
|
||||
* - G-Tek Electronics Group Lifeview LV5TDLX DVB-T
|
||||
- 1f4d:b803
|
||||
* - GIGABYTE U7300
|
||||
- 1b80:d393
|
||||
* - Genius TVGo DVB-T03
|
||||
- 0458:707f
|
||||
* - GoTView MasterHD 3
|
||||
- 5654:ca42
|
||||
* - Leadtek WinFast DTV Dongle mini
|
||||
- 0413:6a03
|
||||
* - Leadtek WinFast DTV2000DS Plus
|
||||
- 0413:6f12
|
||||
* - Leadtek Winfast DTV Dongle Mini D
|
||||
- 0413:6f0f
|
||||
* - MSI DIGIVOX Micro HD
|
||||
- 1d19:1104
|
||||
* - MaxMedia HU394-T
|
||||
- 1b80:d394
|
||||
* - PROlectrix DV107669
|
||||
- 1f4d:d803
|
||||
* - Peak DVB-T USB
|
||||
- 1b80:d395
|
||||
* - Realtek RTL2831U reference design
|
||||
- 0bda:2831
|
||||
* - Realtek RTL2832U reference design
|
||||
- 0bda:2832, 0bda:2838
|
||||
* - Sveon STV20
|
||||
- 1b80:d39d
|
||||
* - Sveon STV21
|
||||
- 1b80:d3b0
|
||||
* - Sveon STV27
|
||||
- 1b80:d3af
|
||||
* - TURBO-X Pure TV Tuner DTT-2000
|
||||
- 1b80:d3a4
|
||||
* - TerraTec Cinergy T Stick Black
|
||||
- 0ccd:00a9
|
||||
* - TerraTec Cinergy T Stick RC (Rev. 3)
|
||||
- 0ccd:00d3
|
||||
* - TerraTec Cinergy T Stick+
|
||||
- 0ccd:00d7
|
||||
* - TerraTec NOXON DAB Stick
|
||||
- 0ccd:00b3
|
||||
* - TerraTec NOXON DAB Stick (rev 2)
|
||||
- 0ccd:00e0
|
||||
* - TerraTec NOXON DAB Stick (rev 3)
|
||||
- 0ccd:00b4
|
||||
* - Trekstor DVB-T Stick Terres 2.0
|
||||
- 1f4d:C803
|
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-technisat-usb2 cards list
|
||||
=================================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Technisat SkyStar USB HD (DVB-S/S2)
|
||||
- 14f7:0500
|
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
24
Documentation/admin-guide/media/dvb-usb-ttusb2-cardlist.rst
Normal file
|
@ -0,0 +1,24 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-ttusb2 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Pinnacle 400e DVB-S USB2.0
|
||||
- 2304:020f
|
||||
* - Pinnacle 450e DVB-S USB2.0
|
||||
- 2304:0222
|
||||
* - Technotrend TT-connect CT-3650
|
||||
- 0b48:300d
|
||||
* - Technotrend TT-connect S-2400
|
||||
- 0b48:3006
|
||||
* - Technotrend TT-connect S-2400 (8kB EEPROM)
|
||||
- 0b48:3009
|
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-umt-010-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-umt-010 cards list
|
||||
==========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hanftek UMT-010 DVB-T USB2.0
|
||||
- 15f4:0001, 15f4:0015
|
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-vp702x-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp702x cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - TwinhanDTV StarBox DVB-S USB2.0 (VP7021)
|
||||
- 13d3:3207
|
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
18
Documentation/admin-guide/media/dvb-usb-vp7045-cardlist.rst
Normal file
|
@ -0,0 +1,18 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-vp7045 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - DigitalNow TinyUSB 2 DVB-t Receiver
|
||||
- 13d3:3223, 13d3:3224
|
||||
* - Twinhan USB2.0 DVB-T receiver (TwinhanDTV Alpha/MagicBox II)
|
||||
- 13d3:3205, 13d3:3206
|
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
16
Documentation/admin-guide/media/dvb-usb-zd1301-cardlist.rst
Normal file
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
dvb-usb-zd1301 cards list
|
||||
=========================
|
||||
|
||||
.. tabularcolumns:: |p{7.0cm}|p{10.5cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 7 13
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - ZyDAS ZD1301 reference design
|
||||
- 0ace:13a1
|
12
Documentation/admin-guide/media/dvb.rst
Normal file
12
Documentation/admin-guide/media/dvb.rst
Normal file
|
@ -0,0 +1,12 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========
|
||||
Digital TV
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
|
||||
dvb_intro
|
||||
ci
|
||||
faq
|
||||
dvb_references
|
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
616
Documentation/admin-guide/media/dvb_intro.rst
Normal file
|
@ -0,0 +1,616 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==============================
|
||||
Using the Digital TV Framework
|
||||
==============================
|
||||
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
One significant difference between Digital TV and Analogue TV that the
|
||||
unwary (like myself) should consider is that, although the component
|
||||
structure of DVB-T cards are substantially similar to Analogue TV cards,
|
||||
they function in substantially different ways.
|
||||
|
||||
The purpose of an Analogue TV is to receive and display an Analogue
|
||||
Television signal. An Analogue TV signal (otherwise known as composite
|
||||
video) is an analogue encoding of a sequence of image frames (25 frames
|
||||
per second in Europe) rasterised using an interlacing technique.
|
||||
Interlacing takes two fields to represent one frame. Therefore, an
|
||||
Analogue TV card for a PC has the following purpose:
|
||||
|
||||
* Tune the receiver to receive a broadcast signal
|
||||
* demodulate the broadcast signal
|
||||
* demultiplex the analogue video signal and analogue audio
|
||||
signal.
|
||||
|
||||
.. note::
|
||||
|
||||
some countries employ a digital audio signal
|
||||
embedded within the modulated composite analogue signal -
|
||||
using NICAM signaling.)
|
||||
|
||||
* digitize the analogue video signal and make the resulting datastream
|
||||
available to the data bus.
|
||||
|
||||
The digital datastream from an Analogue TV card is generated by
|
||||
circuitry on the card and is often presented uncompressed. For a PAL TV
|
||||
signal encoded at a resolution of 768x576 24-bit color pixels over 25
|
||||
frames per second - a fair amount of data is generated and must be
|
||||
processed by the PC before it can be displayed on the video monitor
|
||||
screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which
|
||||
permit the raw digital data stream to be presented to the PC in an
|
||||
encoded and compressed form - similar to the form that is used in
|
||||
Digital TV.
|
||||
|
||||
The purpose of a simple budget digital TV card (DVB-T,C or S) is to
|
||||
simply:
|
||||
|
||||
* Tune the received to receive a broadcast signal. * Extract the encoded
|
||||
digital datastream from the broadcast signal.
|
||||
* Make the encoded digital datastream (MPEG2) available to the data bus.
|
||||
|
||||
The significant difference between the two is that the tuner on the
|
||||
analogue TV card spits out an Analogue signal, whereas the tuner on the
|
||||
digital TV card spits out a compressed encoded digital datastream. As
|
||||
the signal is already digitised, it is trivial to pass this datastream
|
||||
to the PC databus with minimal additional processing and then extract
|
||||
the digital video and audio datastreams passing them to the appropriate
|
||||
software or hardware for decoding and viewing.
|
||||
|
||||
Getting the card going
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The Device Driver API for DVB under Linux will the following
|
||||
device nodes via the devfs filesystem:
|
||||
|
||||
* /dev/dvb/adapter0/demux0
|
||||
* /dev/dvb/adapter0/dvr0
|
||||
* /dev/dvb/adapter0/frontend0
|
||||
|
||||
The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2
|
||||
Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used
|
||||
to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is
|
||||
used to control what programs will be received.
|
||||
|
||||
Depending on the card's feature set, the Device Driver API could also
|
||||
expose other device nodes:
|
||||
|
||||
* /dev/dvb/adapter0/ca0
|
||||
* /dev/dvb/adapter0/audio0
|
||||
* /dev/dvb/adapter0/net0
|
||||
* /dev/dvb/adapter0/osd0
|
||||
* /dev/dvb/adapter0/video0
|
||||
|
||||
The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The
|
||||
other device nodes are found only on devices that use the av7110
|
||||
driver, with is now obsoleted, together with the extra API whose such
|
||||
devices use.
|
||||
|
||||
Receiving a digital TV channel
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
This section attempts to explain how it works and how this affects the
|
||||
configuration of a Digital TV card.
|
||||
|
||||
On this example, we're considering tuning into DVB-T channels in
|
||||
Australia, at the Melbourne region.
|
||||
|
||||
The frequencies broadcast by Mount Dandenong transmitters are,
|
||||
currently:
|
||||
|
||||
Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
|
||||
|
||||
=========== ===========
|
||||
Broadcaster Frequency
|
||||
=========== ===========
|
||||
Seven 177.500 Mhz
|
||||
SBS 184.500 Mhz
|
||||
Nine 191.625 Mhz
|
||||
Ten 219.500 Mhz
|
||||
ABC 226.500 Mhz
|
||||
Channel 31 557.625 Mhz
|
||||
=========== ===========
|
||||
|
||||
The digital TV Scan utilities (like dvbv5-scan) have use a set of
|
||||
compiled-in defaults for various countries and regions. Those are
|
||||
currently provided as a separate package, called dtv-scan-tables. It's
|
||||
git tree is located at LinuxTV.org:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/
|
||||
|
||||
If none of the tables there suit, you can specify a data file on the
|
||||
command line which contains the transponder frequencies. Here is a
|
||||
sample file for the above channel transponders, in the old "channel"
|
||||
format::
|
||||
|
||||
# Data file for DVB scan program
|
||||
#
|
||||
# C Frequency SymbolRate FEC QAM
|
||||
# S Frequency Polarisation SymbolRate FEC
|
||||
# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
|
||||
|
||||
T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE
|
||||
T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
|
||||
T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE
|
||||
|
||||
Nowadays, we prefer to use a newer format, with is more verbose and easier
|
||||
to understand. With the new format, the "Seven" channel transponder's
|
||||
data is represented by::
|
||||
|
||||
[Seven]
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = AUTO
|
||||
CODE_RATE_LP = AUTO
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
INVERSION = AUTO
|
||||
|
||||
For an updated version of the complete table, please see:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne
|
||||
|
||||
When the Digital TV scanning utility runs, it will output a file
|
||||
containing the information for all the audio and video programs that
|
||||
exists into each channel's transponders which the card's frontend can
|
||||
lock onto. (i.e. any whose signal is strong enough at your antenna).
|
||||
|
||||
Here's the output of the dvbv5 tools from a channel scan took from
|
||||
Melburne::
|
||||
|
||||
[ABC HDTV]
|
||||
SERVICE_ID = 560
|
||||
VIDEO_PID = 2307
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV Melbourne]
|
||||
SERVICE_ID = 561
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 2]
|
||||
SERVICE_ID = 562
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 3]
|
||||
SERVICE_ID = 563
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC TV 4]
|
||||
SERVICE_ID = 564
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[ABC DiG Radio]
|
||||
SERVICE_ID = 566
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 2311
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 226500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 3/4
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1585
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 1]
|
||||
SERVICE_ID = 1586
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 2]
|
||||
SERVICE_ID = 1587
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 3]
|
||||
SERVICE_ID = 1588
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1589
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital 4]
|
||||
SERVICE_ID = 1590
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1591
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN HD]
|
||||
SERVICE_ID = 1592
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[TEN Digital]
|
||||
SERVICE_ID = 1593
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 650
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 219500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital]
|
||||
SERVICE_ID = 1072
|
||||
VIDEO_PID = 513
|
||||
AUDIO_PID = 660
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Digital HD]
|
||||
SERVICE_ID = 1073
|
||||
VIDEO_PID = 512
|
||||
AUDIO_PID = 0
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[Nine Guide]
|
||||
SERVICE_ID = 1074
|
||||
VIDEO_PID = 514
|
||||
AUDIO_PID = 670
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 191625000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 3/4
|
||||
CODE_RATE_LP = 1/2
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/16
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital]
|
||||
SERVICE_ID = 1328
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 1]
|
||||
SERVICE_ID = 1329
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 2]
|
||||
SERVICE_ID = 1330
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Digital 3]
|
||||
SERVICE_ID = 1331
|
||||
VIDEO_PID = 769
|
||||
AUDIO_PID = 770
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 HD Digital]
|
||||
SERVICE_ID = 1332
|
||||
VIDEO_PID = 833
|
||||
AUDIO_PID = 834
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[7 Program Guide]
|
||||
SERVICE_ID = 1334
|
||||
VIDEO_PID = 865
|
||||
AUDIO_PID = 866
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 177500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS HD]
|
||||
SERVICE_ID = 784
|
||||
VIDEO_PID = 102
|
||||
AUDIO_PID = 103
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 1]
|
||||
SERVICE_ID = 785
|
||||
VIDEO_PID = 161
|
||||
AUDIO_PID = 81
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS DIGITAL 2]
|
||||
SERVICE_ID = 786
|
||||
VIDEO_PID = 162
|
||||
AUDIO_PID = 83
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS EPG]
|
||||
SERVICE_ID = 787
|
||||
VIDEO_PID = 163
|
||||
AUDIO_PID = 85
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 1]
|
||||
SERVICE_ID = 798
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 201
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
||||
|
||||
[SBS RADIO 2]
|
||||
SERVICE_ID = 799
|
||||
VIDEO_PID = 0
|
||||
AUDIO_PID = 202
|
||||
DELIVERY_SYSTEM = DVBT
|
||||
FREQUENCY = 536500000
|
||||
INVERSION = OFF
|
||||
BANDWIDTH_HZ = 7000000
|
||||
CODE_RATE_HP = 2/3
|
||||
CODE_RATE_LP = 2/3
|
||||
MODULATION = QAM/64
|
||||
TRANSMISSION_MODE = 8K
|
||||
GUARD_INTERVAL = 1/8
|
||||
HIERARCHY = NONE
|
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
29
Documentation/admin-guide/media/dvb_references.rst
Normal file
|
@ -0,0 +1,29 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
The main development site and GIT repository for Digital TV
|
||||
drivers is https://linuxtv.org.
|
||||
|
||||
The DVB mailing list linux-dvb is hosted at vger. Please see
|
||||
http://vger.kernel.org/vger-lists.html#linux-media for details.
|
||||
|
||||
There are also some other old lists hosted at:
|
||||
https://linuxtv.org/lists.php. If you're insterested on that for historic
|
||||
reasons, please check the archive at https://linuxtv.org/pipermail/linux-dvb/.
|
||||
|
||||
The media subsystem Wiki is hosted at https://linuxtv.org/wiki/.
|
||||
There, you'll find lots of information, from both development and usage
|
||||
of media boards. Please check it before asking newbie questions on the
|
||||
mailing list or IRC channels.
|
||||
|
||||
The API documentation is documented at the Kernel tree. You can find it
|
||||
in both html and pdf formats, together with other useful documentation at:
|
||||
|
||||
- https://linuxtv.org/docs.php.
|
||||
|
||||
You may also find useful material at https://linuxtv.org/downloads/.
|
||||
|
||||
In order to get the needed firmware for some drivers to work, there's
|
||||
a script at the kernel tree, at scripts/get_dvb_firmware.
|
436
Documentation/admin-guide/media/em28xx-cardlist.rst
Normal file
436
Documentation/admin-guide/media/em28xx-cardlist.rst
Normal file
|
@ -0,0 +1,436 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
EM28xx cards list
|
||||
=================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{10.0cm}|p{1.9cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 12 3 16
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- Empia Chip
|
||||
- USB IDs
|
||||
* - 0
|
||||
- Unknown EM2800 video grabber
|
||||
- em2800
|
||||
- eb1a:2800
|
||||
* - 1
|
||||
- Unknown EM2750/28xx video grabber
|
||||
- em2820 or em2840
|
||||
- eb1a:2710, eb1a:2820, eb1a:2821, eb1a:2860, eb1a:2861, eb1a:2862, eb1a:2863, eb1a:2870, eb1a:2881, eb1a:2883, eb1a:2868, eb1a:2875
|
||||
* - 2
|
||||
- Terratec Cinergy 250 USB
|
||||
- em2820 or em2840
|
||||
- 0ccd:0036
|
||||
* - 3
|
||||
- Pinnacle PCTV USB 2
|
||||
- em2820 or em2840
|
||||
- 2304:0208
|
||||
* - 4
|
||||
- Hauppauge WinTV USB 2
|
||||
- em2820 or em2840
|
||||
- 2040:4200, 2040:4201
|
||||
* - 5
|
||||
- MSI VOX USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 6
|
||||
- Terratec Cinergy 200 USB
|
||||
- em2800
|
||||
-
|
||||
* - 7
|
||||
- Leadtek Winfast USB II
|
||||
- em2800
|
||||
- 0413:6023
|
||||
* - 8
|
||||
- Kworld USB2800
|
||||
- em2800
|
||||
-
|
||||
* - 9
|
||||
- Pinnacle Dazzle DVC 90/100/101/107 / Kaiser Baas Video to DVD maker / Kworld DVD Maker 2 / Plextor ConvertX PX-AV100U
|
||||
- em2820 or em2840
|
||||
- 1b80:e302, 1b80:e304, 2304:0207, 2304:021a, 093b:a003
|
||||
* - 10
|
||||
- Hauppauge WinTV HVR 900
|
||||
- em2880
|
||||
- 2040:6500
|
||||
* - 11
|
||||
- Terratec Hybrid XS
|
||||
- em2880
|
||||
-
|
||||
* - 12
|
||||
- Kworld PVR TV 2800 RF
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 13
|
||||
- Terratec Prodigy XS
|
||||
- em2880
|
||||
-
|
||||
* - 14
|
||||
- SIIG AVTuner-PVR / Pixelview Prolink PlayTV USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 15
|
||||
- V-Gear PocketTV
|
||||
- em2800
|
||||
-
|
||||
* - 16
|
||||
- Hauppauge WinTV HVR 950
|
||||
- em2883
|
||||
- 2040:6513, 2040:6517, 2040:651b
|
||||
* - 17
|
||||
- Pinnacle PCTV HD Pro Stick
|
||||
- em2880
|
||||
- 2304:0227
|
||||
* - 18
|
||||
- Hauppauge WinTV HVR 900 (R2)
|
||||
- em2880
|
||||
- 2040:6502
|
||||
* - 19
|
||||
- EM2860/SAA711X Reference Design
|
||||
- em2860
|
||||
-
|
||||
* - 20
|
||||
- AMD ATI TV Wonder HD 600
|
||||
- em2880
|
||||
- 0438:b002
|
||||
* - 21
|
||||
- eMPIA Technology, Inc. GrabBeeX+ Video Encoder
|
||||
- em2800
|
||||
- eb1a:2801
|
||||
* - 22
|
||||
- EM2710/EM2750/EM2751 webcam grabber
|
||||
- em2750
|
||||
- eb1a:2750, eb1a:2751
|
||||
* - 23
|
||||
- Huaqi DLCW-130
|
||||
- em2750
|
||||
-
|
||||
* - 24
|
||||
- D-Link DUB-T210 TV Tuner
|
||||
- em2820 or em2840
|
||||
- 2001:f112
|
||||
* - 25
|
||||
- Gadmei UTV310
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 26
|
||||
- Hercules Smart TV USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 27
|
||||
- Pinnacle PCTV USB 2 (Philips FM1216ME)
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 28
|
||||
- Leadtek Winfast USB II Deluxe
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 29
|
||||
- EM2860/TVP5150 Reference Design
|
||||
- em2860
|
||||
- eb1a:5051
|
||||
* - 30
|
||||
- Videology 20K14XUSB USB2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 31
|
||||
- Usbgear VD204v9
|
||||
- em2821
|
||||
-
|
||||
* - 32
|
||||
- Supercomp USB 2.0 TV
|
||||
- em2821
|
||||
-
|
||||
* - 33
|
||||
- Elgato Video Capture
|
||||
- em2860
|
||||
- 0fd9:0033
|
||||
* - 34
|
||||
- Terratec Cinergy A Hybrid XS
|
||||
- em2860
|
||||
- 0ccd:004f
|
||||
* - 35
|
||||
- Typhoon DVD Maker
|
||||
- em2860
|
||||
-
|
||||
* - 36
|
||||
- NetGMBH Cam
|
||||
- em2860
|
||||
-
|
||||
* - 37
|
||||
- Gadmei UTV330
|
||||
- em2860
|
||||
- eb1a:50a6
|
||||
* - 38
|
||||
- Yakumo MovieMixer
|
||||
- em2861
|
||||
-
|
||||
* - 39
|
||||
- KWorld PVRTV 300U
|
||||
- em2861
|
||||
- eb1a:e300
|
||||
* - 40
|
||||
- Plextor ConvertX PX-TV100U
|
||||
- em2861
|
||||
- 093b:a005
|
||||
* - 41
|
||||
- Kworld 350 U DVB-T
|
||||
- em2870
|
||||
- eb1a:e350
|
||||
* - 42
|
||||
- Kworld 355 U DVB-T
|
||||
- em2870
|
||||
- eb1a:e355, eb1a:e357, eb1a:e359
|
||||
* - 43
|
||||
- Terratec Cinergy T XS
|
||||
- em2870
|
||||
-
|
||||
* - 44
|
||||
- Terratec Cinergy T XS (MT2060)
|
||||
- em2870
|
||||
- 0ccd:0043
|
||||
* - 45
|
||||
- Pinnacle PCTV DVB-T
|
||||
- em2870
|
||||
-
|
||||
* - 46
|
||||
- Compro, VideoMate U3
|
||||
- em2870
|
||||
- 185b:2870
|
||||
* - 47
|
||||
- KWorld DVB-T 305U
|
||||
- em2880
|
||||
- eb1a:e305
|
||||
* - 48
|
||||
- KWorld DVB-T 310U
|
||||
- em2880
|
||||
-
|
||||
* - 49
|
||||
- MSI DigiVox A/D
|
||||
- em2880
|
||||
- eb1a:e310
|
||||
* - 50
|
||||
- MSI DigiVox A/D II
|
||||
- em2880
|
||||
- eb1a:e320
|
||||
* - 51
|
||||
- Terratec Hybrid XS Secam
|
||||
- em2880
|
||||
- 0ccd:004c
|
||||
* - 52
|
||||
- DNT DA2 Hybrid
|
||||
- em2881
|
||||
-
|
||||
* - 53
|
||||
- Pinnacle Hybrid Pro
|
||||
- em2881
|
||||
-
|
||||
* - 54
|
||||
- Kworld VS-DVB-T 323UR
|
||||
- em2882
|
||||
- eb1a:e323
|
||||
* - 55
|
||||
- Terratec Cinergy Hybrid T USB XS (em2882)
|
||||
- em2882
|
||||
- 0ccd:005e, 0ccd:0042
|
||||
* - 56
|
||||
- Pinnacle Hybrid Pro (330e)
|
||||
- em2882
|
||||
- 2304:0226
|
||||
* - 57
|
||||
- Kworld PlusTV HD Hybrid 330
|
||||
- em2883
|
||||
- eb1a:a316
|
||||
* - 58
|
||||
- Compro VideoMate ForYou/Stereo
|
||||
- em2820 or em2840
|
||||
- 185b:2041
|
||||
* - 59
|
||||
- Pinnacle PCTV HD Mini
|
||||
- em2874
|
||||
- 2304:023f
|
||||
* - 60
|
||||
- Hauppauge WinTV HVR 850
|
||||
- em2883
|
||||
- 2040:651f
|
||||
* - 61
|
||||
- Pixelview PlayTV Box 4 USB 2.0
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 62
|
||||
- Gadmei TVR200
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 63
|
||||
- Kaiomy TVnPC U2
|
||||
- em2860
|
||||
- eb1a:e303
|
||||
* - 64
|
||||
- Easy Cap Capture DC-60
|
||||
- em2860
|
||||
- 1b80:e309
|
||||
* - 65
|
||||
- IO-DATA GV-MVP/SZ
|
||||
- em2820 or em2840
|
||||
- 04bb:0515
|
||||
* - 66
|
||||
- Empire dual TV
|
||||
- em2880
|
||||
-
|
||||
* - 67
|
||||
- Terratec Grabby
|
||||
- em2860
|
||||
- 0ccd:0096, 0ccd:10AF
|
||||
* - 68
|
||||
- Terratec AV350
|
||||
- em2860
|
||||
- 0ccd:0084
|
||||
* - 69
|
||||
- KWorld ATSC 315U HDTV TV Box
|
||||
- em2882
|
||||
- eb1a:a313
|
||||
* - 70
|
||||
- Evga inDtube
|
||||
- em2882
|
||||
-
|
||||
* - 71
|
||||
- Silvercrest Webcam 1.3mpix
|
||||
- em2820 or em2840
|
||||
-
|
||||
* - 72
|
||||
- Gadmei UTV330+
|
||||
- em2861
|
||||
-
|
||||
* - 73
|
||||
- Reddo DVB-C USB TV Box
|
||||
- em2870
|
||||
-
|
||||
* - 74
|
||||
- Actionmaster/LinXcel/Digitus VC211A
|
||||
- em2800
|
||||
-
|
||||
* - 75
|
||||
- Dikom DK300
|
||||
- em2882
|
||||
-
|
||||
* - 76
|
||||
- KWorld PlusTV 340U or UB435-Q (ATSC)
|
||||
- em2870
|
||||
- 1b80:a340
|
||||
* - 77
|
||||
- EM2874 Leadership ISDBT
|
||||
- em2874
|
||||
-
|
||||
* - 78
|
||||
- PCTV nanoStick T2 290e
|
||||
- em28174
|
||||
- 2013:024f
|
||||
* - 79
|
||||
- Terratec Cinergy H5
|
||||
- em2884
|
||||
- eb1a:2885, 0ccd:10a2, 0ccd:10ad, 0ccd:10b6
|
||||
* - 80
|
||||
- PCTV DVB-S2 Stick (460e)
|
||||
- em28174
|
||||
- 2013:024c
|
||||
* - 81
|
||||
- Hauppauge WinTV HVR 930C
|
||||
- em2884
|
||||
- 2040:1605
|
||||
* - 82
|
||||
- Terratec Cinergy HTC Stick
|
||||
- em2884
|
||||
- 0ccd:00b2
|
||||
* - 83
|
||||
- Honestech Vidbox NW03
|
||||
- em2860
|
||||
- eb1a:5006
|
||||
* - 84
|
||||
- MaxMedia UB425-TC
|
||||
- em2874
|
||||
- 1b80:e425
|
||||
* - 85
|
||||
- PCTV QuatroStick (510e)
|
||||
- em2884
|
||||
- 2304:0242
|
||||
* - 86
|
||||
- PCTV QuatroStick nano (520e)
|
||||
- em2884
|
||||
- 2013:0251
|
||||
* - 87
|
||||
- Terratec Cinergy HTC USB XS
|
||||
- em2884
|
||||
- 0ccd:008e, 0ccd:00ac
|
||||
* - 88
|
||||
- C3 Tech Digital Duo HDTV/SDTV USB
|
||||
- em2884
|
||||
- 1b80:e755
|
||||
* - 89
|
||||
- Delock 61959
|
||||
- em2874
|
||||
- 1b80:e1cc
|
||||
* - 90
|
||||
- KWorld USB ATSC TV Stick UB435-Q V2
|
||||
- em2874
|
||||
- 1b80:e346
|
||||
* - 91
|
||||
- SpeedLink Vicious And Devine Laplace webcam
|
||||
- em2765
|
||||
- 1ae7:9003, 1ae7:9004
|
||||
* - 92
|
||||
- PCTV DVB-S2 Stick (461e)
|
||||
- em28178
|
||||
- 2013:0258
|
||||
* - 93
|
||||
- KWorld USB ATSC TV Stick UB435-Q V3
|
||||
- em2874
|
||||
- 1b80:e34c
|
||||
* - 94
|
||||
- PCTV tripleStick (292e)
|
||||
- em28178
|
||||
- 2013:025f, 2013:0264, 2040:0264, 2040:8264, 2040:8268
|
||||
* - 95
|
||||
- Leadtek VC100
|
||||
- em2861
|
||||
- 0413:6f07
|
||||
* - 96
|
||||
- Terratec Cinergy T2 Stick HD
|
||||
- em28178
|
||||
- eb1a:8179
|
||||
* - 97
|
||||
- Elgato EyeTV Hybrid 2008 INT
|
||||
- em2884
|
||||
- 0fd9:0018
|
||||
* - 98
|
||||
- PLEX PX-BCUD
|
||||
- em28178
|
||||
- 3275:0085
|
||||
* - 99
|
||||
- Hauppauge WinTV-dualHD DVB
|
||||
- em28174
|
||||
- 2040:0265, 2040:8265
|
||||
* - 100
|
||||
- Hauppauge WinTV-dualHD 01595 ATSC/QAM
|
||||
- em28174
|
||||
- 2040:026d, 2040:826d
|
||||
* - 101
|
||||
- Terratec Cinergy H6 rev. 2
|
||||
- em2884
|
||||
- 0ccd:10b2
|
||||
* - 102
|
||||
- :ZOLID HYBRID TV STICK
|
||||
- em2882
|
||||
-
|
||||
* - 103
|
||||
- Magix USB Videowandler-2
|
||||
- em2861
|
||||
- 1b80:e349
|
||||
* - 104
|
||||
- PCTV DVB-S2 Stick (461e v2)
|
||||
- em28178
|
||||
- 2013:0461, 2013:0259
|
216
Documentation/admin-guide/media/faq.rst
Normal file
216
Documentation/admin-guide/media/faq.rst
Normal file
|
@ -0,0 +1,216 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
FAQ
|
||||
===
|
||||
|
||||
.. note::
|
||||
|
||||
1. With Digital TV, a single physical channel may have different
|
||||
contents inside it. The specs call each one as a *service*.
|
||||
This is what a TV user would call "channel". So, in order to
|
||||
avoid confusion, we're calling *transponders* as the physical
|
||||
channel on this FAQ, and *services* for the logical channel.
|
||||
2. The LinuxTV community maintains some Wiki pages with contain
|
||||
a lot of information related to the media subsystem. If you
|
||||
don't find an answer for your needs here, it is likely that
|
||||
you'll be able to get something useful there. It is hosted
|
||||
at:
|
||||
|
||||
https://www.linuxtv.org/wiki/
|
||||
|
||||
Some very frequently asked questions about Linux Digital TV support
|
||||
|
||||
1. The signal seems to die a few seconds after tuning.
|
||||
|
||||
It's not a bug, it's a feature. Because the frontends have
|
||||
significant power requirements (and hence get very hot), they
|
||||
are powered down if they are unused (i.e. if the frontend device
|
||||
is closed). The ``dvb-core`` module parameter ``dvb_shutdown_timeout``
|
||||
allow you to change the timeout (default 5 seconds). Setting the
|
||||
timeout to 0 disables the timeout feature.
|
||||
|
||||
2. How can I watch TV?
|
||||
|
||||
Together with the Linux Kernel, the Digital TV developers support
|
||||
some simple utilities which are mainly intended for testing
|
||||
and to demonstrate how the DVB API works. This is called DVB v5
|
||||
tools and are grouped together with the ``v4l-utils`` git repository:
|
||||
|
||||
https://git.linuxtv.org/v4l-utils.git/
|
||||
|
||||
You can find more information at the LinuxTV wiki:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/DVBv5_Tools
|
||||
|
||||
The first step is to get a list of services that are transmitted.
|
||||
|
||||
This is done by using several existing tools. You can use
|
||||
for example the ``dvbv5-scan`` tool. You can find more information
|
||||
about it at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/Dvbv5-scan
|
||||
|
||||
There are some other applications like ``w_scan`` [#]_ that do a
|
||||
blind scan, trying hard to find all possible channels, but
|
||||
those consumes a large amount of time to run.
|
||||
|
||||
.. [#] https://www.linuxtv.org/wiki/index.php/W_scan
|
||||
|
||||
Also, some applications like ``kaffeine`` have their own code
|
||||
to scan for services. So, you don't need to use an external
|
||||
application to obtain such list.
|
||||
|
||||
Most of such tools need a file containing a list of channel
|
||||
transponders available on your area. So, LinuxTV developers
|
||||
maintain tables of Digital TV channel transponders, receiving
|
||||
patches from the community to keep them updated.
|
||||
|
||||
This list is hosted at:
|
||||
|
||||
https://git.linuxtv.org/dtv-scan-tables.git
|
||||
|
||||
And packaged on several distributions.
|
||||
|
||||
Kaffeine has some blind scan support for some terrestrial standards.
|
||||
It also relies on DTV scan tables, although it contains a copy
|
||||
of it internally (and, if requested by the user, it will download
|
||||
newer versions of it).
|
||||
|
||||
If you are lucky you can just use one of the supplied channel
|
||||
transponders. If not, you may need to seek for such info at
|
||||
the Internet and create a new file. There are several sites with
|
||||
contains physical channel lists. For cable and satellite, usually
|
||||
knowing how to tune into a single channel is enough for the
|
||||
scanning tool to identify the other channels. On some places,
|
||||
this could also work for terrestrial transmissions.
|
||||
|
||||
Once you have a transponders list, you need to generate a services
|
||||
list with a tool like ``dvbv5-scan``.
|
||||
|
||||
Almost all modern Digital TV cards don't have built-in hardware
|
||||
MPEG-decoders. So, it is up to the application to get a MPEG-TS
|
||||
stream provided by the board, split it into audio, video and other
|
||||
data and decode.
|
||||
|
||||
3. Which Digital TV applications exist?
|
||||
|
||||
Several media player applications are capable of tuning into
|
||||
digital TV channels, including Kaffeine, Vlc, mplayer and MythTV.
|
||||
|
||||
Kaffeine aims to be very user-friendly, and it is maintained
|
||||
by one of the Kernel driver developers.
|
||||
|
||||
A comprehensive list of those and other apps can be found at:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/TV_Related_Software
|
||||
|
||||
Some of the most popular ones are linked below:
|
||||
|
||||
https://kde.org/applications/multimedia/org.kde.kaffeine
|
||||
KDE media player, focused on Digital TV support
|
||||
|
||||
https://www.linuxtv.org/vdrwiki/index.php/Main_Page
|
||||
Klaus Schmidinger's Video Disk Recorder
|
||||
|
||||
https://linuxtv.org/downloads and https://git.linuxtv.org/
|
||||
Digital TV and other media-related applications and
|
||||
Kernel drivers. The ``v4l-utils`` package there contains
|
||||
several swiss knife tools for using with Digital TV.
|
||||
|
||||
http://sourceforge.net/projects/dvbtools/
|
||||
Dave Chapman's dvbtools package, including
|
||||
dvbstream and dvbtune
|
||||
|
||||
http://www.dbox2.info/
|
||||
LinuxDVB on the dBox2
|
||||
|
||||
http://www.tuxbox.org/
|
||||
the TuxBox CVS many interesting DVB applications and the dBox2
|
||||
DVB source
|
||||
|
||||
http://www.nenie.org/misc/mpsys/
|
||||
MPSYS: a MPEG2 system library and tools
|
||||
|
||||
https://www.videolan.org/vlc/index.pt.html
|
||||
Vlc
|
||||
|
||||
http://mplayerhq.hu/
|
||||
MPlayer
|
||||
|
||||
http://xine.sourceforge.net/ and http://xinehq.de/
|
||||
Xine
|
||||
|
||||
http://www.mythtv.org/
|
||||
MythTV - analog TV and digital TV PVR
|
||||
|
||||
http://dvbsnoop.sourceforge.net/
|
||||
DVB sniffer program to monitor, analyze, debug, dump
|
||||
or view dvb/mpeg/dsm-cc/mhp stream information (TS,
|
||||
PES, SECTION)
|
||||
|
||||
4. Can't get a signal tuned correctly
|
||||
|
||||
That could be due to a lot of problems. On my personal experience,
|
||||
usually TV cards need stronger signals than TV sets, and are more
|
||||
sensitive to noise. So, perhaps you just need a better antenna or
|
||||
cabling. Yet, it could also be some hardware or driver issue.
|
||||
|
||||
For example, if you are using a Technotrend/Hauppauge DVB-C card
|
||||
*without* analog module, you might have to use module parameter
|
||||
adac=-1 (dvb-ttpci.o).
|
||||
|
||||
Please see the FAQ page at linuxtv.org, as it could contain some
|
||||
valuable information:
|
||||
|
||||
https://www.linuxtv.org/wiki/index.php/FAQ_%26_Troubleshooting
|
||||
|
||||
If that doesn't work, check at the linux-media ML archives, to
|
||||
see if someone else had a similar problem with your hardware
|
||||
and/or digital TV service provider:
|
||||
|
||||
https://lore.kernel.org/linux-media/
|
||||
|
||||
If none of this works, you can try sending an e-mail to the
|
||||
linux-media ML and see if someone else could shed some light.
|
||||
The e-mail is linux-media AT vger.kernel.org.
|
||||
|
||||
5. The dvb_net device doesn't give me any packets at all
|
||||
|
||||
Run ``tcpdump`` on the ``dvb0_0`` interface. This sets the interface
|
||||
into promiscuous mode so it accepts any packets from the PID
|
||||
you have configured with the ``dvbnet`` utility. Check if there
|
||||
are any packets with the IP addr and MAC addr you have
|
||||
configured with ``ifconfig`` or with ``ip addr``.
|
||||
|
||||
If ``tcpdump`` doesn't give you any output, check the statistics
|
||||
which ``ifconfig`` or ``netstat -ni`` outputs. (Note: If the MAC
|
||||
address is wrong, ``dvb_net`` won't get any input; thus you have to
|
||||
run ``tcpdump`` before checking the statistics.) If there are no
|
||||
packets at all then maybe the PID is wrong. If there are error packets,
|
||||
then either the PID is wrong or the stream does not conform to
|
||||
the MPE standard (EN 301 192, http://www.etsi.org/). You can
|
||||
use e.g. ``dvbsnoop`` for debugging.
|
||||
|
||||
6. The ``dvb_net`` device doesn't give me any multicast packets
|
||||
|
||||
Check your routes if they include the multicast address range.
|
||||
Additionally make sure that "source validation by reversed path
|
||||
lookup" is disabled::
|
||||
|
||||
$ "echo 0 > /proc/sys/net/ipv4/conf/dvb0/rp_filter"
|
||||
|
||||
7. What are all those modules that need to be loaded?
|
||||
|
||||
In order to make it more flexible and support different hardware
|
||||
combinations, the media subsystem is written on a modular way.
|
||||
|
||||
So, besides the Digital TV hardware module for the main chipset,
|
||||
it also needs to load a frontend driver, plus the Digital TV
|
||||
core. If the board also has remote controller, it will also
|
||||
need the remote controller core and the remote controller tables.
|
||||
The same happens if the board has support for analog TV: the
|
||||
core support for video4linux need to be loaded.
|
||||
|
||||
The actual module names are Linux-kernel version specific, as,
|
||||
from time to time, things change, in order to make the media
|
||||
support more flexible.
|
153
Documentation/admin-guide/media/fimc.rst
Normal file
153
Documentation/admin-guide/media/fimc.rst
Normal file
|
@ -0,0 +1,153 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
The Samsung S5P/EXYNOS4 FIMC driver
|
||||
===================================
|
||||
|
||||
Copyright |copy| 2012 - 2013 Samsung Electronics Co., Ltd.
|
||||
|
||||
The FIMC (Fully Interactive Mobile Camera) device available in Samsung
|
||||
SoC Application Processors is an integrated camera host interface, color
|
||||
space converter, image resizer and rotator. It's also capable of capturing
|
||||
data from LCD controller (FIMD) through the SoC internal writeback data
|
||||
path. There are multiple FIMC instances in the SoCs (up to 4), having
|
||||
slightly different capabilities, like pixel alignment constraints, rotator
|
||||
availability, LCD writeback support, etc. The driver is located at
|
||||
drivers/media/platform/exynos4-is directory.
|
||||
|
||||
Supported SoCs
|
||||
--------------
|
||||
|
||||
S5PC100 (mem-to-mem only), S5PV210, EXYNOS4210
|
||||
|
||||
Supported features
|
||||
------------------
|
||||
|
||||
- camera parallel interface capture (ITU-R.BT601/565);
|
||||
- camera serial interface capture (MIPI-CSI2);
|
||||
- memory-to-memory processing (color space conversion, scaling, mirror
|
||||
and rotation);
|
||||
- dynamic pipeline re-configuration at runtime (re-attachment of any FIMC
|
||||
instance to any parallel video input or any MIPI-CSI front-end);
|
||||
- runtime PM and system wide suspend/resume
|
||||
|
||||
Not currently supported
|
||||
-----------------------
|
||||
|
||||
- LCD writeback input
|
||||
- per frame clock gating (mem-to-mem)
|
||||
|
||||
User space interfaces
|
||||
---------------------
|
||||
|
||||
Media device interface
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The driver supports Media Controller API as defined at :ref:`media_controller`.
|
||||
The media device driver name is "SAMSUNG S5P FIMC".
|
||||
|
||||
The purpose of this interface is to allow changing assignment of FIMC instances
|
||||
to the SoC peripheral camera input at runtime and optionally to control internal
|
||||
connections of the MIPI-CSIS device(s) to the FIMC entities.
|
||||
|
||||
The media device interface allows to configure the SoC for capturing image
|
||||
data from the sensor through more than one FIMC instance (e.g. for simultaneous
|
||||
viewfinder and still capture setup).
|
||||
|
||||
Reconfiguration is done by enabling/disabling media links created by the driver
|
||||
during initialization. The internal device topology can be easily discovered
|
||||
through media entity and links enumeration.
|
||||
|
||||
Memory-to-memory video node
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
V4L2 memory-to-memory interface at /dev/video? device node. This is standalone
|
||||
video device, it has no media pads. However please note the mem-to-mem and
|
||||
capture video node operation on same FIMC instance is not allowed. The driver
|
||||
detects such cases but the applications should prevent them to avoid an
|
||||
undefined behaviour.
|
||||
|
||||
Capture video node
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The driver supports V4L2 Video Capture Interface as defined at
|
||||
:ref:`devices`.
|
||||
|
||||
At the capture and mem-to-mem video nodes only the multi-planar API is
|
||||
supported. For more details see: :ref:`planar-apis`.
|
||||
|
||||
Camera capture subdevs
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Each FIMC instance exports a sub-device node (/dev/v4l-subdev?), a sub-device
|
||||
node is also created per each available and enabled at the platform level
|
||||
MIPI-CSI receiver device (currently up to two).
|
||||
|
||||
sysfs
|
||||
~~~~~
|
||||
|
||||
In order to enable more precise camera pipeline control through the sub-device
|
||||
API the driver creates a sysfs entry associated with "s5p-fimc-md" platform
|
||||
device. The entry path is: /sys/platform/devices/s5p-fimc-md/subdev_conf_mode.
|
||||
|
||||
In typical use case there could be a following capture pipeline configuration:
|
||||
sensor subdev -> mipi-csi subdev -> fimc subdev -> video node
|
||||
|
||||
When we configure these devices through sub-device API at user space, the
|
||||
configuration flow must be from left to right, and the video node is
|
||||
configured as last one.
|
||||
|
||||
When we don't use sub-device user space API the whole configuration of all
|
||||
devices belonging to the pipeline is done at the video node driver.
|
||||
The sysfs entry allows to instruct the capture node driver not to configure
|
||||
the sub-devices (format, crop), to avoid resetting the subdevs' configuration
|
||||
when the last configuration steps at the video node is performed.
|
||||
|
||||
For full sub-device control support (subdevs configured at user space before
|
||||
starting streaming):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# echo "sub-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
|
||||
|
||||
For V4L2 video node control only (subdevs configured internally by the host
|
||||
driver):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# echo "vid-dev" > /sys/platform/devices/s5p-fimc-md/subdev_conf_mode
|
||||
|
||||
This is a default option.
|
||||
|
||||
5. Device mapping to video and subdev device nodes
|
||||
--------------------------------------------------
|
||||
|
||||
There are associated two video device nodes with each device instance in
|
||||
hardware - video capture and mem-to-mem and additionally a subdev node for
|
||||
more precise FIMC capture subsystem control. In addition a separate v4l2
|
||||
sub-device node is created per each MIPI-CSIS device.
|
||||
|
||||
How to find out which /dev/video? or /dev/v4l-subdev? is assigned to which
|
||||
device?
|
||||
|
||||
You can either grep through the kernel log to find relevant information, i.e.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# dmesg | grep -i fimc
|
||||
|
||||
(note that udev, if present, might still have rearranged the video nodes),
|
||||
|
||||
or retrieve the information from /dev/media? with help of the media-ctl tool:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# media-ctl -p
|
||||
|
||||
7. Build
|
||||
--------
|
||||
|
||||
If the driver is built as a loadable kernel module (CONFIG_VIDEO_SAMSUNG_S5P_FIMC=m)
|
||||
two modules are created (in addition to the core v4l2 modules): s5p-fimc.ko and
|
||||
optional s5p-csis.ko (MIPI-CSI receiver subdev).
|
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
226
Documentation/admin-guide/media/frontend-cardlist.rst
Normal file
|
@ -0,0 +1,226 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
================
|
||||
Frontend drivers
|
||||
================
|
||||
|
||||
.. note::
|
||||
|
||||
#) There is no guarantee that every frontend driver works
|
||||
out of the box with every card, because of different wiring.
|
||||
|
||||
#) The demodulator chips can be used with a variety of
|
||||
tuner/PLL chips, and not all combinations are supported. Often
|
||||
the demodulator and tuner/PLL chip are inside a metal box for
|
||||
shielding, and the whole metal box has its own part number.
|
||||
|
||||
|
||||
Common Interface (EN50221) controller drivers
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cxd2099 Sony CXD2099AR Common Interface driver
|
||||
sp2 CIMaX SP2
|
||||
============== =========================================================
|
||||
|
||||
ATSC (North American/Korean Terrestrial/Cable DTV) frontends
|
||||
============================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
au8522_dig Auvitek AU8522 based DTV demod
|
||||
au8522_decoder Auvitek AU8522 based ATV demod
|
||||
bcm3510 Broadcom BCM3510
|
||||
lg2160 LG Electronics LG216x based
|
||||
lgdt3305 LG Electronics LGDT3304 and LGDT3305 based
|
||||
lgdt3306a LG Electronics LGDT3306A based
|
||||
lgdt330x LG Electronics LGDT3302/LGDT3303 based
|
||||
nxt200x NxtWave Communications NXT2002/NXT2004 based
|
||||
or51132 Oren OR51132 based
|
||||
or51211 Oren OR51211 based
|
||||
s5h1409 Samsung S5H1409 based
|
||||
s5h1411 Samsung S5H1411 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-C (cable) frontends
|
||||
=======================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
stv0297 ST STV0297 based
|
||||
tda10021 Philips TDA10021 based
|
||||
tda10023 Philips TDA10023 based
|
||||
ves1820 VLSI VES1820 based
|
||||
============== =========================================================
|
||||
|
||||
DVB-S (satellite) frontends
|
||||
===========================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
cx24110 Conexant CX24110 based
|
||||
cx24116 Conexant CX24116 based
|
||||
cx24117 Conexant CX24117 based
|
||||
cx24120 Conexant CX24120 based
|
||||
cx24123 Conexant CX24123 based
|
||||
ds3000 Montage Tehnology DS3000 based
|
||||
mb86a16 Fujitsu MB86A16 based
|
||||
mt312 Zarlink VP310/MT312/ZL10313 based
|
||||
s5h1420 Samsung S5H1420 based
|
||||
si21xx Silicon Labs SI21XX based
|
||||
stb6000 ST STB6000 silicon tuner
|
||||
stv0288 ST STV0288 based
|
||||
stv0299 ST STV0299 based
|
||||
stv0900 ST STV0900 based
|
||||
stv6110 ST STV6110 silicon tuner
|
||||
tda10071 NXP TDA10071
|
||||
tda10086 Philips TDA10086 based
|
||||
tda8083 Philips TDA8083 based
|
||||
tda8261 Philips TDA8261 based
|
||||
tda826x Philips TDA826X silicon tuner
|
||||
ts2020 Montage Tehnology TS2020 based tuners
|
||||
tua6100 Infineon TUA6100 PLL
|
||||
cx24113 Conexant CX24113/CX24128 tuner for DVB-S/DSS
|
||||
itd1000 Integrant ITD1000 Zero IF tuner for DVB-S/DSS
|
||||
ves1x93 VLSI VES1893 or VES1993 based
|
||||
zl10036 Zarlink ZL10036 silicon tuner
|
||||
zl10039 Zarlink ZL10039 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
DVB-T (terrestrial) frontends
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
af9013 Afatech AF9013 demodulator
|
||||
cx22700 Conexant CX22700 based
|
||||
cx22702 Conexant cx22702 demodulator (OFDM)
|
||||
cxd2820r Sony CXD2820R
|
||||
cxd2841er Sony CXD2841ER
|
||||
cxd2880 Sony CXD2880 DVB-T2/T tuner + demodulator
|
||||
dib3000mb DiBcom 3000M-B
|
||||
dib3000mc DiBcom 3000P/M-C
|
||||
dib7000m DiBcom 7000MA/MB/PA/PB/MC
|
||||
dib7000p DiBcom 7000PC
|
||||
dib9000 DiBcom 9000
|
||||
drxd Micronas DRXD driver
|
||||
ec100 E3C EC100
|
||||
l64781 LSI L64781
|
||||
mt352 Zarlink MT352 based
|
||||
nxt6000 NxtWave Communications NXT6000 based
|
||||
rtl2830 Realtek RTL2830 DVB-T
|
||||
rtl2832 Realtek RTL2832 DVB-T
|
||||
rtl2832_sdr Realtek RTL2832 SDR
|
||||
s5h1432 Samsung s5h1432 demodulator (OFDM)
|
||||
si2168 Silicon Labs Si2168
|
||||
sp8870 Spase sp8870 based
|
||||
sp887x Spase sp887x based
|
||||
stv0367 ST STV0367 based
|
||||
tda10048 Philips TDA10048HN based
|
||||
tda1004x Philips TDA10045H/TDA10046H based
|
||||
zd1301_demod ZyDAS ZD1301
|
||||
zl10353 Zarlink ZL10353 based
|
||||
============== =========================================================
|
||||
|
||||
Digital terrestrial only tuners/PLL
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb-pll Generic I2C PLL based tuners
|
||||
dib0070 DiBcom DiB0070 silicon base-band tuner
|
||||
dib0090 DiBcom DiB0090 silicon base-band tuner
|
||||
============== =========================================================
|
||||
|
||||
ISDB-S (satellite) & ISDB-T (terrestrial) frontends
|
||||
===================================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
mn88443x Socionext MN88443x
|
||||
tc90522 Toshiba TC90522
|
||||
============== =========================================================
|
||||
|
||||
ISDB-T (terrestrial) frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dib8000 DiBcom 8000MB/MC
|
||||
mb86a20s Fujitsu mb86a20s
|
||||
s921 Sharp S921 frontend
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (cable + terrestrial) frontends
|
||||
=============================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
drxk Micronas DRXK based
|
||||
mn88472 Panasonic MN88472
|
||||
mn88473 Panasonic MN88473
|
||||
si2165 Silicon Labs si2165 based
|
||||
tda18271c2dd NXP TDA18271C2 silicon tuner
|
||||
============== =========================================================
|
||||
|
||||
Multistandard (satellite) frontends
|
||||
===================================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
m88ds3103 Montage Technology M88DS3103
|
||||
mxl5xx MaxLinear MxL5xx based tuner-demodulators
|
||||
stb0899 STB0899 based
|
||||
stb6100 STB6100 based tuners
|
||||
stv090x STV0900/STV0903(A/B) based
|
||||
stv0910 STV0910 based
|
||||
stv6110x STV6110/(A) based tuners
|
||||
stv6111 STV6111 based tuners
|
||||
============== =========================================================
|
||||
|
||||
SEC control devices for DVB-S
|
||||
=============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
a8293 Allegro A8293
|
||||
af9033 Afatech AF9033 DVB-T demodulator
|
||||
ascot2e Sony Ascot2E tuner
|
||||
atbm8830 AltoBeam ATBM8830/8831 DMB-TH demodulator
|
||||
drx39xyj Micronas DRX-J demodulator
|
||||
helene Sony HELENE Sat/Ter tuner (CXD2858ER)
|
||||
horus3a Sony Horus3A tuner
|
||||
isl6405 ISL6405 SEC controller
|
||||
isl6421 ISL6421 SEC controller
|
||||
isl6423 ISL6423 SEC controller
|
||||
ix2505v Sharp IX2505V silicon tuner
|
||||
lgs8gl5 Silicon Legend LGS-8GL5 demodulator (OFDM)
|
||||
lgs8gxx Legend Silicon LGS8913/LGS8GL5/LGS8GXX DMB-TH demodulator
|
||||
lnbh25 LNBH25 SEC controller
|
||||
lnbh29 LNBH29 SEC controller
|
||||
lnbp21 LNBP21/LNBH24 SEC controllers
|
||||
lnbp22 LNBP22 SEC controllers
|
||||
m88rs2000 M88RS2000 DVB-S demodulator and tuner
|
||||
tda665x TDA665x tuner
|
||||
============== =========================================================
|
||||
|
||||
Tools to develop new frontends
|
||||
==============================
|
||||
|
||||
============== =========================================================
|
||||
Driver Name
|
||||
============== =========================================================
|
||||
dvb_dummy_fe Dummy frontend driver
|
||||
============== =========================================================
|
451
Documentation/admin-guide/media/gspca-cardlist.rst
Normal file
451
Documentation/admin-guide/media/gspca-cardlist.rst
Normal file
|
@ -0,0 +1,451 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The gspca cards list
|
||||
====================
|
||||
|
||||
The modules for the gspca webcam drivers are:
|
||||
|
||||
- gspca_main: main driver
|
||||
- gspca\_\ *driver*: subdriver module with *driver* as follows
|
||||
|
||||
========= ========= ===================================================================
|
||||
*driver* vend:prod Device
|
||||
========= ========= ===================================================================
|
||||
spca501 0000:0000 MystFromOri Unknown Camera
|
||||
spca508 0130:0130 Clone Digital Webcam 11043
|
||||
se401 03e8:0004 Endpoints/AoxSE401
|
||||
zc3xx 03f0:1b07 HP Premium Starter Cam
|
||||
m5602 0402:5602 ALi Video Camera Controller
|
||||
spca501 040a:0002 Kodak DVC-325
|
||||
spca500 040a:0300 Kodak EZ200
|
||||
zc3xx 041e:041e Creative WebCam Live!
|
||||
ov519 041e:4003 Video Blaster WebCam Go Plus
|
||||
stv0680 041e:4007 Go Mini
|
||||
spca500 041e:400a Creative PC-CAM 300
|
||||
sunplus 041e:400b Creative PC-CAM 600
|
||||
sunplus 041e:4012 PC-Cam350
|
||||
sunplus 041e:4013 Creative Pccam750
|
||||
zc3xx 041e:4017 Creative Webcam Mobile PD1090
|
||||
spca508 041e:4018 Creative Webcam Vista (PD1100)
|
||||
spca561 041e:401a Creative Webcam Vista (PD1100)
|
||||
zc3xx 041e:401c Creative NX
|
||||
spca505 041e:401d Creative Webcam NX ULTRA
|
||||
zc3xx 041e:401e Creative Nx Pro
|
||||
zc3xx 041e:401f Creative Webcam Notebook PD1171
|
||||
zc3xx 041e:4022 Webcam NX Pro
|
||||
pac207 041e:4028 Creative Webcam Vista Plus
|
||||
zc3xx 041e:4029 Creative WebCam Vista Pro
|
||||
zc3xx 041e:4034 Creative Instant P0620
|
||||
zc3xx 041e:4035 Creative Instant P0620D
|
||||
zc3xx 041e:4036 Creative Live !
|
||||
sq930x 041e:4038 Creative Joy-IT
|
||||
zc3xx 041e:403a Creative Nx Pro 2
|
||||
spca561 041e:403b Creative Webcam Vista (VF0010)
|
||||
sq930x 041e:403c Creative Live! Ultra
|
||||
sq930x 041e:403d Creative Live! Ultra for Notebooks
|
||||
sq930x 041e:4041 Creative Live! Motion
|
||||
zc3xx 041e:4051 Creative Live!Cam Notebook Pro (VF0250)
|
||||
ov519 041e:4052 Creative Live! VISTA IM
|
||||
zc3xx 041e:4053 Creative Live!Cam Video IM
|
||||
vc032x 041e:405b Creative Live! Cam Notebook Ultra (VC0130)
|
||||
ov519 041e:405f Creative Live! VISTA VF0330
|
||||
ov519 041e:4060 Creative Live! VISTA VF0350
|
||||
ov519 041e:4061 Creative Live! VISTA VF0400
|
||||
ov519 041e:4064 Creative Live! VISTA VF0420
|
||||
ov519 041e:4067 Creative Live! Cam Video IM (VF0350)
|
||||
ov519 041e:4068 Creative Live! VISTA VF0470
|
||||
sn9c2028 0458:7003 GeniusVideocam Live v2
|
||||
spca561 0458:7004 Genius VideoCAM Express V2
|
||||
sn9c2028 0458:7005 Genius Smart 300, version 2
|
||||
sunplus 0458:7006 Genius Dsc 1.3 Smart
|
||||
zc3xx 0458:7007 Genius VideoCam V2
|
||||
zc3xx 0458:700c Genius VideoCam V3
|
||||
zc3xx 0458:700f Genius VideoCam Web V2
|
||||
sonixj 0458:7025 Genius Eye 311Q
|
||||
sn9c20x 0458:7029 Genius Look 320s
|
||||
sonixj 0458:702e Genius Slim 310 NB
|
||||
sn9c20x 0458:7045 Genius Look 1320 V2
|
||||
sn9c20x 0458:704a Genius Slim 1320
|
||||
sn9c20x 0458:704c Genius i-Look 1321
|
||||
sn9c20x 045e:00f4 LifeCam VX-6000 (SN9C20x + OV9650)
|
||||
sonixj 045e:00f5 MicroSoft VX3000
|
||||
sonixj 045e:00f7 MicroSoft VX1000
|
||||
ov519 045e:028c Micro$oft xbox cam
|
||||
kinect 045e:02ae Xbox NUI Camera
|
||||
kinect 045e:02bf Kinect for Windows NUI Camera
|
||||
spca561 0461:0815 Micro Innovations IC200 Webcam
|
||||
sunplus 0461:0821 Fujifilm MV-1
|
||||
zc3xx 0461:0a00 MicroInnovation WebCam320
|
||||
stv06xx 046D:08F0 QuickCamMessenger
|
||||
stv06xx 046D:08F5 QuickCamCommunicate
|
||||
stv06xx 046D:08F6 QuickCamMessenger (new)
|
||||
stv06xx 046d:0840 QuickCamExpress
|
||||
stv06xx 046d:0850 LEGOcam / QuickCam Web
|
||||
stv06xx 046d:0870 DexxaWebCam USB
|
||||
spca500 046d:0890 Logitech QuickCam traveler
|
||||
vc032x 046d:0892 Logitech Orbicam
|
||||
vc032x 046d:0896 Logitech Orbicam
|
||||
vc032x 046d:0897 Logitech QuickCam for Dell notebooks
|
||||
zc3xx 046d:089d Logitech QuickCam E2500
|
||||
zc3xx 046d:08a0 Logitech QC IM
|
||||
zc3xx 046d:08a1 Logitech QC IM 0x08A1 +sound
|
||||
zc3xx 046d:08a2 Labtec Webcam Pro
|
||||
zc3xx 046d:08a3 Logitech QC Chat
|
||||
zc3xx 046d:08a6 Logitech QCim
|
||||
zc3xx 046d:08a7 Logitech QuickCam Image
|
||||
zc3xx 046d:08a9 Logitech Notebook Deluxe
|
||||
zc3xx 046d:08aa Labtec Webcam Notebook
|
||||
zc3xx 046d:08ac Logitech QuickCam Cool
|
||||
zc3xx 046d:08ad Logitech QCCommunicate STX
|
||||
zc3xx 046d:08ae Logitech QuickCam for Notebooks
|
||||
zc3xx 046d:08af Logitech QuickCam Cool
|
||||
zc3xx 046d:08b9 Logitech QuickCam Express
|
||||
zc3xx 046d:08d7 Logitech QCam STX
|
||||
zc3xx 046d:08d8 Logitech Notebook Deluxe
|
||||
zc3xx 046d:08d9 Logitech QuickCam IM/Connect
|
||||
zc3xx 046d:08da Logitech QuickCam Messenger
|
||||
zc3xx 046d:08dd Logitech QuickCam for Notebooks
|
||||
spca500 046d:0900 Logitech Inc. ClickSmart 310
|
||||
spca500 046d:0901 Logitech Inc. ClickSmart 510
|
||||
sunplus 046d:0905 Logitech ClickSmart 820
|
||||
tv8532 046d:0920 Logitech QuickCam Express
|
||||
tv8532 046d:0921 Labtec Webcam
|
||||
spca561 046d:0928 Logitech QC Express Etch2
|
||||
spca561 046d:0929 Labtec Webcam Elch2
|
||||
spca561 046d:092a Logitech QC for Notebook
|
||||
spca561 046d:092b Labtec Webcam Plus
|
||||
spca561 046d:092c Logitech QC chat Elch2
|
||||
spca561 046d:092d Logitech QC Elch2
|
||||
spca561 046d:092e Logitech QC Elch2
|
||||
spca561 046d:092f Logitech QuickCam Express Plus
|
||||
sunplus 046d:0960 Logitech ClickSmart 420
|
||||
nw80x 046d:d001 Logitech QuickCam Pro (dark focus ring)
|
||||
se401 0471:030b PhilipsPCVC665K
|
||||
sunplus 0471:0322 Philips DMVC1300K
|
||||
zc3xx 0471:0325 Philips SPC 200 NC
|
||||
zc3xx 0471:0326 Philips SPC 300 NC
|
||||
sonixj 0471:0327 Philips SPC 600 NC
|
||||
sonixj 0471:0328 Philips SPC 700 NC
|
||||
zc3xx 0471:032d Philips SPC 210 NC
|
||||
zc3xx 0471:032e Philips SPC 315 NC
|
||||
sonixj 0471:0330 Philips SPC 710 NC
|
||||
se401 047d:5001 Kensington67014
|
||||
se401 047d:5002 Kensington6701(5/7)
|
||||
se401 047d:5003 Kensington67016
|
||||
spca501 0497:c001 Smile International
|
||||
sunplus 04a5:3003 Benq DC 1300
|
||||
sunplus 04a5:3008 Benq DC 1500
|
||||
sunplus 04a5:300a Benq DC 3410
|
||||
spca500 04a5:300c Benq DC 1016
|
||||
benq 04a5:3035 Benq DC E300
|
||||
vicam 04c1:009d HomeConnect Webcam [vicam]
|
||||
konica 04c8:0720 IntelYC 76
|
||||
finepix 04cb:0104 Fujifilm FinePix 4800
|
||||
finepix 04cb:0109 Fujifilm FinePix A202
|
||||
finepix 04cb:010b Fujifilm FinePix A203
|
||||
finepix 04cb:010f Fujifilm FinePix A204
|
||||
finepix 04cb:0111 Fujifilm FinePix A205
|
||||
finepix 04cb:0113 Fujifilm FinePix A210
|
||||
finepix 04cb:0115 Fujifilm FinePix A303
|
||||
finepix 04cb:0117 Fujifilm FinePix A310
|
||||
finepix 04cb:0119 Fujifilm FinePix F401
|
||||
finepix 04cb:011b Fujifilm FinePix F402
|
||||
finepix 04cb:011d Fujifilm FinePix F410
|
||||
finepix 04cb:0121 Fujifilm FinePix F601
|
||||
finepix 04cb:0123 Fujifilm FinePix F700
|
||||
finepix 04cb:0125 Fujifilm FinePix M603
|
||||
finepix 04cb:0127 Fujifilm FinePix S300
|
||||
finepix 04cb:0129 Fujifilm FinePix S304
|
||||
finepix 04cb:012b Fujifilm FinePix S500
|
||||
finepix 04cb:012d Fujifilm FinePix S602
|
||||
finepix 04cb:012f Fujifilm FinePix S700
|
||||
finepix 04cb:0131 Fujifilm FinePix unknown model
|
||||
finepix 04cb:013b Fujifilm FinePix unknown model
|
||||
finepix 04cb:013d Fujifilm FinePix unknown model
|
||||
finepix 04cb:013f Fujifilm FinePix F420
|
||||
sunplus 04f1:1001 JVC GC A50
|
||||
spca561 04fc:0561 Flexcam 100
|
||||
spca1528 04fc:1528 Sunplus MD80 clone
|
||||
sunplus 04fc:500c Sunplus CA500C
|
||||
sunplus 04fc:504a Aiptek Mini PenCam 1.3
|
||||
sunplus 04fc:504b Maxell MaxPocket LE 1.3
|
||||
sunplus 04fc:5330 Digitrex 2110
|
||||
sunplus 04fc:5360 Sunplus Generic
|
||||
spca500 04fc:7333 PalmPixDC85
|
||||
sunplus 04fc:ffff Pure DigitalDakota
|
||||
nw80x 0502:d001 DVC V6
|
||||
spca501 0506:00df 3Com HomeConnect Lite
|
||||
sunplus 052b:1507 Megapixel 5 Pretec DC-1007
|
||||
sunplus 052b:1513 Megapix V4
|
||||
sunplus 052b:1803 MegaImage VI
|
||||
nw80x 052b:d001 EZCam Pro p35u
|
||||
tv8532 0545:808b Veo Stingray
|
||||
tv8532 0545:8333 Veo Stingray
|
||||
sunplus 0546:3155 Polaroid PDC3070
|
||||
sunplus 0546:3191 Polaroid Ion 80
|
||||
sunplus 0546:3273 Polaroid PDC2030
|
||||
touptek 0547:6801 TTUCMOS08000KPB, AS MU800
|
||||
dtcs033 0547:7303 Anchor Chips, Inc
|
||||
ov519 054c:0154 Sonny toy4
|
||||
ov519 054c:0155 Sonny toy5
|
||||
cpia1 0553:0002 CPIA CPiA (version1) based cameras
|
||||
stv0680 0553:0202 STV0680 Camera
|
||||
zc3xx 055f:c005 Mustek Wcam300A
|
||||
spca500 055f:c200 Mustek Gsmart 300
|
||||
sunplus 055f:c211 Kowa Bs888e Microcamera
|
||||
spca500 055f:c220 Gsmart Mini
|
||||
sunplus 055f:c230 Mustek Digicam 330K
|
||||
sunplus 055f:c232 Mustek MDC3500
|
||||
sunplus 055f:c360 Mustek DV4000 Mpeg4
|
||||
sunplus 055f:c420 Mustek gSmart Mini 2
|
||||
sunplus 055f:c430 Mustek Gsmart LCD 2
|
||||
sunplus 055f:c440 Mustek DV 3000
|
||||
sunplus 055f:c520 Mustek gSmart Mini 3
|
||||
sunplus 055f:c530 Mustek Gsmart LCD 3
|
||||
sunplus 055f:c540 Gsmart D30
|
||||
sunplus 055f:c630 Mustek MDC4000
|
||||
sunplus 055f:c650 Mustek MDC5500Z
|
||||
nw80x 055f:d001 Mustek Wcam 300 mini
|
||||
zc3xx 055f:d003 Mustek WCam300A
|
||||
zc3xx 055f:d004 Mustek WCam300 AN
|
||||
conex 0572:0041 Creative Notebook cx11646
|
||||
ov519 05a9:0511 Video Blaster WebCam 3/WebCam Plus, D-Link USB Digital Video Camera
|
||||
ov519 05a9:0518 Creative WebCam
|
||||
ov519 05a9:0519 OV519 Microphone
|
||||
ov519 05a9:0530 OmniVision
|
||||
ov534_9 05a9:1550 OmniVision VEHO Filmscanner
|
||||
ov519 05a9:2800 OmniVision SuperCAM
|
||||
ov519 05a9:4519 Webcam Classic
|
||||
ov534_9 05a9:8065 OmniVision test kit ov538+ov9712
|
||||
ov519 05a9:8519 OmniVision
|
||||
ov519 05a9:a511 D-Link USB Digital Video Camera
|
||||
ov519 05a9:a518 D-Link DSB-C310 Webcam
|
||||
sunplus 05da:1018 Digital Dream Enigma 1.3
|
||||
stk014 05e1:0893 Syntek DV4000
|
||||
gl860 05e3:0503 Genesys Logic PC Camera
|
||||
gl860 05e3:f191 Genesys Logic PC Camera
|
||||
vicam 0602:1001 ViCam Webcam
|
||||
spca561 060b:a001 Maxell Compact Pc PM3
|
||||
zc3xx 0698:2003 CTX M730V built in
|
||||
topro 06a2:0003 TP6800 PC Camera, CmoX CX0342 webcam
|
||||
topro 06a2:6810 Creative Qmax
|
||||
nw80x 06a5:0000 Typhoon Webcam 100 USB
|
||||
nw80x 06a5:d001 Divio based webcams
|
||||
nw80x 06a5:d800 Divio Chicony TwinkleCam, Trust SpaceCam
|
||||
spca500 06bd:0404 Agfa CL20
|
||||
spca500 06be:0800 Optimedia
|
||||
nw80x 06be:d001 EZCam Pro p35u
|
||||
sunplus 06d6:0031 Trust 610 LCD PowerC@m Zoom
|
||||
sunplus 06d6:0041 Aashima Technology B.V.
|
||||
spca506 06e1:a190 ADS Instant VCD
|
||||
ov534 06f8:3002 Hercules Blog Webcam
|
||||
ov534_9 06f8:3003 Hercules Dualpix HD Weblog
|
||||
sonixj 06f8:3004 Hercules Classic Silver
|
||||
sonixj 06f8:3008 Hercules Deluxe Optical Glass
|
||||
pac7302 06f8:3009 Hercules Classic Link
|
||||
pac7302 06f8:301b Hercules Link
|
||||
nw80x 0728:d001 AVerMedia Camguard
|
||||
spca508 0733:0110 ViewQuest VQ110
|
||||
spca501 0733:0401 Intel Create and Share
|
||||
spca501 0733:0402 ViewQuest M318B
|
||||
spca505 0733:0430 Intel PC Camera Pro
|
||||
sunplus 0733:1311 Digital Dream Epsilon 1.3
|
||||
sunplus 0733:1314 Mercury 2.1MEG Deluxe Classic Cam
|
||||
sunplus 0733:2211 Jenoptik jdc 21 LCD
|
||||
sunplus 0733:2221 Mercury Digital Pro 3.1p
|
||||
sunplus 0733:3261 Concord 3045 spca536a
|
||||
sunplus 0733:3281 Cyberpix S550V
|
||||
spca506 0734:043b 3DeMon USB Capture aka
|
||||
cpia1 0813:0001 QX3 camera
|
||||
ov519 0813:0002 Dual Mode USB Camera Plus
|
||||
spca500 084d:0003 D-Link DSC-350
|
||||
spca500 08ca:0103 Aiptek PocketDV
|
||||
sunplus 08ca:0104 Aiptek PocketDVII 1.3
|
||||
sunplus 08ca:0106 Aiptek Pocket DV3100+
|
||||
mr97310a 08ca:0110 Trust Spyc@m 100
|
||||
mr97310a 08ca:0111 Aiptek PenCam VGA+
|
||||
sunplus 08ca:2008 Aiptek Mini PenCam 2 M
|
||||
sunplus 08ca:2010 Aiptek PocketCam 3M
|
||||
sunplus 08ca:2016 Aiptek PocketCam 2 Mega
|
||||
sunplus 08ca:2018 Aiptek Pencam SD 2M
|
||||
sunplus 08ca:2020 Aiptek Slim 3000F
|
||||
sunplus 08ca:2022 Aiptek Slim 3200
|
||||
sunplus 08ca:2024 Aiptek DV3500 Mpeg4
|
||||
sunplus 08ca:2028 Aiptek PocketCam4M
|
||||
sunplus 08ca:2040 Aiptek PocketDV4100M
|
||||
sunplus 08ca:2042 Aiptek PocketDV5100
|
||||
sunplus 08ca:2050 Medion MD 41437
|
||||
sunplus 08ca:2060 Aiptek PocketDV5300
|
||||
tv8532 0923:010f ICM532 cams
|
||||
mr97310a 093a:010e All known CIF cams with this ID
|
||||
mr97310a 093a:010f All known VGA cams with this ID
|
||||
mars 093a:050f Mars-Semi Pc-Camera
|
||||
pac207 093a:2460 Qtec Webcam 100
|
||||
pac207 093a:2461 HP Webcam
|
||||
pac207 093a:2463 Philips SPC 220 NC
|
||||
pac207 093a:2464 Labtec Webcam 1200
|
||||
pac207 093a:2468 Webcam WB-1400T
|
||||
pac207 093a:2470 Genius GF112
|
||||
pac207 093a:2471 Genius VideoCam ge111
|
||||
pac207 093a:2472 Genius VideoCam ge110
|
||||
pac207 093a:2474 Genius iLook 111
|
||||
pac207 093a:2476 Genius e-Messenger 112
|
||||
pac7311 093a:2600 PAC7311 Typhoon
|
||||
pac7311 093a:2601 Philips SPC 610 NC
|
||||
pac7311 093a:2603 Philips SPC 500 NC
|
||||
pac7311 093a:2608 Trust WB-3300p
|
||||
pac7311 093a:260e Gigaware VGA PC Camera, Trust WB-3350p, SIGMA cam 2350
|
||||
pac7311 093a:260f SnakeCam
|
||||
pac7302 093a:2620 Apollo AC-905
|
||||
pac7302 093a:2621 PAC731x
|
||||
pac7302 093a:2622 Genius Eye 312
|
||||
pac7302 093a:2623 Pixart Imaging, Inc.
|
||||
pac7302 093a:2624 PAC7302
|
||||
pac7302 093a:2625 Genius iSlim 310
|
||||
pac7302 093a:2626 Labtec 2200
|
||||
pac7302 093a:2627 Genius FaceCam 300
|
||||
pac7302 093a:2628 Genius iLook 300
|
||||
pac7302 093a:2629 Genious iSlim 300
|
||||
pac7302 093a:262a Webcam 300k
|
||||
pac7302 093a:262c Philips SPC 230 NC
|
||||
jl2005bcd 0979:0227 Various brands, 19 known cameras supported
|
||||
jeilinj 0979:0270 Sakar 57379
|
||||
jeilinj 0979:0280 Sportscam DV15, Sakar 57379
|
||||
zc3xx 0ac8:0301 Web Camera
|
||||
zc3xx 0ac8:0302 Z-star Vimicro zc0302
|
||||
vc032x 0ac8:0321 Vimicro generic vc0321
|
||||
vc032x 0ac8:0323 Vimicro Vc0323
|
||||
vc032x 0ac8:0328 A4Tech PK-130MG
|
||||
zc3xx 0ac8:301b Z-Star zc301b
|
||||
zc3xx 0ac8:303b Vimicro 0x303b
|
||||
zc3xx 0ac8:305b Z-star Vimicro zc0305b
|
||||
zc3xx 0ac8:307b PC Camera (ZS0211)
|
||||
vc032x 0ac8:c001 Sony embedded vimicro
|
||||
vc032x 0ac8:c002 Sony embedded vimicro
|
||||
vc032x 0ac8:c301 Samsung Q1 Ultra Premium
|
||||
spca508 0af9:0010 Hama USB Sightcam 100
|
||||
spca508 0af9:0011 Hama USB Sightcam 100
|
||||
ov519 0b62:0059 iBOT2 Webcam
|
||||
sonixb 0c45:6001 Genius VideoCAM NB
|
||||
sonixb 0c45:6005 Microdia Sweex Mini Webcam
|
||||
sonixb 0c45:6007 Sonix sn9c101 + Tas5110D
|
||||
sonixb 0c45:6009 spcaCam@120
|
||||
sonixb 0c45:600d spcaCam@120
|
||||
sonixb 0c45:6011 Microdia PC Camera (SN9C102)
|
||||
sonixb 0c45:6019 Generic Sonix OV7630
|
||||
sonixb 0c45:6024 Generic Sonix Tas5130c
|
||||
sonixb 0c45:6025 Xcam Shanga
|
||||
sonixb 0c45:6027 GeniusEye 310
|
||||
sonixb 0c45:6028 Sonix Btc Pc380
|
||||
sonixb 0c45:6029 spcaCam@150
|
||||
sonixb 0c45:602a Meade ETX-105EC Camera
|
||||
sonixb 0c45:602c Generic Sonix OV7630
|
||||
sonixb 0c45:602d LIC-200 LG
|
||||
sonixb 0c45:602e Genius VideoCam Messenger
|
||||
sonixj 0c45:6040 Speed NVC 350K
|
||||
sonixj 0c45:607c Sonix sn9c102p Hv7131R
|
||||
sonixb 0c45:6083 VideoCAM Look
|
||||
sonixb 0c45:608c VideoCAM Look
|
||||
sonixb 0c45:608f PC Camera (SN9C103 + OV7630)
|
||||
sonixb 0c45:60a8 VideoCAM Look
|
||||
sonixb 0c45:60aa VideoCAM Look
|
||||
sonixb 0c45:60af VideoCAM Look
|
||||
sonixb 0c45:60b0 Genius VideoCam Look
|
||||
sonixj 0c45:60c0 Sangha Sn535
|
||||
sonixj 0c45:60ce USB-PC-Camera-168 (TALK-5067)
|
||||
sonixj 0c45:60ec SN9C105+MO4000
|
||||
sonixj 0c45:60fb Surfer NoName
|
||||
sonixj 0c45:60fc LG-LIC300
|
||||
sonixj 0c45:60fe Microdia Audio
|
||||
sonixj 0c45:6100 PC Camera (SN9C128)
|
||||
sonixj 0c45:6102 PC Camera (SN9C128)
|
||||
sonixj 0c45:610a PC Camera (SN9C128)
|
||||
sonixj 0c45:610b PC Camera (SN9C128)
|
||||
sonixj 0c45:610c PC Camera (SN9C128)
|
||||
sonixj 0c45:610e PC Camera (SN9C128)
|
||||
sonixj 0c45:6128 Microdia/Sonix SNP325
|
||||
sonixj 0c45:612a Avant Camera
|
||||
sonixj 0c45:612b Speed-Link REFLECT2
|
||||
sonixj 0c45:612c Typhoon Rasy Cam 1.3MPix
|
||||
sonixj 0c45:612e PC Camera (SN9C110)
|
||||
sonixj 0c45:6130 Sonix Pccam
|
||||
sonixj 0c45:6138 Sn9c120 Mo4000
|
||||
sonixj 0c45:613a Microdia Sonix PC Camera
|
||||
sonixj 0c45:613b Surfer SN-206
|
||||
sonixj 0c45:613c Sonix Pccam168
|
||||
sonixj 0c45:613e PC Camera (SN9C120)
|
||||
sonixj 0c45:6142 Hama PC-Webcam AC-150
|
||||
sonixj 0c45:6143 Sonix Pccam168
|
||||
sonixj 0c45:6148 Digitus DA-70811/ZSMC USB PC Camera ZS211/Microdia
|
||||
sonixj 0c45:614a Frontech E-Ccam (JIL-2225)
|
||||
sn9c20x 0c45:6240 PC Camera (SN9C201 + MT9M001)
|
||||
sn9c20x 0c45:6242 PC Camera (SN9C201 + MT9M111)
|
||||
sn9c20x 0c45:6248 PC Camera (SN9C201 + OV9655)
|
||||
sn9c20x 0c45:624c PC Camera (SN9C201 + MT9M112)
|
||||
sn9c20x 0c45:624e PC Camera (SN9C201 + SOI968)
|
||||
sn9c20x 0c45:624f PC Camera (SN9C201 + OV9650)
|
||||
sn9c20x 0c45:6251 PC Camera (SN9C201 + OV9650)
|
||||
sn9c20x 0c45:6253 PC Camera (SN9C201 + OV9650)
|
||||
sn9c20x 0c45:6260 PC Camera (SN9C201 + OV7670)
|
||||
sn9c20x 0c45:6270 PC Camera (SN9C201 + MT9V011/MT9V111/MT9V112)
|
||||
sn9c20x 0c45:627b PC Camera (SN9C201 + OV7660)
|
||||
sn9c20x 0c45:627c PC Camera (SN9C201 + HV7131R)
|
||||
sn9c20x 0c45:627f PC Camera (SN9C201 + OV9650)
|
||||
sn9c20x 0c45:6280 PC Camera (SN9C202 + MT9M001)
|
||||
sn9c20x 0c45:6282 PC Camera (SN9C202 + MT9M111)
|
||||
sn9c20x 0c45:6288 PC Camera (SN9C202 + OV9655)
|
||||
sn9c20x 0c45:628c PC Camera (SN9C201 + MT9M112)
|
||||
sn9c20x 0c45:628e PC Camera (SN9C202 + SOI968)
|
||||
sn9c20x 0c45:628f PC Camera (SN9C202 + OV9650)
|
||||
sn9c20x 0c45:62a0 PC Camera (SN9C202 + OV7670)
|
||||
sn9c20x 0c45:62b0 PC Camera (SN9C202 + MT9V011/MT9V111/MT9V112)
|
||||
sn9c20x 0c45:62b3 PC Camera (SN9C202 + OV9655)
|
||||
sn9c20x 0c45:62bb PC Camera (SN9C202 + OV7660)
|
||||
sn9c20x 0c45:62bc PC Camera (SN9C202 + HV7131R)
|
||||
sn9c2028 0c45:8001 Wild Planet Digital Spy Camera
|
||||
sn9c2028 0c45:8003 Sakar #11199, #6637x, #67480 keychain cams
|
||||
sn9c2028 0c45:8008 Mini-Shotz ms-350
|
||||
sn9c2028 0c45:800a Vivitar Vivicam 3350B
|
||||
sunplus 0d64:0303 Sunplus FashionCam DXG
|
||||
ov519 0e96:c001 TRUST 380 USB2 SPACEC@M
|
||||
etoms 102c:6151 Qcam Sangha CIF
|
||||
etoms 102c:6251 Qcam xxxxxx VGA
|
||||
ov519 1046:9967 W9967CF/W9968CF WebCam IC, Video Blaster WebCam Go
|
||||
zc3xx 10fd:0128 Typhoon Webshot II USB 300k 0x0128
|
||||
spca561 10fd:7e50 FlyCam Usb 100
|
||||
zc3xx 10fd:804d Typhoon Webshot II Webcam [zc0301]
|
||||
zc3xx 10fd:8050 Typhoon Webshot II USB 300k
|
||||
ov534 1415:2000 Sony HD Eye for PS3 (SLEH 00201)
|
||||
pac207 145f:013a Trust WB-1300N
|
||||
pac7302 145f:013c Trust
|
||||
sn9c20x 145f:013d Trust WB-3600R
|
||||
vc032x 15b8:6001 HP 2.0 Megapixel
|
||||
vc032x 15b8:6002 HP 2.0 Megapixel rz406aa
|
||||
stk1135 174f:6a31 ASUSlaptop, MT9M112 sensor
|
||||
spca501 1776:501c Arowana 300K CMOS Camera
|
||||
t613 17a1:0128 TASCORP JPEG Webcam, NGS Cyclops
|
||||
vc032x 17ef:4802 Lenovo Vc0323+MI1310_SOC
|
||||
pac7302 1ae7:2001 SpeedLinkSnappy Mic SL-6825-SBK
|
||||
pac207 2001:f115 D-Link DSB-C120
|
||||
sq905c 2770:9050 Disney pix micro (CIF)
|
||||
sq905c 2770:9051 Lego Bionicle
|
||||
sq905c 2770:9052 Disney pix micro 2 (VGA)
|
||||
sq905c 2770:905c All 11 known cameras with this ID
|
||||
sq905 2770:9120 All 24 known cameras with this ID
|
||||
sq905c 2770:913d All 4 known cameras with this ID
|
||||
sq930x 2770:930b Sweex Motion Tracking / I-Tec iCam Tracer
|
||||
sq930x 2770:930c Trust WB-3500T / NSG Robbie 2.0
|
||||
spca500 2899:012c Toptro Industrial
|
||||
ov519 8020:ef04 ov519
|
||||
spca508 8086:0110 Intel Easy PC Camera
|
||||
spca500 8086:0630 Intel Pocket PC Camera
|
||||
spca506 99fa:8988 Grandtec V.cap
|
||||
sn9c20x a168:0610 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
|
||||
sn9c20x a168:0611 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
|
||||
sn9c20x a168:0613 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
|
||||
sn9c20x a168:0614 Dino-Lite Digital Microscope (SN9C201 + MT9M111)
|
||||
sn9c20x a168:0615 Dino-Lite Digital Microscope (SN9C201 + MT9M111)
|
||||
sn9c20x a168:0617 Dino-Lite Digital Microscope (SN9C201 + MT9M111)
|
||||
sn9c20x a168:0618 Dino-Lite Digital Microscope (SN9C201 + HV7131R)
|
||||
spca561 abcd:cdee Petcam
|
||||
========= ========= ===================================================================
|
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
290
Documentation/admin-guide/media/i2c-cardlist.rst
Normal file
|
@ -0,0 +1,290 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
I²C drivers
|
||||
===========
|
||||
|
||||
The I²C (Inter-Integrated Circuit) bus is a three-wires bus used internally
|
||||
at the media cards for communication between different chips. While the bus
|
||||
is not visible to the Linux Kernel, drivers need to send and receive
|
||||
commands via the bus. The Linux Kernel driver abstraction has support to
|
||||
implement different drivers for each component inside an I²C bus, as if
|
||||
the bus were visible to the main system board.
|
||||
|
||||
One of the problems with I²C devices is that sometimes the same device may
|
||||
work with different I²C hardware. This is common, for example, on devices
|
||||
that comes with a tuner for North America market, and another one for
|
||||
Europe. Some drivers have a ``tuner=`` modprobe parameter to allow using a
|
||||
different tuner number in order to address such issue.
|
||||
|
||||
The current supported of I²C drivers (not including staging drivers) are
|
||||
listed below.
|
||||
|
||||
Audio decoders, processors and mixers
|
||||
-------------------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cs3308 Cirrus Logic CS3308 audio ADC
|
||||
cs5345 Cirrus Logic CS5345 audio ADC
|
||||
cs53l32a Cirrus Logic CS53L32A audio ADC
|
||||
msp3400 Micronas MSP34xx audio decoders
|
||||
sony-btf-mpx Sony BTF's internal MPX
|
||||
tda1997x NXP TDA1997x HDMI receiver
|
||||
tda7432 Philips TDA7432 audio processor
|
||||
tda9840 Philips TDA9840 audio processor
|
||||
tea6415c Philips TEA6415C audio processor
|
||||
tea6420 Philips TEA6420 audio processor
|
||||
tlv320aic23b Texas Instruments TLV320AIC23B audio codec
|
||||
tvaudio Simple audio decoder chips
|
||||
uda1342 Philips UDA1342 audio codec
|
||||
vp27smpx Panasonic VP27's internal MPX
|
||||
wm8739 Wolfson Microelectronics WM8739 stereo audio ADC
|
||||
wm8775 Wolfson Microelectronics WM8775 audio ADC with input mixer
|
||||
============ ==========================================================
|
||||
|
||||
Audio/Video compression chips
|
||||
-----------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6752hs Philips SAA6752HS MPEG-2 Audio/Video Encoder
|
||||
============ ==========================================================
|
||||
|
||||
Camera sensor devices
|
||||
---------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
et8ek8 ET8EK8 camera sensor
|
||||
hi556 Hynix Hi-556 sensor
|
||||
imx214 Sony IMX214 sensor
|
||||
imx219 Sony IMX219 sensor
|
||||
imx258 Sony IMX258 sensor
|
||||
imx274 Sony IMX274 sensor
|
||||
imx290 Sony IMX290 sensor
|
||||
imx319 Sony IMX319 sensor
|
||||
imx355 Sony IMX355 sensor
|
||||
m5mols Fujitsu M-5MOLS 8MP sensor
|
||||
mt9m001 mt9m001
|
||||
mt9m032 MT9M032 camera sensor
|
||||
mt9m111 mt9m111, mt9m112 and mt9m131
|
||||
mt9p031 Aptina MT9P031
|
||||
mt9t001 Aptina MT9T001
|
||||
mt9t112 Aptina MT9T111/MT9T112
|
||||
mt9v011 Micron mt9v011 sensor
|
||||
mt9v032 Micron MT9V032 sensor
|
||||
mt9v111 Aptina MT9V111 sensor
|
||||
noon010pc30 Siliconfile NOON010PC30 sensor
|
||||
ov13858 OmniVision OV13858 sensor
|
||||
ov2640 OmniVision OV2640 sensor
|
||||
ov2659 OmniVision OV2659 sensor
|
||||
ov2680 OmniVision OV2680 sensor
|
||||
ov2685 OmniVision OV2685 sensor
|
||||
ov5640 OmniVision OV5640 sensor
|
||||
ov5645 OmniVision OV5645 sensor
|
||||
ov5647 OmniVision OV5647 sensor
|
||||
ov5670 OmniVision OV5670 sensor
|
||||
ov5675 OmniVision OV5675 sensor
|
||||
ov5695 OmniVision OV5695 sensor
|
||||
ov6650 OmniVision OV6650 sensor
|
||||
ov7251 OmniVision OV7251 sensor
|
||||
ov7640 OmniVision OV7640 sensor
|
||||
ov7670 OmniVision OV7670 sensor
|
||||
ov772x OmniVision OV772x sensor
|
||||
ov7740 OmniVision OV7740 sensor
|
||||
ov8856 OmniVision OV8856 sensor
|
||||
ov9640 OmniVision OV9640 sensor
|
||||
ov9650 OmniVision OV9650/OV9652 sensor
|
||||
rj54n1cb0c Sharp RJ54N1CB0C sensor
|
||||
s5c73m3 Samsung S5C73M3 sensor
|
||||
s5k4ecgx Samsung S5K4ECGX sensor
|
||||
s5k5baf Samsung S5K5BAF sensor
|
||||
s5k6a3 Samsung S5K6A3 sensor
|
||||
s5k6aa Samsung S5K6AAFX sensor
|
||||
smiapp SMIA++/SMIA sensor
|
||||
sr030pc30 Siliconfile SR030PC30 sensor
|
||||
vs6624 ST VS6624 sensor
|
||||
============ ==========================================================
|
||||
|
||||
Flash devices
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adp1653 ADP1653 flash
|
||||
lm3560 LM3560 dual flash driver
|
||||
lm3646 LM3646 dual flash driver
|
||||
============ ==========================================================
|
||||
|
||||
IR I2C driver
|
||||
-------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ir-kbd-i2c I2C module for IR
|
||||
============ ==========================================================
|
||||
|
||||
Lens drivers
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad5820 AD5820 lens voice coil
|
||||
ak7375 AK7375 lens voice coil
|
||||
dw9714 DW9714 lens voice coil
|
||||
dw9807-vcm DW9807 lens voice coil
|
||||
============ ==========================================================
|
||||
|
||||
Miscellaneous helper chips
|
||||
--------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
video-i2c I2C transport video
|
||||
m52790 Mitsubishi M52790 A/V switch
|
||||
st-mipid02 STMicroelectronics MIPID02 CSI-2 to PARALLEL bridge
|
||||
ths7303 THS7303/53 Video Amplifier
|
||||
============ ==========================================================
|
||||
|
||||
RDS decoders
|
||||
------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
saa6588 SAA6588 Radio Chip RDS decoder
|
||||
============ ==========================================================
|
||||
|
||||
SDR tuner chips
|
||||
---------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
max2175 Maxim 2175 RF to Bits tuner
|
||||
============ ==========================================================
|
||||
|
||||
Video and audio decoders
|
||||
------------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
cx25840 Conexant CX2584x audio/video decoders
|
||||
saa717x Philips SAA7171/3/4 audio/video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video decoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
adv7180 Analog Devices ADV7180 decoder
|
||||
adv7183 Analog Devices ADV7183 decoder
|
||||
adv748x Analog Devices ADV748x decoder
|
||||
adv7604 Analog Devices ADV7604 decoder
|
||||
adv7842 Analog Devices ADV7842 decoder
|
||||
bt819 BT819A VideoStream decoder
|
||||
bt856 BT856 VideoStream decoder
|
||||
bt866 BT866 VideoStream decoder
|
||||
ks0127 KS0127 video decoder
|
||||
ml86v7667 OKI ML86V7667 video decoder
|
||||
saa7110 Philips SAA7110 video decoder
|
||||
saa7115 Philips SAA7111/3/4/5 video decoders
|
||||
tc358743 Toshiba TC358743 decoder
|
||||
tvp514x Texas Instruments TVP514x video decoder
|
||||
tvp5150 Texas Instruments TVP5150 video decoder
|
||||
tvp7002 Texas Instruments TVP7002 video decoder
|
||||
tw2804 Techwell TW2804 multiple video decoder
|
||||
tw9903 Techwell TW9903 video decoder
|
||||
tw9906 Techwell TW9906 video decoder
|
||||
tw9910 Techwell TW9910 video decoder
|
||||
vpx3220 vpx3220a, vpx3216b & vpx3214c video decoders
|
||||
============ ==========================================================
|
||||
|
||||
Video encoders
|
||||
--------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
ad9389b Analog Devices AD9389B encoder
|
||||
adv7170 Analog Devices ADV7170 video encoder
|
||||
adv7175 Analog Devices ADV7175 video encoder
|
||||
adv7343 ADV7343 video encoder
|
||||
adv7393 ADV7393 video encoder
|
||||
adv7511-v4l2 Analog Devices ADV7511 encoder
|
||||
ak881x AK8813/AK8814 video encoders
|
||||
saa7127 Philips SAA7127/9 digital video encoders
|
||||
saa7185 Philips SAA7185 video encoder
|
||||
ths8200 Texas Instruments THS8200 video encoder
|
||||
============ ==========================================================
|
||||
|
||||
Video improvement chips
|
||||
-----------------------
|
||||
|
||||
============ ==========================================================
|
||||
Driver Name
|
||||
============ ==========================================================
|
||||
upd64031a NEC Electronics uPD64031A Ghost Reduction
|
||||
upd64083 NEC Electronics uPD64083 3-Dimensional Y/C separation
|
||||
============ ==========================================================
|
||||
|
||||
Tuner drivers
|
||||
-------------
|
||||
|
||||
============ ==================================================
|
||||
Driver Name
|
||||
============ ==================================================
|
||||
e4000 Elonics E4000 silicon tuner
|
||||
fc0011 Fitipower FC0011 silicon tuner
|
||||
fc0012 Fitipower FC0012 silicon tuner
|
||||
fc0013 Fitipower FC0013 silicon tuner
|
||||
fc2580 FCI FC2580 silicon tuner
|
||||
it913x ITE Tech IT913x silicon tuner
|
||||
m88rs6000t Montage M88RS6000 internal tuner
|
||||
max2165 Maxim MAX2165 silicon tuner
|
||||
mc44s803 Freescale MC44S803 Low Power CMOS Broadband tuners
|
||||
msi001 Mirics MSi001
|
||||
mt2060 Microtune MT2060 silicon IF tuner
|
||||
mt2063 Microtune MT2063 silicon IF tuner
|
||||
mt20xx Microtune 2032 / 2050 tuners
|
||||
mt2131 Microtune MT2131 silicon tuner
|
||||
mt2266 Microtune MT2266 silicon tuner
|
||||
mxl301rf MaxLinear MxL301RF tuner
|
||||
mxl5005s MaxLinear MSL5005S silicon tuner
|
||||
mxl5007t MaxLinear MxL5007T silicon tuner
|
||||
qm1d1b0004 Sharp QM1D1B0004 tuner
|
||||
qm1d1c0042 Sharp QM1D1C0042 tuner
|
||||
qt1010 Quantek QT1010 silicon tuner
|
||||
r820t Rafael Micro R820T silicon tuner
|
||||
si2157 Silicon Labs Si2157 silicon tuner
|
||||
tuner-types Simple tuner support
|
||||
tda18212 NXP TDA18212 silicon tuner
|
||||
tda18218 NXP TDA18218 silicon tuner
|
||||
tda18250 NXP TDA18250 silicon tuner
|
||||
tda18271 NXP TDA18271 silicon tuner
|
||||
tda827x Philips TDA827X silicon tuner
|
||||
tda8290 TDA 8290/8295 + 8275(a)/18271 tuner combo
|
||||
tda9887 TDA 9885/6/7 analog IF demodulator
|
||||
tea5761 TEA 5761 radio tuner
|
||||
tea5767 TEA 5767 radio tuner
|
||||
tua9001 Infineon TUA9001 silicon tuner
|
||||
tuner-xc2028 XCeive xc2028/xc3028 tuners
|
||||
xc4000 Xceive XC4000 silicon tuner
|
||||
xc5000 Xceive XC5000 silicon tuner
|
||||
============ ==================================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
tuner-cardlist
|
||||
frontend-cardlist
|
714
Documentation/admin-guide/media/imx.rst
Normal file
714
Documentation/admin-guide/media/imx.rst
Normal file
|
@ -0,0 +1,714 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
i.MX Video Capture Driver
|
||||
=========================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The Freescale i.MX5/6 contains an Image Processing Unit (IPU), which
|
||||
handles the flow of image frames to and from capture devices and
|
||||
display devices.
|
||||
|
||||
For image capture, the IPU contains the following internal subunits:
|
||||
|
||||
- Image DMA Controller (IDMAC)
|
||||
- Camera Serial Interface (CSI)
|
||||
- Image Converter (IC)
|
||||
- Sensor Multi-FIFO Controller (SMFC)
|
||||
- Image Rotator (IRT)
|
||||
- Video De-Interlacing or Combining Block (VDIC)
|
||||
|
||||
The IDMAC is the DMA controller for transfer of image frames to and from
|
||||
memory. Various dedicated DMA channels exist for both video capture and
|
||||
display paths. During transfer, the IDMAC is also capable of vertical
|
||||
image flip, 8x8 block transfer (see IRT description), pixel component
|
||||
re-ordering (for example UYVY to YUYV) within the same colorspace, and
|
||||
packed <--> planar conversion. The IDMAC can also perform a simple
|
||||
de-interlacing by interweaving even and odd lines during transfer
|
||||
(without motion compensation which requires the VDIC).
|
||||
|
||||
The CSI is the backend capture unit that interfaces directly with
|
||||
camera sensors over Parallel, BT.656/1120, and MIPI CSI-2 buses.
|
||||
|
||||
The IC handles color-space conversion, resizing (downscaling and
|
||||
upscaling), horizontal flip, and 90/270 degree rotation operations.
|
||||
|
||||
There are three independent "tasks" within the IC that can carry out
|
||||
conversions concurrently: pre-process encoding, pre-process viewfinder,
|
||||
and post-processing. Within each task, conversions are split into three
|
||||
sections: downsizing section, main section (upsizing, flip, colorspace
|
||||
conversion, and graphics plane combining), and rotation section.
|
||||
|
||||
The IPU time-shares the IC task operations. The time-slice granularity
|
||||
is one burst of eight pixels in the downsizing section, one image line
|
||||
in the main processing section, one image frame in the rotation section.
|
||||
|
||||
The SMFC is composed of four independent FIFOs that each can transfer
|
||||
captured frames from sensors directly to memory concurrently via four
|
||||
IDMAC channels.
|
||||
|
||||
The IRT carries out 90 and 270 degree image rotation operations. The
|
||||
rotation operation is carried out on 8x8 pixel blocks at a time. This
|
||||
operation is supported by the IDMAC which handles the 8x8 block transfer
|
||||
along with block reordering, in coordination with vertical flip.
|
||||
|
||||
The VDIC handles the conversion of interlaced video to progressive, with
|
||||
support for different motion compensation modes (low, medium, and high
|
||||
motion). The deinterlaced output frames from the VDIC can be sent to the
|
||||
IC pre-process viewfinder task for further conversions. The VDIC also
|
||||
contains a Combiner that combines two image planes, with alpha blending
|
||||
and color keying.
|
||||
|
||||
In addition to the IPU internal subunits, there are also two units
|
||||
outside the IPU that are also involved in video capture on i.MX:
|
||||
|
||||
- MIPI CSI-2 Receiver for camera sensors with the MIPI CSI-2 bus
|
||||
interface. This is a Synopsys DesignWare core.
|
||||
- Two video multiplexers for selecting among multiple sensor inputs
|
||||
to send to a CSI.
|
||||
|
||||
For more info, refer to the latest versions of the i.MX5/6 reference
|
||||
manuals [#f1]_ and [#f2]_.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
Some of the features of this driver include:
|
||||
|
||||
- Many different pipelines can be configured via media controller API,
|
||||
that correspond to the hardware video capture pipelines supported in
|
||||
the i.MX.
|
||||
|
||||
- Supports parallel, BT.565, and MIPI CSI-2 interfaces.
|
||||
|
||||
- Concurrent independent streams, by configuring pipelines to multiple
|
||||
video capture interfaces using independent entities.
|
||||
|
||||
- Scaling, color-space conversion, horizontal and vertical flip, and
|
||||
image rotation via IC task subdevs.
|
||||
|
||||
- Many pixel formats supported (RGB, packed and planar YUV, partial
|
||||
planar YUV).
|
||||
|
||||
- The VDIC subdev supports motion compensated de-interlacing, with three
|
||||
motion compensation modes: low, medium, and high motion. Pipelines are
|
||||
defined that allow sending frames to the VDIC subdev directly from the
|
||||
CSI. There is also support in the future for sending frames to the
|
||||
VDIC from memory buffers via a output/mem2mem devices.
|
||||
|
||||
- Includes a Frame Interval Monitor (FIM) that can correct vertical sync
|
||||
problems with the ADV718x video decoders.
|
||||
|
||||
|
||||
Topology
|
||||
--------
|
||||
|
||||
The following shows the media topologies for the i.MX6Q SabreSD and
|
||||
i.MX6Q SabreAuto. Refer to these diagrams in the entity descriptions
|
||||
in the next section.
|
||||
|
||||
The i.MX5/6 topologies can differ upstream from the IPUv3 CSI video
|
||||
multiplexers, but the internal IPUv3 topology downstream from there
|
||||
is common to all i.MX5/6 platforms. For example, the SabreSD, with the
|
||||
MIPI CSI-2 OV5640 sensor, requires the i.MX6 MIPI CSI-2 receiver. But
|
||||
the SabreAuto has only the ADV7180 decoder on a parallel bt.656 bus, and
|
||||
therefore does not require the MIPI CSI-2 receiver, so it is missing in
|
||||
its graph.
|
||||
|
||||
.. _imx6q_topology_graph:
|
||||
|
||||
.. kernel-figure:: imx6q-sabresd.dot
|
||||
:alt: Diagram of the i.MX6Q SabreSD media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreSD
|
||||
|
||||
.. kernel-figure:: imx6q-sabreauto.dot
|
||||
:alt: Diagram of the i.MX6Q SabreAuto media pipeline topology
|
||||
:align: center
|
||||
|
||||
Media pipeline graph on i.MX6Q SabreAuto
|
||||
|
||||
Entities
|
||||
--------
|
||||
|
||||
imx6-mipi-csi2
|
||||
--------------
|
||||
|
||||
This is the MIPI CSI-2 receiver entity. It has one sink pad to receive
|
||||
the MIPI CSI-2 stream (usually from a MIPI CSI-2 camera sensor). It has
|
||||
four source pads, corresponding to the four MIPI CSI-2 demuxed virtual
|
||||
channel outputs. Multiple source pads can be enabled to independently
|
||||
stream from multiple virtual channels.
|
||||
|
||||
This entity actually consists of two sub-blocks. One is the MIPI CSI-2
|
||||
core. This is a Synopsys Designware MIPI CSI-2 core. The other sub-block
|
||||
is a "CSI-2 to IPU gasket". The gasket acts as a demultiplexer of the
|
||||
four virtual channels streams, providing four separate parallel buses
|
||||
containing each virtual channel that are routed to CSIs or video
|
||||
multiplexers as described below.
|
||||
|
||||
On i.MX6 solo/dual-lite, all four virtual channel buses are routed to
|
||||
two video multiplexers. Both CSI0 and CSI1 can receive any virtual
|
||||
channel, as selected by the video multiplexers.
|
||||
|
||||
On i.MX6 Quad, virtual channel 0 is routed to IPU1-CSI0 (after selected
|
||||
by a video mux), virtual channels 1 and 2 are hard-wired to IPU1-CSI1
|
||||
and IPU2-CSI0, respectively, and virtual channel 3 is routed to
|
||||
IPU2-CSI1 (again selected by a video mux).
|
||||
|
||||
ipuX_csiY_mux
|
||||
-------------
|
||||
|
||||
These are the video multiplexers. They have two or more sink pads to
|
||||
select from either camera sensors with a parallel interface, or from
|
||||
MIPI CSI-2 virtual channels from imx6-mipi-csi2 entity. They have a
|
||||
single source pad that routes to a CSI (ipuX_csiY entities).
|
||||
|
||||
On i.MX6 solo/dual-lite, there are two video mux entities. One sits
|
||||
in front of IPU1-CSI0 to select between a parallel sensor and any of
|
||||
the four MIPI CSI-2 virtual channels (a total of five sink pads). The
|
||||
other mux sits in front of IPU1-CSI1, and again has five sink pads to
|
||||
select between a parallel sensor and any of the four MIPI CSI-2 virtual
|
||||
channels.
|
||||
|
||||
On i.MX6 Quad, there are two video mux entities. One sits in front of
|
||||
IPU1-CSI0 to select between a parallel sensor and MIPI CSI-2 virtual
|
||||
channel 0 (two sink pads). The other mux sits in front of IPU2-CSI1 to
|
||||
select between a parallel sensor and MIPI CSI-2 virtual channel 3 (two
|
||||
sink pads).
|
||||
|
||||
ipuX_csiY
|
||||
---------
|
||||
|
||||
These are the CSI entities. They have a single sink pad receiving from
|
||||
either a video mux or from a MIPI CSI-2 virtual channel as described
|
||||
above.
|
||||
|
||||
This entity has two source pads. The first source pad can link directly
|
||||
to the ipuX_vdic entity or the ipuX_ic_prp entity, using hardware links
|
||||
that require no IDMAC memory buffer transfer.
|
||||
|
||||
When the direct source pad is routed to the ipuX_ic_prp entity, frames
|
||||
from the CSI can be processed by one or both of the IC pre-processing
|
||||
tasks.
|
||||
|
||||
When the direct source pad is routed to the ipuX_vdic entity, the VDIC
|
||||
will carry out motion-compensated de-interlace using "high motion" mode
|
||||
(see description of ipuX_vdic entity).
|
||||
|
||||
The second source pad sends video frames directly to memory buffers
|
||||
via the SMFC and an IDMAC channel, bypassing IC pre-processing. This
|
||||
source pad is routed to a capture device node, with a node name of the
|
||||
format "ipuX_csiY capture".
|
||||
|
||||
Note that since the IDMAC source pad makes use of an IDMAC channel,
|
||||
pixel reordering within the same colorspace can be carried out by the
|
||||
IDMAC channel. For example, if the CSI sink pad is receiving in UYVY
|
||||
order, the capture device linked to the IDMAC source pad can capture
|
||||
in YUYV order. Also, if the CSI sink pad is receiving a packed YUV
|
||||
format, the capture device can capture a planar YUV format such as
|
||||
YUV420.
|
||||
|
||||
The IDMAC channel at the IDMAC source pad also supports simple
|
||||
interweave without motion compensation, which is activated if the source
|
||||
pad's field type is sequential top-bottom or bottom-top, and the
|
||||
requested capture interface field type is set to interlaced (t-b, b-t,
|
||||
or unqualified interlaced). The capture interface will enforce the same
|
||||
field order as the source pad field order (interlaced-bt if source pad
|
||||
is seq-bt, interlaced-tb if source pad is seq-tb).
|
||||
|
||||
For events produced by ipuX_csiY, see ref:`imx_api_ipuX_csiY`.
|
||||
|
||||
Cropping in ipuX_csiY
|
||||
---------------------
|
||||
|
||||
The CSI supports cropping the incoming raw sensor frames. This is
|
||||
implemented in the ipuX_csiY entities at the sink pad, using the
|
||||
crop selection subdev API.
|
||||
|
||||
The CSI also supports fixed divide-by-two downscaling independently in
|
||||
width and height. This is implemented in the ipuX_csiY entities at
|
||||
the sink pad, using the compose selection subdev API.
|
||||
|
||||
The output rectangle at the ipuX_csiY source pad is the same as
|
||||
the compose rectangle at the sink pad. So the source pad rectangle
|
||||
cannot be negotiated, it must be set using the compose selection
|
||||
API at sink pad (if /2 downscale is desired, otherwise source pad
|
||||
rectangle is equal to incoming rectangle).
|
||||
|
||||
To give an example of crop and /2 downscale, this will crop a
|
||||
1280x960 input frame to 640x480, and then /2 downscale in both
|
||||
dimensions to 320x240 (assumes ipu1_csi0 is linked to ipu1_csi0_mux):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -V "'ipu1_csi0_mux':2[fmt:UYVY2X8/1280x960]"
|
||||
media-ctl -V "'ipu1_csi0':0[crop:(0,0)/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':0[compose:(0,0)/320x240]"
|
||||
|
||||
Frame Skipping in ipuX_csiY
|
||||
---------------------------
|
||||
|
||||
The CSI supports frame rate decimation, via frame skipping. Frame
|
||||
rate decimation is specified by setting the frame intervals at
|
||||
sink and source pads. The ipuX_csiY entity then applies the best
|
||||
frame skip setting to the CSI to achieve the desired frame rate
|
||||
at the source pad.
|
||||
|
||||
The following example reduces an assumed incoming 60 Hz frame
|
||||
rate by half at the IDMAC output source pad:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -V "'ipu1_csi0':0[fmt:UYVY2X8/640x480@1/60]"
|
||||
media-ctl -V "'ipu1_csi0':2[fmt:UYVY2X8/640x480@1/30]"
|
||||
|
||||
Frame Interval Monitor in ipuX_csiY
|
||||
-----------------------------------
|
||||
|
||||
See ref:`imx_api_FIM`.
|
||||
|
||||
ipuX_vdic
|
||||
---------
|
||||
|
||||
The VDIC carries out motion compensated de-interlacing, with three
|
||||
motion compensation modes: low, medium, and high motion. The mode is
|
||||
specified with the menu control V4L2_CID_DEINTERLACING_MODE. The VDIC
|
||||
has two sink pads and a single source pad.
|
||||
|
||||
The direct sink pad receives from an ipuX_csiY direct pad. With this
|
||||
link the VDIC can only operate in high motion mode.
|
||||
|
||||
When the IDMAC sink pad is activated, it receives from an output
|
||||
or mem2mem device node. With this pipeline, the VDIC can also operate
|
||||
in low and medium modes, because these modes require receiving
|
||||
frames from memory buffers. Note that an output or mem2mem device
|
||||
is not implemented yet, so this sink pad currently has no links.
|
||||
|
||||
The source pad routes to the IC pre-processing entity ipuX_ic_prp.
|
||||
|
||||
ipuX_ic_prp
|
||||
-----------
|
||||
|
||||
This is the IC pre-processing entity. It acts as a router, routing
|
||||
data from its sink pad to one or both of its source pads.
|
||||
|
||||
This entity has a single sink pad. The sink pad can receive from the
|
||||
ipuX_csiY direct pad, or from ipuX_vdic.
|
||||
|
||||
This entity has two source pads. One source pad routes to the
|
||||
pre-process encode task entity (ipuX_ic_prpenc), the other to the
|
||||
pre-process viewfinder task entity (ipuX_ic_prpvf). Both source pads
|
||||
can be activated at the same time if the sink pad is receiving from
|
||||
ipuX_csiY. Only the source pad to the pre-process viewfinder task entity
|
||||
can be activated if the sink pad is receiving from ipuX_vdic (frames
|
||||
from the VDIC can only be processed by the pre-process viewfinder task).
|
||||
|
||||
ipuX_ic_prpenc
|
||||
--------------
|
||||
|
||||
This is the IC pre-processing encode entity. It has a single sink
|
||||
pad from ipuX_ic_prp, and a single source pad. The source pad is
|
||||
routed to a capture device node, with a node name of the format
|
||||
"ipuX_ic_prpenc capture".
|
||||
|
||||
This entity performs the IC pre-process encode task operations:
|
||||
color-space conversion, resizing (downscaling and upscaling),
|
||||
horizontal and vertical flip, and 90/270 degree rotation. Flip
|
||||
and rotation are provided via standard V4L2 controls.
|
||||
|
||||
Like the ipuX_csiY IDMAC source, this entity also supports simple
|
||||
de-interlace without motion compensation, and pixel reordering.
|
||||
|
||||
ipuX_ic_prpvf
|
||||
-------------
|
||||
|
||||
This is the IC pre-processing viewfinder entity. It has a single sink
|
||||
pad from ipuX_ic_prp, and a single source pad. The source pad is routed
|
||||
to a capture device node, with a node name of the format
|
||||
"ipuX_ic_prpvf capture".
|
||||
|
||||
This entity is identical in operation to ipuX_ic_prpenc, with the same
|
||||
resizing and CSC operations and flip/rotation controls. It will receive
|
||||
and process de-interlaced frames from the ipuX_vdic if ipuX_ic_prp is
|
||||
receiving from ipuX_vdic.
|
||||
|
||||
Like the ipuX_csiY IDMAC source, this entity supports simple
|
||||
interweaving without motion compensation. However, note that if the
|
||||
ipuX_vdic is included in the pipeline (ipuX_ic_prp is receiving from
|
||||
ipuX_vdic), it's not possible to use interweave in ipuX_ic_prpvf,
|
||||
since the ipuX_vdic has already carried out de-interlacing (with
|
||||
motion compensation) and therefore the field type output from
|
||||
ipuX_vdic can only be none (progressive).
|
||||
|
||||
Capture Pipelines
|
||||
-----------------
|
||||
|
||||
The following describe the various use-cases supported by the pipelines.
|
||||
|
||||
The links shown do not include the backend sensor, video mux, or mipi
|
||||
csi-2 receiver links. This depends on the type of sensor interface
|
||||
(parallel or mipi csi-2). So these pipelines begin with:
|
||||
|
||||
sensor -> ipuX_csiY_mux -> ...
|
||||
|
||||
for parallel sensors, or:
|
||||
|
||||
sensor -> imx6-mipi-csi2 -> (ipuX_csiY_mux) -> ...
|
||||
|
||||
for mipi csi-2 sensors. The imx6-mipi-csi2 receiver may need to route
|
||||
to the video mux (ipuX_csiY_mux) before sending to the CSI, depending
|
||||
on the mipi csi-2 virtual channel, hence ipuX_csiY_mux is shown in
|
||||
parenthesis.
|
||||
|
||||
Unprocessed Video Capture:
|
||||
--------------------------
|
||||
|
||||
Send frames directly from sensor to camera device interface node, with
|
||||
no conversions, via ipuX_csiY IDMAC source pad:
|
||||
|
||||
-> ipuX_csiY:2 -> ipuX_csiY capture
|
||||
|
||||
IC Direct Conversions:
|
||||
----------------------
|
||||
|
||||
This pipeline uses the preprocess encode entity to route frames directly
|
||||
from the CSI to the IC, to carry out scaling up to 1024x1024 resolution,
|
||||
CSC, flipping, and image rotation:
|
||||
|
||||
-> ipuX_csiY:1 -> 0:ipuX_ic_prp:1 -> 0:ipuX_ic_prpenc:1 -> ipuX_ic_prpenc capture
|
||||
|
||||
Motion Compensated De-interlace:
|
||||
--------------------------------
|
||||
|
||||
This pipeline routes frames from the CSI direct pad to the VDIC entity to
|
||||
support motion-compensated de-interlacing (high motion mode only),
|
||||
scaling up to 1024x1024, CSC, flip, and rotation:
|
||||
|
||||
-> ipuX_csiY:1 -> 0:ipuX_vdic:2 -> 0:ipuX_ic_prp:2 -> 0:ipuX_ic_prpvf:1 -> ipuX_ic_prpvf capture
|
||||
|
||||
|
||||
Usage Notes
|
||||
-----------
|
||||
|
||||
To aid in configuration and for backward compatibility with V4L2
|
||||
applications that access controls only from video device nodes, the
|
||||
capture device interfaces inherit controls from the active entities
|
||||
in the current pipeline, so controls can be accessed either directly
|
||||
from the subdev or from the active capture device interface. For
|
||||
example, the FIM controls are available either from the ipuX_csiY
|
||||
subdevs or from the active capture device.
|
||||
|
||||
The following are specific usage notes for the Sabre* reference
|
||||
boards:
|
||||
|
||||
|
||||
i.MX6Q SabreLite with OV5642 and OV5640
|
||||
---------------------------------------
|
||||
|
||||
This platform requires the OmniVision OV5642 module with a parallel
|
||||
camera interface, and the OV5640 module with a MIPI CSI-2
|
||||
interface. Both modules are available from Boundary Devices:
|
||||
|
||||
- https://boundarydevices.com/product/nit6x_5mp
|
||||
- https://boundarydevices.com/product/nit6x_5mp_mipi
|
||||
|
||||
Note that if only one camera module is available, the other sensor
|
||||
node can be disabled in the device tree.
|
||||
|
||||
The OV5642 module is connected to the parallel bus input on the i.MX
|
||||
internal video mux to IPU1 CSI0. It's i2c bus connects to i2c bus 2.
|
||||
|
||||
The MIPI CSI-2 OV5640 module is connected to the i.MX internal MIPI CSI-2
|
||||
receiver, and the four virtual channel outputs from the receiver are
|
||||
routed as follows: vc0 to the IPU1 CSI0 mux, vc1 directly to IPU1 CSI1,
|
||||
vc2 directly to IPU2 CSI0, and vc3 to the IPU2 CSI1 mux. The OV5640 is
|
||||
also connected to i2c bus 2 on the SabreLite, therefore the OV5642 and
|
||||
OV5640 must not share the same i2c slave address.
|
||||
|
||||
The following basic example configures unprocessed video capture
|
||||
pipelines for both sensors. The OV5642 is routed to ipu1_csi0, and
|
||||
the OV5640, transmitting on MIPI CSI-2 virtual channel 1 (which is
|
||||
imx6-mipi-csi2 pad 2), is routed to ipu1_csi1. Both sensors are
|
||||
configured to output 640x480, and the OV5642 outputs YUYV2X8, the
|
||||
OV5640 UYVY2X8:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links for OV5642
|
||||
media-ctl -l "'ov5642 1-0042':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Setup links for OV5640
|
||||
media-ctl -l "'ov5640 1-0040':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':2 -> 'ipu1_csi1':0[1]"
|
||||
media-ctl -l "'ipu1_csi1':2 -> 'ipu1_csi1 capture':0[1]"
|
||||
# Configure pads for OV5642 pipeline
|
||||
media-ctl -V "'ov5642 1-0042':0 [fmt:YUYV2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:YUYV2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/640x480 field:none]"
|
||||
# Configure pads for OV5640 pipeline
|
||||
media-ctl -V "'ov5640 1-0040':0 [fmt:UYVY2X8/640x480 field:none]"
|
||||
media-ctl -V "'imx6-mipi-csi2':2 [fmt:UYVY2X8/640x480 field:none]"
|
||||
media-ctl -V "'ipu1_csi1':2 [fmt:AYUV32/640x480 field:none]"
|
||||
|
||||
Streaming can then begin independently on the capture device nodes
|
||||
"ipu1_csi0 capture" and "ipu1_csi1 capture". The v4l2-ctl tool can
|
||||
be used to select any supported YUV pixelformat on the capture device
|
||||
nodes, including planar.
|
||||
|
||||
i.MX6Q SabreAuto with ADV7180 decoder
|
||||
-------------------------------------
|
||||
|
||||
On the i.MX6Q SabreAuto, an on-board ADV7180 SD decoder is connected to the
|
||||
parallel bus input on the internal video mux to IPU1 CSI0.
|
||||
|
||||
The following example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming NTSC 720x480 input signals, using simple
|
||||
interweave (unconverted and without motion compensation). The adv7180
|
||||
must output sequential or alternating fields (field type 'seq-bt' for
|
||||
NTSC, or 'alternate'):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 3-0021':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x480]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
|
||||
# Configure "ipu1_csi0 capture" interface (assumed at /dev/video4)
|
||||
v4l2-ctl -d4 --set-fmt-video=field=interlaced_bt
|
||||
|
||||
Streaming can then begin on /dev/video4. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video4.
|
||||
|
||||
This example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming PAL 720x576 input signals, with Motion
|
||||
Compensated de-interlacing. The adv7180 must output sequential or
|
||||
alternating fields (field type 'seq-tb' for PAL, or 'alternate').
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 3-0021':0 -> 'ipu1_csi0_mux':1[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
|
||||
media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 3-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/720x576]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
|
||||
media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
|
||||
# Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
|
||||
v4l2-ctl -d2 --set-fmt-video=field=none
|
||||
|
||||
Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video2.
|
||||
|
||||
This platform accepts Composite Video analog inputs to the ADV7180 on
|
||||
Ain1 (connector J42).
|
||||
|
||||
i.MX6DL SabreAuto with ADV7180 decoder
|
||||
--------------------------------------
|
||||
|
||||
On the i.MX6DL SabreAuto, an on-board ADV7180 SD decoder is connected to the
|
||||
parallel bus input on the internal video mux to IPU1 CSI0.
|
||||
|
||||
The following example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming NTSC 720x480 input signals, using simple
|
||||
interweave (unconverted and without motion compensation). The adv7180
|
||||
must output sequential or alternating fields (field type 'seq-bt' for
|
||||
NTSC, or 'alternate'):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x480 field:seq-bt]"
|
||||
media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x480]"
|
||||
media-ctl -V "'ipu1_csi0':2 [fmt:AYUV32/720x480]"
|
||||
# Configure "ipu1_csi0 capture" interface (assumed at /dev/video0)
|
||||
v4l2-ctl -d0 --set-fmt-video=field=interlaced_bt
|
||||
|
||||
Streaming can then begin on /dev/video0. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video0.
|
||||
|
||||
This example configures a pipeline to capture from the ADV7180
|
||||
video decoder, assuming PAL 720x576 input signals, with Motion
|
||||
Compensated de-interlacing. The adv7180 must output sequential or
|
||||
alternating fields (field type 'seq-tb' for PAL, or 'alternate').
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'adv7180 4-0021':0 -> 'ipu1_csi0_mux':4[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':5 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_vdic':0[1]"
|
||||
media-ctl -l "'ipu1_vdic':2 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':2 -> 'ipu1_ic_prpvf':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpvf':1 -> 'ipu1_ic_prpvf capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'adv7180 4-0021':0 [fmt:UYVY2X8/720x576 field:seq-tb]"
|
||||
media-ctl -V "'ipu1_csi0_mux':5 [fmt:UYVY2X8/720x576]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/720x576]"
|
||||
media-ctl -V "'ipu1_vdic':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prp':2 [fmt:AYUV32/720x576 field:none]"
|
||||
media-ctl -V "'ipu1_ic_prpvf':1 [fmt:AYUV32/720x576 field:none]"
|
||||
# Configure "ipu1_ic_prpvf capture" interface (assumed at /dev/video2)
|
||||
v4l2-ctl -d2 --set-fmt-video=field=none
|
||||
|
||||
Streaming can then begin on /dev/video2. The v4l2-ctl tool can also be
|
||||
used to select any supported YUV pixelformat on /dev/video2.
|
||||
|
||||
This platform accepts Composite Video analog inputs to the ADV7180 on
|
||||
Ain1 (connector J42).
|
||||
|
||||
i.MX6Q SabreSD with MIPI CSI-2 OV5640
|
||||
-------------------------------------
|
||||
|
||||
Similarly to i.MX6Q SabreLite, the i.MX6Q SabreSD supports a parallel
|
||||
interface OV5642 module on IPU1 CSI0, and a MIPI CSI-2 OV5640
|
||||
module. The OV5642 connects to i2c bus 1 and the OV5640 to i2c bus 2.
|
||||
|
||||
The device tree for SabreSD includes OF graphs for both the parallel
|
||||
OV5642 and the MIPI CSI-2 OV5640, but as of this writing only the MIPI
|
||||
CSI-2 OV5640 has been tested, so the OV5642 node is currently disabled.
|
||||
The OV5640 module connects to MIPI connector J5. The NXP part number
|
||||
for the OV5640 module that connects to the SabreSD board is H120729.
|
||||
|
||||
The following example configures unprocessed video capture pipeline to
|
||||
capture from the OV5640, transmitting on MIPI CSI-2 virtual channel 0:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':2 -> 'ipu1_csi0 capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':0 [fmt:AYUV32/640x480]"
|
||||
|
||||
Streaming can then begin on "ipu1_csi0 capture" node. The v4l2-ctl
|
||||
tool can be used to select any supported pixelformat on the capture
|
||||
device node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_csi0 capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_csi0 capture"
|
||||
/dev/video0
|
||||
|
||||
/dev/video0 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video0
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video0 ! kmssink
|
||||
|
||||
The following example configures a direct conversion pipeline to capture
|
||||
from the OV5640, transmitting on MIPI CSI-2 virtual channel 0. It also
|
||||
shows colorspace conversion and scaling at IC output.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
|
||||
media-ctl -l "'imx6-mipi-csi2':1 -> 'ipu1_csi0_mux':0[1]"
|
||||
media-ctl -l "'ipu1_csi0_mux':2 -> 'ipu1_csi0':0[1]"
|
||||
media-ctl -l "'ipu1_csi0':1 -> 'ipu1_ic_prp':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prp':1 -> 'ipu1_ic_prpenc':0[1]"
|
||||
media-ctl -l "'ipu1_ic_prpenc':1 -> 'ipu1_ic_prpenc capture':0[1]"
|
||||
# Configure pads
|
||||
media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'imx6-mipi-csi2':1 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0_mux':2 [fmt:UYVY2X8/640x480]"
|
||||
media-ctl -V "'ipu1_csi0':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prp':1 [fmt:AYUV32/640x480]"
|
||||
media-ctl -V "'ipu1_ic_prpenc':1 [fmt:ARGB8888_1X32/800x600]"
|
||||
# Set a format at the capture interface
|
||||
v4l2-ctl -d /dev/video1 --set-fmt-video=pixelformat=RGB3
|
||||
|
||||
Streaming can then begin on "ipu1_ic_prpenc capture" node.
|
||||
|
||||
To determine what is the /dev/video node correspondent to
|
||||
"ipu1_ic_prpenc capture":
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
media-ctl -e "ipu1_ic_prpenc capture"
|
||||
/dev/video1
|
||||
|
||||
|
||||
/dev/video1 is the streaming element in this case.
|
||||
|
||||
Starting the streaming via v4l2-ctl:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl --stream-mmap -d /dev/video1
|
||||
|
||||
Starting the streaming via Gstreamer and sending the content to the display:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gst-launch-1.0 v4l2src device=/dev/video1 ! kmssink
|
||||
|
||||
Known Issues
|
||||
------------
|
||||
|
||||
1. When using 90 or 270 degree rotation control at capture resolutions
|
||||
near the IC resizer limit of 1024x1024, and combined with planar
|
||||
pixel formats (YUV420, YUV422p), frame capture will often fail with
|
||||
no end-of-frame interrupts from the IDMAC channel. To work around
|
||||
this, use lower resolution and/or packed formats (YUYV, RGB3, etc.)
|
||||
when 90 or 270 rotations are needed.
|
||||
|
||||
|
||||
File list
|
||||
---------
|
||||
|
||||
drivers/staging/media/imx/
|
||||
include/media/imx.h
|
||||
include/linux/imx-media.h
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#f1] http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6DQRM.pdf
|
||||
.. [#f2] http://www.nxp.com/assets/documents/data/en/reference-manuals/IMX6SDLRM.pdf
|
||||
|
||||
|
||||
Authors
|
||||
-------
|
||||
|
||||
- Steve Longerbeam <steve_longerbeam@mentor.com>
|
||||
- Philipp Zabel <kernel@pengutronix.de>
|
||||
- Russell King <linux@armlinux.org.uk>
|
||||
|
||||
Copyright (C) 2012-2017 Mentor Graphics Inc.
|
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
51
Documentation/admin-guide/media/imx6q-sabreauto.dot
Normal file
|
@ -0,0 +1,51 @@
|
|||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev12 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n00000001:port0 [style=dashed]
|
||||
n0000007d [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007d:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000081 [label="{{} | adv7180 3-0021\n/dev/v4l-subdev14 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000081:port0 -> n00000079:port1 [style=dashed]
|
||||
}
|
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
56
Documentation/admin-guide/media/imx6q-sabresd.dot
Normal file
|
@ -0,0 +1,56 @@
|
|||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | ipu1_csi0\n/dev/v4l-subdev0 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port2 -> n00000005 [style=dashed]
|
||||
n00000001:port1 -> n0000000f:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000005 [label="ipu1_csi0 capture\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000000b [label="{{<port0> 0 | <port1> 1} | ipu1_vdic\n/dev/v4l-subdev1 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000b:port2 -> n0000000f:port0 [style=dashed]
|
||||
n0000000f [label="{{<port0> 0} | ipu1_ic_prp\n/dev/v4l-subdev2 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000f:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000f:port2 -> n0000001c:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | ipu1_ic_prpenc\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=dashed]
|
||||
n00000016 [label="ipu1_ic_prpenc capture\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | ipu1_ic_prpvf\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=dashed]
|
||||
n0000001f [label="ipu1_ic_prpvf capture\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002f [label="{{<port0> 0} | ipu1_csi1\n/dev/v4l-subdev5 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002f:port2 -> n00000033 [style=dashed]
|
||||
n0000002f:port1 -> n0000000f:port0 [style=dashed]
|
||||
n0000002f:port1 -> n0000000b:port0 [style=dashed]
|
||||
n00000033 [label="ipu1_csi1 capture\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | ipu2_csi0\n/dev/v4l-subdev6 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port2 -> n00000041 [style=dashed]
|
||||
n0000003d:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000003d:port1 -> n00000047:port0 [style=dashed]
|
||||
n00000041 [label="ipu2_csi0 capture\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000047 [label="{{<port0> 0 | <port1> 1} | ipu2_vdic\n/dev/v4l-subdev7 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000047:port2 -> n0000004b:port0 [style=dashed]
|
||||
n0000004b [label="{{<port0> 0} | ipu2_ic_prp\n/dev/v4l-subdev8 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004b:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000004b:port2 -> n00000058:port0 [style=dashed]
|
||||
n0000004f [label="{{<port0> 0} | ipu2_ic_prpenc\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=dashed]
|
||||
n00000052 [label="ipu2_ic_prpenc capture\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | ipu2_ic_prpvf\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=dashed]
|
||||
n0000005b [label="ipu2_ic_prpvf capture\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000006b [label="{{<port0> 0} | ipu2_csi1\n/dev/v4l-subdev11 | {<port1> 1 | <port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000006b:port2 -> n0000006f [style=dashed]
|
||||
n0000006b:port1 -> n0000004b:port0 [style=dashed]
|
||||
n0000006b:port1 -> n00000047:port0 [style=dashed]
|
||||
n0000006f [label="ipu2_csi1 capture\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000079 [label="{{<port0> 0} | imx6-mipi-csi2\n/dev/v4l-subdev12 | {<port1> 1 | <port2> 2 | <port3> 3 | <port4> 4}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000079:port2 -> n0000002f:port0 [style=dashed]
|
||||
n00000079:port3 -> n0000003d:port0 [style=dashed]
|
||||
n00000079:port1 -> n0000007f:port0 [style=dashed]
|
||||
n00000079:port4 -> n00000083:port0 [style=dashed]
|
||||
n0000007f [label="{{<port0> 0 | <port1> 1} | ipu1_csi0_mux\n/dev/v4l-subdev13 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000007f:port2 -> n00000001:port0 [style=dashed]
|
||||
n00000083 [label="{{<port0> 0 | <port1> 1} | ipu2_csi1_mux\n/dev/v4l-subdev14 | {<port2> 2}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000083:port2 -> n0000006b:port0 [style=dashed]
|
||||
n00000087 [label="{{} | ov5640 1-003c\n/dev/v4l-subdev15 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000087:port0 -> n00000079:port0 [style=dashed]
|
||||
}
|
161
Documentation/admin-guide/media/imx7.rst
Normal file
161
Documentation/admin-guide/media/imx7.rst
Normal file
|
@ -0,0 +1,161 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
i.MX7 Video Capture Driver
|
||||
==========================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The i.MX7 contrary to the i.MX5/6 family does not contain an Image Processing
|
||||
Unit (IPU); because of that the capabilities to perform operations or
|
||||
manipulation of the capture frames are less feature rich.
|
||||
|
||||
For image capture the i.MX7 has three units:
|
||||
- CMOS Sensor Interface (CSI)
|
||||
- Video Multiplexer
|
||||
- MIPI CSI-2 Receiver
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
MIPI Camera Input ---> MIPI CSI-2 --- > |\
|
||||
| \
|
||||
| \
|
||||
| M |
|
||||
| U | ------> CSI ---> Capture
|
||||
| X |
|
||||
| /
|
||||
Parallel Camera Input ----------------> | /
|
||||
|/
|
||||
|
||||
For additional information, please refer to the latest versions of the i.MX7
|
||||
reference manual [#f1]_.
|
||||
|
||||
Entities
|
||||
--------
|
||||
|
||||
imx7-mipi-csi2
|
||||
--------------
|
||||
|
||||
This is the MIPI CSI-2 receiver entity. It has one sink pad to receive the pixel
|
||||
data from MIPI CSI-2 camera sensor. It has one source pad, corresponding to the
|
||||
virtual channel 0. This module is compliant to previous version of Samsung
|
||||
D-phy, and supports two D-PHY Rx Data lanes.
|
||||
|
||||
csi-mux
|
||||
-------
|
||||
|
||||
This is the video multiplexer. It has two sink pads to select from either camera
|
||||
sensor with a parallel interface or from MIPI CSI-2 virtual channel 0. It has
|
||||
a single source pad that routes to the CSI.
|
||||
|
||||
csi
|
||||
---
|
||||
|
||||
The CSI enables the chip to connect directly to external CMOS image sensor. CSI
|
||||
can interface directly with Parallel and MIPI CSI-2 buses. It has 256 x 64 FIFO
|
||||
to store received image pixel data and embedded DMA controllers to transfer data
|
||||
from the FIFO through AHB bus.
|
||||
|
||||
This entity has one sink pad that receives from the csi-mux entity and a single
|
||||
source pad that routes video frames directly to memory buffers. This pad is
|
||||
routed to a capture device node.
|
||||
|
||||
Usage Notes
|
||||
-----------
|
||||
|
||||
To aid in configuration and for backward compatibility with V4L2 applications
|
||||
that access controls only from video device nodes, the capture device interfaces
|
||||
inherit controls from the active entities in the current pipeline, so controls
|
||||
can be accessed either directly from the subdev or from the active capture
|
||||
device interface. For example, the sensor controls are available either from the
|
||||
sensor subdevs or from the active capture device.
|
||||
|
||||
Warp7 with OV2680
|
||||
-----------------
|
||||
|
||||
On this platform an OV2680 MIPI CSI-2 module is connected to the internal MIPI
|
||||
CSI-2 receiver. The following example configures a video capture pipeline with
|
||||
an output of 800x600, and BGGR 10 bit bayer format:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# Setup links
|
||||
media-ctl -l "'ov2680 1-0036':0 -> 'imx7-mipi-csis.0':0[1]"
|
||||
media-ctl -l "'imx7-mipi-csis.0':1 -> 'csi-mux':1[1]"
|
||||
media-ctl -l "'csi-mux':2 -> 'csi':0[1]"
|
||||
media-ctl -l "'csi':1 -> 'csi capture':0[1]"
|
||||
|
||||
# Configure pads for pipeline
|
||||
media-ctl -V "'ov2680 1-0036':0 [fmt:SBGGR10_1X10/800x600 field:none]"
|
||||
media-ctl -V "'csi-mux':1 [fmt:SBGGR10_1X10/800x600 field:none]"
|
||||
media-ctl -V "'csi-mux':2 [fmt:SBGGR10_1X10/800x600 field:none]"
|
||||
media-ctl -V "'imx7-mipi-csis.0':0 [fmt:SBGGR10_1X10/800x600 field:none]"
|
||||
media-ctl -V "'csi':0 [fmt:SBGGR10_1X10/800x600 field:none]"
|
||||
|
||||
After this streaming can start. The v4l2-ctl tool can be used to select any of
|
||||
the resolutions supported by the sensor.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# media-ctl -p
|
||||
Media controller API version 5.2.0
|
||||
|
||||
Media device information
|
||||
------------------------
|
||||
driver imx7-csi
|
||||
model imx-media
|
||||
serial
|
||||
bus info
|
||||
hw revision 0x0
|
||||
driver version 5.2.0
|
||||
|
||||
Device topology
|
||||
- entity 1: csi (2 pads, 2 links)
|
||||
type V4L2 subdev subtype Unknown flags 0
|
||||
device node name /dev/v4l-subdev0
|
||||
pad0: Sink
|
||||
[fmt:SBGGR10_1X10/800x600 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
|
||||
<- "csi-mux":2 [ENABLED]
|
||||
pad1: Source
|
||||
[fmt:SBGGR10_1X10/800x600 field:none colorspace:srgb xfer:srgb ycbcr:601 quantization:full-range]
|
||||
-> "csi capture":0 [ENABLED]
|
||||
|
||||
- entity 4: csi capture (1 pad, 1 link)
|
||||
type Node subtype V4L flags 0
|
||||
device node name /dev/video0
|
||||
pad0: Sink
|
||||
<- "csi":1 [ENABLED]
|
||||
|
||||
- entity 10: csi-mux (3 pads, 2 links)
|
||||
type V4L2 subdev subtype Unknown flags 0
|
||||
device node name /dev/v4l-subdev1
|
||||
pad0: Sink
|
||||
[fmt:Y8_1X8/1x1 field:none]
|
||||
pad1: Sink
|
||||
[fmt:SBGGR10_1X10/800x600 field:none]
|
||||
<- "imx7-mipi-csis.0":1 [ENABLED]
|
||||
pad2: Source
|
||||
[fmt:SBGGR10_1X10/800x600 field:none]
|
||||
-> "csi":0 [ENABLED]
|
||||
|
||||
- entity 14: imx7-mipi-csis.0 (2 pads, 2 links)
|
||||
type V4L2 subdev subtype Unknown flags 0
|
||||
device node name /dev/v4l-subdev2
|
||||
pad0: Sink
|
||||
[fmt:SBGGR10_1X10/800x600 field:none]
|
||||
<- "ov2680 1-0036":0 [ENABLED]
|
||||
pad1: Source
|
||||
[fmt:SBGGR10_1X10/800x600 field:none]
|
||||
-> "csi-mux":1 [ENABLED]
|
||||
|
||||
- entity 17: ov2680 1-0036 (1 pad, 1 link)
|
||||
type V4L2 subdev subtype Sensor flags 0
|
||||
device node name /dev/v4l-subdev3
|
||||
pad0: Source
|
||||
[fmt:SBGGR10_1X10/800x600@1/30 field:none colorspace:srgb]
|
||||
-> "imx7-mipi-csis.0":0 [ENABLED]
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#f1] https://www.nxp.com/docs/en/reference-manual/IMX7SRM.pdf
|
61
Documentation/admin-guide/media/index.rst
Normal file
61
Documentation/admin-guide/media/index.rst
Normal file
|
@ -0,0 +1,61 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
====================================
|
||||
Media subsystem admin and user guide
|
||||
====================================
|
||||
|
||||
This section contains usage information about media subsystem and
|
||||
its supported drivers.
|
||||
|
||||
Please see:
|
||||
|
||||
- :doc:`/userspace-api/media/index`
|
||||
for the userspace APIs used on media devices.
|
||||
|
||||
- :doc:`/driver-api/media/index`
|
||||
for driver development information and Kernel APIs used by
|
||||
media devices;
|
||||
|
||||
The media subsystem
|
||||
===================
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. class:: toc-title
|
||||
|
||||
Table of Contents
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:numbered:
|
||||
|
||||
intro
|
||||
building
|
||||
|
||||
remote-controller
|
||||
|
||||
dvb
|
||||
|
||||
cardlist
|
||||
|
||||
v4l-drivers
|
||||
dvb-drivers
|
||||
cec-drivers
|
||||
|
||||
**Copyright** |copy| 1999-2020 : LinuxTV Developers
|
||||
|
||||
::
|
||||
|
||||
This documentation is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the Free
|
||||
Software Foundation; either version 2 of the License, or (at your option) any
|
||||
later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
more details.
|
||||
|
||||
For more details see the file COPYING in the source distribution of Linux.
|
27
Documentation/admin-guide/media/intro.rst
Normal file
27
Documentation/admin-guide/media/intro.rst
Normal file
|
@ -0,0 +1,27 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
============
|
||||
Introduction
|
||||
============
|
||||
|
||||
The media subsystem consists on Linux support for several different types
|
||||
of devices:
|
||||
|
||||
- Audio and video grabbers;
|
||||
- PC and Laptop Cameras;
|
||||
- Complex cameras found on Embedded hardware;
|
||||
- Analog and digital TV;
|
||||
- HDMI Customer Electronics Control (CEC);
|
||||
- Multi-touch input devices;
|
||||
- Remote Controllers;
|
||||
- Media encoders and decoders.
|
||||
|
||||
Due to the diversity of devices, the subsystem provides several different
|
||||
APIs:
|
||||
|
||||
- Remote Controller API;
|
||||
- HDMI CEC API;
|
||||
- Video4Linux API;
|
||||
- Media controller API;
|
||||
- Video4Linux Request API (experimental);
|
||||
- Digital TV API (also known as DVB API).
|
591
Documentation/admin-guide/media/ipu3.rst
Normal file
591
Documentation/admin-guide/media/ipu3.rst
Normal file
|
@ -0,0 +1,591 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
===============================================================
|
||||
Intel Image Processing Unit 3 (IPU3) Imaging Unit (ImgU) driver
|
||||
===============================================================
|
||||
|
||||
Copyright |copy| 2018 Intel Corporation
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
This file documents the Intel IPU3 (3rd generation Image Processing Unit)
|
||||
Imaging Unit drivers located under drivers/media/pci/intel/ipu3 (CIO2) as well
|
||||
as under drivers/staging/media/ipu3 (ImgU).
|
||||
|
||||
The Intel IPU3 found in certain Kaby Lake (as well as certain Sky Lake)
|
||||
platforms (U/Y processor lines) is made up of two parts namely the Imaging Unit
|
||||
(ImgU) and the CIO2 device (MIPI CSI2 receiver).
|
||||
|
||||
The CIO2 device receives the raw Bayer data from the sensors and outputs the
|
||||
frames in a format that is specific to the IPU3 (for consumption by the IPU3
|
||||
ImgU). The CIO2 driver is available as drivers/media/pci/intel/ipu3/ipu3-cio2*
|
||||
and is enabled through the CONFIG_VIDEO_IPU3_CIO2 config option.
|
||||
|
||||
The Imaging Unit (ImgU) is responsible for processing images captured
|
||||
by the IPU3 CIO2 device. The ImgU driver sources can be found under
|
||||
drivers/staging/media/ipu3 directory. The driver is enabled through the
|
||||
CONFIG_VIDEO_IPU3_IMGU config option.
|
||||
|
||||
The two driver modules are named ipu3_csi2 and ipu3_imgu, respectively.
|
||||
|
||||
The drivers has been tested on Kaby Lake platforms (U/Y processor lines).
|
||||
|
||||
Both of the drivers implement V4L2, Media Controller and V4L2 sub-device
|
||||
interfaces. The IPU3 CIO2 driver supports camera sensors connected to the CIO2
|
||||
MIPI CSI-2 interfaces through V4L2 sub-device sensor drivers.
|
||||
|
||||
CIO2
|
||||
====
|
||||
|
||||
The CIO2 is represented as a single V4L2 subdev, which provides a V4L2 subdev
|
||||
interface to the user space. There is a video node for each CSI-2 receiver,
|
||||
with a single media controller interface for the entire device.
|
||||
|
||||
The CIO2 contains four independent capture channel, each with its own MIPI CSI-2
|
||||
receiver and DMA engine. Each channel is modelled as a V4L2 sub-device exposed
|
||||
to userspace as a V4L2 sub-device node and has two pads:
|
||||
|
||||
.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|
|
||||
|
||||
.. flat-table::
|
||||
|
||||
* - pad
|
||||
- direction
|
||||
- purpose
|
||||
|
||||
* - 0
|
||||
- sink
|
||||
- MIPI CSI-2 input, connected to the sensor subdev
|
||||
|
||||
* - 1
|
||||
- source
|
||||
- Raw video capture, connected to the V4L2 video interface
|
||||
|
||||
The V4L2 video interfaces model the DMA engines. They are exposed to userspace
|
||||
as V4L2 video device nodes.
|
||||
|
||||
Capturing frames in raw Bayer format
|
||||
------------------------------------
|
||||
|
||||
CIO2 MIPI CSI2 receiver is used to capture frames (in packed raw Bayer format)
|
||||
from the raw sensors connected to the CSI2 ports. The captured frames are used
|
||||
as input to the ImgU driver.
|
||||
|
||||
Image processing using IPU3 ImgU requires tools such as raw2pnm [#f1]_, and
|
||||
yavta [#f2]_ due to the following unique requirements and / or features specific
|
||||
to IPU3.
|
||||
|
||||
-- The IPU3 CSI2 receiver outputs the captured frames from the sensor in packed
|
||||
raw Bayer format that is specific to IPU3.
|
||||
|
||||
-- Multiple video nodes have to be operated simultaneously.
|
||||
|
||||
Let us take the example of ov5670 sensor connected to CSI2 port 0, for a
|
||||
2592x1944 image capture.
|
||||
|
||||
Using the media contorller APIs, the ov5670 sensor is configured to send
|
||||
frames in packed raw Bayer format to IPU3 CSI2 receiver.
|
||||
|
||||
# This example assumes /dev/media0 as the CIO2 media device
|
||||
|
||||
export MDEV=/dev/media0
|
||||
|
||||
# and that ov5670 sensor is connected to i2c bus 10 with address 0x36
|
||||
|
||||
export SDEV=$(media-ctl -d $MDEV -e "ov5670 10-0036")
|
||||
|
||||
# Establish the link for the media devices using media-ctl [#f3]_
|
||||
media-ctl -d $MDEV -l "ov5670:0 -> ipu3-csi2 0:0[1]"
|
||||
|
||||
# Set the format for the media devices
|
||||
media-ctl -d $MDEV -V "ov5670:0 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
media-ctl -d $MDEV -V "ipu3-csi2 0:0 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
media-ctl -d $MDEV -V "ipu3-csi2 0:1 [fmt:SGRBG10/2592x1944]"
|
||||
|
||||
Once the media pipeline is configured, desired sensor specific settings
|
||||
(such as exposure and gain settings) can be set, using the yavta tool.
|
||||
|
||||
e.g
|
||||
|
||||
yavta -w 0x009e0903 444 $SDEV
|
||||
|
||||
yavta -w 0x009e0913 1024 $SDEV
|
||||
|
||||
yavta -w 0x009e0911 2046 $SDEV
|
||||
|
||||
Once the desired sensor settings are set, frame captures can be done as below.
|
||||
|
||||
e.g
|
||||
|
||||
yavta --data-prefix -u -c10 -n5 -I -s2592x1944 --file=/tmp/frame-#.bin \
|
||||
-f IPU3_SGRBG10 $(media-ctl -d $MDEV -e "ipu3-cio2 0")
|
||||
|
||||
With the above command, 10 frames are captured at 2592x1944 resolution, with
|
||||
sGRBG10 format and output as IPU3_SGRBG10 format.
|
||||
|
||||
The captured frames are available as /tmp/frame-#.bin files.
|
||||
|
||||
ImgU
|
||||
====
|
||||
|
||||
The ImgU is represented as two V4L2 subdevs, each of which provides a V4L2
|
||||
subdev interface to the user space.
|
||||
|
||||
Each V4L2 subdev represents a pipe, which can support a maximum of 2 streams.
|
||||
This helps to support advanced camera features like Continuous View Finder (CVF)
|
||||
and Snapshot During Video(SDV).
|
||||
|
||||
The ImgU contains two independent pipes, each modelled as a V4L2 sub-device
|
||||
exposed to userspace as a V4L2 sub-device node.
|
||||
|
||||
Each pipe has two sink pads and three source pads for the following purpose:
|
||||
|
||||
.. tabularcolumns:: |p{0.8cm}|p{4.0cm}|p{4.0cm}|
|
||||
|
||||
.. flat-table::
|
||||
|
||||
* - pad
|
||||
- direction
|
||||
- purpose
|
||||
|
||||
* - 0
|
||||
- sink
|
||||
- Input raw video stream
|
||||
|
||||
* - 1
|
||||
- sink
|
||||
- Processing parameters
|
||||
|
||||
* - 2
|
||||
- source
|
||||
- Output processed video stream
|
||||
|
||||
* - 3
|
||||
- source
|
||||
- Output viewfinder video stream
|
||||
|
||||
* - 4
|
||||
- source
|
||||
- 3A statistics
|
||||
|
||||
Each pad is connected to a corresponding V4L2 video interface, exposed to
|
||||
userspace as a V4L2 video device node.
|
||||
|
||||
Device operation
|
||||
----------------
|
||||
|
||||
With ImgU, once the input video node ("ipu3-imgu 0/1":0, in
|
||||
<entity>:<pad-number> format) is queued with buffer (in packed raw Bayer
|
||||
format), ImgU starts processing the buffer and produces the video output in YUV
|
||||
format and statistics output on respective output nodes. The driver is expected
|
||||
to have buffers ready for all of parameter, output and statistics nodes, when
|
||||
input video node is queued with buffer.
|
||||
|
||||
At a minimum, all of input, main output, 3A statistics and viewfinder
|
||||
video nodes should be enabled for IPU3 to start image processing.
|
||||
|
||||
Each ImgU V4L2 subdev has the following set of video nodes.
|
||||
|
||||
input, output and viewfinder video nodes
|
||||
----------------------------------------
|
||||
|
||||
The frames (in packed raw Bayer format specific to the IPU3) received by the
|
||||
input video node is processed by the IPU3 Imaging Unit and are output to 2 video
|
||||
nodes, with each targeting a different purpose (main output and viewfinder
|
||||
output).
|
||||
|
||||
Details onand the Bayer format specific to the IPU3 can be found in
|
||||
:ref:`v4l2-pix-fmt-ipu3-sbggr10`.
|
||||
|
||||
The driver supports V4L2 Video Capture Interface as defined at :ref:`devices`.
|
||||
|
||||
Only the multi-planar API is supported. More details can be found at
|
||||
:ref:`planar-apis`.
|
||||
|
||||
Parameters video node
|
||||
---------------------
|
||||
|
||||
The parameters video node receives the ImgU algorithm parameters that are used
|
||||
to configure how the ImgU algorithms process the image.
|
||||
|
||||
Details on processing parameters specific to the IPU3 can be found in
|
||||
:ref:`v4l2-meta-fmt-params`.
|
||||
|
||||
3A statistics video node
|
||||
------------------------
|
||||
|
||||
3A statistics video node is used by the ImgU driver to output the 3A (auto
|
||||
focus, auto exposure and auto white balance) statistics for the frames that are
|
||||
being processed by the ImgU to user space applications. User space applications
|
||||
can use this statistics data to compute the desired algorithm parameters for
|
||||
the ImgU.
|
||||
|
||||
Configuring the Intel IPU3
|
||||
==========================
|
||||
|
||||
The IPU3 ImgU pipelines can be configured using the Media Controller, defined at
|
||||
:ref:`media_controller`.
|
||||
|
||||
Running mode and firmware binary selection
|
||||
------------------------------------------
|
||||
|
||||
ImgU works based on firmware, currently the ImgU firmware support run 2 pipes in
|
||||
time-sharing with single input frame data. Each pipe can run at certain mode -
|
||||
"VIDEO" or "STILL", "VIDEO" mode is commonly used for video frames capture, and
|
||||
"STILL" is used for still frame capture. However, you can also select "VIDEO" to
|
||||
capture still frames if you want to capture images with less system load and
|
||||
power. For "STILL" mode, ImgU will try to use smaller BDS factor and output
|
||||
larger bayer frame for further YUV processing than "VIDEO" mode to get high
|
||||
quality images. Besides, "STILL" mode need XNR3 to do noise reduction, hence
|
||||
"STILL" mode will need more power and memory bandwidth than "VIDEO" mode. TNR
|
||||
will be enabled in "VIDEO" mode and bypassed by "STILL" mode. ImgU is running at
|
||||
“VIDEO” mode by default, the user can use v4l2 control V4L2_CID_INTEL_IPU3_MODE
|
||||
(currently defined in drivers/staging/media/ipu3/include/intel-ipu3.h) to query
|
||||
and set the running mode. For user, there is no difference for buffer queueing
|
||||
between the "VIDEO" and "STILL" mode, mandatory input and main output node
|
||||
should be enabled and buffers need be queued, the statistics and the view-finder
|
||||
queues are optional.
|
||||
|
||||
The firmware binary will be selected according to current running mode, such log
|
||||
"using binary if_to_osys_striped " or "using binary if_to_osys_primary_striped"
|
||||
could be observed if you enable the ImgU dynamic debug, the binary
|
||||
if_to_osys_striped is selected for "VIDEO" and the binary
|
||||
"if_to_osys_primary_striped" is selected for "STILL".
|
||||
|
||||
|
||||
Processing the image in raw Bayer format
|
||||
----------------------------------------
|
||||
|
||||
Configuring ImgU V4L2 subdev for image processing
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ImgU V4L2 subdevs have to be configured with media controller APIs to have
|
||||
all the video nodes setup correctly.
|
||||
|
||||
Let us take "ipu3-imgu 0" subdev as an example.
|
||||
|
||||
media-ctl -d $MDEV -r
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0 input":0 -> "ipu3-imgu 0":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":2 -> "ipu3-imgu 0 output":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":3 -> "ipu3-imgu 0 viewfinder":0[1]
|
||||
|
||||
media-ctl -d $MDEV -l "ipu3-imgu 0":4 -> "ipu3-imgu 0 3a stat":0[1]
|
||||
|
||||
Also the pipe mode of the corresponding V4L2 subdev should be set as desired
|
||||
(e.g 0 for video mode or 1 for still mode) through the control id 0x009819a1 as
|
||||
below.
|
||||
|
||||
yavta -w "0x009819A1 1" /dev/v4l-subdev7
|
||||
|
||||
Certain hardware blocks in ImgU pipeline can change the frame resolution by
|
||||
cropping or scaling, these hardware blocks include Input Feeder(IF), Bayer Down
|
||||
Scaler (BDS) and Geometric Distortion Correction (GDC).
|
||||
There is also a block which can change the frame resolution - YUV Scaler, it is
|
||||
only applicable to the secondary output.
|
||||
|
||||
RAW Bayer frames go through these ImgU pipeline hardware blocks and the final
|
||||
processed image output to the DDR memory.
|
||||
|
||||
.. kernel-figure:: ipu3_rcb.svg
|
||||
:alt: ipu3 resolution blocks image
|
||||
|
||||
IPU3 resolution change hardware blocks
|
||||
|
||||
**Input Feeder**
|
||||
|
||||
Input Feeder gets the Bayer frame data from the sensor, it can enable cropping
|
||||
of lines and columns from the frame and then store pixels into device's internal
|
||||
pixel buffer which are ready to readout by following blocks.
|
||||
|
||||
**Bayer Down Scaler**
|
||||
|
||||
Bayer Down Scaler is capable of performing image scaling in Bayer domain, the
|
||||
downscale factor can be configured from 1X to 1/4X in each axis with
|
||||
configuration steps of 0.03125 (1/32).
|
||||
|
||||
**Geometric Distortion Correction**
|
||||
|
||||
Geometric Distortion Correction is used to performe correction of distortions
|
||||
and image filtering. It needs some extra filter and envelop padding pixels to
|
||||
work, so the input resolution of GDC should be larger than the output
|
||||
resolution.
|
||||
|
||||
**YUV Scaler**
|
||||
|
||||
YUV Scaler which similar with BDS, but it is mainly do image down scaling in
|
||||
YUV domain, it can support up to 1/12X down scaling, but it can not be applied
|
||||
to the main output.
|
||||
|
||||
The ImgU V4L2 subdev has to be configured with the supported resolutions in all
|
||||
the above hardware blocks, for a given input resolution.
|
||||
For a given supported resolution for an input frame, the Input Feeder, Bayer
|
||||
Down Scaler and GDC blocks should be configured with the supported resolutions
|
||||
as each hardware block has its own alignment requirement.
|
||||
|
||||
You must configure the output resolution of the hardware blocks smartly to meet
|
||||
the hardware requirement along with keeping the maximum field of view. The
|
||||
intermediate resolutions can be generated by specific tool -
|
||||
|
||||
https://github.com/intel/intel-ipu3-pipecfg
|
||||
|
||||
This tool can be used to generate intermediate resolutions. More information can
|
||||
be obtained by looking at the following IPU3 ImgU configuration table.
|
||||
|
||||
https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/master
|
||||
|
||||
Under baseboard-poppy/media-libs/cros-camera-hal-configs-poppy/files/gcss
|
||||
directory, graph_settings_ov5670.xml can be used as an example.
|
||||
|
||||
The following steps prepare the ImgU pipeline for the image processing.
|
||||
|
||||
1. The ImgU V4L2 subdev data format should be set by using the
|
||||
VIDIOC_SUBDEV_S_FMT on pad 0, using the GDC width and height obtained above.
|
||||
|
||||
2. The ImgU V4L2 subdev cropping should be set by using the
|
||||
VIDIOC_SUBDEV_S_SELECTION on pad 0, with V4L2_SEL_TGT_CROP as the target,
|
||||
using the input feeder height and width.
|
||||
|
||||
3. The ImgU V4L2 subdev composing should be set by using the
|
||||
VIDIOC_SUBDEV_S_SELECTION on pad 0, with V4L2_SEL_TGT_COMPOSE as the target,
|
||||
using the BDS height and width.
|
||||
|
||||
For the ov5670 example, for an input frame with a resolution of 2592x1944
|
||||
(which is input to the ImgU subdev pad 0), the corresponding resolutions
|
||||
for input feeder, BDS and GDC are 2592x1944, 2592x1944 and 2560x1920
|
||||
respectively.
|
||||
|
||||
Once this is done, the received raw Bayer frames can be input to the ImgU
|
||||
V4L2 subdev as below, using the open source application v4l2n [#f1]_.
|
||||
|
||||
For an image captured with 2592x1944 [#f4]_ resolution, with desired output
|
||||
resolution as 2560x1920 and viewfinder resolution as 2560x1920, the following
|
||||
v4l2n command can be used. This helps process the raw Bayer frames and produces
|
||||
the desired results for the main output image and the viewfinder output, in NV12
|
||||
format.
|
||||
|
||||
v4l2n --pipe=4 --load=/tmp/frame-#.bin --open=/dev/video4
|
||||
--fmt=type:VIDEO_OUTPUT_MPLANE,width=2592,height=1944,pixelformat=0X47337069
|
||||
--reqbufs=type:VIDEO_OUTPUT_MPLANE,count:1 --pipe=1 --output=/tmp/frames.out
|
||||
--open=/dev/video5
|
||||
--fmt=type:VIDEO_CAPTURE_MPLANE,width=2560,height=1920,pixelformat=NV12
|
||||
--reqbufs=type:VIDEO_CAPTURE_MPLANE,count:1 --pipe=2 --output=/tmp/frames.vf
|
||||
--open=/dev/video6
|
||||
--fmt=type:VIDEO_CAPTURE_MPLANE,width=2560,height=1920,pixelformat=NV12
|
||||
--reqbufs=type:VIDEO_CAPTURE_MPLANE,count:1 --pipe=3 --open=/dev/video7
|
||||
--output=/tmp/frames.3A --fmt=type:META_CAPTURE,?
|
||||
--reqbufs=count:1,type:META_CAPTURE --pipe=1,2,3,4 --stream=5
|
||||
|
||||
You can also use yavta [#f2]_ command to do same thing as above:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.out-f NV12 /dev/video5 & \
|
||||
yavta --data-prefix -Bcapture-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=frame-#.vf -f NV12 /dev/video6 & \
|
||||
yavta --data-prefix -Bmeta-capture -c10 -n5 -I \
|
||||
--file=frame-#.3a /dev/video7 & \
|
||||
yavta --data-prefix -Boutput-mplane -c10 -n5 -I -s2592x1944 \
|
||||
--file=/tmp/frame-in.cio2 -f IPU3_SGRBG10 /dev/video4
|
||||
|
||||
where /dev/video4, /dev/video5, /dev/video6 and /dev/video7 devices point to
|
||||
input, output, viewfinder and 3A statistics video nodes respectively.
|
||||
|
||||
Converting the raw Bayer image into YUV domain
|
||||
----------------------------------------------
|
||||
|
||||
The processed images after the above step, can be converted to YUV domain
|
||||
as below.
|
||||
|
||||
Main output frames
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
raw2pnm -x2560 -y1920 -fNV12 /tmp/frames.out /tmp/frames.out.ppm
|
||||
|
||||
where 2560x1920 is output resolution, NV12 is the video format, followed
|
||||
by input frame and output PNM file.
|
||||
|
||||
Viewfinder output frames
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
raw2pnm -x2560 -y1920 -fNV12 /tmp/frames.vf /tmp/frames.vf.ppm
|
||||
|
||||
where 2560x1920 is output resolution, NV12 is the video format, followed
|
||||
by input frame and output PNM file.
|
||||
|
||||
Example user space code for IPU3
|
||||
================================
|
||||
|
||||
User space code that configures and uses IPU3 is available here.
|
||||
|
||||
https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/master/
|
||||
|
||||
The source can be located under hal/intel directory.
|
||||
|
||||
Overview of IPU3 pipeline
|
||||
=========================
|
||||
|
||||
IPU3 pipeline has a number of image processing stages, each of which takes a
|
||||
set of parameters as input. The major stages of pipelines are shown here:
|
||||
|
||||
.. kernel-render:: DOT
|
||||
:alt: IPU3 ImgU Pipeline
|
||||
:caption: IPU3 ImgU Pipeline Diagram
|
||||
|
||||
digraph "IPU3 ImgU" {
|
||||
node [shape=box]
|
||||
splines="ortho"
|
||||
rankdir="LR"
|
||||
|
||||
a [label="Raw pixels"]
|
||||
b [label="Bayer Downscaling"]
|
||||
c [label="Optical Black Correction"]
|
||||
d [label="Linearization"]
|
||||
e [label="Lens Shading Correction"]
|
||||
f [label="White Balance / Exposure / Focus Apply"]
|
||||
g [label="Bayer Noise Reduction"]
|
||||
h [label="ANR"]
|
||||
i [label="Demosaicing"]
|
||||
j [label="Color Correction Matrix"]
|
||||
k [label="Gamma correction"]
|
||||
l [label="Color Space Conversion"]
|
||||
m [label="Chroma Down Scaling"]
|
||||
n [label="Chromatic Noise Reduction"]
|
||||
o [label="Total Color Correction"]
|
||||
p [label="XNR3"]
|
||||
q [label="TNR"]
|
||||
r [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
s [label="YUV Downscaling"]
|
||||
t [label="DDR", style=filled, fillcolor=yellow, shape=cylinder]
|
||||
|
||||
{ rank=same; a -> b -> c -> d -> e -> f -> g -> h -> i }
|
||||
{ rank=same; j -> k -> l -> m -> n -> o -> p -> q -> s -> t}
|
||||
|
||||
a -> j [style=invis, weight=10]
|
||||
i -> j
|
||||
q -> r
|
||||
}
|
||||
|
||||
The table below presents a description of the above algorithms.
|
||||
|
||||
======================== =======================================================
|
||||
Name Description
|
||||
======================== =======================================================
|
||||
Optical Black Correction Optical Black Correction block subtracts a pre-defined
|
||||
value from the respective pixel values to obtain better
|
||||
image quality.
|
||||
Defined in :c:type:`ipu3_uapi_obgrid_param`.
|
||||
Linearization This algo block uses linearization parameters to
|
||||
address non-linearity sensor effects. The Lookup table
|
||||
table is defined in
|
||||
:c:type:`ipu3_uapi_isp_lin_vmem_params`.
|
||||
SHD Lens shading correction is used to correct spatial
|
||||
non-uniformity of the pixel response due to optical
|
||||
lens shading. This is done by applying a different gain
|
||||
for each pixel. The gain, black level etc are
|
||||
configured in :c:type:`ipu3_uapi_shd_config_static`.
|
||||
BNR Bayer noise reduction block removes image noise by
|
||||
applying a bilateral filter.
|
||||
See :c:type:`ipu3_uapi_bnr_static_config` for details.
|
||||
ANR Advanced Noise Reduction is a block based algorithm
|
||||
that performs noise reduction in the Bayer domain. The
|
||||
convolution matrix etc can be found in
|
||||
:c:type:`ipu3_uapi_anr_config`.
|
||||
DM Demosaicing converts raw sensor data in Bayer format
|
||||
into RGB (Red, Green, Blue) presentation. Then add
|
||||
outputs of estimation of Y channel for following stream
|
||||
processing by Firmware. The struct is defined as
|
||||
:c:type:`ipu3_uapi_dm_config`.
|
||||
Color Correction Color Correction algo transforms sensor specific color
|
||||
space to the standard "sRGB" color space. This is done
|
||||
by applying 3x3 matrix defined in
|
||||
:c:type:`ipu3_uapi_ccm_mat_config`.
|
||||
Gamma correction Gamma correction :c:type:`ipu3_uapi_gamma_config` is a
|
||||
basic non-linear tone mapping correction that is
|
||||
applied per pixel for each pixel component.
|
||||
CSC Color space conversion transforms each pixel from the
|
||||
RGB primary presentation to YUV (Y: brightness,
|
||||
UV: Luminance) presentation. This is done by applying
|
||||
a 3x3 matrix defined in
|
||||
:c:type:`ipu3_uapi_csc_mat_config`
|
||||
CDS Chroma down sampling
|
||||
After the CSC is performed, the Chroma Down Sampling
|
||||
is applied for a UV plane down sampling by a factor
|
||||
of 2 in each direction for YUV 4:2:0 using a 4x2
|
||||
configurable filter :c:type:`ipu3_uapi_cds_params`.
|
||||
CHNR Chroma noise reduction
|
||||
This block processes only the chrominance pixels and
|
||||
performs noise reduction by cleaning the high
|
||||
frequency noise.
|
||||
See struct :c:type:`ipu3_uapi_yuvp1_chnr_config`.
|
||||
TCC Total color correction as defined in struct
|
||||
:c:type:`ipu3_uapi_yuvp2_tcc_static_config`.
|
||||
XNR3 eXtreme Noise Reduction V3 is the third revision of
|
||||
noise reduction algorithm used to improve image
|
||||
quality. This removes the low frequency noise in the
|
||||
captured image. Two related structs are being defined,
|
||||
:c:type:`ipu3_uapi_isp_xnr3_params` for ISP data memory
|
||||
and :c:type:`ipu3_uapi_isp_xnr3_vmem_params` for vector
|
||||
memory.
|
||||
TNR Temporal Noise Reduction block compares successive
|
||||
frames in time to remove anomalies / noise in pixel
|
||||
values. :c:type:`ipu3_uapi_isp_tnr3_vmem_params` and
|
||||
:c:type:`ipu3_uapi_isp_tnr3_params` are defined for ISP
|
||||
vector and data memory respectively.
|
||||
======================== =======================================================
|
||||
|
||||
Other often encountered acronyms not listed in above table:
|
||||
|
||||
ACC
|
||||
Accelerator cluster
|
||||
AWB_FR
|
||||
Auto white balance filter response statistics
|
||||
BDS
|
||||
Bayer downscaler parameters
|
||||
CCM
|
||||
Color correction matrix coefficients
|
||||
IEFd
|
||||
Image enhancement filter directed
|
||||
Obgrid
|
||||
Optical black level compensation
|
||||
OSYS
|
||||
Output system configuration
|
||||
ROI
|
||||
Region of interest
|
||||
YDS
|
||||
Y down sampling
|
||||
YTM
|
||||
Y-tone mapping
|
||||
|
||||
A few stages of the pipeline will be executed by firmware running on the ISP
|
||||
processor, while many others will use a set of fixed hardware blocks also
|
||||
called accelerator cluster (ACC) to crunch pixel data and produce statistics.
|
||||
|
||||
ACC parameters of individual algorithms, as defined by
|
||||
:c:type:`ipu3_uapi_acc_param`, can be chosen to be applied by the user
|
||||
space through struct :c:type:`ipu3_uapi_flags` embedded in
|
||||
:c:type:`ipu3_uapi_params` structure. For parameters that are configured as
|
||||
not enabled by the user space, the corresponding structs are ignored by the
|
||||
driver, in which case the existing configuration of the algorithm will be
|
||||
preserved.
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#f5] drivers/staging/media/ipu3/include/intel-ipu3.h
|
||||
|
||||
.. [#f1] https://github.com/intel/nvt
|
||||
|
||||
.. [#f2] http://git.ideasonboard.org/yavta.git
|
||||
|
||||
.. [#f3] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
||||
|
||||
.. [#f4] ImgU limitation requires an additional 16x16 for all input resolutions
|
331
Documentation/admin-guide/media/ipu3_rcb.svg
Normal file
331
Documentation/admin-guide/media/ipu3_rcb.svg
Normal file
|
@ -0,0 +1,331 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="774pt" height="152pt" viewBox="0 0 774 152" version="1.1">
|
||||
<defs>
|
||||
<g>
|
||||
<symbol overflow="visible" id="glyph0-0">
|
||||
<path style="stroke:none;" d="M 1 0 L 1 -15 L 9 -15 L 9 0 Z M 8 -1 L 8 -14 L 2 -14 L 2 -1 Z M 8 -1 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-1">
|
||||
<path style="stroke:none;" d="M 4.6875 -1.15625 C 5.519531 -1.15625 6.15625 -1.316406 6.59375 -1.640625 C 7.039062 -1.960938 7.265625 -2.441406 7.265625 -3.078125 C 7.265625 -3.460938 7.179688 -3.789062 7.015625 -4.0625 C 6.859375 -4.34375 6.644531 -4.582031 6.375 -4.78125 C 6.113281 -4.988281 5.816406 -5.171875 5.484375 -5.328125 C 5.148438 -5.484375 4.804688 -5.628906 4.453125 -5.765625 C 4.054688 -5.921875 3.675781 -6.097656 3.3125 -6.296875 C 2.945312 -6.492188 2.617188 -6.726562 2.328125 -7 C 2.046875 -7.269531 1.820312 -7.582031 1.65625 -7.9375 C 1.488281 -8.300781 1.40625 -8.726562 1.40625 -9.21875 C 1.40625 -10.300781 1.742188 -11.144531 2.421875 -11.75 C 3.097656 -12.351562 4.046875 -12.65625 5.265625 -12.65625 C 5.597656 -12.65625 5.925781 -12.628906 6.25 -12.578125 C 6.570312 -12.535156 6.875 -12.476562 7.15625 -12.40625 C 7.4375 -12.34375 7.6875 -12.265625 7.90625 -12.171875 C 8.125 -12.085938 8.300781 -12 8.4375 -11.90625 L 7.921875 -10.515625 C 7.648438 -10.679688 7.28125 -10.84375 6.8125 -11 C 6.351562 -11.15625 5.835938 -11.234375 5.265625 -11.234375 C 4.660156 -11.234375 4.140625 -11.082031 3.703125 -10.78125 C 3.265625 -10.488281 3.046875 -10.039062 3.046875 -9.4375 C 3.046875 -9.09375 3.109375 -8.800781 3.234375 -8.5625 C 3.359375 -8.320312 3.53125 -8.109375 3.75 -7.921875 C 3.96875 -7.742188 4.222656 -7.582031 4.515625 -7.4375 C 4.804688 -7.289062 5.128906 -7.144531 5.484375 -7 C 5.984375 -6.789062 6.441406 -6.578125 6.859375 -6.359375 C 7.285156 -6.148438 7.648438 -5.894531 7.953125 -5.59375 C 8.253906 -5.300781 8.488281 -4.953125 8.65625 -4.546875 C 8.820312 -4.148438 8.90625 -3.664062 8.90625 -3.09375 C 8.90625 -2.019531 8.539062 -1.191406 7.8125 -0.609375 C 7.082031 -0.0234375 6.039062 0.265625 4.6875 0.265625 C 4.238281 0.265625 3.820312 0.234375 3.4375 0.171875 C 3.050781 0.109375 2.707031 0.03125 2.40625 -0.0625 C 2.101562 -0.15625 1.835938 -0.25 1.609375 -0.34375 C 1.390625 -0.4375 1.21875 -0.519531 1.09375 -0.59375 L 1.59375 -1.953125 C 1.863281 -1.804688 2.257812 -1.632812 2.78125 -1.4375 C 3.300781 -1.25 3.9375 -1.15625 4.6875 -1.15625 Z M 4.6875 -1.15625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-2">
|
||||
<path style="stroke:none;" d="M 5.1875 -9.5 C 6.4375 -9.5 7.398438 -9.109375 8.078125 -8.328125 C 8.753906 -7.546875 9.09375 -6.363281 9.09375 -4.78125 L 9.09375 -4.203125 L 2.453125 -4.203125 C 2.523438 -3.242188 2.84375 -2.515625 3.40625 -2.015625 C 3.976562 -1.515625 4.773438 -1.265625 5.796875 -1.265625 C 6.390625 -1.265625 6.890625 -1.3125 7.296875 -1.40625 C 7.710938 -1.5 8.023438 -1.597656 8.234375 -1.703125 L 8.453125 -0.296875 C 8.253906 -0.191406 7.894531 -0.0820312 7.375 0.03125 C 6.851562 0.15625 6.269531 0.21875 5.625 0.21875 C 4.820312 0.21875 4.113281 0.0976562 3.5 -0.140625 C 2.894531 -0.390625 2.394531 -0.726562 2 -1.15625 C 1.601562 -1.582031 1.300781 -2.09375 1.09375 -2.6875 C 0.894531 -3.28125 0.796875 -3.925781 0.796875 -4.625 C 0.796875 -5.445312 0.921875 -6.164062 1.171875 -6.78125 C 1.429688 -7.394531 1.765625 -7.898438 2.171875 -8.296875 C 2.585938 -8.703125 3.054688 -9.003906 3.578125 -9.203125 C 4.097656 -9.398438 4.632812 -9.5 5.1875 -9.5 Z M 7.421875 -5.546875 C 7.421875 -6.328125 7.210938 -6.945312 6.796875 -7.40625 C 6.390625 -7.863281 5.84375 -8.09375 5.15625 -8.09375 C 4.769531 -8.09375 4.421875 -8.019531 4.109375 -7.875 C 3.796875 -7.726562 3.523438 -7.535156 3.296875 -7.296875 C 3.066406 -7.054688 2.882812 -6.78125 2.75 -6.46875 C 2.625 -6.164062 2.539062 -5.859375 2.5 -5.546875 Z M 7.421875 -5.546875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-3">
|
||||
<path style="stroke:none;" d="M 1.421875 -9.015625 C 2.015625 -9.160156 2.609375 -9.273438 3.203125 -9.359375 C 3.796875 -9.441406 4.351562 -9.484375 4.875 -9.484375 C 6.113281 -9.484375 7.050781 -9.160156 7.6875 -8.515625 C 8.320312 -7.878906 8.640625 -6.851562 8.640625 -5.4375 L 8.640625 0 L 7 0 L 7 -5.140625 C 7 -5.742188 6.945312 -6.226562 6.84375 -6.59375 C 6.738281 -6.96875 6.585938 -7.257812 6.390625 -7.46875 C 6.191406 -7.675781 5.957031 -7.816406 5.6875 -7.890625 C 5.414062 -7.972656 5.117188 -8.015625 4.796875 -8.015625 C 4.535156 -8.015625 4.253906 -8 3.953125 -7.96875 C 3.648438 -7.9375 3.359375 -7.894531 3.078125 -7.84375 L 3.078125 0 L 1.421875 0 Z M 1.421875 -9.015625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-4">
|
||||
<path style="stroke:none;" d="M 7.015625 -2.3125 C 7.015625 -2.644531 6.878906 -2.914062 6.609375 -3.125 C 6.335938 -3.34375 6 -3.53125 5.59375 -3.6875 C 5.1875 -3.851562 4.742188 -4.015625 4.265625 -4.171875 C 3.785156 -4.328125 3.335938 -4.515625 2.921875 -4.734375 C 2.515625 -4.960938 2.175781 -5.242188 1.90625 -5.578125 C 1.632812 -5.910156 1.5 -6.34375 1.5 -6.875 C 1.5 -7.625 1.800781 -8.25 2.40625 -8.75 C 3.007812 -9.25 3.960938 -9.5 5.265625 -9.5 C 5.765625 -9.5 6.285156 -9.460938 6.828125 -9.390625 C 7.367188 -9.316406 7.832031 -9.21875 8.21875 -9.09375 L 7.921875 -7.625 C 7.816406 -7.675781 7.671875 -7.726562 7.484375 -7.78125 C 7.296875 -7.84375 7.082031 -7.894531 6.84375 -7.9375 C 6.601562 -7.988281 6.34375 -8.023438 6.0625 -8.046875 C 5.789062 -8.078125 5.53125 -8.09375 5.28125 -8.09375 C 3.84375 -8.09375 3.125 -7.703125 3.125 -6.921875 C 3.125 -6.640625 3.257812 -6.398438 3.53125 -6.203125 C 3.800781 -6.015625 4.144531 -5.835938 4.5625 -5.671875 C 4.976562 -5.515625 5.425781 -5.351562 5.90625 -5.1875 C 6.382812 -5.019531 6.828125 -4.816406 7.234375 -4.578125 C 7.648438 -4.335938 7.992188 -4.046875 8.265625 -3.703125 C 8.546875 -3.367188 8.6875 -2.941406 8.6875 -2.421875 C 8.6875 -1.578125 8.359375 -0.925781 7.703125 -0.46875 C 7.046875 -0.0078125 6.007812 0.21875 4.59375 0.21875 C 3.957031 0.21875 3.375 0.164062 2.84375 0.0625 C 2.3125 -0.0390625 1.800781 -0.203125 1.3125 -0.421875 L 1.640625 -1.921875 C 2.109375 -1.703125 2.597656 -1.523438 3.109375 -1.390625 C 3.617188 -1.253906 4.171875 -1.1875 4.765625 -1.1875 C 6.265625 -1.1875 7.015625 -1.5625 7.015625 -2.3125 Z M 7.015625 -2.3125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-5">
|
||||
<path style="stroke:none;" d="M 9.203125 -4.640625 C 9.203125 -3.910156 9.097656 -3.25 8.890625 -2.65625 C 8.679688 -2.0625 8.390625 -1.550781 8.015625 -1.125 C 7.640625 -0.695312 7.191406 -0.363281 6.671875 -0.125 C 6.160156 0.101562 5.597656 0.21875 4.984375 0.21875 C 4.378906 0.21875 3.820312 0.101562 3.3125 -0.125 C 2.800781 -0.363281 2.359375 -0.695312 1.984375 -1.125 C 1.609375 -1.550781 1.316406 -2.0625 1.109375 -2.65625 C 0.898438 -3.25 0.796875 -3.910156 0.796875 -4.640625 C 0.796875 -5.367188 0.898438 -6.035156 1.109375 -6.640625 C 1.316406 -7.242188 1.609375 -7.753906 1.984375 -8.171875 C 2.359375 -8.585938 2.800781 -8.910156 3.3125 -9.140625 C 3.820312 -9.378906 4.378906 -9.5 4.984375 -9.5 C 5.597656 -9.5 6.160156 -9.378906 6.671875 -9.140625 C 7.191406 -8.910156 7.640625 -8.585938 8.015625 -8.171875 C 8.390625 -7.753906 8.679688 -7.242188 8.890625 -6.640625 C 9.097656 -6.035156 9.203125 -5.367188 9.203125 -4.640625 Z M 7.5 -4.640625 C 7.5 -5.691406 7.269531 -6.519531 6.8125 -7.125 C 6.363281 -7.738281 5.753906 -8.046875 4.984375 -8.046875 C 4.222656 -8.046875 3.617188 -7.738281 3.171875 -7.125 C 2.722656 -6.519531 2.5 -5.691406 2.5 -4.640625 C 2.5 -3.597656 2.722656 -2.773438 3.171875 -2.171875 C 3.617188 -1.566406 4.222656 -1.265625 4.984375 -1.265625 C 5.753906 -1.265625 6.363281 -1.566406 6.8125 -2.171875 C 7.269531 -2.773438 7.5 -3.597656 7.5 -4.640625 Z M 7.5 -4.640625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-6">
|
||||
<path style="stroke:none;" d="M 2.140625 0 L 2.140625 -8.78125 C 3.503906 -9.25 4.878906 -9.484375 6.265625 -9.484375 C 6.691406 -9.484375 7.097656 -9.460938 7.484375 -9.421875 C 7.867188 -9.390625 8.296875 -9.320312 8.765625 -9.21875 L 8.453125 -7.765625 C 8.023438 -7.878906 7.648438 -7.953125 7.328125 -7.984375 C 7.003906 -8.023438 6.648438 -8.046875 6.265625 -8.046875 C 5.453125 -8.046875 4.625 -7.929688 3.78125 -7.703125 L 3.78125 0 Z M 2.140625 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-7">
|
||||
<path style="stroke:none;" d="M 5.8125 -10.984375 L 5.8125 -1.40625 L 8.21875 -1.40625 L 8.21875 0 L 1.78125 0 L 1.78125 -1.40625 L 4.1875 -1.40625 L 4.1875 -10.984375 L 1.78125 -10.984375 L 1.78125 -12.375 L 8.21875 -12.375 L 8.21875 -10.984375 Z M 5.8125 -10.984375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-8">
|
||||
<path style="stroke:none;" d="M 1.8125 0 L 1.8125 -12.375 L 8.84375 -12.375 L 8.84375 -10.984375 L 3.453125 -10.984375 L 3.453125 -7.125 L 8.203125 -7.125 L 8.203125 -5.734375 L 3.453125 -5.734375 L 3.453125 0 Z M 1.8125 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-9">
|
||||
<path style="stroke:none;" d="M 4.078125 0.09375 C 3.878906 0.09375 3.644531 0.0859375 3.375 0.078125 C 3.113281 0.0664062 2.847656 0.0507812 2.578125 0.03125 C 2.316406 0.0078125 2.050781 -0.0195312 1.78125 -0.0625 C 1.507812 -0.101562 1.273438 -0.148438 1.078125 -0.203125 L 1.078125 -12.203125 C 1.273438 -12.253906 1.503906 -12.300781 1.765625 -12.34375 C 2.023438 -12.382812 2.289062 -12.410156 2.5625 -12.421875 C 2.84375 -12.441406 3.113281 -12.457031 3.375 -12.46875 C 3.632812 -12.488281 3.867188 -12.5 4.078125 -12.5 C 4.691406 -12.5 5.265625 -12.445312 5.796875 -12.34375 C 6.328125 -12.238281 6.789062 -12.054688 7.1875 -11.796875 C 7.582031 -11.546875 7.890625 -11.210938 8.109375 -10.796875 C 8.328125 -10.390625 8.4375 -9.878906 8.4375 -9.265625 C 8.4375 -8.960938 8.390625 -8.675781 8.296875 -8.40625 C 8.203125 -8.132812 8.070312 -7.878906 7.90625 -7.640625 C 7.738281 -7.398438 7.546875 -7.1875 7.328125 -7 C 7.109375 -6.820312 6.875 -6.6875 6.625 -6.59375 C 7.300781 -6.40625 7.867188 -6.0625 8.328125 -5.5625 C 8.785156 -5.0625 9.015625 -4.414062 9.015625 -3.625 C 9.015625 -2.394531 8.617188 -1.46875 7.828125 -0.84375 C 7.046875 -0.21875 5.796875 0.09375 4.078125 0.09375 Z M 2.71875 -5.78125 L 2.71875 -1.359375 C 2.75 -1.347656 2.898438 -1.332031 3.171875 -1.3125 C 3.441406 -1.289062 3.785156 -1.28125 4.203125 -1.28125 C 4.609375 -1.28125 5 -1.3125 5.375 -1.375 C 5.757812 -1.445312 6.097656 -1.570312 6.390625 -1.75 C 6.691406 -1.925781 6.929688 -2.160156 7.109375 -2.453125 C 7.285156 -2.753906 7.375 -3.132812 7.375 -3.59375 C 7.375 -4.007812 7.289062 -4.359375 7.125 -4.640625 C 6.957031 -4.921875 6.738281 -5.144531 6.46875 -5.3125 C 6.195312 -5.476562 5.878906 -5.597656 5.515625 -5.671875 C 5.160156 -5.742188 4.789062 -5.78125 4.40625 -5.78125 Z M 2.71875 -7.140625 L 4.015625 -7.140625 C 4.347656 -7.140625 4.679688 -7.171875 5.015625 -7.234375 C 5.347656 -7.304688 5.644531 -7.414062 5.90625 -7.5625 C 6.175781 -7.707031 6.390625 -7.90625 6.546875 -8.15625 C 6.710938 -8.414062 6.796875 -8.738281 6.796875 -9.125 C 6.796875 -9.476562 6.722656 -9.78125 6.578125 -10.03125 C 6.429688 -10.289062 6.238281 -10.5 6 -10.65625 C 5.757812 -10.820312 5.484375 -10.9375 5.171875 -11 C 4.859375 -11.0625 4.53125 -11.09375 4.1875 -11.09375 C 3.832031 -11.09375 3.523438 -11.085938 3.265625 -11.078125 C 3.003906 -11.078125 2.820312 -11.066406 2.71875 -11.046875 Z M 2.71875 -7.140625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-10">
|
||||
<path style="stroke:none;" d="M 9.203125 -6.203125 C 9.203125 -5.054688 9.054688 -4.082031 8.765625 -3.28125 C 8.484375 -2.476562 8.09375 -1.828125 7.59375 -1.328125 C 7.09375 -0.828125 6.5 -0.460938 5.8125 -0.234375 C 5.125 -0.015625 4.378906 0.09375 3.578125 0.09375 C 2.753906 0.09375 1.921875 -0.00390625 1.078125 -0.203125 L 1.078125 -12.203125 C 1.921875 -12.398438 2.753906 -12.5 3.578125 -12.5 C 4.378906 -12.5 5.125 -12.382812 5.8125 -12.15625 C 6.5 -11.925781 7.09375 -11.554688 7.59375 -11.046875 C 8.09375 -10.546875 8.484375 -9.894531 8.765625 -9.09375 C 9.054688 -8.300781 9.203125 -7.335938 9.203125 -6.203125 Z M 2.71875 -1.375 C 3.050781 -1.332031 3.390625 -1.3125 3.734375 -1.3125 C 4.335938 -1.3125 4.875 -1.398438 5.34375 -1.578125 C 5.8125 -1.765625 6.203125 -2.054688 6.515625 -2.453125 C 6.835938 -2.847656 7.082031 -3.351562 7.25 -3.96875 C 7.425781 -4.59375 7.515625 -5.335938 7.515625 -6.203125 C 7.515625 -7.878906 7.191406 -9.109375 6.546875 -9.890625 C 5.898438 -10.679688 4.945312 -11.078125 3.6875 -11.078125 C 3.507812 -11.078125 3.335938 -11.070312 3.171875 -11.0625 C 3.003906 -11.0625 2.851562 -11.046875 2.71875 -11.015625 Z M 2.71875 -1.375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-11">
|
||||
<path style="stroke:none;" d="M 7.453125 -6.09375 L 9.09375 -6.09375 L 9.09375 -0.296875 C 8.84375 -0.203125 8.4375 -0.0859375 7.875 0.046875 C 7.320312 0.191406 6.664062 0.265625 5.90625 0.265625 C 5.15625 0.265625 4.472656 0.125 3.859375 -0.15625 C 3.242188 -0.445312 2.71875 -0.863281 2.28125 -1.40625 C 1.851562 -1.957031 1.519531 -2.632812 1.28125 -3.4375 C 1.039062 -4.25 0.921875 -5.171875 0.921875 -6.203125 C 0.921875 -7.242188 1.050781 -8.160156 1.3125 -8.953125 C 1.582031 -9.753906 1.945312 -10.425781 2.40625 -10.96875 C 2.863281 -11.519531 3.398438 -11.9375 4.015625 -12.21875 C 4.628906 -12.507812 5.289062 -12.65625 6 -12.65625 C 6.457031 -12.65625 6.859375 -12.617188 7.203125 -12.546875 C 7.546875 -12.484375 7.835938 -12.40625 8.078125 -12.3125 C 8.328125 -12.226562 8.53125 -12.132812 8.6875 -12.03125 C 8.851562 -11.925781 8.976562 -11.847656 9.0625 -11.796875 L 8.515625 -10.421875 C 8.210938 -10.660156 7.847656 -10.851562 7.421875 -11 C 7.003906 -11.15625 6.5625 -11.234375 6.09375 -11.234375 C 5.59375 -11.234375 5.125 -11.113281 4.6875 -10.875 C 4.257812 -10.632812 3.890625 -10.296875 3.578125 -9.859375 C 3.273438 -9.421875 3.035156 -8.890625 2.859375 -8.265625 C 2.679688 -7.648438 2.59375 -6.960938 2.59375 -6.203125 C 2.59375 -5.453125 2.671875 -4.769531 2.828125 -4.15625 C 2.984375 -3.539062 3.207031 -3.015625 3.5 -2.578125 C 3.789062 -2.140625 4.148438 -1.796875 4.578125 -1.546875 C 5.015625 -1.304688 5.515625 -1.1875 6.078125 -1.1875 C 6.460938 -1.1875 6.757812 -1.210938 6.96875 -1.265625 C 7.1875 -1.316406 7.347656 -1.367188 7.453125 -1.421875 Z M 7.453125 -6.09375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph0-12">
|
||||
<path style="stroke:none;" d="M 9.203125 -0.515625 C 8.734375 -0.253906 8.234375 -0.0625 7.703125 0.0625 C 7.179688 0.195312 6.617188 0.265625 6.015625 0.265625 C 5.285156 0.265625 4.609375 0.132812 3.984375 -0.125 C 3.367188 -0.382812 2.832031 -0.773438 2.375 -1.296875 C 1.925781 -1.828125 1.570312 -2.5 1.3125 -3.3125 C 1.050781 -4.132812 0.921875 -5.097656 0.921875 -6.203125 C 0.921875 -7.253906 1.054688 -8.179688 1.328125 -8.984375 C 1.597656 -9.785156 1.96875 -10.457031 2.4375 -11 C 2.90625 -11.539062 3.453125 -11.953125 4.078125 -12.234375 C 4.703125 -12.515625 5.367188 -12.65625 6.078125 -12.65625 C 6.566406 -12.65625 7.066406 -12.585938 7.578125 -12.453125 C 8.097656 -12.328125 8.601562 -12.109375 9.09375 -11.796875 L 8.625 -10.4375 C 7.738281 -10.945312 6.910156 -11.203125 6.140625 -11.203125 C 5.585938 -11.203125 5.09375 -11.082031 4.65625 -10.84375 C 4.226562 -10.613281 3.859375 -10.28125 3.546875 -9.84375 C 3.242188 -9.40625 3.007812 -8.878906 2.84375 -8.265625 C 2.675781 -7.648438 2.59375 -6.960938 2.59375 -6.203125 C 2.59375 -5.347656 2.679688 -4.609375 2.859375 -3.984375 C 3.046875 -3.359375 3.296875 -2.835938 3.609375 -2.421875 C 3.929688 -2.003906 4.316406 -1.695312 4.765625 -1.5 C 5.210938 -1.300781 5.695312 -1.203125 6.21875 -1.203125 C 6.601562 -1.203125 7.007812 -1.25 7.4375 -1.34375 C 7.863281 -1.445312 8.304688 -1.625 8.765625 -1.875 Z M 9.203125 -0.515625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-0">
|
||||
<path style="stroke:none;" d="M 0.59375 0 L 0.59375 -9 L 5.40625 -9 L 5.40625 0 Z M 4.796875 -0.59375 L 4.796875 -8.40625 L 1.203125 -8.40625 L 1.203125 -0.59375 Z M 4.796875 -0.59375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-1">
|
||||
<path style="stroke:none;" d="M 2.515625 0 L 2.515625 -2.765625 C 2.023438 -3.554688 1.582031 -4.332031 1.1875 -5.09375 C 0.789062 -5.851562 0.445312 -6.628906 0.15625 -7.421875 L 1.265625 -7.421875 C 1.492188 -6.753906 1.757812 -6.113281 2.0625 -5.5 C 2.363281 -4.882812 2.6875 -4.253906 3.03125 -3.609375 C 3.394531 -4.285156 3.71875 -4.929688 4 -5.546875 C 4.28125 -6.160156 4.539062 -6.785156 4.78125 -7.421875 L 5.859375 -7.421875 C 5.554688 -6.640625 5.207031 -5.875 4.8125 -5.125 C 4.414062 -4.382812 3.976562 -3.601562 3.5 -2.78125 L 3.5 0 Z M 2.515625 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-2">
|
||||
<path style="stroke:none;" d="M 3 0.15625 C 2.5625 0.15625 2.1875 0.09375 1.875 -0.03125 C 1.570312 -0.164062 1.320312 -0.347656 1.125 -0.578125 C 0.9375 -0.804688 0.796875 -1.085938 0.703125 -1.421875 C 0.617188 -1.765625 0.578125 -2.144531 0.578125 -2.5625 L 0.578125 -7.421875 L 1.5625 -7.421875 L 1.5625 -2.65625 C 1.5625 -2.28125 1.59375 -1.96875 1.65625 -1.71875 C 1.726562 -1.46875 1.828125 -1.265625 1.953125 -1.109375 C 2.078125 -0.960938 2.222656 -0.859375 2.390625 -0.796875 C 2.566406 -0.734375 2.769531 -0.703125 3 -0.703125 C 3.226562 -0.703125 3.425781 -0.734375 3.59375 -0.796875 C 3.769531 -0.859375 3.921875 -0.960938 4.046875 -1.109375 C 4.171875 -1.265625 4.265625 -1.46875 4.328125 -1.71875 C 4.398438 -1.96875 4.4375 -2.28125 4.4375 -2.65625 L 4.4375 -7.421875 L 5.421875 -7.421875 L 5.421875 -2.5625 C 5.421875 -2.144531 5.375 -1.765625 5.28125 -1.421875 C 5.195312 -1.085938 5.054688 -0.804688 4.859375 -0.578125 C 4.671875 -0.347656 4.421875 -0.164062 4.109375 -0.03125 C 3.804688 0.09375 3.4375 0.15625 3 0.15625 Z M 3 0.15625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-3">
|
||||
<path style="stroke:none;" d="M 1.21875 -7.421875 C 1.320312 -6.921875 1.445312 -6.375 1.59375 -5.78125 C 1.738281 -5.1875 1.890625 -4.585938 2.046875 -3.984375 C 2.210938 -3.390625 2.378906 -2.820312 2.546875 -2.28125 C 2.722656 -1.738281 2.882812 -1.265625 3.03125 -0.859375 C 3.15625 -1.265625 3.300781 -1.742188 3.46875 -2.296875 C 3.644531 -2.847656 3.816406 -3.421875 3.984375 -4.015625 C 4.148438 -4.609375 4.304688 -5.203125 4.453125 -5.796875 C 4.609375 -6.390625 4.734375 -6.929688 4.828125 -7.421875 L 5.859375 -7.421875 C 5.796875 -7.109375 5.691406 -6.679688 5.546875 -6.140625 C 5.398438 -5.597656 5.226562 -4.992188 5.03125 -4.328125 C 4.832031 -3.660156 4.609375 -2.953125 4.359375 -2.203125 C 4.117188 -1.453125 3.863281 -0.71875 3.59375 0 L 2.375 0 C 2.125 -0.71875 1.878906 -1.445312 1.640625 -2.1875 C 1.410156 -2.9375 1.195312 -3.644531 1 -4.3125 C 0.800781 -4.976562 0.628906 -5.582031 0.484375 -6.125 C 0.335938 -6.675781 0.226562 -7.109375 0.15625 -7.421875 Z M 1.21875 -7.421875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-4">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-5">
|
||||
<path style="stroke:none;" d="M 5.515625 -3.71875 C 5.515625 -3.03125 5.425781 -2.445312 5.25 -1.96875 C 5.082031 -1.488281 4.847656 -1.097656 4.546875 -0.796875 C 4.253906 -0.492188 3.898438 -0.273438 3.484375 -0.140625 C 3.078125 -0.00390625 2.628906 0.0625 2.140625 0.0625 C 1.648438 0.0625 1.148438 0 0.640625 -0.125 L 0.640625 -7.3125 C 1.148438 -7.4375 1.648438 -7.5 2.140625 -7.5 C 2.628906 -7.5 3.078125 -7.429688 3.484375 -7.296875 C 3.898438 -7.160156 4.253906 -6.941406 4.546875 -6.640625 C 4.847656 -6.335938 5.082031 -5.941406 5.25 -5.453125 C 5.425781 -4.972656 5.515625 -4.394531 5.515625 -3.71875 Z M 1.625 -0.828125 C 1.832031 -0.804688 2.039062 -0.796875 2.25 -0.796875 C 2.601562 -0.796875 2.921875 -0.847656 3.203125 -0.953125 C 3.484375 -1.054688 3.71875 -1.226562 3.90625 -1.46875 C 4.101562 -1.707031 4.253906 -2.007812 4.359375 -2.375 C 4.460938 -2.75 4.515625 -3.195312 4.515625 -3.71875 C 4.515625 -4.726562 4.316406 -5.46875 3.921875 -5.9375 C 3.535156 -6.40625 2.960938 -6.640625 2.203125 -6.640625 C 2.097656 -6.640625 1.992188 -6.640625 1.890625 -6.640625 C 1.796875 -6.640625 1.707031 -6.628906 1.625 -6.609375 Z M 1.625 -0.828125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-6">
|
||||
<path style="stroke:none;" d="M 5.515625 -2.78125 C 5.515625 -2.34375 5.453125 -1.945312 5.328125 -1.59375 C 5.203125 -1.238281 5.023438 -0.929688 4.796875 -0.671875 C 4.578125 -0.410156 4.3125 -0.210938 4 -0.078125 C 3.695312 0.0546875 3.359375 0.125 2.984375 0.125 C 2.628906 0.125 2.296875 0.0546875 1.984375 -0.078125 C 1.679688 -0.210938 1.414062 -0.410156 1.1875 -0.671875 C 0.96875 -0.929688 0.796875 -1.238281 0.671875 -1.59375 C 0.546875 -1.945312 0.484375 -2.34375 0.484375 -2.78125 C 0.484375 -3.21875 0.546875 -3.617188 0.671875 -3.984375 C 0.796875 -4.347656 0.96875 -4.65625 1.1875 -4.90625 C 1.414062 -5.15625 1.679688 -5.347656 1.984375 -5.484375 C 2.296875 -5.628906 2.628906 -5.703125 2.984375 -5.703125 C 3.359375 -5.703125 3.695312 -5.628906 4 -5.484375 C 4.3125 -5.347656 4.578125 -5.15625 4.796875 -4.90625 C 5.023438 -4.65625 5.203125 -4.347656 5.328125 -3.984375 C 5.453125 -3.617188 5.515625 -3.21875 5.515625 -2.78125 Z M 4.5 -2.78125 C 4.5 -3.414062 4.363281 -3.914062 4.09375 -4.28125 C 3.820312 -4.644531 3.453125 -4.828125 2.984375 -4.828125 C 2.523438 -4.828125 2.160156 -4.644531 1.890625 -4.28125 C 1.628906 -3.914062 1.5 -3.414062 1.5 -2.78125 C 1.5 -2.15625 1.628906 -1.660156 1.890625 -1.296875 C 2.160156 -0.929688 2.523438 -0.75 2.984375 -0.75 C 3.453125 -0.75 3.820312 -0.929688 4.09375 -1.296875 C 4.363281 -1.660156 4.5 -2.15625 4.5 -2.78125 Z M 4.5 -2.78125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-7">
|
||||
<path style="stroke:none;" d="M 4.109375 0 C 3.992188 -0.269531 3.890625 -0.515625 3.796875 -0.734375 C 3.710938 -0.960938 3.628906 -1.1875 3.546875 -1.40625 C 3.460938 -1.632812 3.378906 -1.867188 3.296875 -2.109375 C 3.210938 -2.359375 3.113281 -2.640625 3 -2.953125 C 2.882812 -2.640625 2.78125 -2.359375 2.6875 -2.109375 C 2.601562 -1.867188 2.519531 -1.632812 2.4375 -1.40625 C 2.351562 -1.1875 2.265625 -0.960938 2.171875 -0.734375 C 2.085938 -0.515625 1.984375 -0.269531 1.859375 0 L 1.109375 0 C 0.890625 -0.976562 0.707031 -1.953125 0.5625 -2.921875 C 0.414062 -3.890625 0.304688 -4.769531 0.234375 -5.5625 L 1.15625 -5.5625 C 1.1875 -5.25 1.210938 -4.941406 1.234375 -4.640625 C 1.265625 -4.347656 1.300781 -4.035156 1.34375 -3.703125 C 1.382812 -3.378906 1.429688 -3.023438 1.484375 -2.640625 C 1.535156 -2.253906 1.59375 -1.820312 1.65625 -1.34375 C 1.78125 -1.664062 1.882812 -1.945312 1.96875 -2.1875 C 2.0625 -2.425781 2.144531 -2.648438 2.21875 -2.859375 C 2.289062 -3.078125 2.359375 -3.296875 2.421875 -3.515625 C 2.492188 -3.742188 2.570312 -4 2.65625 -4.28125 L 3.390625 -4.28125 C 3.472656 -4 3.546875 -3.742188 3.609375 -3.515625 C 3.671875 -3.296875 3.738281 -3.078125 3.8125 -2.859375 C 3.882812 -2.648438 3.957031 -2.425781 4.03125 -2.1875 C 4.113281 -1.945312 4.21875 -1.671875 4.34375 -1.359375 C 4.414062 -1.796875 4.476562 -2.203125 4.53125 -2.578125 C 4.59375 -2.953125 4.640625 -3.304688 4.671875 -3.640625 C 4.710938 -3.972656 4.75 -4.296875 4.78125 -4.609375 C 4.820312 -4.921875 4.851562 -5.238281 4.875 -5.5625 L 5.765625 -5.5625 C 5.734375 -5.164062 5.6875 -4.738281 5.625 -4.28125 C 5.570312 -3.820312 5.503906 -3.351562 5.421875 -2.875 C 5.335938 -2.394531 5.25 -1.910156 5.15625 -1.421875 C 5.0625 -0.929688 4.960938 -0.457031 4.859375 0 Z M 4.109375 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-8">
|
||||
<path style="stroke:none;" d="M 0.859375 -5.40625 C 1.210938 -5.5 1.566406 -5.566406 1.921875 -5.609375 C 2.273438 -5.660156 2.609375 -5.6875 2.921875 -5.6875 C 3.671875 -5.6875 4.234375 -5.492188 4.609375 -5.109375 C 4.992188 -4.722656 5.1875 -4.109375 5.1875 -3.265625 L 5.1875 0 L 4.203125 0 L 4.203125 -3.078125 C 4.203125 -3.441406 4.171875 -3.734375 4.109375 -3.953125 C 4.046875 -4.179688 3.953125 -4.359375 3.828125 -4.484375 C 3.710938 -4.609375 3.570312 -4.691406 3.40625 -4.734375 C 3.25 -4.785156 3.070312 -4.8125 2.875 -4.8125 C 2.71875 -4.8125 2.546875 -4.800781 2.359375 -4.78125 C 2.179688 -4.757812 2.007812 -4.734375 1.84375 -4.703125 L 1.84375 0 L 0.859375 0 Z M 0.859375 -5.40625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-9">
|
||||
<path style="stroke:none;" d="M 4.21875 -1.390625 C 4.21875 -1.585938 4.132812 -1.75 3.96875 -1.875 C 3.800781 -2.007812 3.59375 -2.125 3.34375 -2.21875 C 3.101562 -2.3125 2.835938 -2.40625 2.546875 -2.5 C 2.265625 -2.59375 2 -2.707031 1.75 -2.84375 C 1.507812 -2.976562 1.304688 -3.144531 1.140625 -3.34375 C 0.984375 -3.539062 0.90625 -3.800781 0.90625 -4.125 C 0.90625 -4.570312 1.082031 -4.945312 1.4375 -5.25 C 1.800781 -5.550781 2.375 -5.703125 3.15625 -5.703125 C 3.457031 -5.703125 3.769531 -5.675781 4.09375 -5.625 C 4.414062 -5.582031 4.695312 -5.523438 4.9375 -5.453125 L 4.75 -4.578125 C 4.6875 -4.609375 4.597656 -4.640625 4.484375 -4.671875 C 4.367188 -4.710938 4.238281 -4.742188 4.09375 -4.765625 C 3.957031 -4.796875 3.804688 -4.816406 3.640625 -4.828125 C 3.472656 -4.847656 3.316406 -4.859375 3.171875 -4.859375 C 2.304688 -4.859375 1.875 -4.625 1.875 -4.15625 C 1.875 -3.988281 1.953125 -3.84375 2.109375 -3.71875 C 2.273438 -3.601562 2.484375 -3.5 2.734375 -3.40625 C 2.984375 -3.3125 3.25 -3.210938 3.53125 -3.109375 C 3.820312 -3.015625 4.09375 -2.894531 4.34375 -2.75 C 4.59375 -2.601562 4.796875 -2.425781 4.953125 -2.21875 C 5.117188 -2.019531 5.203125 -1.765625 5.203125 -1.453125 C 5.203125 -0.953125 5.003906 -0.5625 4.609375 -0.28125 C 4.222656 -0.0078125 3.609375 0.125 2.765625 0.125 C 2.378906 0.125 2.023438 0.09375 1.703125 0.03125 C 1.378906 -0.03125 1.078125 -0.125 0.796875 -0.25 L 0.984375 -1.15625 C 1.265625 -1.019531 1.554688 -0.910156 1.859375 -0.828125 C 2.171875 -0.742188 2.503906 -0.703125 2.859375 -0.703125 C 3.765625 -0.703125 4.21875 -0.929688 4.21875 -1.390625 Z M 4.21875 -1.390625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-10">
|
||||
<path style="stroke:none;" d="M 0.59375 -2.765625 C 0.59375 -3.273438 0.671875 -3.710938 0.828125 -4.078125 C 0.984375 -4.441406 1.203125 -4.742188 1.484375 -4.984375 C 1.765625 -5.234375 2.09375 -5.414062 2.46875 -5.53125 C 2.84375 -5.644531 3.238281 -5.703125 3.65625 -5.703125 C 3.925781 -5.703125 4.195312 -5.679688 4.46875 -5.640625 C 4.738281 -5.609375 5.023438 -5.546875 5.328125 -5.453125 L 5.09375 -4.59375 C 4.832031 -4.6875 4.59375 -4.75 4.375 -4.78125 C 4.15625 -4.8125 3.929688 -4.828125 3.703125 -4.828125 C 3.421875 -4.828125 3.148438 -4.785156 2.890625 -4.703125 C 2.640625 -4.628906 2.414062 -4.507812 2.21875 -4.34375 C 2.03125 -4.1875 1.878906 -3.976562 1.765625 -3.71875 C 1.660156 -3.457031 1.609375 -3.140625 1.609375 -2.765625 C 1.609375 -2.421875 1.660156 -2.117188 1.765625 -1.859375 C 1.867188 -1.609375 2.015625 -1.398438 2.203125 -1.234375 C 2.390625 -1.078125 2.613281 -0.957031 2.875 -0.875 C 3.144531 -0.789062 3.4375 -0.75 3.75 -0.75 C 4.007812 -0.75 4.253906 -0.765625 4.484375 -0.796875 C 4.722656 -0.828125 4.984375 -0.890625 5.265625 -0.984375 L 5.40625 -0.15625 C 5.125 -0.0507812 4.835938 0.0195312 4.546875 0.0625 C 4.265625 0.101562 3.957031 0.125 3.625 0.125 C 3.175781 0.125 2.765625 0.0664062 2.390625 -0.046875 C 2.023438 -0.171875 1.707031 -0.351562 1.4375 -0.59375 C 1.164062 -0.832031 0.957031 -1.132812 0.8125 -1.5 C 0.664062 -1.863281 0.59375 -2.285156 0.59375 -2.765625 Z M 0.59375 -2.765625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-11">
|
||||
<path style="stroke:none;" d="M 3.0625 -0.703125 C 3.3125 -0.703125 3.53125 -0.707031 3.71875 -0.71875 C 3.914062 -0.738281 4.082031 -0.765625 4.21875 -0.796875 L 4.21875 -2.453125 C 4.082031 -2.492188 3.925781 -2.523438 3.75 -2.546875 C 3.570312 -2.566406 3.382812 -2.578125 3.1875 -2.578125 C 3 -2.578125 2.816406 -2.5625 2.640625 -2.53125 C 2.460938 -2.507812 2.304688 -2.460938 2.171875 -2.390625 C 2.035156 -2.316406 1.921875 -2.222656 1.828125 -2.109375 C 1.742188 -1.992188 1.703125 -1.847656 1.703125 -1.671875 C 1.703125 -1.304688 1.820312 -1.050781 2.0625 -0.90625 C 2.3125 -0.769531 2.644531 -0.703125 3.0625 -0.703125 Z M 2.96875 -5.703125 C 3.382812 -5.703125 3.734375 -5.648438 4.015625 -5.546875 C 4.296875 -5.441406 4.523438 -5.296875 4.703125 -5.109375 C 4.878906 -4.929688 5.003906 -4.707031 5.078125 -4.4375 C 5.148438 -4.175781 5.1875 -3.890625 5.1875 -3.578125 L 5.1875 -0.09375 C 4.957031 -0.0507812 4.648438 -0.00390625 4.265625 0.046875 C 3.890625 0.0976562 3.5 0.125 3.09375 0.125 C 2.789062 0.125 2.492188 0.0976562 2.203125 0.046875 C 1.921875 -0.00390625 1.664062 -0.09375 1.4375 -0.21875 C 1.21875 -0.351562 1.039062 -0.535156 0.90625 -0.765625 C 0.769531 -0.992188 0.703125 -1.289062 0.703125 -1.65625 C 0.703125 -1.976562 0.769531 -2.25 0.90625 -2.46875 C 1.039062 -2.6875 1.21875 -2.863281 1.4375 -3 C 1.664062 -3.132812 1.921875 -3.234375 2.203125 -3.296875 C 2.484375 -3.359375 2.769531 -3.390625 3.0625 -3.390625 C 3.445312 -3.390625 3.832031 -3.34375 4.21875 -3.25 L 4.21875 -3.53125 C 4.21875 -3.695312 4.195312 -3.859375 4.15625 -4.015625 C 4.125 -4.171875 4.054688 -4.3125 3.953125 -4.4375 C 3.847656 -4.5625 3.707031 -4.660156 3.53125 -4.734375 C 3.363281 -4.816406 3.144531 -4.859375 2.875 -4.859375 C 2.53125 -4.859375 2.226562 -4.832031 1.96875 -4.78125 C 1.71875 -4.738281 1.523438 -4.691406 1.390625 -4.640625 L 1.265625 -5.453125 C 1.398438 -5.523438 1.625 -5.582031 1.9375 -5.625 C 2.257812 -5.675781 2.601562 -5.703125 2.96875 -5.703125 Z M 2.96875 -5.703125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-12">
|
||||
<path style="stroke:none;" d="M 4.0625 0.125 C 3.707031 0.125 3.410156 0.078125 3.171875 -0.015625 C 2.941406 -0.109375 2.757812 -0.25 2.625 -0.4375 C 2.488281 -0.632812 2.390625 -0.875 2.328125 -1.15625 C 2.273438 -1.4375 2.25 -1.765625 2.25 -2.140625 L 2.25 -7.421875 L 0.640625 -7.421875 L 0.640625 -8.25 L 3.234375 -8.25 L 3.234375 -2.140625 C 3.234375 -1.867188 3.25 -1.644531 3.28125 -1.46875 C 3.320312 -1.289062 3.378906 -1.144531 3.453125 -1.03125 C 3.535156 -0.925781 3.628906 -0.851562 3.734375 -0.8125 C 3.847656 -0.769531 3.984375 -0.75 4.140625 -0.75 C 4.367188 -0.75 4.582031 -0.773438 4.78125 -0.828125 C 4.988281 -0.890625 5.144531 -0.953125 5.25 -1.015625 L 5.40625 -0.1875 C 5.351562 -0.15625 5.28125 -0.117188 5.1875 -0.078125 C 5.101562 -0.046875 5 -0.015625 4.875 0.015625 C 4.757812 0.046875 4.628906 0.0703125 4.484375 0.09375 C 4.347656 0.113281 4.207031 0.125 4.0625 0.125 Z M 4.0625 0.125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-13">
|
||||
<path style="stroke:none;" d="M 2.515625 -6.4375 C 2.304688 -6.4375 2.125 -6.503906 1.96875 -6.640625 C 1.8125 -6.785156 1.734375 -6.984375 1.734375 -7.234375 C 1.734375 -7.484375 1.8125 -7.679688 1.96875 -7.828125 C 2.125 -7.972656 2.304688 -8.046875 2.515625 -8.046875 C 2.722656 -8.046875 2.898438 -7.972656 3.046875 -7.828125 C 3.203125 -7.679688 3.28125 -7.484375 3.28125 -7.234375 C 3.28125 -6.984375 3.203125 -6.785156 3.046875 -6.640625 C 2.898438 -6.503906 2.722656 -6.4375 2.515625 -6.4375 Z M 2.25 -4.734375 L 0.640625 -4.734375 L 0.640625 -5.5625 L 3.234375 -5.5625 L 3.234375 -2.140625 C 3.234375 -1.585938 3.3125 -1.21875 3.46875 -1.03125 C 3.625 -0.84375 3.851562 -0.75 4.15625 -0.75 C 4.382812 -0.75 4.597656 -0.773438 4.796875 -0.828125 C 4.992188 -0.890625 5.144531 -0.953125 5.25 -1.015625 L 5.40625 -0.1875 C 5.351562 -0.15625 5.28125 -0.117188 5.1875 -0.078125 C 5.101562 -0.046875 5.003906 -0.015625 4.890625 0.015625 C 4.773438 0.046875 4.644531 0.0703125 4.5 0.09375 C 4.363281 0.113281 4.21875 0.125 4.0625 0.125 C 3.71875 0.125 3.425781 0.078125 3.1875 -0.015625 C 2.957031 -0.109375 2.769531 -0.25 2.625 -0.4375 C 2.488281 -0.632812 2.390625 -0.875 2.328125 -1.15625 C 2.273438 -1.4375 2.25 -1.765625 2.25 -2.140625 Z M 2.25 -4.734375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-14">
|
||||
<path style="stroke:none;" d="M 4.15625 -0.515625 C 4.039062 -0.453125 3.863281 -0.382812 3.625 -0.3125 C 3.394531 -0.238281 3.128906 -0.203125 2.828125 -0.203125 C 2.503906 -0.203125 2.195312 -0.253906 1.90625 -0.359375 C 1.625 -0.472656 1.378906 -0.640625 1.171875 -0.859375 C 0.960938 -1.078125 0.796875 -1.351562 0.671875 -1.6875 C 0.546875 -2.03125 0.484375 -2.4375 0.484375 -2.90625 C 0.484375 -3.3125 0.539062 -3.679688 0.65625 -4.015625 C 0.769531 -4.359375 0.9375 -4.65625 1.15625 -4.90625 C 1.375 -5.15625 1.644531 -5.347656 1.96875 -5.484375 C 2.289062 -5.628906 2.65625 -5.703125 3.0625 -5.703125 C 3.539062 -5.703125 3.945312 -5.664062 4.28125 -5.59375 C 4.625 -5.53125 4.910156 -5.46875 5.140625 -5.40625 L 5.140625 -0.4375 C 5.140625 0.425781 4.921875 1.050781 4.484375 1.4375 C 4.054688 1.820312 3.398438 2.015625 2.515625 2.015625 C 2.160156 2.015625 1.835938 1.984375 1.546875 1.921875 C 1.253906 1.867188 0.992188 1.804688 0.765625 1.734375 L 0.953125 0.859375 C 1.160156 0.941406 1.394531 1.007812 1.65625 1.0625 C 1.925781 1.125 2.222656 1.15625 2.546875 1.15625 C 3.117188 1.15625 3.53125 1.035156 3.78125 0.796875 C 4.03125 0.566406 4.15625 0.191406 4.15625 -0.328125 Z M 4.15625 -4.6875 C 4.0625 -4.71875 3.925781 -4.75 3.75 -4.78125 C 3.582031 -4.8125 3.359375 -4.828125 3.078125 -4.828125 C 2.554688 -4.828125 2.160156 -4.648438 1.890625 -4.296875 C 1.628906 -3.941406 1.5 -3.472656 1.5 -2.890625 C 1.5 -2.566406 1.535156 -2.289062 1.609375 -2.0625 C 1.691406 -1.84375 1.796875 -1.65625 1.921875 -1.5 C 2.054688 -1.351562 2.207031 -1.242188 2.375 -1.171875 C 2.539062 -1.109375 2.722656 -1.078125 2.921875 -1.078125 C 3.160156 -1.078125 3.390625 -1.113281 3.609375 -1.1875 C 3.835938 -1.257812 4.019531 -1.34375 4.15625 -1.4375 Z M 4.15625 -4.6875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-15">
|
||||
<path style="stroke:none;" d="M 2.8125 -0.703125 C 3.3125 -0.703125 3.691406 -0.796875 3.953125 -0.984375 C 4.222656 -1.171875 4.359375 -1.457031 4.359375 -1.84375 C 4.359375 -2.082031 4.304688 -2.28125 4.203125 -2.4375 C 4.109375 -2.601562 3.984375 -2.75 3.828125 -2.875 C 3.671875 -3 3.488281 -3.109375 3.28125 -3.203125 C 3.082031 -3.296875 2.878906 -3.378906 2.671875 -3.453125 C 2.429688 -3.546875 2.203125 -3.648438 1.984375 -3.765625 C 1.765625 -3.890625 1.566406 -4.03125 1.390625 -4.1875 C 1.222656 -4.351562 1.085938 -4.546875 0.984375 -4.765625 C 0.890625 -4.984375 0.84375 -5.238281 0.84375 -5.53125 C 0.84375 -6.175781 1.046875 -6.679688 1.453125 -7.046875 C 1.859375 -7.410156 2.425781 -7.59375 3.15625 -7.59375 C 3.351562 -7.59375 3.550781 -7.578125 3.75 -7.546875 C 3.945312 -7.523438 4.128906 -7.492188 4.296875 -7.453125 C 4.460938 -7.410156 4.609375 -7.359375 4.734375 -7.296875 C 4.867188 -7.242188 4.976562 -7.191406 5.0625 -7.140625 L 4.75 -6.3125 C 4.59375 -6.40625 4.375 -6.5 4.09375 -6.59375 C 3.8125 -6.695312 3.5 -6.75 3.15625 -6.75 C 2.789062 -6.75 2.476562 -6.65625 2.21875 -6.46875 C 1.957031 -6.289062 1.828125 -6.019531 1.828125 -5.65625 C 1.828125 -5.457031 1.863281 -5.285156 1.9375 -5.140625 C 2.007812 -4.992188 2.113281 -4.863281 2.25 -4.75 C 2.382812 -4.644531 2.535156 -4.546875 2.703125 -4.453125 C 2.878906 -4.367188 3.070312 -4.285156 3.28125 -4.203125 C 3.59375 -4.078125 3.875 -3.945312 4.125 -3.8125 C 4.375 -3.6875 4.585938 -3.535156 4.765625 -3.359375 C 4.953125 -3.179688 5.09375 -2.972656 5.1875 -2.734375 C 5.289062 -2.492188 5.34375 -2.203125 5.34375 -1.859375 C 5.34375 -1.210938 5.125 -0.710938 4.6875 -0.359375 C 4.25 -0.015625 3.625 0.15625 2.8125 0.15625 C 2.539062 0.15625 2.289062 0.132812 2.0625 0.09375 C 1.832031 0.0625 1.625 0.0195312 1.4375 -0.03125 C 1.257812 -0.09375 1.101562 -0.148438 0.96875 -0.203125 C 0.832031 -0.253906 0.726562 -0.304688 0.65625 -0.359375 L 0.953125 -1.171875 C 1.117188 -1.085938 1.359375 -0.988281 1.671875 -0.875 C 1.984375 -0.757812 2.363281 -0.703125 2.8125 -0.703125 Z M 2.8125 -0.703125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-16">
|
||||
<path style="stroke:none;" d="M 3.109375 -5.703125 C 3.859375 -5.703125 4.4375 -5.46875 4.84375 -5 C 5.25 -4.53125 5.453125 -3.820312 5.453125 -2.875 L 5.453125 -2.515625 L 1.46875 -2.515625 C 1.507812 -1.941406 1.703125 -1.503906 2.046875 -1.203125 C 2.390625 -0.898438 2.867188 -0.75 3.484375 -0.75 C 3.835938 -0.75 4.132812 -0.773438 4.375 -0.828125 C 4.625 -0.890625 4.8125 -0.953125 4.9375 -1.015625 L 5.078125 -0.1875 C 4.953125 -0.113281 4.734375 -0.046875 4.421875 0.015625 C 4.109375 0.0859375 3.757812 0.125 3.375 0.125 C 2.894531 0.125 2.472656 0.0507812 2.109375 -0.09375 C 1.742188 -0.238281 1.441406 -0.4375 1.203125 -0.6875 C 0.960938 -0.945312 0.78125 -1.253906 0.65625 -1.609375 C 0.539062 -1.960938 0.484375 -2.347656 0.484375 -2.765625 C 0.484375 -3.265625 0.554688 -3.695312 0.703125 -4.0625 C 0.859375 -4.4375 1.0625 -4.742188 1.3125 -4.984375 C 1.5625 -5.222656 1.835938 -5.398438 2.140625 -5.515625 C 2.453125 -5.640625 2.773438 -5.703125 3.109375 -5.703125 Z M 4.453125 -3.328125 C 4.453125 -3.796875 4.328125 -4.164062 4.078125 -4.4375 C 3.828125 -4.71875 3.5 -4.859375 3.09375 -4.859375 C 2.863281 -4.859375 2.65625 -4.8125 2.46875 -4.71875 C 2.28125 -4.632812 2.117188 -4.519531 1.984375 -4.375 C 1.847656 -4.226562 1.738281 -4.0625 1.65625 -3.875 C 1.570312 -3.695312 1.519531 -3.515625 1.5 -3.328125 Z M 4.453125 -3.328125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-17">
|
||||
<path style="stroke:none;" d="M 4.15625 -4.390625 C 4.039062 -4.492188 3.875 -4.59375 3.65625 -4.6875 C 3.445312 -4.78125 3.222656 -4.828125 2.984375 -4.828125 C 2.722656 -4.828125 2.5 -4.773438 2.3125 -4.671875 C 2.125 -4.566406 1.96875 -4.421875 1.84375 -4.234375 C 1.726562 -4.054688 1.640625 -3.84375 1.578125 -3.59375 C 1.523438 -3.34375 1.5 -3.070312 1.5 -2.78125 C 1.5 -2.132812 1.648438 -1.632812 1.953125 -1.28125 C 2.253906 -0.925781 2.648438 -0.75 3.140625 -0.75 C 3.390625 -0.75 3.597656 -0.757812 3.765625 -0.78125 C 3.941406 -0.8125 4.070312 -0.835938 4.15625 -0.859375 Z M 4.15625 -8.140625 L 5.140625 -8.3125 L 5.140625 -0.15625 C 4.929688 -0.09375 4.65625 -0.03125 4.3125 0.03125 C 3.976562 0.09375 3.585938 0.125 3.140625 0.125 C 2.742188 0.125 2.378906 0.0546875 2.046875 -0.078125 C 1.722656 -0.210938 1.441406 -0.40625 1.203125 -0.65625 C 0.972656 -0.90625 0.796875 -1.207031 0.671875 -1.5625 C 0.546875 -1.925781 0.484375 -2.332031 0.484375 -2.78125 C 0.484375 -3.21875 0.535156 -3.613281 0.640625 -3.96875 C 0.742188 -4.320312 0.898438 -4.625 1.109375 -4.875 C 1.316406 -5.132812 1.566406 -5.335938 1.859375 -5.484375 C 2.148438 -5.628906 2.488281 -5.703125 2.875 -5.703125 C 3.164062 -5.703125 3.421875 -5.664062 3.640625 -5.59375 C 3.867188 -5.519531 4.039062 -5.441406 4.15625 -5.359375 Z M 4.15625 -8.140625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-18">
|
||||
<path style="stroke:none;" d="M 1.28125 0 L 1.28125 -5.265625 C 2.101562 -5.546875 2.925781 -5.6875 3.75 -5.6875 C 4.007812 -5.6875 4.253906 -5.675781 4.484375 -5.65625 C 4.722656 -5.632812 4.976562 -5.59375 5.25 -5.53125 L 5.078125 -4.65625 C 4.816406 -4.726562 4.585938 -4.773438 4.390625 -4.796875 C 4.203125 -4.816406 3.988281 -4.828125 3.75 -4.828125 C 3.269531 -4.828125 2.773438 -4.757812 2.265625 -4.625 L 2.265625 0 Z M 1.28125 0 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-19">
|
||||
<path style="stroke:none;" d="M 0.609375 1.046875 C 0.679688 1.085938 0.78125 1.117188 0.90625 1.140625 C 1.039062 1.160156 1.164062 1.171875 1.28125 1.171875 C 1.675781 1.171875 1.984375 1.082031 2.203125 0.90625 C 2.421875 0.738281 2.625 0.460938 2.8125 0.078125 C 2.363281 -0.773438 1.941406 -1.6875 1.546875 -2.65625 C 1.148438 -3.625 0.828125 -4.59375 0.578125 -5.5625 L 1.65625 -5.5625 C 1.738281 -5.25 1.832031 -4.90625 1.9375 -4.53125 C 2.039062 -4.15625 2.160156 -3.769531 2.296875 -3.375 C 2.441406 -2.988281 2.585938 -2.597656 2.734375 -2.203125 C 2.890625 -1.804688 3.054688 -1.425781 3.234375 -1.0625 C 3.367188 -1.4375 3.488281 -1.800781 3.59375 -2.15625 C 3.707031 -2.519531 3.8125 -2.882812 3.90625 -3.25 C 4.007812 -3.613281 4.109375 -3.984375 4.203125 -4.359375 C 4.296875 -4.742188 4.394531 -5.144531 4.5 -5.5625 L 5.53125 -5.5625 C 5.269531 -4.53125 4.984375 -3.523438 4.671875 -2.546875 C 4.359375 -1.566406 4.019531 -0.660156 3.65625 0.171875 C 3.519531 0.484375 3.375 0.753906 3.21875 0.984375 C 3.0625 1.222656 2.890625 1.414062 2.703125 1.5625 C 2.523438 1.71875 2.316406 1.832031 2.078125 1.90625 C 1.847656 1.976562 1.585938 2.015625 1.296875 2.015625 C 1.140625 2.015625 0.972656 1.992188 0.796875 1.953125 C 0.617188 1.910156 0.5 1.875 0.4375 1.84375 Z M 0.609375 1.046875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-20">
|
||||
<path style="stroke:none;" d="M 0.34375 -3.71875 C 0.34375 -4.382812 0.40625 -4.960938 0.53125 -5.453125 C 0.664062 -5.941406 0.847656 -6.34375 1.078125 -6.65625 C 1.304688 -6.96875 1.582031 -7.203125 1.90625 -7.359375 C 2.238281 -7.515625 2.601562 -7.59375 3 -7.59375 C 3.394531 -7.59375 3.753906 -7.515625 4.078125 -7.359375 C 4.410156 -7.203125 4.691406 -6.96875 4.921875 -6.65625 C 5.148438 -6.34375 5.328125 -5.941406 5.453125 -5.453125 C 5.585938 -4.960938 5.65625 -4.382812 5.65625 -3.71875 C 5.65625 -3.050781 5.585938 -2.472656 5.453125 -1.984375 C 5.328125 -1.503906 5.148438 -1.101562 4.921875 -0.78125 C 4.691406 -0.457031 4.410156 -0.21875 4.078125 -0.0625 C 3.753906 0.0820312 3.394531 0.15625 3 0.15625 C 2.601562 0.15625 2.238281 0.0820312 1.90625 -0.0625 C 1.582031 -0.21875 1.304688 -0.457031 1.078125 -0.78125 C 0.847656 -1.101562 0.664062 -1.503906 0.53125 -1.984375 C 0.40625 -2.472656 0.34375 -3.050781 0.34375 -3.71875 Z M 1.359375 -3.71875 C 1.359375 -2.738281 1.488281 -1.988281 1.75 -1.46875 C 2.007812 -0.957031 2.414062 -0.703125 2.96875 -0.703125 C 3.53125 -0.703125 3.953125 -0.957031 4.234375 -1.46875 C 4.515625 -1.988281 4.65625 -2.738281 4.65625 -3.71875 C 4.65625 -4.695312 4.515625 -5.445312 4.234375 -5.96875 C 3.953125 -6.488281 3.53125 -6.75 2.96875 -6.75 C 2.414062 -6.75 2.007812 -6.488281 1.75 -5.96875 C 1.488281 -5.445312 1.359375 -4.695312 1.359375 -3.71875 Z M 1.359375 -3.71875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-21">
|
||||
<path style="stroke:none;" d="M 5.140625 -0.15625 C 4.929688 -0.101562 4.644531 -0.046875 4.28125 0.015625 C 3.925781 0.0859375 3.507812 0.125 3.03125 0.125 C 2.613281 0.125 2.265625 0.0625 1.984375 -0.0625 C 1.703125 -0.1875 1.472656 -0.363281 1.296875 -0.59375 C 1.117188 -0.820312 0.992188 -1.09375 0.921875 -1.40625 C 0.847656 -1.71875 0.8125 -2.0625 0.8125 -2.4375 L 0.8125 -5.5625 L 1.796875 -5.5625 L 1.796875 -2.65625 C 1.796875 -1.96875 1.894531 -1.476562 2.09375 -1.1875 C 2.300781 -0.894531 2.644531 -0.75 3.125 -0.75 C 3.226562 -0.75 3.332031 -0.753906 3.4375 -0.765625 C 3.550781 -0.773438 3.65625 -0.785156 3.75 -0.796875 C 3.851562 -0.804688 3.9375 -0.816406 4 -0.828125 C 4.070312 -0.847656 4.125 -0.859375 4.15625 -0.859375 L 4.15625 -5.5625 L 5.140625 -5.5625 Z M 5.140625 -0.15625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-22">
|
||||
<path style="stroke:none;" d="M 2.921875 -5.5625 L 5.265625 -5.5625 L 5.265625 -4.734375 L 2.921875 -4.734375 L 2.921875 -2.140625 C 2.921875 -1.867188 2.9375 -1.644531 2.96875 -1.46875 C 3.007812 -1.289062 3.078125 -1.144531 3.171875 -1.03125 C 3.265625 -0.925781 3.382812 -0.851562 3.53125 -0.8125 C 3.675781 -0.769531 3.851562 -0.75 4.0625 -0.75 C 4.34375 -0.75 4.570312 -0.773438 4.75 -0.828125 C 4.925781 -0.878906 5.09375 -0.941406 5.25 -1.015625 L 5.40625 -0.1875 C 5.289062 -0.132812 5.109375 -0.0703125 4.859375 0 C 4.617188 0.0820312 4.316406 0.125 3.953125 0.125 C 3.546875 0.125 3.207031 0.078125 2.9375 -0.015625 C 2.675781 -0.109375 2.46875 -0.25 2.3125 -0.4375 C 2.164062 -0.632812 2.066406 -0.875 2.015625 -1.15625 C 1.960938 -1.4375 1.9375 -1.765625 1.9375 -2.140625 L 1.9375 -4.734375 L 0.75 -4.734375 L 0.75 -5.5625 L 1.9375 -5.5625 L 1.9375 -7.125 L 2.921875 -7.296875 Z M 2.921875 -5.5625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-23">
|
||||
<path style="stroke:none;" d="M 4.5 -2.765625 C 4.5 -3.421875 4.347656 -3.925781 4.046875 -4.28125 C 3.742188 -4.632812 3.347656 -4.8125 2.859375 -4.8125 C 2.585938 -4.8125 2.375 -4.796875 2.21875 -4.765625 C 2.0625 -4.742188 1.9375 -4.71875 1.84375 -4.6875 L 1.84375 -1.171875 C 1.957031 -1.066406 2.117188 -0.96875 2.328125 -0.875 C 2.546875 -0.789062 2.773438 -0.75 3.015625 -0.75 C 3.273438 -0.75 3.5 -0.800781 3.6875 -0.90625 C 3.875 -1.007812 4.023438 -1.148438 4.140625 -1.328125 C 4.265625 -1.515625 4.351562 -1.726562 4.40625 -1.96875 C 4.46875 -2.21875 4.5 -2.484375 4.5 -2.765625 Z M 5.515625 -2.765625 C 5.515625 -2.347656 5.460938 -1.957031 5.359375 -1.59375 C 5.253906 -1.238281 5.097656 -0.929688 4.890625 -0.671875 C 4.679688 -0.421875 4.429688 -0.222656 4.140625 -0.078125 C 3.847656 0.0546875 3.507812 0.125 3.125 0.125 C 2.832031 0.125 2.570312 0.0859375 2.34375 0.015625 C 2.125 -0.046875 1.957031 -0.125 1.84375 -0.21875 L 1.84375 1.984375 L 0.859375 1.984375 L 0.859375 -5.40625 C 1.066406 -5.46875 1.34375 -5.53125 1.6875 -5.59375 C 2.03125 -5.65625 2.421875 -5.6875 2.859375 -5.6875 C 3.253906 -5.6875 3.613281 -5.617188 3.9375 -5.484375 C 4.269531 -5.347656 4.550781 -5.15625 4.78125 -4.90625 C 5.019531 -4.65625 5.203125 -4.347656 5.328125 -3.984375 C 5.453125 -3.617188 5.515625 -3.210938 5.515625 -2.765625 Z M 5.515625 -2.765625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph1-24">
|
||||
<path style="stroke:none;" d="M 3.015625 -3.734375 L 4.15625 -7.421875 L 5.09375 -7.421875 C 5.25 -6.253906 5.359375 -5.054688 5.421875 -3.828125 C 5.492188 -2.609375 5.554688 -1.332031 5.609375 0 L 4.65625 0 C 4.644531 -0.425781 4.632812 -0.890625 4.625 -1.390625 C 4.625 -1.898438 4.613281 -2.421875 4.59375 -2.953125 C 4.582031 -3.492188 4.570312 -4.039062 4.5625 -4.59375 C 4.550781 -5.144531 4.539062 -5.679688 4.53125 -6.203125 L 3.4375 -2.8125 L 2.578125 -2.8125 L 1.46875 -6.203125 C 1.46875 -5.679688 1.457031 -5.144531 1.4375 -4.59375 C 1.425781 -4.050781 1.414062 -3.507812 1.40625 -2.96875 C 1.394531 -2.425781 1.382812 -1.898438 1.375 -1.390625 C 1.363281 -0.890625 1.351562 -0.425781 1.34375 0 L 0.390625 0 C 0.410156 -0.601562 0.4375 -1.222656 0.46875 -1.859375 C 0.5 -2.503906 0.535156 -3.144531 0.578125 -3.78125 C 0.617188 -4.414062 0.671875 -5.039062 0.734375 -5.65625 C 0.796875 -6.269531 0.863281 -6.859375 0.9375 -7.421875 L 1.84375 -7.421875 Z M 3.015625 -3.734375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-0">
|
||||
<path style="stroke:none;" d="M 0.640625 2.296875 L 0.640625 -9.171875 L 7.140625 -9.171875 L 7.140625 2.296875 Z M 1.375 1.578125 L 6.421875 1.578125 L 6.421875 -8.4375 L 1.375 -8.4375 Z M 1.375 1.578125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-1">
|
||||
<path style="stroke:none;" d="M 6.34375 -6.84375 L 6.34375 -5.75 C 6.007812 -5.925781 5.675781 -6.0625 5.34375 -6.15625 C 5.007812 -6.25 4.675781 -6.296875 4.34375 -6.296875 C 3.582031 -6.296875 2.992188 -6.050781 2.578125 -5.5625 C 2.160156 -5.082031 1.953125 -4.410156 1.953125 -3.546875 C 1.953125 -2.679688 2.160156 -2.007812 2.578125 -1.53125 C 2.992188 -1.050781 3.582031 -0.8125 4.34375 -0.8125 C 4.675781 -0.8125 5.007812 -0.851562 5.34375 -0.9375 C 5.675781 -1.03125 6.007812 -1.171875 6.34375 -1.359375 L 6.34375 -0.265625 C 6.019531 -0.117188 5.679688 -0.0078125 5.328125 0.0625 C 4.984375 0.144531 4.613281 0.1875 4.21875 0.1875 C 3.144531 0.1875 2.289062 -0.144531 1.65625 -0.8125 C 1.03125 -1.488281 0.71875 -2.398438 0.71875 -3.546875 C 0.71875 -4.703125 1.035156 -5.613281 1.671875 -6.28125 C 2.304688 -6.945312 3.179688 -7.28125 4.296875 -7.28125 C 4.648438 -7.28125 5 -7.242188 5.34375 -7.171875 C 5.6875 -7.097656 6.019531 -6.988281 6.34375 -6.84375 Z M 6.34375 -6.84375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-2">
|
||||
<path style="stroke:none;" d="M 5.34375 -6.015625 C 5.207031 -6.085938 5.0625 -6.140625 4.90625 -6.171875 C 4.757812 -6.210938 4.59375 -6.234375 4.40625 -6.234375 C 3.75 -6.234375 3.242188 -6.019531 2.890625 -5.59375 C 2.535156 -5.164062 2.359375 -4.550781 2.359375 -3.75 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.597656 -6.4375 2.914062 -6.757812 3.3125 -6.96875 C 3.707031 -7.175781 4.1875 -7.28125 4.75 -7.28125 C 4.832031 -7.28125 4.921875 -7.273438 5.015625 -7.265625 C 5.109375 -7.253906 5.21875 -7.238281 5.34375 -7.21875 Z M 5.34375 -6.015625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-3">
|
||||
<path style="stroke:none;" d="M 3.984375 -6.296875 C 3.359375 -6.296875 2.863281 -6.050781 2.5 -5.5625 C 2.132812 -5.070312 1.953125 -4.398438 1.953125 -3.546875 C 1.953125 -2.691406 2.128906 -2.019531 2.484375 -1.53125 C 2.847656 -1.050781 3.347656 -0.8125 3.984375 -0.8125 C 4.597656 -0.8125 5.085938 -1.054688 5.453125 -1.546875 C 5.816406 -2.035156 6 -2.703125 6 -3.546875 C 6 -4.390625 5.816406 -5.054688 5.453125 -5.546875 C 5.085938 -6.046875 4.597656 -6.296875 3.984375 -6.296875 Z M 3.984375 -7.28125 C 4.992188 -7.28125 5.789062 -6.945312 6.375 -6.28125 C 6.957031 -5.625 7.25 -4.710938 7.25 -3.546875 C 7.25 -2.378906 6.957031 -1.460938 6.375 -0.796875 C 5.789062 -0.140625 4.992188 0.1875 3.984375 0.1875 C 2.960938 0.1875 2.160156 -0.140625 1.578125 -0.796875 C 1.003906 -1.460938 0.71875 -2.378906 0.71875 -3.546875 C 0.71875 -4.710938 1.003906 -5.625 1.578125 -6.28125 C 2.160156 -6.945312 2.960938 -7.28125 3.984375 -7.28125 Z M 3.984375 -7.28125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-4">
|
||||
<path style="stroke:none;" d="M 2.359375 -1.0625 L 2.359375 2.703125 L 1.1875 2.703125 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 Z M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875 -1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 6.328125 -3.546875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-5">
|
||||
<path style="stroke:none;" d="M 5.75 -6.90625 L 5.75 -5.796875 C 5.425781 -5.960938 5.085938 -6.085938 4.734375 -6.171875 C 4.378906 -6.253906 4.007812 -6.296875 3.625 -6.296875 C 3.039062 -6.296875 2.601562 -6.207031 2.3125 -6.03125 C 2.03125 -5.851562 1.890625 -5.585938 1.890625 -5.234375 C 1.890625 -4.960938 1.988281 -4.75 2.1875 -4.59375 C 2.394531 -4.445312 2.816406 -4.300781 3.453125 -4.15625 L 3.84375 -4.0625 C 4.675781 -3.882812 5.265625 -3.632812 5.609375 -3.3125 C 5.960938 -2.988281 6.140625 -2.539062 6.140625 -1.96875 C 6.140625 -1.300781 5.878906 -0.773438 5.359375 -0.390625 C 4.835938 -0.00390625 4.117188 0.1875 3.203125 0.1875 C 2.816406 0.1875 2.414062 0.148438 2 0.078125 C 1.59375 0.00390625 1.160156 -0.109375 0.703125 -0.265625 L 0.703125 -1.46875 C 1.140625 -1.238281 1.566406 -1.066406 1.984375 -0.953125 C 2.398438 -0.847656 2.8125 -0.796875 3.21875 -0.796875 C 3.769531 -0.796875 4.191406 -0.890625 4.484375 -1.078125 C 4.785156 -1.265625 4.9375 -1.53125 4.9375 -1.875 C 4.9375 -2.1875 4.828125 -2.425781 4.609375 -2.59375 C 4.398438 -2.769531 3.9375 -2.9375 3.21875 -3.09375 L 2.8125 -3.1875 C 2.082031 -3.34375 1.554688 -3.578125 1.234375 -3.890625 C 0.910156 -4.203125 0.75 -4.632812 0.75 -5.1875 C 0.75 -5.851562 0.984375 -6.367188 1.453125 -6.734375 C 1.929688 -7.097656 2.609375 -7.28125 3.484375 -7.28125 C 3.910156 -7.28125 4.316406 -7.25 4.703125 -7.1875 C 5.085938 -7.125 5.4375 -7.03125 5.75 -6.90625 Z M 5.75 -6.90625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-6">
|
||||
<path style="stroke:none;" d="M 4.453125 -3.578125 C 3.515625 -3.578125 2.863281 -3.46875 2.5 -3.25 C 2.132812 -3.03125 1.953125 -2.660156 1.953125 -2.140625 C 1.953125 -1.734375 2.085938 -1.40625 2.359375 -1.15625 C 2.628906 -0.914062 3 -0.796875 3.46875 -0.796875 C 4.113281 -0.796875 4.632812 -1.023438 5.03125 -1.484375 C 5.425781 -1.941406 5.625 -2.550781 5.625 -3.3125 L 5.625 -3.578125 Z M 6.78125 -4.0625 L 6.78125 0 L 5.625 0 L 5.625 -1.078125 C 5.351562 -0.648438 5.019531 -0.332031 4.625 -0.125 C 4.226562 0.0820312 3.738281 0.1875 3.15625 0.1875 C 2.425781 0.1875 1.847656 -0.015625 1.421875 -0.421875 C 0.992188 -0.835938 0.78125 -1.382812 0.78125 -2.0625 C 0.78125 -2.863281 1.046875 -3.46875 1.578125 -3.875 C 2.117188 -4.28125 2.921875 -4.484375 3.984375 -4.484375 L 5.625 -4.484375 L 5.625 -4.609375 C 5.625 -5.140625 5.445312 -5.550781 5.09375 -5.84375 C 4.738281 -6.144531 4.238281 -6.296875 3.59375 -6.296875 C 3.1875 -6.296875 2.789062 -6.242188 2.40625 -6.140625 C 2.019531 -6.046875 1.648438 -5.898438 1.296875 -5.703125 L 1.296875 -6.78125 C 1.722656 -6.945312 2.140625 -7.070312 2.546875 -7.15625 C 2.953125 -7.238281 3.34375 -7.28125 3.71875 -7.28125 C 4.75 -7.28125 5.515625 -7.015625 6.015625 -6.484375 C 6.523438 -5.953125 6.78125 -5.144531 6.78125 -4.0625 Z M 6.78125 -4.0625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-7">
|
||||
<path style="stroke:none;" d="M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-8">
|
||||
<path style="stroke:none;" d="M 7.3125 -3.84375 L 7.3125 -3.28125 L 1.9375 -3.28125 C 1.988281 -2.46875 2.226562 -1.851562 2.65625 -1.4375 C 3.09375 -1.019531 3.695312 -0.8125 4.46875 -0.8125 C 4.914062 -0.8125 5.347656 -0.863281 5.765625 -0.96875 C 6.191406 -1.082031 6.613281 -1.25 7.03125 -1.46875 L 7.03125 -0.359375 C 6.613281 -0.179688 6.179688 -0.046875 5.734375 0.046875 C 5.296875 0.140625 4.851562 0.1875 4.40625 0.1875 C 3.269531 0.1875 2.367188 -0.140625 1.703125 -0.796875 C 1.046875 -1.460938 0.71875 -2.359375 0.71875 -3.484375 C 0.71875 -4.648438 1.03125 -5.570312 1.65625 -6.25 C 2.289062 -6.9375 3.140625 -7.28125 4.203125 -7.28125 C 5.160156 -7.28125 5.914062 -6.972656 6.46875 -6.359375 C 7.03125 -5.742188 7.3125 -4.90625 7.3125 -3.84375 Z M 6.140625 -4.1875 C 6.128906 -4.820312 5.945312 -5.332031 5.59375 -5.71875 C 5.25 -6.101562 4.789062 -6.296875 4.21875 -6.296875 C 3.5625 -6.296875 3.035156 -6.109375 2.640625 -5.734375 C 2.253906 -5.367188 2.03125 -4.851562 1.96875 -4.1875 Z M 6.140625 -4.1875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-9">
|
||||
<path style="stroke:none;" d="M 6.328125 -3.546875 C 6.328125 -4.410156 6.148438 -5.082031 5.796875 -5.5625 C 5.441406 -6.050781 4.957031 -6.296875 4.34375 -6.296875 C 3.726562 -6.296875 3.242188 -6.050781 2.890625 -5.5625 C 2.535156 -5.082031 2.359375 -4.410156 2.359375 -3.546875 C 2.359375 -2.691406 2.535156 -2.019531 2.890625 -1.53125 C 3.242188 -1.039062 3.726562 -0.796875 4.34375 -0.796875 C 4.957031 -0.796875 5.441406 -1.039062 5.796875 -1.53125 C 6.148438 -2.019531 6.328125 -2.691406 6.328125 -3.546875 Z M 2.359375 -6.03125 C 2.597656 -6.457031 2.90625 -6.769531 3.28125 -6.96875 C 3.65625 -7.175781 4.101562 -7.28125 4.625 -7.28125 C 5.488281 -7.28125 6.191406 -6.9375 6.734375 -6.25 C 7.273438 -5.5625 7.546875 -4.660156 7.546875 -3.546875 C 7.546875 -2.429688 7.273438 -1.53125 6.734375 -0.84375 C 6.191406 -0.15625 5.488281 0.1875 4.625 0.1875 C 4.101562 0.1875 3.65625 0.0820312 3.28125 -0.125 C 2.90625 -0.332031 2.597656 -0.644531 2.359375 -1.0625 L 2.359375 0 L 1.1875 0 L 1.1875 -9.875 L 2.359375 -9.875 Z M 2.359375 -6.03125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-10">
|
||||
<path style="stroke:none;" d="M 1.21875 -7.109375 L 2.390625 -7.109375 L 2.390625 0 L 1.21875 0 Z M 1.21875 -9.875 L 2.390625 -9.875 L 2.390625 -8.390625 L 1.21875 -8.390625 Z M 1.21875 -9.875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-11">
|
||||
<path style="stroke:none;" d="M 7.140625 -4.296875 L 7.140625 0 L 5.96875 0 L 5.96875 -4.25 C 5.96875 -4.925781 5.835938 -5.429688 5.578125 -5.765625 C 5.316406 -6.097656 4.921875 -6.265625 4.390625 -6.265625 C 3.765625 -6.265625 3.269531 -6.0625 2.90625 -5.65625 C 2.539062 -5.257812 2.359375 -4.710938 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.640625 -6.425781 2.96875 -6.742188 3.34375 -6.953125 C 3.71875 -7.171875 4.15625 -7.28125 4.65625 -7.28125 C 5.46875 -7.28125 6.082031 -7.023438 6.5 -6.515625 C 6.925781 -6.015625 7.140625 -5.273438 7.140625 -4.296875 Z M 7.140625 -4.296875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-12">
|
||||
<path style="stroke:none;" d="M 5.90625 -3.640625 C 5.90625 -4.484375 5.726562 -5.132812 5.375 -5.59375 C 5.03125 -6.0625 4.539062 -6.296875 3.90625 -6.296875 C 3.28125 -6.296875 2.789062 -6.0625 2.4375 -5.59375 C 2.09375 -5.132812 1.921875 -4.484375 1.921875 -3.640625 C 1.921875 -2.796875 2.09375 -2.140625 2.4375 -1.671875 C 2.789062 -1.210938 3.28125 -0.984375 3.90625 -0.984375 C 4.539062 -0.984375 5.03125 -1.210938 5.375 -1.671875 C 5.726562 -2.140625 5.90625 -2.796875 5.90625 -3.640625 Z M 7.078125 -0.875 C 7.078125 0.332031 6.804688 1.226562 6.265625 1.8125 C 5.722656 2.40625 4.898438 2.703125 3.796875 2.703125 C 3.390625 2.703125 3.003906 2.671875 2.640625 2.609375 C 2.273438 2.546875 1.921875 2.453125 1.578125 2.328125 L 1.578125 1.1875 C 1.921875 1.375 2.257812 1.507812 2.59375 1.59375 C 2.925781 1.6875 3.265625 1.734375 3.609375 1.734375 C 4.378906 1.734375 4.953125 1.535156 5.328125 1.140625 C 5.710938 0.742188 5.90625 0.140625 5.90625 -0.671875 L 5.90625 -1.25 C 5.664062 -0.832031 5.351562 -0.519531 4.96875 -0.3125 C 4.59375 -0.101562 4.144531 0 3.625 0 C 2.75 0 2.046875 -0.332031 1.515625 -1 C 0.984375 -1.664062 0.71875 -2.546875 0.71875 -3.640625 C 0.71875 -4.734375 0.984375 -5.613281 1.515625 -6.28125 C 2.046875 -6.945312 2.75 -7.28125 3.625 -7.28125 C 4.144531 -7.28125 4.59375 -7.175781 4.96875 -6.96875 C 5.351562 -6.757812 5.664062 -6.445312 5.90625 -6.03125 L 5.90625 -7.109375 L 7.078125 -7.109375 Z M 7.078125 -0.875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-13">
|
||||
<path style="stroke:none;" d="M 5.125 -8.609375 C 4.1875 -8.609375 3.441406 -8.257812 2.890625 -7.5625 C 2.347656 -6.875 2.078125 -5.929688 2.078125 -4.734375 C 2.078125 -3.535156 2.347656 -2.585938 2.890625 -1.890625 C 3.441406 -1.203125 4.1875 -0.859375 5.125 -0.859375 C 6.050781 -0.859375 6.785156 -1.203125 7.328125 -1.890625 C 7.878906 -2.585938 8.15625 -3.535156 8.15625 -4.734375 C 8.15625 -5.929688 7.878906 -6.875 7.328125 -7.5625 C 6.785156 -8.257812 6.050781 -8.609375 5.125 -8.609375 Z M 5.125 -9.65625 C 6.445312 -9.65625 7.503906 -9.207031 8.296875 -8.3125 C 9.097656 -7.414062 9.5 -6.222656 9.5 -4.734375 C 9.5 -3.234375 9.097656 -2.035156 8.296875 -1.140625 C 7.503906 -0.253906 6.445312 0.1875 5.125 0.1875 C 3.789062 0.1875 2.722656 -0.253906 1.921875 -1.140625 C 1.128906 -2.035156 0.734375 -3.234375 0.734375 -4.734375 C 0.734375 -6.222656 1.128906 -7.414062 1.921875 -8.3125 C 2.722656 -9.207031 3.789062 -9.65625 5.125 -9.65625 Z M 5.125 -9.65625 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-14">
|
||||
<path style="stroke:none;" d="M 1.109375 -2.8125 L 1.109375 -7.109375 L 2.265625 -7.109375 L 2.265625 -2.84375 C 2.265625 -2.175781 2.394531 -1.671875 2.65625 -1.328125 C 2.925781 -0.992188 3.320312 -0.828125 3.84375 -0.828125 C 4.476562 -0.828125 4.976562 -1.023438 5.34375 -1.421875 C 5.707031 -1.828125 5.890625 -2.378906 5.890625 -3.078125 L 5.890625 -7.109375 L 7.0625 -7.109375 L 7.0625 0 L 5.890625 0 L 5.890625 -1.09375 C 5.609375 -0.65625 5.28125 -0.332031 4.90625 -0.125 C 4.53125 0.0820312 4.09375 0.1875 3.59375 0.1875 C 2.78125 0.1875 2.160156 -0.0664062 1.734375 -0.578125 C 1.316406 -1.085938 1.109375 -1.832031 1.109375 -2.8125 Z M 4.046875 -7.28125 Z M 4.046875 -7.28125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-15">
|
||||
<path style="stroke:none;" d="M 2.375 -9.125 L 2.375 -7.109375 L 4.78125 -7.109375 L 4.78125 -6.203125 L 2.375 -6.203125 L 2.375 -2.34375 C 2.375 -1.757812 2.453125 -1.382812 2.609375 -1.21875 C 2.773438 -1.0625 3.101562 -0.984375 3.59375 -0.984375 L 4.78125 -0.984375 L 4.78125 0 L 3.59375 0 C 2.6875 0 2.0625 -0.164062 1.71875 -0.5 C 1.375 -0.84375 1.203125 -1.457031 1.203125 -2.34375 L 1.203125 -6.203125 L 0.34375 -6.203125 L 0.34375 -7.109375 L 1.203125 -7.109375 L 1.203125 -9.125 Z M 2.375 -9.125 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-16">
|
||||
<path style="stroke:none;" d=""/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-17">
|
||||
<path style="stroke:none;" d="M 1.28125 -9.484375 L 6.71875 -9.484375 L 6.71875 -8.390625 L 2.5625 -8.390625 L 2.5625 -5.609375 L 6.3125 -5.609375 L 6.3125 -4.53125 L 2.5625 -4.53125 L 2.5625 0 L 1.28125 0 Z M 1.28125 -9.484375 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-18">
|
||||
<path style="stroke:none;" d="M 6.765625 -5.75 C 7.054688 -6.269531 7.40625 -6.65625 7.8125 -6.90625 C 8.21875 -7.15625 8.695312 -7.28125 9.25 -7.28125 C 9.988281 -7.28125 10.554688 -7.019531 10.953125 -6.5 C 11.359375 -5.976562 11.5625 -5.242188 11.5625 -4.296875 L 11.5625 0 L 10.390625 0 L 10.390625 -4.25 C 10.390625 -4.9375 10.265625 -5.441406 10.015625 -5.765625 C 9.773438 -6.097656 9.410156 -6.265625 8.921875 -6.265625 C 8.316406 -6.265625 7.835938 -6.0625 7.484375 -5.65625 C 7.128906 -5.257812 6.953125 -4.710938 6.953125 -4.015625 L 6.953125 0 L 5.78125 0 L 5.78125 -4.25 C 5.78125 -4.9375 5.660156 -5.441406 5.421875 -5.765625 C 5.179688 -6.097656 4.804688 -6.265625 4.296875 -6.265625 C 3.703125 -6.265625 3.226562 -6.0625 2.875 -5.65625 C 2.53125 -5.25 2.359375 -4.703125 2.359375 -4.015625 L 2.359375 0 L 1.1875 0 L 1.1875 -7.109375 L 2.359375 -7.109375 L 2.359375 -6 C 2.617188 -6.4375 2.9375 -6.757812 3.3125 -6.96875 C 3.6875 -7.175781 4.128906 -7.28125 4.640625 -7.28125 C 5.160156 -7.28125 5.597656 -7.148438 5.953125 -6.890625 C 6.316406 -6.628906 6.585938 -6.25 6.765625 -5.75 Z M 6.765625 -5.75 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-19">
|
||||
<path style="stroke:none;" d="M 6.953125 -9.171875 L 6.953125 -7.921875 C 6.472656 -8.148438 6.015625 -8.320312 5.578125 -8.4375 C 5.148438 -8.550781 4.734375 -8.609375 4.328125 -8.609375 C 3.628906 -8.609375 3.085938 -8.472656 2.703125 -8.203125 C 2.328125 -7.929688 2.140625 -7.546875 2.140625 -7.046875 C 2.140625 -6.628906 2.265625 -6.3125 2.515625 -6.09375 C 2.773438 -5.882812 3.253906 -5.710938 3.953125 -5.578125 L 4.734375 -5.421875 C 5.679688 -5.234375 6.382812 -4.910156 6.84375 -4.453125 C 7.300781 -3.992188 7.53125 -3.378906 7.53125 -2.609375 C 7.53125 -1.691406 7.222656 -0.992188 6.609375 -0.515625 C 5.992188 -0.046875 5.085938 0.1875 3.890625 0.1875 C 3.441406 0.1875 2.960938 0.132812 2.453125 0.03125 C 1.953125 -0.0703125 1.429688 -0.222656 0.890625 -0.421875 L 0.890625 -1.734375 C 1.410156 -1.441406 1.921875 -1.222656 2.421875 -1.078125 C 2.921875 -0.929688 3.410156 -0.859375 3.890625 -0.859375 C 4.628906 -0.859375 5.195312 -1 5.59375 -1.28125 C 5.988281 -1.570312 6.1875 -1.984375 6.1875 -2.515625 C 6.1875 -2.984375 6.039062 -3.347656 5.75 -3.609375 C 5.46875 -3.867188 5.003906 -4.066406 4.359375 -4.203125 L 3.578125 -4.359375 C 2.617188 -4.546875 1.925781 -4.84375 1.5 -5.25 C 1.070312 -5.65625 0.859375 -6.21875 0.859375 -6.9375 C 0.859375 -7.78125 1.148438 -8.441406 1.734375 -8.921875 C 2.328125 -9.410156 3.144531 -9.65625 4.1875 -9.65625 C 4.625 -9.65625 5.070312 -9.613281 5.53125 -9.53125 C 6 -9.445312 6.472656 -9.328125 6.953125 -9.171875 Z M 6.953125 -9.171875 "/>
|
||||
</symbol>
|
||||
<symbol overflow="visible" id="glyph2-20">
|
||||
<path style="stroke:none;" d="M 4.1875 0.65625 C 3.851562 1.507812 3.53125 2.0625 3.21875 2.3125 C 2.90625 2.570312 2.488281 2.703125 1.96875 2.703125 L 1.03125 2.703125 L 1.03125 1.734375 L 1.71875 1.734375 C 2.039062 1.734375 2.289062 1.65625 2.46875 1.5 C 2.644531 1.34375 2.835938 0.984375 3.046875 0.421875 L 3.265625 -0.109375 L 0.390625 -7.109375 L 1.625 -7.109375 L 3.84375 -1.546875 L 6.0625 -7.109375 L 7.3125 -7.109375 Z M 4.1875 0.65625 "/>
|
||||
</symbol>
|
||||
</g>
|
||||
</defs>
|
||||
<g id="surface268880">
|
||||
<rect x="0" y="0" width="774" height="152" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 21.75297 10.408118 L 26.433829 10.408118 L 26.433829 12.281165 L 21.75297 12.281165 Z M 21.75297 10.408118 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 29.079728 10.51222 L 32.829728 10.51222 L 32.829728 12.149915 L 29.079728 12.149915 Z M 29.079728 10.51222 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-1" x="20.171875" y="57.705621"/>
|
||||
<use xlink:href="#glyph0-2" x="30.171875" y="57.705621"/>
|
||||
<use xlink:href="#glyph0-3" x="40.171875" y="57.705621"/>
|
||||
<use xlink:href="#glyph0-4" x="50.171875" y="57.705621"/>
|
||||
<use xlink:href="#glyph0-5" x="60.171875" y="57.705621"/>
|
||||
<use xlink:href="#glyph0-6" x="70.171875" y="57.705621"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-7" x="174.203125" y="60.053277"/>
|
||||
<use xlink:href="#glyph0-8" x="184.203125" y="60.053277"/>
|
||||
</g>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.925236 10.544446 L 44.675236 10.544446 L 44.675236 12.090345 L 40.925236 12.090345 Z M 40.925236 10.544446 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.883439 10.536634 L 38.633439 10.536634 L 38.633439 12.120032 L 34.883439 12.120032 Z M 34.883439 10.536634 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 47.084806 10.484876 L 52.045743 10.484876 L 52.045743 12.130774 L 47.084806 12.130774 Z M 47.084806 10.484876 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 53.980118 10.376868 L 59.866642 10.376868 L 59.866642 12.279603 L 53.980118 12.279603 Z M 53.980118 10.376868 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(100%,100%,100%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 54.048478 13.825501 L 59.868009 13.825501 L 59.868009 15.490345 L 54.048478 15.490345 Z M 54.048478 13.825501 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 26.481876 11.338001 L 28.593009 11.332337 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 28.968009 11.33136 L 28.468595 11.582728 L 28.593009 11.332337 L 28.467228 11.082728 Z M 28.968009 11.33136 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 32.876798 11.329798 L 34.396525 11.328626 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 34.771525 11.328431 L 34.27172 11.578821 L 34.396525 11.328626 L 34.271329 11.078821 Z M 34.771525 11.328431 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 38.633439 11.328431 L 40.438517 11.319642 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40.813517 11.317884 L 40.314689 11.570228 L 40.438517 11.319642 L 40.312345 11.070423 Z M 40.813517 11.317884 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 44.675236 11.317298 L 46.597892 11.309876 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 46.972892 11.308313 L 46.473868 11.560267 L 46.597892 11.309876 L 46.471915 11.060267 Z M 46.972892 11.308313 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 52.045743 11.307923 L 53.4934 11.323157 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 53.8684 11.327063 L 53.365861 11.57179 L 53.4934 11.323157 L 53.370939 11.07179 Z M 53.8684 11.327063 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-9" x="286.757813" y="60.611871"/>
|
||||
<use xlink:href="#glyph0-10" x="296.757813" y="60.611871"/>
|
||||
<use xlink:href="#glyph0-1" x="306.757813" y="60.611871"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph0-11" x="405.660156" y="59.904839"/>
|
||||
<use xlink:href="#glyph0-10" x="415.660156" y="59.904839"/>
|
||||
<use xlink:href="#glyph0-12" x="425.660156" y="59.904839"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-1" x="511.308594" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-2" x="517.308757" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-3" x="523.308919" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-4" x="529.309082" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-5" x="535.309245" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-6" x="541.309408" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-7" x="547.30957" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-8" x="553.309733" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-9" x="559.309896" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-10" x="565.310059" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-11" x="571.310221" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-12" x="577.310384" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-13" x="583.310547" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-8" x="589.31071" y="58.064616"/>
|
||||
<use xlink:href="#glyph1-14" x="595.310872" y="58.064616"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 45.671915 11.342298 L 45.655704 11.342298 L 45.655704 14.657923 L 53.561759 14.657923 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 53.936759 14.657923 L 53.436759 14.907923 L 53.561759 14.657923 L 53.436759 14.407923 Z M 53.936759 14.657923 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-15" x="657.078125" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-16" x="663.078288" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-10" x="669.078451" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-6" x="675.078613" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-8" x="681.078776" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-17" x="687.078939" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-11" x="693.079102" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-18" x="699.079264" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-19" x="705.079427" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-4" x="711.07959" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-20" x="717.079753" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-21" x="723.079915" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-22" x="729.080078" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-23" x="735.080241" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-21" x="741.080404" y="57.724772"/>
|
||||
<use xlink:href="#glyph1-22" x="747.080566" y="57.724772"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph1-24" x="673.335938" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-11" x="679.3361" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-13" x="685.336263" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-8" x="691.336426" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-4" x="697.336589" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-20" x="703.336751" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-21" x="709.336914" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-22" x="715.337077" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-23" x="721.33724" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-21" x="727.337402" y="124.170085"/>
|
||||
<use xlink:href="#glyph1-22" x="733.337565" y="124.170085"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-1" x="168.71875" y="31.959093"/>
|
||||
<use xlink:href="#glyph2-2" x="175.866102" y="31.959093"/>
|
||||
<use xlink:href="#glyph2-3" x="180.92551" y="31.959093"/>
|
||||
<use xlink:href="#glyph2-4" x="188.879069" y="31.959093"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-5" x="288.109375" y="31.681749"/>
|
||||
<use xlink:href="#glyph2-1" x="294.882378" y="31.681749"/>
|
||||
<use xlink:href="#glyph2-6" x="302.029731" y="31.681749"/>
|
||||
<use xlink:href="#glyph2-7" x="309.996039" y="31.681749"/>
|
||||
<use xlink:href="#glyph2-8" x="313.607964" y="31.681749"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-5" x="535.988281" y="33.365343"/>
|
||||
<use xlink:href="#glyph2-1" x="542.761285" y="33.365343"/>
|
||||
<use xlink:href="#glyph2-6" x="549.908637" y="33.365343"/>
|
||||
<use xlink:href="#glyph2-7" x="557.874946" y="33.365343"/>
|
||||
<use xlink:href="#glyph2-8" x="561.486871" y="33.365343"/>
|
||||
</g>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-9" x="26.695313" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-10" x="34.947266" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-11" x="38.559191" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-11" x="46.798394" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-10" x="55.037598" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-11" x="58.649523" y="32.365343"/>
|
||||
<use xlink:href="#glyph2-12" x="66.888726" y="32.365343"/>
|
||||
</g>
|
||||
<path style="fill:none;stroke-width:0.1;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:0.14,0.14;stroke-miterlimit:10;" d="M 45.300431 9.486438 L 60.373478 9.486438 L 60.373478 16.175696 L 45.300431 16.175696 Z M 45.300431 9.486438 " transform="matrix(20,0,0,20,-434.059401,-172.47877)"/>
|
||||
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
|
||||
<use xlink:href="#glyph2-13" x="532.003906" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-14" x="542.236382" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-15" x="550.475586" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-4" x="555.5727" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-14" x="563.824653" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-15" x="572.063856" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-16" x="577.16097" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-17" x="581.293186" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-3" x="588.307346" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-2" x="596.260905" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-18" x="601.377279" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-6" x="614.040853" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-15" x="622.007161" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-15" x="627.104275" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-8" x="632.201389" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-2" x="640.199436" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-16" x="645.544217" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-19" x="649.676432" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-20" x="657.928385" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-5" x="665.621799" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-15" x="672.394803" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-8" x="677.491916" y="11.904405"/>
|
||||
<use xlink:href="#glyph2-18" x="685.489963" y="11.904405"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 76 KiB |
139
Documentation/admin-guide/media/ivtv-cardlist.rst
Normal file
139
Documentation/admin-guide/media/ivtv-cardlist.rst
Normal file
|
@ -0,0 +1,139 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
IVTV cards list
|
||||
===============
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{12.7cm}|p{3.4cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Hauppauge WinTV PVR-250
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 1
|
||||
- Hauppauge WinTV PVR-350
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 2
|
||||
- Hauppauge WinTV PVR-150
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 3
|
||||
- AVerMedia M179
|
||||
- IVTV15 1461:a3cf, IVTV15 1461:a3ce
|
||||
|
||||
* - 4
|
||||
- Yuan MPG600, Kuroutoshikou ITVC16-STVLP
|
||||
- IVTV16 12ab:fff3, IVTV16 12ab:ffff
|
||||
|
||||
* - 5
|
||||
- YUAN MPG160, Kuroutoshikou ITVC15-STVLP, I/O Data GV-M2TV/PCI
|
||||
- IVTV15 10fc:40a0
|
||||
|
||||
* - 6
|
||||
- Yuan PG600, Diamond PVR-550
|
||||
- IVTV16 ff92:0070, IVTV16 ffab:0600
|
||||
|
||||
* - 7
|
||||
- Adaptec VideOh! AVC-2410
|
||||
- IVTV16 9005:0093
|
||||
|
||||
* - 8
|
||||
- Adaptec VideOh! AVC-2010
|
||||
- IVTV16 9005:0092
|
||||
|
||||
* - 9
|
||||
- Nagase Transgear 5000TV
|
||||
- IVTV16 1461:bfff
|
||||
|
||||
* - 10
|
||||
- AOpen VA2000MAX-SNT6
|
||||
- IVTV16 0000:ff5f
|
||||
|
||||
* - 11
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP
|
||||
- IVTV16 12ab:0600, IVTV16 fbab:0600, IVTV16 1154:0523
|
||||
|
||||
* - 12
|
||||
- I/O Data GV-MVP/RX, GV-MVP/RX2W (dual tuner)
|
||||
- IVTV16 10fc:d01e, IVTV16 10fc:d038, IVTV16 10fc:d039
|
||||
|
||||
* - 13
|
||||
- I/O Data GV-MVP/RX2E
|
||||
- IVTV16 10fc:d025
|
||||
|
||||
* - 14
|
||||
- GotView PCI DVD
|
||||
- IVTV16 12ab:0600
|
||||
|
||||
* - 15
|
||||
- GotView PCI DVD2 Deluxe
|
||||
- IVTV16 ffac:0600
|
||||
|
||||
* - 16
|
||||
- Yuan MPC622
|
||||
- IVTV16 ff01:d998
|
||||
|
||||
* - 17
|
||||
- Digital Cowboy DCT-MTVP1
|
||||
- IVTV16 1461:bfff
|
||||
|
||||
* - 18
|
||||
- Yuan PG600-2, GotView PCI DVD Lite
|
||||
- IVTV16 ffab:0600, IVTV16 ffad:0600
|
||||
|
||||
* - 19
|
||||
- Club3D ZAP-TV1x01
|
||||
- IVTV16 ffab:0600
|
||||
|
||||
* - 20
|
||||
- AVerTV MCE 116 Plus
|
||||
- IVTV16 1461:c439
|
||||
|
||||
* - 21
|
||||
- ASUS Falcon2
|
||||
- IVTV16 1043:4b66, IVTV16 1043:462e, IVTV16 1043:4b2e
|
||||
|
||||
* - 22
|
||||
- AVerMedia PVR-150 Plus / AVerTV M113 Partsnic (Daewoo) Tuner
|
||||
- IVTV16 1461:c034, IVTV16 1461:c035
|
||||
|
||||
* - 23
|
||||
- AVerMedia EZMaker PCI Deluxe
|
||||
- IVTV16 1461:c03f
|
||||
|
||||
* - 24
|
||||
- AVerMedia M104
|
||||
- IVTV16 1461:c136
|
||||
|
||||
* - 25
|
||||
- Buffalo PC-MV5L/PCI
|
||||
- IVTV16 1154:052b
|
||||
|
||||
* - 26
|
||||
- AVerMedia UltraTV 1500 MCE / AVerTV M113 Philips Tuner
|
||||
- IVTV16 1461:c019, IVTV16 1461:c01b
|
||||
|
||||
* - 27
|
||||
- Sony VAIO Giga Pocket (ENX Kikyou)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 28
|
||||
- Hauppauge WinTV PVR-350 (V1)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 29
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR)
|
||||
- IVTV16 104d:813d
|
||||
|
||||
* - 30
|
||||
- Yuan MPG600GR, Kuroutoshikou CX23416GYC-STVLP (no GR/YCS)
|
||||
- IVTV16 104d:813d
|
218
Documentation/admin-guide/media/ivtv.rst
Normal file
218
Documentation/admin-guide/media/ivtv.rst
Normal file
|
@ -0,0 +1,218 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The ivtv driver
|
||||
===============
|
||||
|
||||
Author: Hans Verkuil <hverkuil@xs4all.nl>
|
||||
|
||||
This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder.
|
||||
The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG
|
||||
encoding. Currently the only card featuring full decoding support is the
|
||||
Hauppauge PVR-350.
|
||||
|
||||
.. note::
|
||||
|
||||
#) This driver requires the latest encoder firmware (version 2.06.039, size
|
||||
376836 bytes). Get the firmware from here:
|
||||
|
||||
https://linuxtv.org/downloads/firmware/#conexant
|
||||
|
||||
#) 'normal' TV applications do not work with this driver, you need
|
||||
an application that can handle MPEG input such as mplayer, xine, MythTV,
|
||||
etc.
|
||||
|
||||
The primary goal of the IVTV project is to provide a "clean room" Linux
|
||||
Open Source driver implementation for video capture cards based on the
|
||||
iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec.
|
||||
|
||||
Features
|
||||
--------
|
||||
|
||||
* Hardware mpeg2 capture of broadcast video (and sound) via the tuner or
|
||||
S-Video/Composite and audio line-in.
|
||||
* Hardware mpeg2 capture of FM radio where hardware support exists
|
||||
* Supports NTSC, PAL, SECAM with stereo sound
|
||||
* Supports SAP and bilingual transmissions.
|
||||
* Supports raw VBI (closed captions and teletext).
|
||||
* Supports sliced VBI (closed captions and teletext) and is able to insert
|
||||
this into the captured MPEG stream.
|
||||
* Supports raw YUV and PCM input.
|
||||
|
||||
Additional features for the PVR-350 (CX23415 based)
|
||||
---------------------------------------------------
|
||||
|
||||
* Provides hardware mpeg2 playback
|
||||
* Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the
|
||||
video signal)
|
||||
* Provides a framebuffer (allowing X applications to appear on the video
|
||||
device)
|
||||
* Supports raw YUV output.
|
||||
|
||||
IMPORTANT: In case of problems first read this page:
|
||||
https://help.ubuntu.com/community/Install_IVTV_Troubleshooting
|
||||
|
||||
See also
|
||||
--------
|
||||
|
||||
https://linuxtv.org
|
||||
|
||||
IRC
|
||||
---
|
||||
|
||||
irc://irc.freenode.net/#v4l
|
||||
|
||||
----------------------------------------------------------
|
||||
|
||||
Devices
|
||||
-------
|
||||
|
||||
A maximum of 12 ivtv boards are allowed at the moment.
|
||||
|
||||
Cards that don't have a video output capability (i.e. non PVR350 cards)
|
||||
lack the vbi8, vbi16, video16 and video48 devices. They also do not
|
||||
support the framebuffer device /dev/fbx for OSD.
|
||||
|
||||
The radio0 device may or may not be present, depending on whether the
|
||||
card has a radio tuner or not.
|
||||
|
||||
Here is a list of the base v4l devices:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
crw-rw---- 1 root video 81, 0 Jun 19 22:22 /dev/video0
|
||||
crw-rw---- 1 root video 81, 16 Jun 19 22:22 /dev/video16
|
||||
crw-rw---- 1 root video 81, 24 Jun 19 22:22 /dev/video24
|
||||
crw-rw---- 1 root video 81, 32 Jun 19 22:22 /dev/video32
|
||||
crw-rw---- 1 root video 81, 48 Jun 19 22:22 /dev/video48
|
||||
crw-rw---- 1 root video 81, 64 Jun 19 22:22 /dev/radio0
|
||||
crw-rw---- 1 root video 81, 224 Jun 19 22:22 /dev/vbi0
|
||||
crw-rw---- 1 root video 81, 228 Jun 19 22:22 /dev/vbi8
|
||||
crw-rw---- 1 root video 81, 232 Jun 19 22:22 /dev/vbi16
|
||||
|
||||
Base devices
|
||||
------------
|
||||
|
||||
For every extra card you have the numbers increased by one. For example,
|
||||
/dev/video0 is listed as the 'base' encoding capture device so we have:
|
||||
|
||||
- /dev/video0 is the encoding capture device for the first card (card 0)
|
||||
- /dev/video1 is the encoding capture device for the second card (card 1)
|
||||
- /dev/video2 is the encoding capture device for the third card (card 2)
|
||||
|
||||
Note that if the first card doesn't have a feature (eg no decoder, so no
|
||||
video16, the second card will still use video17. The simple rule is 'add
|
||||
the card number to the base device number'. If you have other capture
|
||||
cards (e.g. WinTV PCI) that are detected first, then you have to tell
|
||||
the ivtv module about it so that it will start counting at 1 (or 2, or
|
||||
whatever). Otherwise the device numbers can get confusing. The ivtv
|
||||
'ivtv_first_minor' module option can be used for that.
|
||||
|
||||
|
||||
- /dev/video0
|
||||
|
||||
The encoding capture device(s).
|
||||
|
||||
Read-only.
|
||||
|
||||
Reading from this device gets you the MPEG1/2 program stream.
|
||||
Example:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit)
|
||||
|
||||
|
||||
- /dev/video16
|
||||
|
||||
The decoder output device(s)
|
||||
|
||||
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
|
||||
|
||||
An mpeg2 stream sent to this device will appear on the selected video
|
||||
display, audio will appear on the line-out/audio out. It is only
|
||||
available for cards that support video out. Example:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cat my.mpg >/dev/video16
|
||||
|
||||
|
||||
- /dev/video24
|
||||
|
||||
The raw audio capture device(s).
|
||||
|
||||
Read-only
|
||||
|
||||
The raw audio PCM stereo stream from the currently selected
|
||||
tuner or audio line-in. Reading from this device results in a raw
|
||||
(signed 16 bit Little Endian, 48000 Hz, stereo pcm) capture.
|
||||
This device only captures audio. This should be replaced by an ALSA
|
||||
device in the future.
|
||||
Note that there is no corresponding raw audio output device, this is
|
||||
not supported in the decoder firmware.
|
||||
|
||||
|
||||
- /dev/video32
|
||||
|
||||
The raw video capture device(s)
|
||||
|
||||
Read-only
|
||||
|
||||
The raw YUV video output from the current video input. The YUV format
|
||||
is non-standard (V4L2_PIX_FMT_HM12).
|
||||
|
||||
Note that the YUV and PCM streams are not synchronized, so they are of
|
||||
limited use.
|
||||
|
||||
|
||||
- /dev/video48
|
||||
|
||||
The raw video display device(s)
|
||||
|
||||
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
|
||||
|
||||
Writes a YUV stream to the decoder of the card.
|
||||
|
||||
|
||||
- /dev/radio0
|
||||
|
||||
The radio tuner device(s)
|
||||
|
||||
Cannot be read or written.
|
||||
|
||||
Used to enable the radio tuner and tune to a frequency. You cannot
|
||||
read or write audio streams with this device. Once you use this
|
||||
device to tune the radio, use /dev/video24 to read the raw pcm stream
|
||||
or /dev/video0 to get an mpeg2 stream with black video.
|
||||
|
||||
|
||||
- /dev/vbi0
|
||||
|
||||
The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s)
|
||||
|
||||
Read-only
|
||||
|
||||
Captures the raw (or sliced) video data sent during the Vertical Blank
|
||||
Interval. This data is used to encode teletext, closed captions, VPS,
|
||||
widescreen signalling, electronic program guide information, and other
|
||||
services.
|
||||
|
||||
|
||||
- /dev/vbi8
|
||||
|
||||
Processed vbi feedback device(s)
|
||||
|
||||
Read-only. Only present if the MPEG decoder (i.e. CX23415) exists.
|
||||
|
||||
The sliced VBI data embedded in an MPEG stream is reproduced on this
|
||||
device. So while playing back a recording on /dev/video16, you can
|
||||
read the embedded VBI data from /dev/vbi8.
|
||||
|
||||
|
||||
- /dev/vbi16
|
||||
|
||||
The vbi 'display' device(s)
|
||||
|
||||
Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
|
||||
|
||||
Can be used to send sliced VBI data to the video-out connector.
|
107
Documentation/admin-guide/media/lmedm04.rst
Normal file
107
Documentation/admin-guide/media/lmedm04.rst
Normal file
|
@ -0,0 +1,107 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Firmware files for lmedm04 cards
|
||||
================================
|
||||
|
||||
To extract firmware for the DM04/QQBOX you need to copy the
|
||||
following file(s) to this directory.
|
||||
|
||||
For DM04+/QQBOX LME2510C (Sharp 7395 Tuner)
|
||||
-------------------------------------------
|
||||
|
||||
The Sharp 7395 driver can be found in windows/system32/drivers
|
||||
|
||||
US2A0D.sys (dated 17 Mar 2009)
|
||||
|
||||
|
||||
and run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
scripts/get_dvb_firmware lme2510c_s7395
|
||||
|
||||
will produce dvb-usb-lme2510c-s7395.fw
|
||||
|
||||
An alternative but older firmware can be found on the driver
|
||||
disk DVB-S_EN_3.5A in BDADriver/driver
|
||||
|
||||
LMEBDA_DVBS7395C.sys (dated 18 Jan 2008)
|
||||
|
||||
and run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
./get_dvb_firmware lme2510c_s7395_old
|
||||
|
||||
will produce dvb-usb-lme2510c-s7395.fw
|
||||
|
||||
The LG firmware can be found on the driver
|
||||
disk DM04+_5.1A[LG] in BDADriver/driver
|
||||
|
||||
For DM04 LME2510 (LG Tuner)
|
||||
---------------------------
|
||||
|
||||
LMEBDA_DVBS.sys (dated 13 Nov 2007)
|
||||
|
||||
and run:
|
||||
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
./get_dvb_firmware lme2510_lg
|
||||
|
||||
will produce dvb-usb-lme2510-lg.fw
|
||||
|
||||
|
||||
Other LG firmware can be extracted manually from US280D.sys
|
||||
only found in windows/system32/drivers
|
||||
|
||||
dd if=US280D.sys ibs=1 skip=42360 count=3924 of=dvb-usb-lme2510-lg.fw
|
||||
|
||||
For DM04 LME2510C (LG Tuner)
|
||||
----------------------------
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
dd if=US280D.sys ibs=1 skip=35200 count=3850 of=dvb-usb-lme2510c-lg.fw
|
||||
|
||||
|
||||
The Sharp 0194 tuner driver can be found in windows/system32/drivers
|
||||
|
||||
US290D.sys (dated 09 Apr 2009)
|
||||
|
||||
For LME2510
|
||||
-----------
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
dd if=US290D.sys ibs=1 skip=36856 count=3976 of=dvb-usb-lme2510-s0194.fw
|
||||
|
||||
|
||||
For LME2510C
|
||||
------------
|
||||
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
dd if=US290D.sys ibs=1 skip=33152 count=3697 of=dvb-usb-lme2510c-s0194.fw
|
||||
|
||||
|
||||
The m88rs2000 tuner driver can be found in windows/system32/drivers
|
||||
|
||||
US2B0D.sys (dated 29 Jun 2010)
|
||||
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
dd if=US2B0D.sys ibs=1 skip=34432 count=3871 of=dvb-usb-lme2510c-rs2000.fw
|
||||
|
||||
We need to modify id of rs2000 firmware or it will warm boot id 3344:1120.
|
||||
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
|
||||
echo -ne \\xF0\\x22 | dd conv=notrunc bs=1 count=2 seek=266 of=dvb-usb-lme2510c-rs2000.fw
|
||||
|
||||
Copy the firmware file(s) to /lib/firmware
|
93
Documentation/admin-guide/media/meye.rst
Normal file
93
Documentation/admin-guide/media/meye.rst
Normal file
|
@ -0,0 +1,93 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
Vaio Picturebook Motion Eye Camera Driver
|
||||
=========================================
|
||||
|
||||
Copyright |copy| 2001-2004 Stelian Pop <stelian@popies.net>
|
||||
|
||||
Copyright |copy| 2001-2002 Alcôve <www.alcove.com>
|
||||
|
||||
Copyright |copy| 2000 Andrew Tridgell <tridge@samba.org>
|
||||
|
||||
This driver enable the use of video4linux compatible applications with the
|
||||
Motion Eye camera. This driver requires the "Sony Laptop Extras" driver (which
|
||||
can be found in the "Misc devices" section of the kernel configuration utility)
|
||||
to be compiled and installed (using its "camera=1" parameter).
|
||||
|
||||
It can do at maximum 30 fps @ 320x240 or 15 fps @ 640x480.
|
||||
|
||||
Grabbing is supported in packed YUV colorspace only.
|
||||
|
||||
MJPEG hardware grabbing is supported via a private API (see below).
|
||||
|
||||
Hardware supported
|
||||
------------------
|
||||
|
||||
This driver supports the 'second' version of the MotionEye camera :)
|
||||
|
||||
The first version was connected directly on the video bus of the Neomagic
|
||||
video card and is unsupported.
|
||||
|
||||
The second one, made by Kawasaki Steel is fully supported by this
|
||||
driver (PCI vendor/device is 0x136b/0xff01)
|
||||
|
||||
The third one, present in recent (more or less last year) Picturebooks
|
||||
(C1M* models), is not supported. The manufacturer has given the specs
|
||||
to the developers under a NDA (which allows the development of a GPL
|
||||
driver however), but things are not moving very fast (see
|
||||
http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011).
|
||||
|
||||
There is a forth model connected on the USB bus in TR1* Vaio laptops.
|
||||
This camera is not supported at all by the current driver, in fact
|
||||
little information if any is available for this camera
|
||||
(USB vendor/device is 0x054c/0x0107).
|
||||
|
||||
Driver options
|
||||
--------------
|
||||
|
||||
Several options can be passed to the meye driver using the standard
|
||||
module argument syntax (<param>=<value> when passing the option to the
|
||||
module or meye.<param>=<value> on the kernel boot line when meye is
|
||||
statically linked into the kernel). Those options are:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
gbuffers: number of capture buffers, default is 2 (32 max)
|
||||
|
||||
gbufsize: size of each capture buffer, default is 614400
|
||||
|
||||
video_nr: video device to register (0 = /dev/video0, etc)
|
||||
|
||||
Module use
|
||||
----------
|
||||
|
||||
In order to automatically load the meye module on use, you can put those lines
|
||||
in your /etc/modprobe.d/meye.conf file:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
alias char-major-81 videodev
|
||||
alias char-major-81-0 meye
|
||||
options meye gbuffers=32
|
||||
|
||||
Usage:
|
||||
------
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
xawtv >= 3.49 (<http://bytesex.org/xawtv/>)
|
||||
for display and uncompressed video capture:
|
||||
|
||||
xawtv -c /dev/video0 -geometry 640x480
|
||||
or
|
||||
xawtv -c /dev/video0 -geometry 320x240
|
||||
|
||||
motioneye (<http://popies.net/meye/>)
|
||||
for getting ppm or jpg snapshots, mjpeg video
|
||||
|
||||
Bugs / Todo
|
||||
-----------
|
||||
|
||||
- 'motioneye' still uses the meye private v4l1 API extensions.
|
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
28
Documentation/admin-guide/media/misc-cardlist.rst
Normal file
|
@ -0,0 +1,28 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Firewire driver
|
||||
===============
|
||||
|
||||
The media subsystem also provides a firewire driver for digital TV:
|
||||
|
||||
======= =====================
|
||||
Driver Name
|
||||
======= =====================
|
||||
firedtv FireDTV and FloppyDTV
|
||||
======= =====================
|
||||
|
||||
Test drivers
|
||||
============
|
||||
|
||||
In order to test userspace applications, there's a number of virtual
|
||||
drivers, with provide test functionality, simulating real hardware
|
||||
devices:
|
||||
|
||||
======= ======================================
|
||||
Driver Name
|
||||
======= ======================================
|
||||
vicodec Virtual Codec Driver
|
||||
vim2m Virtual Memory-to-Memory Driver
|
||||
vimc Virtual Media Controller Driver (VIMC)
|
||||
vivid Virtual Video Test Driver
|
||||
======= ======================================
|
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
92
Documentation/admin-guide/media/omap3isp.rst
Normal file
|
@ -0,0 +1,92 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
OMAP 3 Image Signal Processor (ISP) driver
|
||||
==========================================
|
||||
|
||||
Copyright |copy| 2010 Nokia Corporation
|
||||
|
||||
Copyright |copy| 2009 Texas Instruments, Inc.
|
||||
|
||||
Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
|
||||
Sakari Ailus <sakari.ailus@iki.fi>, David Cohen <dacohen@gmail.com>
|
||||
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This file documents the Texas Instruments OMAP 3 Image Signal Processor (ISP)
|
||||
driver located under drivers/media/platform/omap3isp. The original driver was
|
||||
written by Texas Instruments but since that it has been rewritten (twice) at
|
||||
Nokia.
|
||||
|
||||
The driver has been successfully used on the following versions of OMAP 3:
|
||||
|
||||
- 3430
|
||||
- 3530
|
||||
- 3630
|
||||
|
||||
The driver implements V4L2, Media controller and v4l2_subdev interfaces.
|
||||
Sensor, lens and flash drivers using the v4l2_subdev interface in the kernel
|
||||
are supported.
|
||||
|
||||
|
||||
Split to subdevs
|
||||
----------------
|
||||
|
||||
The OMAP 3 ISP is split into V4L2 subdevs, each of the blocks inside the ISP
|
||||
having one subdev to represent it. Each of the subdevs provide a V4L2 subdev
|
||||
interface to userspace.
|
||||
|
||||
- OMAP3 ISP CCP2
|
||||
- OMAP3 ISP CSI2a
|
||||
- OMAP3 ISP CCDC
|
||||
- OMAP3 ISP preview
|
||||
- OMAP3 ISP resizer
|
||||
- OMAP3 ISP AEWB
|
||||
- OMAP3 ISP AF
|
||||
- OMAP3 ISP histogram
|
||||
|
||||
Each possible link in the ISP is modelled by a link in the Media controller
|
||||
interface. For an example program see [#]_.
|
||||
|
||||
|
||||
Controlling the OMAP 3 ISP
|
||||
--------------------------
|
||||
|
||||
In general, the settings given to the OMAP 3 ISP take effect at the beginning
|
||||
of the following frame. This is done when the module becomes idle during the
|
||||
vertical blanking period on the sensor. In memory-to-memory operation the pipe
|
||||
is run one frame at a time. Applying the settings is done between the frames.
|
||||
|
||||
All the blocks in the ISP, excluding the CSI-2 and possibly the CCP2 receiver,
|
||||
insist on receiving complete frames. Sensors must thus never send the ISP
|
||||
partial frames.
|
||||
|
||||
Autoidle does have issues with some ISP blocks on the 3430, at least.
|
||||
Autoidle is only enabled on 3630 when the omap3isp module parameter autoidle
|
||||
is non-zero.
|
||||
|
||||
Technical reference manuals (TRMs) and other documentation
|
||||
----------------------------------------------------------
|
||||
|
||||
OMAP 3430 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP34xx_ES3.1.x_PUBLIC_TRM_vZM.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
OMAP 35xx TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/spruf98o> Referenced 2011-03-05.
|
||||
|
||||
OMAP 3630 TRM:
|
||||
<URL:http://focus.ti.com/pdfs/wtbu/OMAP36xx_ES1.x_PUBLIC_TRM_vQ.zip>
|
||||
Referenced 2011-03-05.
|
||||
|
||||
DM 3730 TRM:
|
||||
<URL:http://www.ti.com/litv/pdf/sprugn4h> Referenced 2011-03-06.
|
||||
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#] http://git.ideasonboard.org/?p=media-ctl.git;a=summary
|
62
Documentation/admin-guide/media/omap4_camera.rst
Normal file
62
Documentation/admin-guide/media/omap4_camera.rst
Normal file
|
@ -0,0 +1,62 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
OMAP4 ISS Driver
|
||||
================
|
||||
|
||||
Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
|
||||
|
||||
Copyright (C) 2012, Texas Instruments
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
The OMAP44XX family of chips contains the Imaging SubSystem (a.k.a. ISS),
|
||||
Which contains several components that can be categorized in 3 big groups:
|
||||
|
||||
- Interfaces (2 Interfaces: CSI2-A & CSI2-B/CCP2)
|
||||
- ISP (Image Signal Processor)
|
||||
- SIMCOP (Still Image Coprocessor)
|
||||
|
||||
For more information, please look in [#f1]_ for latest version of:
|
||||
"OMAP4430 Multimedia Device Silicon Revision 2.x"
|
||||
|
||||
As of Revision AB, the ISS is described in detail in section 8.
|
||||
|
||||
This driver is supporting **only** the CSI2-A/B interfaces for now.
|
||||
|
||||
It makes use of the Media Controller framework [#f2]_, and inherited most of the
|
||||
code from OMAP3 ISP driver (found under drivers/media/platform/omap3isp/\*),
|
||||
except that it doesn't need an IOMMU now for ISS buffers memory mapping.
|
||||
|
||||
Supports usage of MMAP buffers only (for now).
|
||||
|
||||
Tested platforms
|
||||
----------------
|
||||
|
||||
- OMAP4430SDP, w/ ES2.1 GP & SEVM4430-CAM-V1-0 (Contains IMX060 & OV5640, in
|
||||
which only the last one is supported, outputting YUV422 frames).
|
||||
|
||||
- TI Blaze MDP, w/ OMAP4430 ES2.2 EMU (Contains 1 IMX060 & 2 OV5650 sensors, in
|
||||
which only the OV5650 are supported, outputting RAW10 frames).
|
||||
|
||||
- PandaBoard, Rev. A2, w/ OMAP4430 ES2.1 GP & OV adapter board, tested with
|
||||
following sensors:
|
||||
* OV5640
|
||||
* OV5650
|
||||
|
||||
- Tested on mainline kernel:
|
||||
|
||||
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary
|
||||
|
||||
Tag: v3.3 (commit c16fa4f2ad19908a47c63d8fa436a1178438c7e7)
|
||||
|
||||
File list
|
||||
---------
|
||||
drivers/staging/media/omap4iss/
|
||||
include/linux/platform_data/media/omap4iss.h
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#f1] http://focus.ti.com/general/docs/wtbu/wtbudocumentcenter.tsp?navigationId=12037&templateId=6123#62
|
||||
.. [#f2] http://lwn.net/Articles/420485/
|
33
Documentation/admin-guide/media/opera-firmware.rst
Normal file
33
Documentation/admin-guide/media/opera-firmware.rst
Normal file
|
@ -0,0 +1,33 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Opera firmware
|
||||
==============
|
||||
|
||||
Author: Marco Gittler <g.marco@freenet.de>
|
||||
|
||||
To extract the firmware for the Opera DVB-S1 USB-Box
|
||||
you need to copy the files:
|
||||
|
||||
2830SCap2.sys
|
||||
2830SLoad2.sys
|
||||
|
||||
from the windriver disk into this directory.
|
||||
|
||||
Then run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
scripts/get_dvb_firmware opera1
|
||||
|
||||
and after that you have 2 files:
|
||||
|
||||
dvb-usb-opera-01.fw
|
||||
dvb-usb-opera1-fpga-01.fw
|
||||
|
||||
in here.
|
||||
|
||||
Copy them into /lib/firmware/ .
|
||||
|
||||
After that the driver can load the firmware
|
||||
(if you have enabled firmware loading
|
||||
in kernel config and have hotplug running).
|
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
92
Documentation/admin-guide/media/other-usb-cardlist.rst
Normal file
|
@ -0,0 +1,92 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Other USB cards list
|
||||
====================
|
||||
|
||||
================ ====================================== =====================
|
||||
Driver Card name USB IDs
|
||||
================ ====================================== =====================
|
||||
airspy Airspy 1d50:60a1
|
||||
dvb-as102 Abilis Systems DVB-Titan 1BA6:0001
|
||||
dvb-as102 PCTV Systems picoStick (74e) 2013:0246
|
||||
dvb-as102 Elgato EyeTV DTT Deluxe 0fd9:002c
|
||||
dvb-as102 nBox DVB-T Dongle 0b89:0007
|
||||
dvb-as102 Sky IT Digital Key (green led) 2137:0001
|
||||
b2c2-flexcop-usb Technisat/B2C2 FlexCop II/IIb/III 0af7:0101
|
||||
Digital TV
|
||||
cpia2 Vision's CPiA2 cameras 0553:0100, 0553:0140,
|
||||
such as the Digital Blue QX5 0553:0151
|
||||
go7007 WIS GO7007 MPEG encoder 1943:a250, 093b:a002,
|
||||
093b:a004, 0eb1:6666,
|
||||
0eb1:6668
|
||||
hackrf HackRF Software Decoder Radio 1d50:6089
|
||||
hdpvr Hauppauge HD PVR 2040:4900, 2040:4901,
|
||||
2040:4902, 2040:4982,
|
||||
2040:4903
|
||||
msi2500 Mirics MSi3101 SDR Dongle 1df7:2500, 2040:d300
|
||||
pvrusb2 Hauppauge WinTV-PVR USB2 2040:2900, 2040:2950,
|
||||
2040:2400, 1164:0622,
|
||||
1164:0602, 11ba:1003,
|
||||
11ba:1001, 2040:7300,
|
||||
2040:7500, 2040:7501,
|
||||
0ccd:0039, 2040:7502,
|
||||
2040:7510
|
||||
pwc Creative Webcam 5 041E:400C
|
||||
pwc Creative Webcam Pro Ex 041E:4011
|
||||
pwc Logitech QuickCam 3000 Pro 046D:08B0
|
||||
pwc Logitech QuickCam Notebook Pro 046D:08B1
|
||||
pwc Logitech QuickCam 4000 Pro 046D:08B2
|
||||
pwc Logitech QuickCam Zoom (old model) 046D:08B3
|
||||
pwc Logitech QuickCam Zoom (new model) 046D:08B4
|
||||
pwc Logitech QuickCam Orbit/Sphere 046D:08B5
|
||||
pwc Logitech/Cisco VT Camera 046D:08B6
|
||||
pwc Logitech ViewPort AV 100 046D:08B7
|
||||
pwc Logitech QuickCam 046D:08B8
|
||||
pwc Philips PCA645VC 0471:0302
|
||||
pwc Philips PCA646VC 0471:0303
|
||||
pwc Askey VC010 type 2 0471:0304
|
||||
pwc Philips PCVC675K (Vesta) 0471:0307
|
||||
pwc Philips PCVC680K (Vesta Pro) 0471:0308
|
||||
pwc Philips PCVC690K (Vesta Pro Scan) 0471:030C
|
||||
pwc Philips PCVC730K (ToUCam Fun), 0471:0310
|
||||
PCVC830 (ToUCam II)
|
||||
pwc Philips PCVC740K (ToUCam Pro), 0471:0311
|
||||
PCVC840 (ToUCam II)
|
||||
pwc Philips PCVC750K (ToUCam Pro Scan) 0471:0312
|
||||
pwc Philips PCVC720K/40 (ToUCam XS) 0471:0313
|
||||
pwc Philips SPC 900NC 0471:0329
|
||||
pwc Philips SPC 880NC 0471:032C
|
||||
pwc Sotec Afina Eye 04CC:8116
|
||||
pwc Samsung MPC-C10 055D:9000
|
||||
pwc Samsung MPC-C30 055D:9001
|
||||
pwc Samsung SNC-35E (Ver3.0) 055D:9002
|
||||
pwc Askey VC010 type 1 069A:0001
|
||||
pwc AME Co. Afina Eye 06BE:8116
|
||||
pwc Visionite VCS-UC300 0d81:1900
|
||||
pwc Visionite VCS-UM100 0d81:1910
|
||||
s2255drv Sensoray 2255 1943:2255, 1943:2257
|
||||
stk1160 STK1160 USB video capture dongle 05e1:0408
|
||||
stkwebcam Syntek DC1125 174f:a311, 05e1:0501
|
||||
dvb-ttusb-budget Technotrend/Hauppauge Nova-USB devices 0b48:1003, 0b48:1004,
|
||||
0b48:1005
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1006
|
||||
DEC3000-s
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1007
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder 0b48:1008
|
||||
DEC2000-t
|
||||
dvb-ttusb_dec Technotrend/Hauppauge MPEG decoder
|
||||
DEC2540-t 0b48:1009
|
||||
usbtv Fushicai USBTV007 Audio-Video Grabber 1b71:3002, 1f71:3301,
|
||||
1f71:3306
|
||||
zr364xx USB ZR364XX Camera 08ca:0109, 041e:4024,
|
||||
0d64:0108, 0546:3187,
|
||||
0d64:3108, 0595:4343,
|
||||
0bb0:500d, 0feb:2004,
|
||||
055f:b500, 08ca:2062,
|
||||
052b:1a18, 04c8:0729,
|
||||
04f2:a208, 0784:0040,
|
||||
06d6:0034, 0a17:0062,
|
||||
06d6:003b, 0a17:004e,
|
||||
041e:405d, 08ca:2102,
|
||||
06d6:003d
|
||||
================ ====================================== =====================
|
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
107
Documentation/admin-guide/media/pci-cardlist.rst
Normal file
|
@ -0,0 +1,107 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
PCI drivers
|
||||
===========
|
||||
|
||||
The PCI boards are identified by an identification called PCI ID. The PCI ID
|
||||
is actually composed by two parts:
|
||||
|
||||
- Vendor ID and device ID;
|
||||
- Subsystem ID and Subsystem device ID;
|
||||
|
||||
The ``lspci -nn`` command allows identifying the vendor/device PCI IDs:
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 3
|
||||
|
||||
$ lspci -nn
|
||||
...
|
||||
00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
|
||||
00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
|
||||
01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
|
||||
02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
|
||||
02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
|
||||
02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
|
||||
...
|
||||
|
||||
The subsystem IDs can be obtained using ``lspci -vn``
|
||||
|
||||
.. code-block:: none
|
||||
:emphasize-lines: 4
|
||||
|
||||
$ lspci -vn
|
||||
...
|
||||
00:0a.0 0480: 1131:7133 (rev d1)
|
||||
Subsystem: 1461:f01d
|
||||
Flags: bus master, medium devsel, latency 32, IRQ 209
|
||||
Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
|
||||
Capabilities: [40] Power Management version 2
|
||||
...
|
||||
|
||||
At the above example, the first card uses the ``saa7134`` driver, and
|
||||
has a vendor/device PCI ID equal to ``1131:7133`` and a PCI subsystem
|
||||
ID equal to ``1461:f01d`` (see :doc:`Saa7134 card list<saa7134-cardlist>`).
|
||||
|
||||
Unfortunately, sometimes the same PCI subsystem ID is used by different
|
||||
products. So, several media drivers allow passing a ``card=`` parameter,
|
||||
in order to setup a card number that would match the correct settings for
|
||||
an specific board.
|
||||
|
||||
The current supported PCI/PCIe cards (not including staging drivers) are
|
||||
listed below\ [#]_.
|
||||
|
||||
.. [#] some of the drivers have sub-drivers, not shown at this table
|
||||
|
||||
================ ========================================================
|
||||
Driver Name
|
||||
================ ========================================================
|
||||
altera-ci Altera FPGA based CI module
|
||||
b2c2-flexcop-pci Technisat/B2C2 Air/Sky/Cable2PC PCI
|
||||
bt878 DVB/ATSC Support for bt878 based TV cards
|
||||
bttv BT8x8 Video For Linux
|
||||
cobalt Cisco Cobalt
|
||||
cx18 Conexant cx23418 MPEG encoder
|
||||
cx23885 Conexant cx23885 (2388x successor)
|
||||
cx25821 Conexant cx25821
|
||||
cx88xx Conexant 2388x (bt878 successor)
|
||||
ddbridge Digital Devices bridge
|
||||
dm1105 SDMC DM1105 based PCI cards
|
||||
dt3155 DT3155 frame grabber
|
||||
dvb-ttpci AV7110 cards
|
||||
earth-pt1 PT1 cards
|
||||
earth-pt3 Earthsoft PT3 cards
|
||||
hexium_gemini Hexium Gemini frame grabber
|
||||
hexium_orion Hexium HV-PCI6 and Orion frame grabber
|
||||
hopper HOPPER based cards
|
||||
ipu3-cio2 Intel ipu3-cio2 driver
|
||||
ivtv Conexant cx23416/cx23415 MPEG encoder/decoder
|
||||
ivtvfb Conexant cx23415 framebuffer
|
||||
mantis MANTIS based cards
|
||||
meye Sony Vaio Picturebook Motion Eye
|
||||
mxb Siemens-Nixdorf 'Multimedia eXtension Board'
|
||||
netup-unidvb NetUP Universal DVB card
|
||||
ngene Micronas nGene
|
||||
pluto2 Pluto2 cards
|
||||
saa7134 Philips SAA7134
|
||||
saa7164 NXP SAA7164
|
||||
smipcie SMI PCIe DVBSky cards
|
||||
solo6x10 Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264)
|
||||
sta2x11_vip STA2X11 VIP Video For Linux
|
||||
tw5864 Techwell TW5864 video/audio grabber and encoder
|
||||
tw686x Intersil/Techwell TW686x
|
||||
tw68 Techwell tw68x Video For Linux
|
||||
================ ========================================================
|
||||
|
||||
Some of those drivers support multiple devices, as shown at the card
|
||||
lists below:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
bttv-cardlist
|
||||
cx18-cardlist
|
||||
cx23885-cardlist
|
||||
cx88-cardlist
|
||||
ivtv-cardlist
|
||||
saa7134-cardlist
|
||||
saa7164-cardlist
|
247
Documentation/admin-guide/media/philips.rst
Normal file
247
Documentation/admin-guide/media/philips.rst
Normal file
|
@ -0,0 +1,247 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Philips webcams (pwc driver)
|
||||
============================
|
||||
|
||||
This file contains some additional information for the Philips and OEM webcams.
|
||||
E-mail: webcam@smcc.demon.nl Last updated: 2004-01-19
|
||||
Site: http://www.smcc.demon.nl/webcam/
|
||||
|
||||
As of this moment, the following cameras are supported:
|
||||
|
||||
* Philips PCA645
|
||||
* Philips PCA646
|
||||
* Philips PCVC675
|
||||
* Philips PCVC680
|
||||
* Philips PCVC690
|
||||
* Philips PCVC720/40
|
||||
* Philips PCVC730
|
||||
* Philips PCVC740
|
||||
* Philips PCVC750
|
||||
* Askey VC010
|
||||
* Creative Labs Webcam 5
|
||||
* Creative Labs Webcam Pro Ex
|
||||
* Logitech QuickCam 3000 Pro
|
||||
* Logitech QuickCam 4000 Pro
|
||||
* Logitech QuickCam Notebook Pro
|
||||
* Logitech QuickCam Zoom
|
||||
* Logitech QuickCam Orbit
|
||||
* Logitech QuickCam Sphere
|
||||
* Samsung MPC-C10
|
||||
* Samsung MPC-C30
|
||||
* Sotec Afina Eye
|
||||
* AME CU-001
|
||||
* Visionite VCS-UM100
|
||||
* Visionite VCS-UC300
|
||||
|
||||
The main webpage for the Philips driver is at the address above. It contains
|
||||
a lot of extra information, a FAQ, and the binary plugin 'PWCX'. This plugin
|
||||
contains decompression routines that allow you to use higher image sizes and
|
||||
framerates; in addition the webcam uses less bandwidth on the USB bus (handy
|
||||
if you want to run more than 1 camera simultaneously). These routines fall
|
||||
under a NDA, and may therefore not be distributed as source; however, its use
|
||||
is completely optional.
|
||||
|
||||
You can build this code either into your kernel, or as a module. I recommend
|
||||
the latter, since it makes troubleshooting a lot easier. The built-in
|
||||
microphone is supported through the USB Audio class.
|
||||
|
||||
When you load the module you can set some default settings for the
|
||||
camera; some programs depend on a particular image-size or -format and
|
||||
don't know how to set it properly in the driver. The options are:
|
||||
|
||||
size
|
||||
Can be one of 'sqcif', 'qsif', 'qcif', 'sif', 'cif' or
|
||||
'vga', for an image size of resp. 128x96, 160x120, 176x144,
|
||||
320x240, 352x288 and 640x480 (of course, only for those cameras that
|
||||
support these resolutions).
|
||||
|
||||
fps
|
||||
Specifies the desired framerate. Is an integer in the range of 4-30.
|
||||
|
||||
fbufs
|
||||
This parameter specifies the number of internal buffers to use for storing
|
||||
frames from the cam. This will help if the process that reads images from
|
||||
the cam is a bit slow or momentarily busy. However, on slow machines it
|
||||
only introduces lag, so choose carefully. The default is 3, which is
|
||||
reasonable. You can set it between 2 and 5.
|
||||
|
||||
mbufs
|
||||
This is an integer between 1 and 10. It will tell the module the number of
|
||||
buffers to reserve for mmap(), VIDIOCCGMBUF, VIDIOCMCAPTURE and friends.
|
||||
The default is 2, which is adequate for most applications (double
|
||||
buffering).
|
||||
|
||||
Should you experience a lot of 'Dumping frame...' messages during
|
||||
grabbing with a tool that uses mmap(), you might want to increase if.
|
||||
However, it doesn't really buffer images, it just gives you a bit more
|
||||
slack when your program is behind. But you need a multi-threaded or
|
||||
forked program to really take advantage of these buffers.
|
||||
|
||||
The absolute maximum is 10, but don't set it too high! Every buffer takes
|
||||
up 460 KB of RAM, so unless you have a lot of memory setting this to
|
||||
something more than 4 is an absolute waste. This memory is only
|
||||
allocated during open(), so nothing is wasted when the camera is not in
|
||||
use.
|
||||
|
||||
power_save
|
||||
When power_save is enabled (set to 1), the module will try to shut down
|
||||
the cam on close() and re-activate on open(). This will save power and
|
||||
turn off the LED. Not all cameras support this though (the 645 and 646
|
||||
don't have power saving at all), and some models don't work either (they
|
||||
will shut down, but never wake up). Consider this experimental. By
|
||||
default this option is disabled.
|
||||
|
||||
compression (only useful with the plugin)
|
||||
With this option you can control the compression factor that the camera
|
||||
uses to squeeze the image through the USB bus. You can set the
|
||||
parameter between 0 and 3::
|
||||
|
||||
0 = prefer uncompressed images; if the requested mode is not available
|
||||
in an uncompressed format, the driver will silently switch to low
|
||||
compression.
|
||||
1 = low compression.
|
||||
2 = medium compression.
|
||||
3 = high compression.
|
||||
|
||||
High compression takes less bandwidth of course, but it could also
|
||||
introduce some unwanted artefacts. The default is 2, medium compression.
|
||||
See the FAQ on the website for an overview of which modes require
|
||||
compression.
|
||||
|
||||
The compression parameter does not apply to the 645 and 646 cameras
|
||||
and OEM models derived from those (only a few). Most cams honour this
|
||||
parameter.
|
||||
|
||||
leds
|
||||
This settings takes 2 integers, that define the on/off time for the LED
|
||||
(in milliseconds). One of the interesting things that you can do with
|
||||
this is let the LED blink while the camera is in use. This::
|
||||
|
||||
leds=500,500
|
||||
|
||||
will blink the LED once every second. But with::
|
||||
|
||||
leds=0,0
|
||||
|
||||
the LED never goes on, making it suitable for silent surveillance.
|
||||
|
||||
By default the camera's LED is on solid while in use, and turned off
|
||||
when the camera is not used anymore.
|
||||
|
||||
This parameter works only with the ToUCam range of cameras (720, 730, 740,
|
||||
750) and OEMs. For other cameras this command is silently ignored, and
|
||||
the LED cannot be controlled.
|
||||
|
||||
Finally: this parameters does not take effect UNTIL the first time you
|
||||
open the camera device. Until then, the LED remains on.
|
||||
|
||||
dev_hint
|
||||
A long standing problem with USB devices is their dynamic nature: you
|
||||
never know what device a camera gets assigned; it depends on module load
|
||||
order, the hub configuration, the order in which devices are plugged in,
|
||||
and the phase of the moon (i.e. it can be random). With this option you
|
||||
can give the driver a hint as to what video device node (/dev/videoX) it
|
||||
should use with a specific camera. This is also handy if you have two
|
||||
cameras of the same model.
|
||||
|
||||
A camera is specified by its type (the number from the camera model,
|
||||
like PCA645, PCVC750VC, etc) and optionally the serial number (visible
|
||||
in /sys/kernel/debug/usb/devices). A hint consists of a string with the
|
||||
following format::
|
||||
|
||||
[type[.serialnumber]:]node
|
||||
|
||||
The square brackets mean that both the type and the serialnumber are
|
||||
optional, but a serialnumber cannot be specified without a type (which
|
||||
would be rather pointless). The serialnumber is separated from the type
|
||||
by a '.'; the node number by a ':'.
|
||||
|
||||
This somewhat cryptic syntax is best explained by a few examples::
|
||||
|
||||
dev_hint=3,5 The first detected cam gets assigned
|
||||
/dev/video3, the second /dev/video5. Any
|
||||
other cameras will get the first free
|
||||
available slot (see below).
|
||||
|
||||
dev_hint=645:1,680:2 The PCA645 camera will get /dev/video1,
|
||||
and a PCVC680 /dev/video2.
|
||||
|
||||
dev_hint=645.0123:3,645.4567:0 The PCA645 camera with serialnumber
|
||||
0123 goes to /dev/video3, the same
|
||||
camera model with the 4567 serial
|
||||
gets /dev/video0.
|
||||
|
||||
dev_hint=750:1,4,5,6 The PCVC750 camera will get /dev/video1, the
|
||||
next 3 Philips cams will use /dev/video4
|
||||
through /dev/video6.
|
||||
|
||||
Some points worth knowing:
|
||||
|
||||
- Serialnumbers are case sensitive and must be written full, including
|
||||
leading zeroes (it's treated as a string).
|
||||
- If a device node is already occupied, registration will fail and
|
||||
the webcam is not available.
|
||||
- You can have up to 64 video devices; be sure to make enough device
|
||||
nodes in /dev if you want to spread the numbers.
|
||||
After /dev/video9 comes /dev/video10 (not /dev/videoA).
|
||||
- If a camera does not match any dev_hint, it will simply get assigned
|
||||
the first available device node, just as it used to be.
|
||||
|
||||
trace
|
||||
In order to better detect problems, it is now possible to turn on a
|
||||
'trace' of some of the calls the module makes; it logs all items in your
|
||||
kernel log at debug level.
|
||||
|
||||
The trace variable is a bitmask; each bit represents a certain feature.
|
||||
If you want to trace something, look up the bit value(s) in the table
|
||||
below, add the values together and supply that to the trace variable.
|
||||
|
||||
====== ======= ================================================ =======
|
||||
Value Value Description Default
|
||||
(dec) (hex)
|
||||
====== ======= ================================================ =======
|
||||
1 0x1 Module initialization; this will log messages On
|
||||
while loading and unloading the module
|
||||
|
||||
2 0x2 probe() and disconnect() traces On
|
||||
|
||||
4 0x4 Trace open() and close() calls Off
|
||||
|
||||
8 0x8 read(), mmap() and associated ioctl() calls Off
|
||||
|
||||
16 0x10 Memory allocation of buffers, etc. Off
|
||||
|
||||
32 0x20 Showing underflow, overflow and Dumping frame On
|
||||
messages
|
||||
|
||||
64 0x40 Show viewport and image sizes Off
|
||||
|
||||
128 0x80 PWCX debugging Off
|
||||
====== ======= ================================================ =======
|
||||
|
||||
For example, to trace the open() & read() functions, sum 8 + 4 = 12,
|
||||
so you would supply trace=12 during insmod or modprobe. If
|
||||
you want to turn the initialization and probing tracing off, set trace=0.
|
||||
The default value for trace is 35 (0x23).
|
||||
|
||||
|
||||
|
||||
Example::
|
||||
|
||||
# modprobe pwc size=cif fps=15 power_save=1
|
||||
|
||||
The fbufs, mbufs and trace parameters are global and apply to all connected
|
||||
cameras. Each camera has its own set of buffers.
|
||||
|
||||
size and fps only specify defaults when you open() the device; this is to
|
||||
accommodate some tools that don't set the size. You can change these
|
||||
settings after open() with the Video4Linux ioctl() calls. The default of
|
||||
defaults is QCIF size at 10 fps.
|
||||
|
||||
The compression parameter is semiglobal; it sets the initial compression
|
||||
preference for all camera's, but this parameter can be set per camera with
|
||||
the VIDIOCPWCSCQUAL ioctl() call.
|
||||
|
||||
All parameters are optional.
|
||||
|
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
90
Documentation/admin-guide/media/platform-cardlist.rst
Normal file
|
@ -0,0 +1,90 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Platform drivers
|
||||
================
|
||||
|
||||
There are several drivers that are focused on providing support for
|
||||
functionality that are already included at the main board, and don't
|
||||
use neither USB nor PCI bus. Those drivers are called platform
|
||||
drivers, and are very popular on embedded devices.
|
||||
|
||||
The current supported of platform drivers (not including staging drivers) are
|
||||
listed below
|
||||
|
||||
================= ============================================================
|
||||
Driver Name
|
||||
================= ============================================================
|
||||
am437x-vpfe TI AM437x VPFE
|
||||
aspeed-video Aspeed AST2400 and AST2500
|
||||
atmel-isc ATMEL Image Sensor Controller (ISC)
|
||||
atmel-isi ATMEL Image Sensor Interface (ISI)
|
||||
c8sectpfe SDR platform devices
|
||||
c8sectpfe SDR platform devices
|
||||
cafe_ccic Marvell 88ALP01 (Cafe) CMOS Camera Controller
|
||||
cdns-csi2rx Cadence MIPI-CSI2 RX Controller
|
||||
cdns-csi2tx Cadence MIPI-CSI2 TX Controller
|
||||
coda-vpu Chips&Media Coda multi-standard codec IP
|
||||
dm355_ccdc TI DM355 CCDC video capture
|
||||
dm644x_ccdc TI DM6446 CCDC video capture
|
||||
exynos-fimc-is EXYNOS4x12 FIMC-IS (Imaging Subsystem)
|
||||
exynos-fimc-lite EXYNOS FIMC-LITE camera interface
|
||||
exynos-gsc Samsung Exynos G-Scaler
|
||||
exy Samsung S5P/EXYNOS4 SoC series Camera Subsystem
|
||||
fsl-viu Freescale VIU
|
||||
imx-pxp i.MX Pixel Pipeline (PXP)
|
||||
isdf TI DM365 ISIF video capture
|
||||
mmp_camera Marvell Armada 610 integrated camera controller
|
||||
mtk_jpeg Mediatek JPEG Codec
|
||||
mtk-mdp Mediatek MDP
|
||||
mtk-vcodec-dec Mediatek Video Codec
|
||||
mtk-vpu Mediatek Video Processor Unit
|
||||
mx2_emmaprp MX2 eMMa-PrP
|
||||
omap3-isp OMAP 3 Camera
|
||||
omap-vout OMAP2/OMAP3 V4L2-Display
|
||||
pxa_camera PXA27x Quick Capture Interface
|
||||
qcom-camss Qualcomm V4L2 Camera Subsystem
|
||||
rcar-csi2 R-Car MIPI CSI-2 Receiver
|
||||
rcar_drif Renesas Digital Radio Interface (DRIF)
|
||||
rcar-fcp Renesas Frame Compression Processor
|
||||
rcar_fdp1 Renesas Fine Display Processor
|
||||
rcar_jpu Renesas JPEG Processing Unit
|
||||
rcar-vin R-Car Video Input (VIN)
|
||||
renesas-ceu Renesas Capture Engine Unit (CEU)
|
||||
rockchip-rga Rockchip Raster 2d Graphic Acceleration Unit
|
||||
s3c-camif Samsung S3C24XX/S3C64XX SoC Camera Interface
|
||||
s5p-csis S5P/EXYNOS MIPI-CSI2 receiver (MIPI-CSIS)
|
||||
s5p-fimc S5P/EXYNOS4 FIMC/CAMIF camera interface
|
||||
s5p-g2d Samsung S5P and EXYNOS4 G2D 2d graphics accelerator
|
||||
s5p-jpeg Samsung S5P/Exynos3250/Exynos4 JPEG codec
|
||||
s5p-mfc Samsung S5P MFC Video Codec
|
||||
sh_veu SuperH VEU mem2mem video processing
|
||||
sh_vou SuperH VOU video output
|
||||
stm32-dcmi STM32 Digital Camera Memory Interface (DCMI)
|
||||
sun4i-csi Allwinner A10 CMOS Sensor Interface Support
|
||||
sun6i-csi Allwinner V3s Camera Sensor Interface
|
||||
sun8i-di Allwinner Deinterlace
|
||||
sun8i-rotate Allwinner DE2 rotation
|
||||
ti-cal TI Memory-to-memory multimedia devices
|
||||
ti-csc TI DVB platform devices
|
||||
ti-vpe TI VPE (Video Processing Engine)
|
||||
venus-enc Qualcomm Venus V4L2 encoder/decoder
|
||||
via-camera VIAFB camera controller
|
||||
video-mux Video Multiplexer
|
||||
vpif_display TI DaVinci VPIF V4L2-Display
|
||||
vpif_capture TI DaVinci VPIF video capture
|
||||
vpss TI DaVinci VPBE V4L2-Display
|
||||
vsp1 Renesas VSP1 Video Processing Engine
|
||||
xilinx-tpg Xilinx Video Test Pattern Generator
|
||||
xilinx-video Xilinx Video IP (EXPERIMENTAL)
|
||||
xilinx-vtc Xilinx Video Timing Controller
|
||||
================= ============================================================
|
||||
|
||||
MMC/SDIO DVB adapters
|
||||
---------------------
|
||||
|
||||
======= ===========================================
|
||||
Driver Name
|
||||
======= ===========================================
|
||||
smssdio Siano SMS1xxx based MDTV via SDIO interface
|
||||
======= ===========================================
|
||||
|
13
Documentation/admin-guide/media/pulse8-cec.rst
Normal file
13
Documentation/admin-guide/media/pulse8-cec.rst
Normal file
|
@ -0,0 +1,13 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Pulse-Eight CEC Adapter driver
|
||||
==============================
|
||||
|
||||
The pulse8-cec driver implements the following module option:
|
||||
|
||||
``persistent_config``
|
||||
---------------------
|
||||
|
||||
By default this is off, but when set to 1 the driver will store the current
|
||||
settings to the device's internal eeprom and restore it the next time the
|
||||
device is connected to the USB port.
|
185
Documentation/admin-guide/media/qcom_camss.rst
Normal file
185
Documentation/admin-guide/media/qcom_camss.rst
Normal file
|
@ -0,0 +1,185 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
Qualcomm Camera Subsystem driver
|
||||
================================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
|
||||
This file documents the Qualcomm Camera Subsystem driver located under
|
||||
drivers/media/platform/qcom/camss.
|
||||
|
||||
The current version of the driver supports the Camera Subsystem found on
|
||||
Qualcomm MSM8916/APQ8016 and MSM8996/APQ8096 processors.
|
||||
|
||||
The driver implements V4L2, Media controller and V4L2 subdev interfaces.
|
||||
Camera sensor using V4L2 subdev interface in the kernel is supported.
|
||||
|
||||
The driver is implemented using as a reference the Qualcomm Camera Subsystem
|
||||
driver for Android as found in Code Aurora [#f1]_ [#f2]_.
|
||||
|
||||
|
||||
Qualcomm Camera Subsystem hardware
|
||||
----------------------------------
|
||||
|
||||
The Camera Subsystem hardware found on 8x16 / 8x96 processors and supported by
|
||||
the driver consists of:
|
||||
|
||||
- 2 / 3 CSIPHY modules. They handle the Physical layer of the CSI2 receivers.
|
||||
A separate camera sensor can be connected to each of the CSIPHY module;
|
||||
- 2 / 4 CSID (CSI Decoder) modules. They handle the Protocol and Application
|
||||
layer of the CSI2 receivers. A CSID can decode data stream from any of the
|
||||
CSIPHY. Each CSID also contains a TG (Test Generator) block which can generate
|
||||
artificial input data for test purposes;
|
||||
- ISPIF (ISP Interface) module. Handles the routing of the data streams from
|
||||
the CSIDs to the inputs of the VFE;
|
||||
- 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing
|
||||
hardware blocks. The VFE has different input interfaces. The PIX (Pixel) input
|
||||
interface feeds the input data to the image processing pipeline. The image
|
||||
processing pipeline contains also a scale and crop module at the end. Three
|
||||
RDI (Raw Dump Interface) input interfaces bypass the image processing
|
||||
pipeline. The VFE also contains the AXI bus interface which writes the output
|
||||
data to memory.
|
||||
|
||||
|
||||
Supported functionality
|
||||
-----------------------
|
||||
|
||||
The current version of the driver supports:
|
||||
|
||||
- Input from camera sensor via CSIPHY;
|
||||
- Generation of test input data by the TG in CSID;
|
||||
- RDI interface of VFE
|
||||
|
||||
- Raw dump of the input data to memory.
|
||||
|
||||
Supported formats:
|
||||
|
||||
- YUYV/UYVY/YVYU/VYUY (packed YUV 4:2:2 - V4L2_PIX_FMT_YUYV /
|
||||
V4L2_PIX_FMT_UYVY / V4L2_PIX_FMT_YVYU / V4L2_PIX_FMT_VYUY);
|
||||
- MIPI RAW8 (8bit Bayer RAW - V4L2_PIX_FMT_SRGGB8 /
|
||||
V4L2_PIX_FMT_SGRBG8 / V4L2_PIX_FMT_SGBRG8 / V4L2_PIX_FMT_SBGGR8);
|
||||
- MIPI RAW10 (10bit packed Bayer RAW - V4L2_PIX_FMT_SBGGR10P /
|
||||
V4L2_PIX_FMT_SGBRG10P / V4L2_PIX_FMT_SGRBG10P / V4L2_PIX_FMT_SRGGB10P /
|
||||
V4L2_PIX_FMT_Y10P);
|
||||
- MIPI RAW12 (12bit packed Bayer RAW - V4L2_PIX_FMT_SRGGB12P /
|
||||
V4L2_PIX_FMT_SGBRG12P / V4L2_PIX_FMT_SGRBG12P / V4L2_PIX_FMT_SRGGB12P).
|
||||
- (8x96 only) MIPI RAW14 (14bit packed Bayer RAW - V4L2_PIX_FMT_SRGGB14P /
|
||||
V4L2_PIX_FMT_SGBRG14P / V4L2_PIX_FMT_SGRBG14P / V4L2_PIX_FMT_SRGGB14P).
|
||||
|
||||
- (8x96 only) Format conversion of the input data.
|
||||
|
||||
Supported input formats:
|
||||
|
||||
- MIPI RAW10 (10bit packed Bayer RAW - V4L2_PIX_FMT_SBGGR10P / V4L2_PIX_FMT_Y10P).
|
||||
|
||||
Supported output formats:
|
||||
|
||||
- Plain16 RAW10 (10bit unpacked Bayer RAW - V4L2_PIX_FMT_SBGGR10 / V4L2_PIX_FMT_Y10).
|
||||
|
||||
- PIX interface of VFE
|
||||
|
||||
- Format conversion of the input data.
|
||||
|
||||
Supported input formats:
|
||||
|
||||
- YUYV/UYVY/YVYU/VYUY (packed YUV 4:2:2 - V4L2_PIX_FMT_YUYV /
|
||||
V4L2_PIX_FMT_UYVY / V4L2_PIX_FMT_YVYU / V4L2_PIX_FMT_VYUY).
|
||||
|
||||
Supported output formats:
|
||||
|
||||
- NV12/NV21 (two plane YUV 4:2:0 - V4L2_PIX_FMT_NV12 / V4L2_PIX_FMT_NV21);
|
||||
- NV16/NV61 (two plane YUV 4:2:2 - V4L2_PIX_FMT_NV16 / V4L2_PIX_FMT_NV61).
|
||||
- (8x96 only) YUYV/UYVY/YVYU/VYUY (packed YUV 4:2:2 - V4L2_PIX_FMT_YUYV /
|
||||
V4L2_PIX_FMT_UYVY / V4L2_PIX_FMT_YVYU / V4L2_PIX_FMT_VYUY).
|
||||
|
||||
- Scaling support. Configuration of the VFE Encoder Scale module
|
||||
for downscalling with ratio up to 16x.
|
||||
|
||||
- Cropping support. Configuration of the VFE Encoder Crop module.
|
||||
|
||||
- Concurrent and independent usage of two (8x96: three) data inputs -
|
||||
could be camera sensors and/or TG.
|
||||
|
||||
|
||||
Driver Architecture and Design
|
||||
------------------------------
|
||||
|
||||
The driver implements the V4L2 subdev interface. With the goal to model the
|
||||
hardware links between the modules and to expose a clean, logical and usable
|
||||
interface, the driver is split into V4L2 sub-devices as follows (8x16 / 8x96):
|
||||
|
||||
- 2 / 3 CSIPHY sub-devices - each CSIPHY is represented by a single sub-device;
|
||||
- 2 / 4 CSID sub-devices - each CSID is represented by a single sub-device;
|
||||
- 2 / 4 ISPIF sub-devices - ISPIF is represented by a number of sub-devices
|
||||
equal to the number of CSID sub-devices;
|
||||
- 4 / 8 VFE sub-devices - VFE is represented by a number of sub-devices equal to
|
||||
the number of the input interfaces (3 RDI and 1 PIX for each VFE).
|
||||
|
||||
The considerations to split the driver in this particular way are as follows:
|
||||
|
||||
- representing CSIPHY and CSID modules by a separate sub-device for each module
|
||||
allows to model the hardware links between these modules;
|
||||
- representing VFE by a separate sub-devices for each input interface allows
|
||||
to use the input interfaces concurrently and independently as this is
|
||||
supported by the hardware;
|
||||
- representing ISPIF by a number of sub-devices equal to the number of CSID
|
||||
sub-devices allows to create linear media controller pipelines when using two
|
||||
cameras simultaneously. This avoids branches in the pipelines which otherwise
|
||||
will require a) userspace and b) media framework (e.g. power on/off
|
||||
operations) to make assumptions about the data flow from a sink pad to a
|
||||
source pad on a single media entity.
|
||||
|
||||
Each VFE sub-device is linked to a separate video device node.
|
||||
|
||||
The media controller pipeline graph is as follows (with connected two / three
|
||||
OV5645 camera sensors):
|
||||
|
||||
.. _qcom_camss_graph:
|
||||
|
||||
.. kernel-figure:: qcom_camss_graph.dot
|
||||
:alt: qcom_camss_graph.dot
|
||||
:align: center
|
||||
|
||||
Media pipeline graph 8x16
|
||||
|
||||
.. kernel-figure:: qcom_camss_8x96_graph.dot
|
||||
:alt: qcom_camss_8x96_graph.dot
|
||||
:align: center
|
||||
|
||||
Media pipeline graph 8x96
|
||||
|
||||
|
||||
Implementation
|
||||
--------------
|
||||
|
||||
Runtime configuration of the hardware (updating settings while streaming) is
|
||||
not required to implement the currently supported functionality. The complete
|
||||
configuration on each hardware module is applied on STREAMON ioctl based on
|
||||
the current active media links, formats and controls set.
|
||||
|
||||
The output size of the scaler module in the VFE is configured with the actual
|
||||
compose selection rectangle on the sink pad of the 'msm_vfe0_pix' entity.
|
||||
|
||||
The crop output area of the crop module in the VFE is configured with the actual
|
||||
crop selection rectangle on the source pad of the 'msm_vfe0_pix' entity.
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
APQ8016 Specification:
|
||||
https://developer.qualcomm.com/download/sd410/snapdragon-410-processor-device-specification.pdf
|
||||
Referenced 2016-11-24.
|
||||
|
||||
APQ8096 Specification:
|
||||
https://developer.qualcomm.com/download/sd820e/qualcomm-snapdragon-820e-processor-apq8096sge-device-specification.pdf
|
||||
Referenced 2018-06-22.
|
||||
|
||||
References
|
||||
----------
|
||||
|
||||
.. [#f1] https://source.codeaurora.org/quic/la/kernel/msm-3.10/
|
||||
.. [#f2] https://source.codeaurora.org/quic/la/kernel/msm-3.18/
|
106
Documentation/admin-guide/media/qcom_camss_8x96_graph.dot
Normal file
106
Documentation/admin-guide/media/qcom_camss_8x96_graph.dot
Normal file
|
@ -0,0 +1,106 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | msm_csiphy0\n/dev/v4l-subdev0 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port1 -> n0000000a:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000d:port0 [style=dashed]
|
||||
n00000001:port1 -> n00000010:port0 [style=dashed]
|
||||
n00000001:port1 -> n00000013:port0 [style=dashed]
|
||||
n00000004 [label="{{<port0> 0} | msm_csiphy1\n/dev/v4l-subdev1 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000004:port1 -> n0000000a:port0 [style=dashed]
|
||||
n00000004:port1 -> n0000000d:port0 [style=dashed]
|
||||
n00000004:port1 -> n00000010:port0 [style=dashed]
|
||||
n00000004:port1 -> n00000013:port0 [style=dashed]
|
||||
n00000007 [label="{{<port0> 0} | msm_csiphy2\n/dev/v4l-subdev2 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000007:port1 -> n0000000a:port0 [style=dashed]
|
||||
n00000007:port1 -> n0000000d:port0 [style=dashed]
|
||||
n00000007:port1 -> n00000010:port0 [style=dashed]
|
||||
n00000007:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000a [label="{{<port0> 0} | msm_csid0\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000a:port1 -> n00000016:port0 [style=dashed]
|
||||
n0000000a:port1 -> n00000019:port0 [style=dashed]
|
||||
n0000000a:port1 -> n0000001c:port0 [style=dashed]
|
||||
n0000000a:port1 -> n0000001f:port0 [style=dashed]
|
||||
n0000000d [label="{{<port0> 0} | msm_csid1\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000d:port1 -> n00000016:port0 [style=dashed]
|
||||
n0000000d:port1 -> n00000019:port0 [style=dashed]
|
||||
n0000000d:port1 -> n0000001c:port0 [style=dashed]
|
||||
n0000000d:port1 -> n0000001f:port0 [style=dashed]
|
||||
n00000010 [label="{{<port0> 0} | msm_csid2\n/dev/v4l-subdev5 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000010:port1 -> n00000016:port0 [style=dashed]
|
||||
n00000010:port1 -> n00000019:port0 [style=dashed]
|
||||
n00000010:port1 -> n0000001c:port0 [style=dashed]
|
||||
n00000010:port1 -> n0000001f:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | msm_csid3\n/dev/v4l-subdev6 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016:port0 [style=dashed]
|
||||
n00000013:port1 -> n00000019:port0 [style=dashed]
|
||||
n00000013:port1 -> n0000001c:port0 [style=dashed]
|
||||
n00000013:port1 -> n0000001f:port0 [style=dashed]
|
||||
n00000016 [label="{{<port0> 0} | msm_ispif0\n/dev/v4l-subdev7 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000016:port1 -> n00000022:port0 [style=dashed]
|
||||
n00000016:port1 -> n0000002b:port0 [style=dashed]
|
||||
n00000016:port1 -> n00000034:port0 [style=dashed]
|
||||
n00000016:port1 -> n0000003d:port0 [style=dashed]
|
||||
n00000016:port1 -> n00000046:port0 [style=dashed]
|
||||
n00000016:port1 -> n0000004f:port0 [style=dashed]
|
||||
n00000016:port1 -> n00000058:port0 [style=dashed]
|
||||
n00000016:port1 -> n00000061:port0 [style=dashed]
|
||||
n00000019 [label="{{<port0> 0} | msm_ispif1\n/dev/v4l-subdev8 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000019:port1 -> n00000022:port0 [style=dashed]
|
||||
n00000019:port1 -> n0000002b:port0 [style=dashed]
|
||||
n00000019:port1 -> n00000034:port0 [style=dashed]
|
||||
n00000019:port1 -> n0000003d:port0 [style=dashed]
|
||||
n00000019:port1 -> n00000046:port0 [style=dashed]
|
||||
n00000019:port1 -> n0000004f:port0 [style=dashed]
|
||||
n00000019:port1 -> n00000058:port0 [style=dashed]
|
||||
n00000019:port1 -> n00000061:port0 [style=dashed]
|
||||
n0000001c [label="{{<port0> 0} | msm_ispif2\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n00000022:port0 [style=dashed]
|
||||
n0000001c:port1 -> n0000002b:port0 [style=dashed]
|
||||
n0000001c:port1 -> n00000034:port0 [style=dashed]
|
||||
n0000001c:port1 -> n0000003d:port0 [style=dashed]
|
||||
n0000001c:port1 -> n00000046:port0 [style=dashed]
|
||||
n0000001c:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000001c:port1 -> n00000058:port0 [style=dashed]
|
||||
n0000001c:port1 -> n00000061:port0 [style=dashed]
|
||||
n0000001f [label="{{<port0> 0} | msm_ispif3\n/dev/v4l-subdev10 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001f:port1 -> n00000022:port0 [style=dashed]
|
||||
n0000001f:port1 -> n0000002b:port0 [style=dashed]
|
||||
n0000001f:port1 -> n00000034:port0 [style=dashed]
|
||||
n0000001f:port1 -> n0000003d:port0 [style=dashed]
|
||||
n0000001f:port1 -> n00000046:port0 [style=dashed]
|
||||
n0000001f:port1 -> n0000004f:port0 [style=dashed]
|
||||
n0000001f:port1 -> n00000058:port0 [style=dashed]
|
||||
n0000001f:port1 -> n00000061:port0 [style=dashed]
|
||||
n00000022 [label="{{<port0> 0} | msm_vfe0_rdi0\n/dev/v4l-subdev11 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000022:port1 -> n00000025 [style=bold]
|
||||
n00000025 [label="msm_vfe0_video0\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002b [label="{{<port0> 0} | msm_vfe0_rdi1\n/dev/v4l-subdev12 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002b:port1 -> n0000002e [style=bold]
|
||||
n0000002e [label="msm_vfe0_video1\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000034 [label="{{<port0> 0} | msm_vfe0_rdi2\n/dev/v4l-subdev13 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000034:port1 -> n00000037 [style=bold]
|
||||
n00000037 [label="msm_vfe0_video2\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000003d [label="{{<port0> 0} | msm_vfe0_pix\n/dev/v4l-subdev14 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000003d:port1 -> n00000040 [style=bold]
|
||||
n00000040 [label="msm_vfe0_video3\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000046 [label="{{<port0> 0} | msm_vfe1_rdi0\n/dev/v4l-subdev15 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000046:port1 -> n00000049 [style=bold]
|
||||
n00000049 [label="msm_vfe1_video0\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000004f [label="{{<port0> 0} | msm_vfe1_rdi1\n/dev/v4l-subdev16 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000004f:port1 -> n00000052 [style=bold]
|
||||
n00000052 [label="msm_vfe1_video1\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000058 [label="{{<port0> 0} | msm_vfe1_rdi2\n/dev/v4l-subdev17 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000058:port1 -> n0000005b [style=bold]
|
||||
n0000005b [label="msm_vfe1_video2\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000061 [label="{{<port0> 0} | msm_vfe1_pix\n/dev/v4l-subdev18 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000061:port1 -> n00000064 [style=bold]
|
||||
n00000064 [label="msm_vfe1_video3\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
|
||||
n000000e2 [label="{{} | ov5645 3-0039\n/dev/v4l-subdev19 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n000000e2:port0 -> n00000004:port0 [style=bold]
|
||||
n000000e4 [label="{{} | ov5645 3-003a\n/dev/v4l-subdev20 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n000000e4:port0 -> n00000007:port0 [style=bold]
|
||||
n000000e6 [label="{{} | ov5645 3-003b\n/dev/v4l-subdev21 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n000000e6:port0 -> n00000001:port0 [style=bold]
|
||||
}
|
43
Documentation/admin-guide/media/qcom_camss_graph.dot
Normal file
43
Documentation/admin-guide/media/qcom_camss_graph.dot
Normal file
|
@ -0,0 +1,43 @@
|
|||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
digraph board {
|
||||
rankdir=TB
|
||||
n00000001 [label="{{<port0> 0} | msm_csiphy0\n/dev/v4l-subdev0 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000001:port1 -> n00000007:port0 [style=dashed]
|
||||
n00000001:port1 -> n0000000a:port0 [style=dashed]
|
||||
n00000004 [label="{{<port0> 0} | msm_csiphy1\n/dev/v4l-subdev1 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000004:port1 -> n00000007:port0 [style=dashed]
|
||||
n00000004:port1 -> n0000000a:port0 [style=dashed]
|
||||
n00000007 [label="{{<port0> 0} | msm_csid0\n/dev/v4l-subdev2 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000007:port1 -> n0000000d:port0 [style=dashed]
|
||||
n00000007:port1 -> n00000010:port0 [style=dashed]
|
||||
n0000000a [label="{{<port0> 0} | msm_csid1\n/dev/v4l-subdev3 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000a:port1 -> n0000000d:port0 [style=dashed]
|
||||
n0000000a:port1 -> n00000010:port0 [style=dashed]
|
||||
n0000000d [label="{{<port0> 0} | msm_ispif0\n/dev/v4l-subdev4 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000000d:port1 -> n00000013:port0 [style=dashed]
|
||||
n0000000d:port1 -> n0000001c:port0 [style=dashed]
|
||||
n0000000d:port1 -> n00000025:port0 [style=dashed]
|
||||
n0000000d:port1 -> n0000002e:port0 [style=dashed]
|
||||
n00000010 [label="{{<port0> 0} | msm_ispif1\n/dev/v4l-subdev5 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000010:port1 -> n00000013:port0 [style=dashed]
|
||||
n00000010:port1 -> n0000001c:port0 [style=dashed]
|
||||
n00000010:port1 -> n00000025:port0 [style=dashed]
|
||||
n00000010:port1 -> n0000002e:port0 [style=dashed]
|
||||
n00000013 [label="{{<port0> 0} | msm_vfe0_rdi0\n/dev/v4l-subdev6 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000013:port1 -> n00000016 [style=bold]
|
||||
n00000016 [label="msm_vfe0_video0\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000001c [label="{{<port0> 0} | msm_vfe0_rdi1\n/dev/v4l-subdev7 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000001c:port1 -> n0000001f [style=bold]
|
||||
n0000001f [label="msm_vfe0_video1\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000025 [label="{{<port0> 0} | msm_vfe0_rdi2\n/dev/v4l-subdev8 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000025:port1 -> n00000028 [style=bold]
|
||||
n00000028 [label="msm_vfe0_video2\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
|
||||
n0000002e [label="{{<port0> 0} | msm_vfe0_pix\n/dev/v4l-subdev9 | {<port1> 1}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n0000002e:port1 -> n00000031 [style=bold]
|
||||
n00000031 [label="msm_vfe0_video3\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
|
||||
n00000057 [label="{{} | ov5645 1-0076\n/dev/v4l-subdev10 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000057:port0 -> n00000001:port0 [style=bold]
|
||||
n00000059 [label="{{} | ov5645 1-0074\n/dev/v4l-subdev11 | {<port0> 0}}", shape=Mrecord, style=filled, fillcolor=green]
|
||||
n00000059:port0 -> n00000004:port0 [style=bold]
|
||||
}
|
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
44
Documentation/admin-guide/media/radio-cardlist.rst
Normal file
|
@ -0,0 +1,44 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Radio drivers
|
||||
=============
|
||||
|
||||
There is also support for pure AM/FM radio, and even for some FM radio
|
||||
transmitters:
|
||||
|
||||
===================== =========================================================
|
||||
Driver Name
|
||||
===================== =========================================================
|
||||
si4713 Silicon Labs Si4713 FM Radio Transmitter
|
||||
radio-aztech Aztech/Packard Bell Radio
|
||||
radio-cadet ADS Cadet AM/FM Tuner
|
||||
radio-gemtek GemTek Radio card (or compatible)
|
||||
radio-maxiradio Guillemot MAXI Radio FM 2000 radio
|
||||
radio-miropcm20 miroSOUND PCM20 radio
|
||||
radio-aimslab AIMSlab RadioTrack (aka RadioReveal)
|
||||
radio-rtrack2 AIMSlab RadioTrack II
|
||||
saa7706h SAA7706H Car Radio DSP
|
||||
radio-sf16fmi SF16-FMI/SF16-FMP/SF16-FMD Radio
|
||||
radio-sf16fmr2 SF16-FMR2/SF16-FMD2 Radio
|
||||
radio-shark Griffin radioSHARK USB radio receiver
|
||||
shark2 Griffin radioSHARK2 USB radio receiver
|
||||
radio-si470x-common Silicon Labs Si470x FM Radio Receiver
|
||||
radio-si476x Silicon Laboratories Si476x I2C FM Radio
|
||||
radio-tea5764 TEA5764 I2C FM radio
|
||||
tef6862 TEF6862 Car Radio Enhanced Selectivity Tuner
|
||||
radio-terratec TerraTec ActiveRadio ISA Standalone
|
||||
radio-timb Enable the Timberdale radio driver
|
||||
radio-trust Trust FM radio card
|
||||
radio-typhoon Typhoon Radio (a.k.a. EcoRadio)
|
||||
radio-wl1273 Texas Instruments WL1273 I2C FM Radio
|
||||
fm_drv ISA radio devices
|
||||
fm_drv ISA radio devices
|
||||
radio-zoltrix Zoltrix Radio
|
||||
dsbr100 D-Link/GemTek USB FM radio
|
||||
radio-keene Keene FM Transmitter USB
|
||||
radio-ma901 Masterkit MA901 USB FM radio
|
||||
radio-mr800 AverMedia MR 800 USB FM radio
|
||||
radio-raremono Thanko's Raremono AM/FM/SW radio
|
||||
radio-si470x-usb Silicon Labs Si470x FM Radio Receiver support with USB
|
||||
radio-usb-si4713 Silicon Labs Si4713 FM Radio Transmitter support with USB
|
||||
===================== =========================================================
|
39
Documentation/admin-guide/media/rcar-fdp1.rst
Normal file
39
Documentation/admin-guide/media/rcar-fdp1.rst
Normal file
|
@ -0,0 +1,39 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Renesas R-Car Fine Display Processor (FDP1) Driver
|
||||
==================================================
|
||||
|
||||
The R-Car FDP1 driver implements driver-specific controls as follows.
|
||||
|
||||
``V4L2_CID_DEINTERLACING_MODE (menu)``
|
||||
The video deinterlacing mode (such as Bob, Weave, ...). The R-Car FDP1
|
||||
driver implements the following modes.
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 0
|
||||
:stub-columns: 0
|
||||
:widths: 1 4
|
||||
|
||||
* - ``"Progressive" (0)``
|
||||
- The input image video stream is progressive (not interlaced). No
|
||||
deinterlacing is performed. Apart from (optional) format and encoding
|
||||
conversion output frames are identical to the input frames.
|
||||
* - ``"Adaptive 2D/3D" (1)``
|
||||
- Motion adaptive version of 2D and 3D deinterlacing. Use 3D deinterlacing
|
||||
in the presence of fast motion and 2D deinterlacing with diagonal
|
||||
interpolation otherwise.
|
||||
* - ``"Fixed 2D" (2)``
|
||||
- The current field is scaled vertically by averaging adjacent lines to
|
||||
recover missing lines. This method is also known as blending or Line
|
||||
Averaging (LAV).
|
||||
* - ``"Fixed 3D" (3)``
|
||||
- The previous and next fields are averaged to recover lines missing from
|
||||
the current field. This method is also known as Field Averaging (FAV).
|
||||
* - ``"Previous field" (4)``
|
||||
- The current field is weaved with the previous field, i.e. the previous
|
||||
field is used to fill missing lines from the current field. This method
|
||||
is also known as weave deinterlacing.
|
||||
* - ``"Next field" (5)``
|
||||
- The current field is weaved with the next field, i.e. the next field is
|
||||
used to fill missing lines from the current field. This method is also
|
||||
known as weave deinterlacing.
|
76
Documentation/admin-guide/media/remote-controller.rst
Normal file
76
Documentation/admin-guide/media/remote-controller.rst
Normal file
|
@ -0,0 +1,76 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
======================================================
|
||||
Infrared remote control support in video4linux drivers
|
||||
======================================================
|
||||
|
||||
Authors: Gerd Hoffmann, Mauro Carvalho Chehab
|
||||
|
||||
Basics
|
||||
======
|
||||
|
||||
Most analog and digital TV boards support remote controllers. Several of
|
||||
them have a microprocessor that receives the IR carriers, convert into
|
||||
pulse/space sequences and then to scan codes, returning such codes to
|
||||
userspace ("scancode mode"). Other boards return just the pulse/space
|
||||
sequences ("raw mode").
|
||||
|
||||
The support for remote controller in scancode mode is provided by the
|
||||
standard Linux input layer. The support for raw mode is provided via LIRC.
|
||||
|
||||
In order to check the support and test it, it is suggested to download
|
||||
the `v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_. It provides
|
||||
two tools to handle remote controllers:
|
||||
|
||||
- ir-keytable: provides a way to query the remote controller, list the
|
||||
protocols it supports, enable in-kernel support for IR decoder or
|
||||
switch the protocol and to test the reception of scan codes;
|
||||
|
||||
- ir-ctl: provide tools to handle remote controllers that support raw mode
|
||||
via LIRC interface.
|
||||
|
||||
Usually, the remote controller module is auto-loaded when the TV card is
|
||||
detected. However, for a few devices, you need to manually load the
|
||||
ir-kbd-i2c module.
|
||||
|
||||
How it works
|
||||
============
|
||||
|
||||
The modules register the remote as keyboard within the linux input
|
||||
layer, i.e. you'll see the keys of the remote as normal key strokes
|
||||
(if CONFIG_INPUT_KEYBOARD is enabled).
|
||||
|
||||
Using the event devices (CONFIG_INPUT_EVDEV) it is possible for
|
||||
applications to access the remote via /dev/input/event<n> devices.
|
||||
The udev/systemd will automatically create the devices. If you install
|
||||
the `v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_, it may also
|
||||
automatically load a different keytable than the default one. Please see
|
||||
`v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_ ir-keytable.1
|
||||
man page for details.
|
||||
|
||||
The ir-keytable tool is nice for trouble shooting, i.e. to check
|
||||
whenever the input device is really present, which of the devices it
|
||||
is, check whenever pressing keys on the remote actually generates
|
||||
events and the like. You can also use any other input utility that changes
|
||||
the keymaps, like the input kbd utility.
|
||||
|
||||
|
||||
Using with lircd
|
||||
----------------
|
||||
|
||||
The latest versions of the lircd daemon supports reading events from the
|
||||
linux input layer (via event device). It also supports receiving IR codes
|
||||
in lirc mode.
|
||||
|
||||
|
||||
Using without lircd
|
||||
-------------------
|
||||
|
||||
Xorg recognizes several IR keycodes that have its numerical value lower
|
||||
than 247. With the advent of Wayland, the input driver got updated too,
|
||||
and should now accept all keycodes. Yet, you may want to just reasign
|
||||
the keycodes to something that your favorite media application likes.
|
||||
|
||||
This can be done by setting
|
||||
`v4l-utils <https://git.linuxtv.org/v4l-utils.git/>`_ to load your own
|
||||
keytable in runtime. Please read ir-keytable.1 man page for details.
|
803
Documentation/admin-guide/media/saa7134-cardlist.rst
Normal file
803
Documentation/admin-guide/media/saa7134-cardlist.rst
Normal file
|
@ -0,0 +1,803 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
SAA7134 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- UNKNOWN/GENERIC
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Proteus Pro [philips reference design]
|
||||
- 1131:2001, 1131:2001
|
||||
|
||||
* - 2
|
||||
- LifeView FlyVIDEO3000
|
||||
- 5168:0138, 4e42:0138
|
||||
|
||||
* - 3
|
||||
- LifeView/Typhoon FlyVIDEO2000
|
||||
- 5168:0138, 4e42:0138
|
||||
|
||||
* - 4
|
||||
- EMPRESS
|
||||
- 1131:6752
|
||||
|
||||
* - 5
|
||||
- SKNet Monster TV
|
||||
- 1131:4e85
|
||||
|
||||
* - 6
|
||||
- Tevion MD 9717
|
||||
-
|
||||
|
||||
* - 7
|
||||
- KNC One TV-Station RDS / Typhoon TV Tuner RDS
|
||||
- 1131:fe01, 1894:fe01
|
||||
|
||||
* - 8
|
||||
- Terratec Cinergy 400 TV
|
||||
- 153b:1142
|
||||
|
||||
* - 9
|
||||
- Medion 5044
|
||||
-
|
||||
|
||||
* - 10
|
||||
- Kworld/KuroutoShikou SAA7130-TVPCI
|
||||
-
|
||||
|
||||
* - 11
|
||||
- Terratec Cinergy 600 TV
|
||||
- 153b:1143
|
||||
|
||||
* - 12
|
||||
- Medion 7134
|
||||
- 16be:0003, 16be:5000
|
||||
|
||||
* - 13
|
||||
- Typhoon TV+Radio 90031
|
||||
-
|
||||
|
||||
* - 14
|
||||
- ELSA EX-VISION 300TV
|
||||
- 1048:226b
|
||||
|
||||
* - 15
|
||||
- ELSA EX-VISION 500TV
|
||||
- 1048:226a
|
||||
|
||||
* - 16
|
||||
- ASUS TV-FM 7134
|
||||
- 1043:4842, 1043:4830, 1043:4840
|
||||
|
||||
* - 17
|
||||
- AOPEN VA1000 POWER
|
||||
- 1131:7133
|
||||
|
||||
* - 18
|
||||
- BMK MPEX No Tuner
|
||||
-
|
||||
|
||||
* - 19
|
||||
- Compro VideoMate TV
|
||||
- 185b:c100
|
||||
|
||||
* - 20
|
||||
- Matrox CronosPlus
|
||||
- 102B:48d0
|
||||
|
||||
* - 21
|
||||
- 10MOONS PCI TV CAPTURE CARD
|
||||
- 1131:2001
|
||||
|
||||
* - 22
|
||||
- AverMedia M156 / Medion 2819
|
||||
- 1461:a70b
|
||||
|
||||
* - 23
|
||||
- BMK MPEX Tuner
|
||||
-
|
||||
|
||||
* - 24
|
||||
- KNC One TV-Station DVR
|
||||
- 1894:a006
|
||||
|
||||
* - 25
|
||||
- ASUS TV-FM 7133
|
||||
- 1043:4843
|
||||
|
||||
* - 26
|
||||
- Pinnacle PCTV Stereo (saa7134)
|
||||
- 11bd:002b
|
||||
|
||||
* - 27
|
||||
- Manli MuchTV M-TV002
|
||||
-
|
||||
|
||||
* - 28
|
||||
- Manli MuchTV M-TV001
|
||||
-
|
||||
|
||||
* - 29
|
||||
- Nagase Sangyo TransGear 3000TV
|
||||
- 1461:050c
|
||||
|
||||
* - 30
|
||||
- Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM)
|
||||
- 1019:4cb4
|
||||
|
||||
* - 31
|
||||
- Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM)
|
||||
- 1019:4cb5
|
||||
|
||||
* - 32
|
||||
- AVACS SmartTV
|
||||
-
|
||||
|
||||
* - 33
|
||||
- AVerMedia DVD EZMaker
|
||||
- 1461:10ff
|
||||
|
||||
* - 34
|
||||
- Noval Prime TV 7133
|
||||
-
|
||||
|
||||
* - 35
|
||||
- AverMedia AverTV Studio 305
|
||||
- 1461:2115
|
||||
|
||||
* - 36
|
||||
- UPMOST PURPLE TV
|
||||
- 12ab:0800
|
||||
|
||||
* - 37
|
||||
- Items MuchTV Plus / IT-005
|
||||
-
|
||||
|
||||
* - 38
|
||||
- Terratec Cinergy 200 TV
|
||||
- 153b:1152
|
||||
|
||||
* - 39
|
||||
- LifeView FlyTV Platinum Mini
|
||||
- 5168:0212, 4e42:0212, 5169:1502
|
||||
|
||||
* - 40
|
||||
- Compro VideoMate TV PVR/FM
|
||||
- 185b:c100
|
||||
|
||||
* - 41
|
||||
- Compro VideoMate TV Gold+
|
||||
- 185b:c100
|
||||
|
||||
* - 42
|
||||
- Sabrent SBT-TVFM (saa7130)
|
||||
-
|
||||
|
||||
* - 43
|
||||
- :Zolid Xpert TV7134
|
||||
-
|
||||
|
||||
* - 44
|
||||
- Empire PCI TV-Radio LE
|
||||
-
|
||||
|
||||
* - 45
|
||||
- Avermedia AVerTV Studio 307
|
||||
- 1461:9715
|
||||
|
||||
* - 46
|
||||
- AVerMedia Cardbus TV/Radio (E500)
|
||||
- 1461:d6ee
|
||||
|
||||
* - 47
|
||||
- Terratec Cinergy 400 mobile
|
||||
- 153b:1162
|
||||
|
||||
* - 48
|
||||
- Terratec Cinergy 600 TV MK3
|
||||
- 153b:1158
|
||||
|
||||
* - 49
|
||||
- Compro VideoMate Gold+ Pal
|
||||
- 185b:c200
|
||||
|
||||
* - 50
|
||||
- Pinnacle PCTV 300i DVB-T + PAL
|
||||
- 11bd:002d
|
||||
|
||||
* - 51
|
||||
- ProVideo PV952
|
||||
- 1540:9524
|
||||
|
||||
* - 52
|
||||
- AverMedia AverTV/305
|
||||
- 1461:2108
|
||||
|
||||
* - 53
|
||||
- ASUS TV-FM 7135
|
||||
- 1043:4845
|
||||
|
||||
* - 54
|
||||
- LifeView FlyTV Platinum FM / Gold
|
||||
- 5168:0214, 5168:5214, 1489:0214, 5168:0304
|
||||
|
||||
* - 55
|
||||
- LifeView FlyDVB-T DUO / MSI TV@nywhere Duo
|
||||
- 5168:0306, 4E42:0306
|
||||
|
||||
* - 56
|
||||
- Avermedia AVerTV 307
|
||||
- 1461:a70a
|
||||
|
||||
* - 57
|
||||
- Avermedia AVerTV GO 007 FM
|
||||
- 1461:f31f
|
||||
|
||||
* - 58
|
||||
- ADS Tech Instant TV (saa7135)
|
||||
- 1421:0350, 1421:0351, 1421:0370, 1421:1370
|
||||
|
||||
* - 59
|
||||
- Kworld/Tevion V-Stream Xpert TV PVR7134
|
||||
-
|
||||
|
||||
* - 60
|
||||
- LifeView/Typhoon/Genius FlyDVB-T Duo Cardbus
|
||||
- 5168:0502, 4e42:0502, 1489:0502
|
||||
|
||||
* - 61
|
||||
- Philips TOUGH DVB-T reference design
|
||||
- 1131:2004
|
||||
|
||||
* - 62
|
||||
- Compro VideoMate TV Gold+II
|
||||
-
|
||||
|
||||
* - 63
|
||||
- Kworld Xpert TV PVR7134
|
||||
-
|
||||
|
||||
* - 64
|
||||
- FlyTV mini Asus Digimatrix
|
||||
- 1043:0210
|
||||
|
||||
* - 65
|
||||
- V-Stream Studio TV Terminator
|
||||
-
|
||||
|
||||
* - 66
|
||||
- Yuan TUN-900 (saa7135)
|
||||
-
|
||||
|
||||
* - 67
|
||||
- Beholder BeholdTV 409 FM
|
||||
- 0000:4091
|
||||
|
||||
* - 68
|
||||
- GoTView 7135 PCI
|
||||
- 5456:7135
|
||||
|
||||
* - 69
|
||||
- Philips EUROPA V3 reference design
|
||||
- 1131:2004
|
||||
|
||||
* - 70
|
||||
- Compro Videomate DVB-T300
|
||||
- 185b:c900
|
||||
|
||||
* - 71
|
||||
- Compro Videomate DVB-T200
|
||||
- 185b:c901
|
||||
|
||||
* - 72
|
||||
- RTD Embedded Technologies VFG7350
|
||||
- 1435:7350
|
||||
|
||||
* - 73
|
||||
- RTD Embedded Technologies VFG7330
|
||||
- 1435:7330
|
||||
|
||||
* - 74
|
||||
- LifeView FlyTV Platinum Mini2
|
||||
- 14c0:1212
|
||||
|
||||
* - 75
|
||||
- AVerMedia AVerTVHD MCE A180
|
||||
- 1461:1044
|
||||
|
||||
* - 76
|
||||
- SKNet MonsterTV Mobile
|
||||
- 1131:4ee9
|
||||
|
||||
* - 77
|
||||
- Pinnacle PCTV 40i/50i/110i (saa7133)
|
||||
- 11bd:002e
|
||||
|
||||
* - 78
|
||||
- ASUSTeK P7131 Dual
|
||||
- 1043:4862
|
||||
|
||||
* - 79
|
||||
- Sedna/MuchTV PC TV Cardbus TV/Radio (ITO25 Rev:2B)
|
||||
-
|
||||
|
||||
* - 80
|
||||
- ASUS Digimatrix TV
|
||||
- 1043:0210
|
||||
|
||||
* - 81
|
||||
- Philips Tiger reference design
|
||||
- 1131:2018
|
||||
|
||||
* - 82
|
||||
- MSI TV@Anywhere plus
|
||||
- 1462:6231, 1462:8624
|
||||
|
||||
* - 83
|
||||
- Terratec Cinergy 250 PCI TV
|
||||
- 153b:1160
|
||||
|
||||
* - 84
|
||||
- LifeView FlyDVB Trio
|
||||
- 5168:0319
|
||||
|
||||
* - 85
|
||||
- AverTV DVB-T 777
|
||||
- 1461:2c05, 1461:2c05
|
||||
|
||||
* - 86
|
||||
- LifeView FlyDVB-T / Genius VideoWonder DVB-T
|
||||
- 5168:0301, 1489:0301
|
||||
|
||||
* - 87
|
||||
- ADS Instant TV Duo Cardbus PTV331
|
||||
- 0331:1421
|
||||
|
||||
* - 88
|
||||
- Tevion/KWorld DVB-T 220RF
|
||||
- 17de:7201
|
||||
|
||||
* - 89
|
||||
- ELSA EX-VISION 700TV
|
||||
- 1048:226c
|
||||
|
||||
* - 90
|
||||
- Kworld ATSC110/115
|
||||
- 17de:7350, 17de:7352
|
||||
|
||||
* - 91
|
||||
- AVerMedia A169 B
|
||||
- 1461:7360
|
||||
|
||||
* - 92
|
||||
- AVerMedia A169 B1
|
||||
- 1461:6360
|
||||
|
||||
* - 93
|
||||
- Medion 7134 Bridge #2
|
||||
- 16be:0005
|
||||
|
||||
* - 94
|
||||
- LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB
|
||||
- 5168:3306, 5168:3502, 5168:3307, 4e42:3502
|
||||
|
||||
* - 95
|
||||
- LifeView FlyVIDEO3000 (NTSC)
|
||||
- 5169:0138
|
||||
|
||||
* - 96
|
||||
- Medion Md8800 Quadro
|
||||
- 16be:0007, 16be:0008, 16be:000d
|
||||
|
||||
* - 97
|
||||
- LifeView FlyDVB-S /Acorp TV134DS
|
||||
- 5168:0300, 4e42:0300
|
||||
|
||||
* - 98
|
||||
- Proteus Pro 2309
|
||||
- 0919:2003
|
||||
|
||||
* - 99
|
||||
- AVerMedia TV Hybrid A16AR
|
||||
- 1461:2c00
|
||||
|
||||
* - 100
|
||||
- Asus Europa2 OEM
|
||||
- 1043:4860
|
||||
|
||||
* - 101
|
||||
- Pinnacle PCTV 310i
|
||||
- 11bd:002f
|
||||
|
||||
* - 102
|
||||
- Avermedia AVerTV Studio 507
|
||||
- 1461:9715
|
||||
|
||||
* - 103
|
||||
- Compro Videomate DVB-T200A
|
||||
-
|
||||
|
||||
* - 104
|
||||
- Hauppauge WinTV-HVR1110 DVB-T/Hybrid
|
||||
- 0070:6700, 0070:6701, 0070:6702, 0070:6703, 0070:6704, 0070:6705
|
||||
|
||||
* - 105
|
||||
- Terratec Cinergy HT PCMCIA
|
||||
- 153b:1172
|
||||
|
||||
* - 106
|
||||
- Encore ENLTV
|
||||
- 1131:2342, 1131:2341, 3016:2344
|
||||
|
||||
* - 107
|
||||
- Encore ENLTV-FM
|
||||
- 1131:230f
|
||||
|
||||
* - 108
|
||||
- Terratec Cinergy HT PCI
|
||||
- 153b:1175
|
||||
|
||||
* - 109
|
||||
- Philips Tiger - S Reference design
|
||||
-
|
||||
|
||||
* - 110
|
||||
- Avermedia M102
|
||||
- 1461:f31e
|
||||
|
||||
* - 111
|
||||
- ASUS P7131 4871
|
||||
- 1043:4871
|
||||
|
||||
* - 112
|
||||
- ASUSTeK P7131 Hybrid
|
||||
- 1043:4876
|
||||
|
||||
* - 113
|
||||
- Elitegroup ECS TVP3XP FM1246 Tuner Card (PAL,FM)
|
||||
- 1019:4cb6
|
||||
|
||||
* - 114
|
||||
- KWorld DVB-T 210
|
||||
- 17de:7250
|
||||
|
||||
* - 115
|
||||
- Sabrent PCMCIA TV-PCB05
|
||||
- 0919:2003
|
||||
|
||||
* - 116
|
||||
- 10MOONS TM300 TV Card
|
||||
- 1131:2304
|
||||
|
||||
* - 117
|
||||
- Avermedia Super 007
|
||||
- 1461:f01d
|
||||
|
||||
* - 118
|
||||
- Beholder BeholdTV 401
|
||||
- 0000:4016
|
||||
|
||||
* - 119
|
||||
- Beholder BeholdTV 403
|
||||
- 0000:4036
|
||||
|
||||
* - 120
|
||||
- Beholder BeholdTV 403 FM
|
||||
- 0000:4037
|
||||
|
||||
* - 121
|
||||
- Beholder BeholdTV 405
|
||||
- 0000:4050
|
||||
|
||||
* - 122
|
||||
- Beholder BeholdTV 405 FM
|
||||
- 0000:4051
|
||||
|
||||
* - 123
|
||||
- Beholder BeholdTV 407
|
||||
- 0000:4070
|
||||
|
||||
* - 124
|
||||
- Beholder BeholdTV 407 FM
|
||||
- 0000:4071
|
||||
|
||||
* - 125
|
||||
- Beholder BeholdTV 409
|
||||
- 0000:4090
|
||||
|
||||
* - 126
|
||||
- Beholder BeholdTV 505 FM
|
||||
- 5ace:5050
|
||||
|
||||
* - 127
|
||||
- Beholder BeholdTV 507 FM / BeholdTV 509 FM
|
||||
- 5ace:5070, 5ace:5090
|
||||
|
||||
* - 128
|
||||
- Beholder BeholdTV Columbus TV/FM
|
||||
- 0000:5201
|
||||
|
||||
* - 129
|
||||
- Beholder BeholdTV 607 FM
|
||||
- 5ace:6070
|
||||
|
||||
* - 130
|
||||
- Beholder BeholdTV M6
|
||||
- 5ace:6190
|
||||
|
||||
* - 131
|
||||
- Twinhan Hybrid DTV-DVB 3056 PCI
|
||||
- 1822:0022
|
||||
|
||||
* - 132
|
||||
- Genius TVGO AM11MCE
|
||||
-
|
||||
|
||||
* - 133
|
||||
- NXP Snake DVB-S reference design
|
||||
-
|
||||
|
||||
* - 134
|
||||
- Medion/Creatix CTX953 Hybrid
|
||||
- 16be:0010
|
||||
|
||||
* - 135
|
||||
- MSI TV@nywhere A/D v1.1
|
||||
- 1462:8625
|
||||
|
||||
* - 136
|
||||
- AVerMedia Cardbus TV/Radio (E506R)
|
||||
- 1461:f436
|
||||
|
||||
* - 137
|
||||
- AVerMedia Hybrid TV/Radio (A16D)
|
||||
- 1461:f936
|
||||
|
||||
* - 138
|
||||
- Avermedia M115
|
||||
- 1461:a836
|
||||
|
||||
* - 139
|
||||
- Compro VideoMate T750
|
||||
- 185b:c900
|
||||
|
||||
* - 140
|
||||
- Avermedia DVB-S Pro A700
|
||||
- 1461:a7a1
|
||||
|
||||
* - 141
|
||||
- Avermedia DVB-S Hybrid+FM A700
|
||||
- 1461:a7a2
|
||||
|
||||
* - 142
|
||||
- Beholder BeholdTV H6
|
||||
- 5ace:6290
|
||||
|
||||
* - 143
|
||||
- Beholder BeholdTV M63
|
||||
- 5ace:6191
|
||||
|
||||
* - 144
|
||||
- Beholder BeholdTV M6 Extra
|
||||
- 5ace:6193
|
||||
|
||||
* - 145
|
||||
- AVerMedia MiniPCI DVB-T Hybrid M103
|
||||
- 1461:f636, 1461:f736
|
||||
|
||||
* - 146
|
||||
- ASUSTeK P7131 Analog
|
||||
-
|
||||
|
||||
* - 147
|
||||
- Asus Tiger 3in1
|
||||
- 1043:4878
|
||||
|
||||
* - 148
|
||||
- Encore ENLTV-FM v5.3
|
||||
- 1a7f:2008
|
||||
|
||||
* - 149
|
||||
- Avermedia PCI pure analog (M135A)
|
||||
- 1461:f11d
|
||||
|
||||
* - 150
|
||||
- Zogis Real Angel 220
|
||||
-
|
||||
|
||||
* - 151
|
||||
- ADS Tech Instant HDTV
|
||||
- 1421:0380
|
||||
|
||||
* - 152
|
||||
- Asus Tiger Rev:1.00
|
||||
- 1043:4857
|
||||
|
||||
* - 153
|
||||
- Kworld Plus TV Analog Lite PCI
|
||||
- 17de:7128
|
||||
|
||||
* - 154
|
||||
- Avermedia AVerTV GO 007 FM Plus
|
||||
- 1461:f31d
|
||||
|
||||
* - 155
|
||||
- Hauppauge WinTV-HVR1150 ATSC/QAM-Hybrid
|
||||
- 0070:6706, 0070:6708
|
||||
|
||||
* - 156
|
||||
- Hauppauge WinTV-HVR1120 DVB-T/Hybrid
|
||||
- 0070:6707, 0070:6709, 0070:670a
|
||||
|
||||
* - 157
|
||||
- Avermedia AVerTV Studio 507UA
|
||||
- 1461:a11b
|
||||
|
||||
* - 158
|
||||
- AVerMedia Cardbus TV/Radio (E501R)
|
||||
- 1461:b7e9
|
||||
|
||||
* - 159
|
||||
- Beholder BeholdTV 505 RDS
|
||||
- 0000:505B
|
||||
|
||||
* - 160
|
||||
- Beholder BeholdTV 507 RDS
|
||||
- 0000:5071
|
||||
|
||||
* - 161
|
||||
- Beholder BeholdTV 507 RDS
|
||||
- 0000:507B
|
||||
|
||||
* - 162
|
||||
- Beholder BeholdTV 607 FM
|
||||
- 5ace:6071
|
||||
|
||||
* - 163
|
||||
- Beholder BeholdTV 609 FM
|
||||
- 5ace:6090
|
||||
|
||||
* - 164
|
||||
- Beholder BeholdTV 609 FM
|
||||
- 5ace:6091
|
||||
|
||||
* - 165
|
||||
- Beholder BeholdTV 607 RDS
|
||||
- 5ace:6072
|
||||
|
||||
* - 166
|
||||
- Beholder BeholdTV 607 RDS
|
||||
- 5ace:6073
|
||||
|
||||
* - 167
|
||||
- Beholder BeholdTV 609 RDS
|
||||
- 5ace:6092
|
||||
|
||||
* - 168
|
||||
- Beholder BeholdTV 609 RDS
|
||||
- 5ace:6093
|
||||
|
||||
* - 169
|
||||
- Compro VideoMate S350/S300
|
||||
- 185b:c900
|
||||
|
||||
* - 170
|
||||
- AverMedia AverTV Studio 505
|
||||
- 1461:a115
|
||||
|
||||
* - 171
|
||||
- Beholder BeholdTV X7
|
||||
- 5ace:7595
|
||||
|
||||
* - 172
|
||||
- RoverMedia TV Link Pro FM
|
||||
- 19d1:0138
|
||||
|
||||
* - 173
|
||||
- Zolid Hybrid TV Tuner PCI
|
||||
- 1131:2004
|
||||
|
||||
* - 174
|
||||
- Asus Europa Hybrid OEM
|
||||
- 1043:4847
|
||||
|
||||
* - 175
|
||||
- Leadtek Winfast DTV1000S
|
||||
- 107d:6655
|
||||
|
||||
* - 176
|
||||
- Beholder BeholdTV 505 RDS
|
||||
- 0000:5051
|
||||
|
||||
* - 177
|
||||
- Hawell HW-404M7
|
||||
-
|
||||
|
||||
* - 178
|
||||
- Beholder BeholdTV H7
|
||||
- 5ace:7190
|
||||
|
||||
* - 179
|
||||
- Beholder BeholdTV A7
|
||||
- 5ace:7090
|
||||
|
||||
* - 180
|
||||
- Avermedia PCI M733A
|
||||
- 1461:4155, 1461:4255
|
||||
|
||||
* - 181
|
||||
- TechoTrend TT-budget T-3000
|
||||
- 13c2:2804
|
||||
|
||||
* - 182
|
||||
- Kworld PCI SBTVD/ISDB-T Full-Seg Hybrid
|
||||
- 17de:b136
|
||||
|
||||
* - 183
|
||||
- Compro VideoMate Vista M1F
|
||||
- 185b:c900
|
||||
|
||||
* - 184
|
||||
- Encore ENLTV-FM 3
|
||||
- 1a7f:2108
|
||||
|
||||
* - 185
|
||||
- MagicPro ProHDTV Pro2 DMB-TH/Hybrid
|
||||
- 17de:d136
|
||||
|
||||
* - 186
|
||||
- Beholder BeholdTV 501
|
||||
- 5ace:5010
|
||||
|
||||
* - 187
|
||||
- Beholder BeholdTV 503 FM
|
||||
- 5ace:5030
|
||||
|
||||
* - 188
|
||||
- Sensoray 811/911
|
||||
- 6000:0811, 6000:0911
|
||||
|
||||
* - 189
|
||||
- Kworld PC150-U
|
||||
- 17de:a134
|
||||
|
||||
* - 190
|
||||
- Asus My Cinema PS3-100
|
||||
- 1043:48cd
|
||||
|
||||
* - 191
|
||||
- Hawell HW-9004V1
|
||||
-
|
||||
|
||||
* - 192
|
||||
- AverMedia AverTV Satellite Hybrid+FM A706
|
||||
- 1461:2055
|
||||
|
||||
* - 193
|
||||
- WIS Voyager or compatible
|
||||
- 1905:7007
|
||||
|
||||
* - 194
|
||||
- AverMedia AverTV/505
|
||||
- 1461:a10a
|
||||
|
||||
* - 195
|
||||
- Leadtek Winfast TV2100 FM
|
||||
- 107d:6f3a
|
||||
|
||||
* - 196
|
||||
- SnaZio* TVPVR PRO
|
||||
- 1779:13cf
|
88
Documentation/admin-guide/media/saa7134.rst
Normal file
88
Documentation/admin-guide/media/saa7134.rst
Normal file
|
@ -0,0 +1,88 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
The saa7134 driver
|
||||
==================
|
||||
|
||||
Author Gerd Hoffmann
|
||||
|
||||
|
||||
This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV
|
||||
boards.
|
||||
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
Almost everything is working. video, sound, tuner, radio, mpeg ts, ...
|
||||
|
||||
As with bttv, card-specific tweaks are needed. Check CARDLIST for a
|
||||
list of known TV cards and saa7134-cards.c for the drivers card
|
||||
configuration info.
|
||||
|
||||
|
||||
Build
|
||||
-----
|
||||
|
||||
Once you pick up a Kernel source, you should configure, build,
|
||||
install and boot the new kernel. You'll need at least
|
||||
these config options::
|
||||
|
||||
./scripts/config -e PCI
|
||||
./scripts/config -e INPUT
|
||||
./scripts/config -m I2C
|
||||
./scripts/config -m MEDIA_SUPPORT
|
||||
./scripts/config -e MEDIA_PCI_SUPPORT
|
||||
./scripts/config -e MEDIA_ANALOG_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_DIGITAL_TV_SUPPORT
|
||||
./scripts/config -e MEDIA_RADIO_SUPPORT
|
||||
./scripts/config -e RC_CORE
|
||||
./scripts/config -e MEDIA_SUBDRV_AUTOSELECT
|
||||
./scripts/config -m VIDEO_SAA7134
|
||||
./scripts/config -e SAA7134_ALSA
|
||||
./scripts/config -e VIDEO_SAA7134_RC
|
||||
./scripts/config -e VIDEO_SAA7134_DVB
|
||||
./scripts/config -e VIDEO_SAA7134_GO7007
|
||||
|
||||
To build and install, you should run::
|
||||
|
||||
make && make modules_install && make install
|
||||
|
||||
Once the new Kernel is booted, saa7134 driver should be loaded automatically.
|
||||
|
||||
Depending on the card you might have to pass ``card=<nr>`` as insmod option.
|
||||
If so, please check :doc:`saa7134-cardlist` for valid choices.
|
||||
|
||||
Once you have your card type number, you can pass a modules configuration
|
||||
via a file (usually, it is either ``/etc/modules.conf`` or some file at
|
||||
``/etc/modules-load.d/``, but the actual place depends on your
|
||||
distribution), with this content::
|
||||
|
||||
options saa7134 card=13 # Assuming that your card type is #13
|
||||
|
||||
|
||||
Changes / Fixes
|
||||
---------------
|
||||
|
||||
Please mail to linux-media AT vger.kernel.org unified diffs against
|
||||
the linux media git tree:
|
||||
|
||||
https://git.linuxtv.org/media_tree.git/
|
||||
|
||||
This is done by committing a patch at a clone of the git tree and
|
||||
submitting the patch using ``git send-email``. Don't forget to
|
||||
describe at the lots what it changes / which problem it fixes / whatever
|
||||
it is good for ...
|
||||
|
||||
|
||||
Known Problems
|
||||
--------------
|
||||
|
||||
* The tuner for the flyvideos isn't detected automatically and the
|
||||
default might not work for you depending on which version you have.
|
||||
There is a ``tuner=`` insmod option to override the driver's default.
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
andrew.stevens@philips.com + werner.leeb@philips.com for providing
|
||||
saa7134 hardware specs and sample board.
|
71
Documentation/admin-guide/media/saa7164-cardlist.rst
Normal file
71
Documentation/admin-guide/media/saa7164-cardlist.rst
Normal file
|
@ -0,0 +1,71 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
SAA7164 cards list
|
||||
==================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- PCI subsystem IDs
|
||||
|
||||
* - 0
|
||||
- Unknown
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Generic Rev2
|
||||
-
|
||||
|
||||
* - 2
|
||||
- Generic Rev3
|
||||
-
|
||||
|
||||
* - 3
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:8880, 0070:8810
|
||||
|
||||
* - 4
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8980
|
||||
|
||||
* - 5
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8900
|
||||
|
||||
* - 6
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8901
|
||||
|
||||
* - 7
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:8891, 0070:8851
|
||||
|
||||
* - 8
|
||||
- Hauppauge WinTV-HVR2250
|
||||
- 0070:88A1
|
||||
|
||||
* - 9
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8940
|
||||
|
||||
* - 10
|
||||
- Hauppauge WinTV-HVR2200
|
||||
- 0070:8953
|
||||
|
||||
* - 11
|
||||
- Hauppauge WinTV-HVR2255(proto)
|
||||
- 0070:f111
|
||||
|
||||
* - 12
|
||||
- Hauppauge WinTV-HVR2255
|
||||
- 0070:f111
|
||||
|
||||
* - 13
|
||||
- Hauppauge WinTV-HVR2205
|
||||
- 0070:f123, 0070:f120
|
167
Documentation/admin-guide/media/si470x.rst
Normal file
167
Documentation/admin-guide/media/si470x.rst
Normal file
|
@ -0,0 +1,167 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
The Silicon Labs Si470x FM Radio Receivers driver
|
||||
=================================================
|
||||
|
||||
Copyright |copy| 2009 Tobias Lorenz <tobias.lorenz@gmx.net>
|
||||
|
||||
|
||||
Information from Silicon Labs
|
||||
-----------------------------
|
||||
|
||||
Silicon Laboratories is the manufacturer of the radio ICs, that nowadays are the
|
||||
most often used radio receivers in cell phones. Usually they are connected with
|
||||
I2C. But SiLabs also provides a reference design, which integrates this IC,
|
||||
together with a small microcontroller C8051F321, to form a USB radio.
|
||||
Part of this reference design is also a radio application in binary and source
|
||||
code. The software also contains an automatic firmware upgrade to the most
|
||||
current version. Information on these can be downloaded here:
|
||||
http://www.silabs.com/usbradio
|
||||
|
||||
|
||||
Supported ICs
|
||||
-------------
|
||||
|
||||
The following ICs have a very similar register set, so that they are or will be
|
||||
supported somewhen by the driver:
|
||||
|
||||
- Si4700: FM radio receiver
|
||||
- Si4701: FM radio receiver, RDS Support
|
||||
- Si4702: FM radio receiver
|
||||
- Si4703: FM radio receiver, RDS Support
|
||||
- Si4704: FM radio receiver, no external antenna required
|
||||
- Si4705: FM radio receiver, no external antenna required, RDS support, Dig I/O
|
||||
- Si4706: Enhanced FM RDS/TMC radio receiver, no external antenna required, RDS
|
||||
Support
|
||||
- Si4707: Dedicated weather band radio receiver with SAME decoder, RDS Support
|
||||
- Si4708: Smallest FM receivers
|
||||
- Si4709: Smallest FM receivers, RDS Support
|
||||
|
||||
More information on these can be downloaded here:
|
||||
http://www.silabs.com/products/mcu/Pages/USBFMRadioRD.aspx
|
||||
|
||||
|
||||
Supported USB devices
|
||||
---------------------
|
||||
|
||||
Currently the following USB radios (vendor:product) with the Silicon Labs si470x
|
||||
chips are known to work:
|
||||
|
||||
- 10c4:818a: Silicon Labs USB FM Radio Reference Design
|
||||
- 06e1:a155: ADS/Tech FM Radio Receiver (formerly Instant FM Music) (RDX-155-EF)
|
||||
- 1b80:d700: KWorld USB FM Radio SnapMusic Mobile 700 (FM700)
|
||||
- 10c5:819a: Sanei Electric, Inc. FM USB Radio (sold as DealExtreme.com PCear)
|
||||
|
||||
|
||||
Software
|
||||
--------
|
||||
|
||||
Testing is usually done with most application under Debian/testing:
|
||||
|
||||
- fmtools - Utility for managing FM tuner cards
|
||||
- gnomeradio - FM-radio tuner for the GNOME desktop
|
||||
- gradio - GTK FM radio tuner
|
||||
- kradio - Comfortable Radio Application for KDE
|
||||
- radio - ncurses-based radio application
|
||||
- mplayer - The Ultimate Movie Player For Linux
|
||||
- v4l2-ctl - Collection of command line video4linux utilities
|
||||
|
||||
For example, you can use:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
v4l2-ctl -d /dev/radio0 --set-ctrl=volume=10,mute=0 --set-freq=95.21 --all
|
||||
|
||||
There is also a library libv4l, which can be used. It's going to have a function
|
||||
for frequency seeking, either by using hardware functionality as in radio-si470x
|
||||
or by implementing a function as we currently have in every of the mentioned
|
||||
programs. Somewhen the radio programs should make use of libv4l.
|
||||
|
||||
For processing RDS information, there is a project ongoing at:
|
||||
http://rdsd.berlios.de/
|
||||
|
||||
There is currently no project for making TMC sentences human readable.
|
||||
|
||||
|
||||
Audio Listing
|
||||
-------------
|
||||
|
||||
USB Audio is provided by the ALSA snd_usb_audio module. It is recommended to
|
||||
also select SND_USB_AUDIO, as this is required to get sound from the radio. For
|
||||
listing you have to redirect the sound, for example using one of the following
|
||||
commands. Please adjust the audio devices to your needs (/dev/dsp* and hw:x,x).
|
||||
|
||||
If you just want to test audio (very poor quality):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
cat /dev/dsp1 > /dev/dsp
|
||||
|
||||
If you use sox + OSS try:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sox -2 --endian little -r 96000 -t oss /dev/dsp1 -t oss /dev/dsp
|
||||
|
||||
or using sox + alsa:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sox --endian little -c 2 -S -r 96000 -t alsa hw:1 -t alsa -r 96000 hw:0
|
||||
|
||||
If you use arts try:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
arecord -D hw:1,0 -r96000 -c2 -f S16_LE | artsdsp aplay -B -
|
||||
|
||||
If you use mplayer try:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
mplayer -radio adevice=hw=1.0:arate=96000 \
|
||||
-rawaudio rate=96000 \
|
||||
radio://<frequency>/capture
|
||||
|
||||
Module Parameters
|
||||
-----------------
|
||||
|
||||
After loading the module, you still have access to some of them in the sysfs
|
||||
mount under /sys/module/radio_si470x/parameters. The contents of read-only files
|
||||
(0444) are not updated, even if space, band and de are changed using private
|
||||
video controls. The others are runtime changeable.
|
||||
|
||||
|
||||
Errors
|
||||
------
|
||||
|
||||
Increase tune_timeout, if you often get -EIO errors.
|
||||
|
||||
When timed out or band limit is reached, hw_freq_seek returns -EAGAIN.
|
||||
|
||||
If you get any errors from snd_usb_audio, please report them to the ALSA people.
|
||||
|
||||
|
||||
Open Issues
|
||||
-----------
|
||||
|
||||
V4L minor device allocation and parameter setting is not perfect. A solution is
|
||||
currently under discussion.
|
||||
|
||||
There is an USB interface for downloading/uploading new firmware images. Support
|
||||
for it can be implemented using the request_firmware interface.
|
||||
|
||||
There is a RDS interrupt mode. The driver is already using the same interface
|
||||
for polling RDS information, but is currently not using the interrupt mode.
|
||||
|
||||
There is a LED interface, which can be used to override the LED control
|
||||
programmed in the firmware. This can be made available using the LED support
|
||||
functions in the kernel.
|
||||
|
||||
|
||||
Other useful information and links
|
||||
----------------------------------
|
||||
|
||||
http://www.silabs.com/usbradio
|
192
Documentation/admin-guide/media/si4713.rst
Normal file
192
Documentation/admin-guide/media/si4713.rst
Normal file
|
@ -0,0 +1,192 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
The Silicon Labs Si4713 FM Radio Transmitter Driver
|
||||
===================================================
|
||||
|
||||
Copyright |copy| 2009 Nokia Corporation
|
||||
|
||||
Contact: Eduardo Valentin <eduardo.valentin@nokia.com>
|
||||
|
||||
|
||||
Information about the Device
|
||||
----------------------------
|
||||
|
||||
This chip is a Silicon Labs product. It is a I2C device, currently on 0x63 address.
|
||||
Basically, it has transmission and signal noise level measurement features.
|
||||
|
||||
The Si4713 integrates transmit functions for FM broadcast stereo transmission.
|
||||
The chip also allows integrated receive power scanning to identify low signal
|
||||
power FM channels.
|
||||
|
||||
The chip is programmed using commands and responses. There are also several
|
||||
properties which can change the behavior of this chip.
|
||||
|
||||
Users must comply with local regulations on radio frequency (RF) transmission.
|
||||
|
||||
Device driver description
|
||||
-------------------------
|
||||
|
||||
There are two modules to handle this device. One is a I2C device driver
|
||||
and the other is a platform driver.
|
||||
|
||||
The I2C device driver exports a v4l2-subdev interface to the kernel.
|
||||
All properties can also be accessed by v4l2 extended controls interface, by
|
||||
using the v4l2-subdev calls (g_ext_ctrls, s_ext_ctrls).
|
||||
|
||||
The platform device driver exports a v4l2 radio device interface to user land.
|
||||
So, it uses the I2C device driver as a sub device in order to send the user
|
||||
commands to the actual device. Basically it is a wrapper to the I2C device driver.
|
||||
|
||||
Applications can use v4l2 radio API to specify frequency of operation, mute state,
|
||||
etc. But mostly of its properties will be present in the extended controls.
|
||||
|
||||
When the v4l2 mute property is set to 1 (true), the driver will turn the chip off.
|
||||
|
||||
Properties description
|
||||
----------------------
|
||||
|
||||
The properties can be accessed using v4l2 extended controls.
|
||||
Here is an output from v4l2-ctl util:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
/ # v4l2-ctl -d /dev/radio0 --all -L
|
||||
Driver Info:
|
||||
Driver name : radio-si4713
|
||||
Card type : Silicon Labs Si4713 Modulator
|
||||
Bus info :
|
||||
Driver version: 0
|
||||
Capabilities : 0x00080800
|
||||
RDS Output
|
||||
Modulator
|
||||
Audio output: 0 (FM Modulator Audio Out)
|
||||
Frequency: 1408000 (88.000000 MHz)
|
||||
Video Standard = 0x00000000
|
||||
Modulator:
|
||||
Name : FM Modulator
|
||||
Capabilities : 62.5 Hz stereo rds
|
||||
Frequency range : 76.0 MHz - 108.0 MHz
|
||||
Subchannel modulation: stereo+rds
|
||||
|
||||
User Controls
|
||||
|
||||
mute (bool) : default=1 value=0
|
||||
|
||||
FM Radio Modulator Controls
|
||||
|
||||
rds_signal_deviation (int) : min=0 max=90000 step=10 default=200 value=200 flags=slider
|
||||
rds_program_id (int) : min=0 max=65535 step=1 default=0 value=0
|
||||
rds_program_type (int) : min=0 max=31 step=1 default=0 value=0
|
||||
rds_ps_name (str) : min=0 max=96 step=8 value='si4713 '
|
||||
rds_radio_text (str) : min=0 max=384 step=32 value=''
|
||||
audio_limiter_feature_enabled (bool) : default=1 value=1
|
||||
audio_limiter_release_time (int) : min=250 max=102390 step=50 default=5010 value=5010 flags=slider
|
||||
audio_limiter_deviation (int) : min=0 max=90000 step=10 default=66250 value=66250 flags=slider
|
||||
audio_compression_feature_enabl (bool) : default=1 value=1
|
||||
audio_compression_gain (int) : min=0 max=20 step=1 default=15 value=15 flags=slider
|
||||
audio_compression_threshold (int) : min=-40 max=0 step=1 default=-40 value=-40 flags=slider
|
||||
audio_compression_attack_time (int) : min=0 max=5000 step=500 default=0 value=0 flags=slider
|
||||
audio_compression_release_time (int) : min=100000 max=1000000 step=100000 default=1000000 value=1000000 flags=slider
|
||||
pilot_tone_feature_enabled (bool) : default=1 value=1
|
||||
pilot_tone_deviation (int) : min=0 max=90000 step=10 default=6750 value=6750 flags=slider
|
||||
pilot_tone_frequency (int) : min=0 max=19000 step=1 default=19000 value=19000 flags=slider
|
||||
pre_emphasis_settings (menu) : min=0 max=2 default=1 value=1
|
||||
tune_power_level (int) : min=0 max=120 step=1 default=88 value=88 flags=slider
|
||||
tune_antenna_capacitor (int) : min=0 max=191 step=1 default=0 value=110 flags=slider
|
||||
|
||||
Here is a summary of them:
|
||||
|
||||
* Pilot is an audible tone sent by the device.
|
||||
|
||||
- pilot_frequency - Configures the frequency of the stereo pilot tone.
|
||||
- pilot_deviation - Configures pilot tone frequency deviation level.
|
||||
- pilot_enabled - Enables or disables the pilot tone feature.
|
||||
|
||||
* The si4713 device is capable of applying audio compression to the
|
||||
transmitted signal.
|
||||
|
||||
- acomp_enabled - Enables or disables the audio dynamic range control feature.
|
||||
- acomp_gain - Sets the gain for audio dynamic range control.
|
||||
- acomp_threshold - Sets the threshold level for audio dynamic range control.
|
||||
- acomp_attack_time - Sets the attack time for audio dynamic range control.
|
||||
- acomp_release_time - Sets the release time for audio dynamic range control.
|
||||
|
||||
* Limiter setups audio deviation limiter feature. Once a over deviation occurs,
|
||||
it is possible to adjust the front-end gain of the audio input and always
|
||||
prevent over deviation.
|
||||
|
||||
- limiter_enabled - Enables or disables the limiter feature.
|
||||
- limiter_deviation - Configures audio frequency deviation level.
|
||||
- limiter_release_time - Sets the limiter release time.
|
||||
|
||||
* Tuning power
|
||||
|
||||
- power_level - Sets the output power level for signal transmission.
|
||||
antenna_capacitor - This selects the value of antenna tuning capacitor
|
||||
manually or automatically if set to zero.
|
||||
|
||||
* RDS related
|
||||
|
||||
- rds_ps_name - Sets the RDS ps name field for transmission.
|
||||
- rds_radio_text - Sets the RDS radio text for transmission.
|
||||
- rds_pi - Sets the RDS PI field for transmission.
|
||||
- rds_pty - Sets the RDS PTY field for transmission.
|
||||
|
||||
* Region related
|
||||
|
||||
- preemphasis - sets the preemphasis to be applied for transmission.
|
||||
|
||||
RNL
|
||||
---
|
||||
|
||||
This device also has an interface to measure received noise level. To do that, you should
|
||||
ioctl the device node. Here is an code of example:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
struct si4713_rnl rnl;
|
||||
int fd = open("/dev/radio0", O_RDWR);
|
||||
int rval;
|
||||
|
||||
if (argc < 2)
|
||||
return -EINVAL;
|
||||
|
||||
if (fd < 0)
|
||||
return fd;
|
||||
|
||||
sscanf(argv[1], "%d", &rnl.frequency);
|
||||
|
||||
rval = ioctl(fd, SI4713_IOC_MEASURE_RNL, &rnl);
|
||||
if (rval < 0)
|
||||
return rval;
|
||||
|
||||
printf("received noise level: %d\n", rnl.rnl);
|
||||
|
||||
close(fd);
|
||||
}
|
||||
|
||||
The struct si4713_rnl and SI4713_IOC_MEASURE_RNL are defined under
|
||||
include/linux/platform_data/media/si4713.h.
|
||||
|
||||
Stereo/Mono and RDS subchannels
|
||||
-------------------------------
|
||||
|
||||
The device can also be configured using the available sub channels for
|
||||
transmission. To do that use S/G_MODULATOR ioctl and configure txsubchans properly.
|
||||
Refer to the V4L2 API specification for proper use of this ioctl.
|
||||
|
||||
Testing
|
||||
-------
|
||||
Testing is usually done with v4l2-ctl utility for managing FM tuner cards.
|
||||
The tool can be found in v4l-dvb repository under v4l2-apps/util directory.
|
||||
|
||||
Example for setting rds ps name:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# v4l2-ctl -d /dev/radio0 --set-ctrl=rds_ps_name="Dummy"
|
||||
|
160
Documentation/admin-guide/media/si476x.rst
Normal file
160
Documentation/admin-guide/media/si476x.rst
Normal file
|
@ -0,0 +1,160 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
.. include:: <isonum.txt>
|
||||
|
||||
|
||||
The SI476x Driver
|
||||
=================
|
||||
|
||||
Copyright |copy| 2013 Andrey Smirnov <andrew.smirnov@gmail.com>
|
||||
|
||||
TODO for the driver
|
||||
-------------------
|
||||
|
||||
- According to the SiLabs' datasheet it is possible to update the
|
||||
firmware of the radio chip in the run-time, thus bringing it to the
|
||||
most recent version. Unfortunately I couldn't find any mentioning of
|
||||
the said firmware update for the old chips that I tested the driver
|
||||
against, so for chips like that the driver only exposes the old
|
||||
functionality.
|
||||
|
||||
|
||||
Parameters exposed over debugfs
|
||||
-------------------------------
|
||||
SI476x allow user to get multiple characteristics that can be very
|
||||
useful for EoL testing/RF performance estimation, parameters that have
|
||||
very little to do with V4L2 subsystem. Such parameters are exposed via
|
||||
debugfs and can be accessed via regular file I/O operations.
|
||||
|
||||
The drivers exposes following files:
|
||||
|
||||
* /sys/kernel/debug/<device-name>/acf
|
||||
This file contains ACF(Automatically Controlled Features) status
|
||||
information. The contents of the file is binary data of the
|
||||
following layout:
|
||||
|
||||
.. tabularcolumns:: |p{7ex}|p{12ex}|L|
|
||||
|
||||
============= ============== ====================================
|
||||
Offset Name Description
|
||||
============= ============== ====================================
|
||||
0x00 blend_int Flag, set when stereo separation has
|
||||
crossed below the blend threshold
|
||||
0x01 hblend_int Flag, set when HiBlend cutoff
|
||||
frequency is lower than threshold
|
||||
0x02 hicut_int Flag, set when HiCut cutoff
|
||||
frequency is lower than threshold
|
||||
0x03 chbw_int Flag, set when channel filter
|
||||
bandwidth is less than threshold
|
||||
0x04 softmute_int Flag indicating that softmute
|
||||
attenuation has increased above
|
||||
softmute threshold
|
||||
0x05 smute 0 - Audio is not soft muted
|
||||
1 - Audio is soft muted
|
||||
0x06 smattn Soft mute attenuation level in dB
|
||||
0x07 chbw Channel filter bandwidth in kHz
|
||||
0x08 hicut HiCut cutoff frequency in units of
|
||||
100Hz
|
||||
0x09 hiblend HiBlend cutoff frequency in units
|
||||
of 100 Hz
|
||||
0x10 pilot 0 - Stereo pilot is not present
|
||||
1 - Stereo pilot is present
|
||||
0x11 stblend Stereo blend in %
|
||||
============= ============== ====================================
|
||||
|
||||
|
||||
* /sys/kernel/debug/<device-name>/rds_blckcnt
|
||||
This file contains statistics about RDS receptions. It's binary data
|
||||
has the following layout:
|
||||
|
||||
.. tabularcolumns:: |p{7ex}|p{12ex}|L|
|
||||
|
||||
============= ============== ====================================
|
||||
Offset Name Description
|
||||
============= ============== ====================================
|
||||
0x00 expected Number of expected RDS blocks
|
||||
0x02 received Number of received RDS blocks
|
||||
0x04 uncorrectable Number of uncorrectable RDS blocks
|
||||
============= ============== ====================================
|
||||
|
||||
* /sys/kernel/debug/<device-name>/agc
|
||||
This file contains information about parameters pertaining to
|
||||
AGC(Automatic Gain Control)
|
||||
|
||||
The layout is:
|
||||
|
||||
.. tabularcolumns:: |p{7ex}|p{12ex}|L|
|
||||
|
||||
============= ============== ====================================
|
||||
Offset Name Description
|
||||
============= ============== ====================================
|
||||
0x00 mxhi 0 - FM Mixer PD high threshold is
|
||||
not tripped
|
||||
1 - FM Mixer PD high threshold is
|
||||
tripped
|
||||
0x01 mxlo ditto for FM Mixer PD low
|
||||
0x02 lnahi ditto for FM LNA PD high
|
||||
0x03 lnalo ditto for FM LNA PD low
|
||||
0x04 fmagc1 FMAGC1 attenuator resistance
|
||||
(see datasheet for more detail)
|
||||
0x05 fmagc2 ditto for FMAGC2
|
||||
0x06 pgagain PGA gain in dB
|
||||
0x07 fmwblang FM/WB LNA Gain in dB
|
||||
============= ============== ====================================
|
||||
|
||||
* /sys/kernel/debug/<device-name>/rsq
|
||||
This file contains information about parameters pertaining to
|
||||
RSQ(Received Signal Quality)
|
||||
|
||||
The layout is:
|
||||
|
||||
.. tabularcolumns:: |p{7ex}|p{12ex}|p{60ex}|
|
||||
|
||||
============= ============== ====================================
|
||||
Offset Name Description
|
||||
============= ============== ====================================
|
||||
0x00 multhint 0 - multipath value has not crossed
|
||||
the Multipath high threshold
|
||||
1 - multipath value has crossed
|
||||
the Multipath high threshold
|
||||
0x01 multlint ditto for Multipath low threshold
|
||||
0x02 snrhint 0 - received signal's SNR has not
|
||||
crossed high threshold
|
||||
1 - received signal's SNR has
|
||||
crossed high threshold
|
||||
0x03 snrlint ditto for low threshold
|
||||
0x04 rssihint ditto for RSSI high threshold
|
||||
0x05 rssilint ditto for RSSI low threshold
|
||||
0x06 bltf Flag indicating if seek command
|
||||
reached/wrapped seek band limit
|
||||
0x07 snr_ready Indicates that SNR metrics is ready
|
||||
0x08 rssiready ditto for RSSI metrics
|
||||
0x09 injside 0 - Low-side injection is being used
|
||||
1 - High-side injection is used
|
||||
0x10 afcrl Flag indicating if AFC rails
|
||||
0x11 valid Flag indicating if channel is valid
|
||||
0x12 readfreq Current tuned frequency
|
||||
0x14 freqoff Signed frequency offset in units of
|
||||
2ppm
|
||||
0x15 rssi Signed value of RSSI in dBuV
|
||||
0x16 snr Signed RF SNR in dB
|
||||
0x17 issi Signed Image Strength Signal
|
||||
indicator
|
||||
0x18 lassi Signed Low side adjacent Channel
|
||||
Strength indicator
|
||||
0x19 hassi ditto fpr High side
|
||||
0x20 mult Multipath indicator
|
||||
0x21 dev Frequency deviation
|
||||
0x24 assi Adjacent channel SSI
|
||||
0x25 usn Ultrasonic noise indicator
|
||||
0x26 pilotdev Pilot deviation in units of 100 Hz
|
||||
0x27 rdsdev ditto for RDS
|
||||
0x28 assidev ditto for ASSI
|
||||
0x29 strongdev Frequency deviation
|
||||
0x30 rdspi RDS PI code
|
||||
============= ============== ====================================
|
||||
|
||||
* /sys/kernel/debug/<device-name>/rsq_primary
|
||||
This file contains information about parameters pertaining to
|
||||
RSQ(Received Signal Quality) for primary tuner only. Layout is as
|
||||
the one above.
|
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
56
Documentation/admin-guide/media/siano-cardlist.rst
Normal file
|
@ -0,0 +1,56 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
Siano cards list
|
||||
================
|
||||
|
||||
.. tabularcolumns:: p{13.3cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 17 16
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card name
|
||||
- USB IDs
|
||||
* - Hauppauge Catamount
|
||||
- 2040:1700
|
||||
* - Hauppauge Okemo-A
|
||||
- 2040:1800
|
||||
* - Hauppauge Okemo-B
|
||||
- 2040:1801
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2000, 2040:200a, 2040:2010, 2040:2011, 2040:2019
|
||||
* - Hauppauge WinTV MiniCard
|
||||
- 2040:2009
|
||||
* - Hauppauge WinTV MiniStick
|
||||
- 2040:5500, 2040:5510, 2040:5520, 2040:5530, 2040:5580, 2040:5590, 2040:b900, 2040:b910, 2040:b980, 2040:b990, 2040:c000, 2040:c010, 2040:c080, 2040:c090, 2040:c0a0, 2040:f5a0
|
||||
* - Hauppauge microStick 77e
|
||||
- 2013:0257
|
||||
* - ONDA Data Card Digital Receiver
|
||||
- 19D2:0078
|
||||
* - Siano Denver (ATSC-M/H) Digital Receiver
|
||||
- 187f:0800
|
||||
* - Siano Denver (TDMB) Digital Receiver
|
||||
- 187f:0700
|
||||
* - Siano Ming Digital Receiver
|
||||
- 187f:0310
|
||||
* - Siano Nice Digital Receiver
|
||||
- 187f:0202, 187f:0202
|
||||
* - Siano Nova A Digital Receiver
|
||||
- 187f:0200
|
||||
* - Siano Nova B Digital Receiver
|
||||
- 187f:0201
|
||||
* - Siano Pele Digital Receiver
|
||||
- 187f:0500
|
||||
* - Siano Rio Digital Receiver
|
||||
- 187f:0600, 3275:0080
|
||||
* - Siano Stellar Digital Receiver
|
||||
- 187f:0100
|
||||
* - Siano Stellar Digital Receiver ROM
|
||||
- 187f:0010
|
||||
* - Siano Vega Digital Receiver
|
||||
- 187f:0300
|
||||
* - Siano Venice Digital Receiver
|
||||
- 187f:0301, 187f:0301, 187f:0302
|
||||
* - ZTE Data Card Digital Receiver
|
||||
- 19D2:0086
|
100
Documentation/admin-guide/media/technisat.rst
Normal file
100
Documentation/admin-guide/media/technisat.rst
Normal file
|
@ -0,0 +1,100 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
How to set up the Technisat/B2C2 Flexcop devices
|
||||
================================================
|
||||
|
||||
.. note::
|
||||
|
||||
This documentation is outdated.
|
||||
|
||||
Author: Uwe Bugla <uwe.bugla@gmx.de> August 2009
|
||||
|
||||
Find out what device you have
|
||||
-----------------------------
|
||||
|
||||
Important Notice: The driver does NOT support Technisat USB 2 devices!
|
||||
|
||||
First start your linux box with a shipped kernel:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
lspci -vvv for a PCI device (lsusb -vvv for an USB device) will show you for example:
|
||||
02:0b.0 Network controller: Techsan Electronics Co Ltd B2C2 FlexCopII DVB chip /
|
||||
Technisat SkyStar2 DVB card (rev 02)
|
||||
|
||||
dmesg | grep frontend may show you for example:
|
||||
DVB: registering frontend 0 (Conexant CX24123/CX24109)...
|
||||
|
||||
Kernel compilation:
|
||||
-------------------
|
||||
|
||||
If the Flexcop / Technisat is the only DVB / TV / Radio device in your box
|
||||
get rid of unnecessary modules and check this one:
|
||||
|
||||
``Multimedia support`` => ``Customise analog and hybrid tuner modules to build``
|
||||
|
||||
In this directory uncheck every driver which is activated there
|
||||
(except ``Simple tuner support`` for ATSC 3rd generation only -> see case 9 please).
|
||||
|
||||
Then please activate:
|
||||
|
||||
- Main module part:
|
||||
|
||||
``Multimedia support`` => ``DVB/ATSC adapters`` => ``Technisat/B2C2 FlexcopII(b) and FlexCopIII adapters``
|
||||
|
||||
#) => ``Technisat/B2C2 Air/Sky/Cable2PC PCI`` (PCI card) or
|
||||
#) => ``Technisat/B2C2 Air/Sky/Cable2PC USB`` (USB 1.1 adapter)
|
||||
and for troubleshooting purposes:
|
||||
#) => ``Enable debug for the B2C2 FlexCop drivers``
|
||||
|
||||
- Frontend / Tuner / Demodulator module part:
|
||||
|
||||
``Multimedia support`` => ``DVB/ATSC adapters``
|
||||
=> ``Customise the frontend modules to build`` ``Customise DVB frontends`` =>
|
||||
|
||||
- SkyStar DVB-S Revision 2.3:
|
||||
|
||||
#) => ``Zarlink VP310/MT312/ZL10313 based``
|
||||
#) => ``Generic I2C PLL based tuners``
|
||||
|
||||
- SkyStar DVB-S Revision 2.6:
|
||||
|
||||
#) => ``ST STV0299 based``
|
||||
#) => ``Generic I2C PLL based tuners``
|
||||
|
||||
- SkyStar DVB-S Revision 2.7:
|
||||
|
||||
#) => ``Samsung S5H1420 based``
|
||||
#) => ``Integrant ITD1000 Zero IF tuner for DVB-S/DSS``
|
||||
#) => ``ISL6421 SEC controller``
|
||||
|
||||
- SkyStar DVB-S Revision 2.8:
|
||||
|
||||
#) => ``Conexant CX24123 based``
|
||||
#) => ``Conexant CX24113/CX24128 tuner for DVB-S/DSS``
|
||||
#) => ``ISL6421 SEC controller``
|
||||
|
||||
- AirStar DVB-T card:
|
||||
|
||||
#) => ``Zarlink MT352 based``
|
||||
#) => ``Generic I2C PLL based tuners``
|
||||
|
||||
- CableStar DVB-C card:
|
||||
|
||||
#) => ``ST STV0297 based``
|
||||
#) => ``Generic I2C PLL based tuners``
|
||||
|
||||
- AirStar ATSC card 1st generation:
|
||||
|
||||
#) => ``Broadcom BCM3510``
|
||||
|
||||
- AirStar ATSC card 2nd generation:
|
||||
|
||||
#) => ``NxtWave Communications NXT2002/NXT2004 based``
|
||||
#) => ``Generic I2C PLL based tuners``
|
||||
|
||||
- AirStar ATSC card 3rd generation:
|
||||
|
||||
#) => ``LG Electronics LGDT3302/LGDT3303 based``
|
||||
#) ``Multimedia support`` => ``Customise analog and hybrid tuner modules to build`` => ``Simple tuner support``
|
||||
|
83
Documentation/admin-guide/media/tm6000-cardlist.rst
Normal file
83
Documentation/admin-guide/media/tm6000-cardlist.rst
Normal file
|
@ -0,0 +1,83 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
TM6000 cards list
|
||||
=================
|
||||
|
||||
.. tabularcolumns:: |p{1.4cm}|p{11.1cm}|p{4.2cm}|
|
||||
|
||||
.. flat-table::
|
||||
:header-rows: 1
|
||||
:widths: 2 19 18
|
||||
:stub-columns: 0
|
||||
|
||||
* - Card number
|
||||
- Card name
|
||||
- USB IDs
|
||||
|
||||
* - 0
|
||||
- Unknown tm6000 video grabber
|
||||
-
|
||||
|
||||
* - 1
|
||||
- Generic tm5600 board
|
||||
- 6000:0001
|
||||
|
||||
* - 2
|
||||
- Generic tm6000 board
|
||||
-
|
||||
|
||||
* - 3
|
||||
- Generic tm6010 board
|
||||
- 6000:0002
|
||||
|
||||
* - 4
|
||||
- 10Moons UT 821
|
||||
-
|
||||
|
||||
* - 5
|
||||
- 10Moons UT 330
|
||||
-
|
||||
|
||||
* - 6
|
||||
- ADSTECH Dual TV USB
|
||||
- 06e1:f332
|
||||
|
||||
* - 7
|
||||
- Freecom Hybrid Stick / Moka DVB-T Receiver Dual
|
||||
- 14aa:0620
|
||||
|
||||
* - 8
|
||||
- ADSTECH Mini Dual TV USB
|
||||
- 06e1:b339
|
||||
|
||||
* - 9
|
||||
- Hauppauge WinTV HVR-900H / WinTV USB2-Stick
|
||||
- 2040:6600, 2040:6601, 2040:6610, 2040:6611
|
||||
|
||||
* - 10
|
||||
- Beholder Wander DVB-T/TV/FM USB2.0
|
||||
- 6000:dec0
|
||||
|
||||
* - 11
|
||||
- Beholder Voyager TV/FM USB2.0
|
||||
- 6000:dec1
|
||||
|
||||
* - 12
|
||||
- Terratec Cinergy Hybrid XE / Cinergy Hybrid-Stick
|
||||
- 0ccd:0086, 0ccd:00A5
|
||||
|
||||
* - 13
|
||||
- Twinhan TU501(704D1)
|
||||
- 13d3:3240, 13d3:3241, 13d3:3243, 13d3:3264
|
||||
|
||||
* - 14
|
||||
- Beholder Wander Lite DVB-T/TV/FM USB2.0
|
||||
- 6000:dec2
|
||||
|
||||
* - 15
|
||||
- Beholder Voyager Lite TV/FM USB2.0
|
||||
- 6000:dec3
|
||||
|
||||
* - 16
|
||||
- Terratec Grabster AV 150/250 MX
|
||||
- 0ccd:0079
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue