Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
bttv/ | 08-May-2024 | - | 1,894 | 1,489 | ||
cx2341x/ | 08-May-2024 | - | 2,701 | 2,292 | ||
cx88/ | 08-May-2024 | - | 55 | 38 | ||
.gitignore | D | 08-May-2024 | 8 | 2 | 1 | |
API.html | D | 08-May-2024 | 733 | 28 | 27 | |
CARDLIST.au0828 | D | 08-May-2024 | 547 | 7 | 6 | |
CARDLIST.bttv | D | 08-May-2024 | 9 KiB | 162 | 161 | |
CARDLIST.cx23885 | D | 08-May-2024 | 2.5 KiB | 36 | 35 | |
CARDLIST.cx88 | D | 08-May-2024 | 6.4 KiB | 92 | 91 | |
CARDLIST.em28xx | D | 08-May-2024 | 6.1 KiB | 87 | 86 | |
CARDLIST.ivtv | D | 08-May-2024 | 1.1 KiB | 25 | 24 | |
CARDLIST.saa7134 | D | 08-May-2024 | 10.8 KiB | 191 | 190 | |
CARDLIST.saa7164 | D | 08-May-2024 | 643 | 12 | 11 | |
CARDLIST.tm6000 | D | 08-May-2024 | 1.2 KiB | 17 | 15 | |
CARDLIST.tuner | D | 08-May-2024 | 3.2 KiB | 89 | 88 | |
CARDLIST.usbvision | D | 08-May-2024 | 5 KiB | 68 | 67 | |
CQcam.txt | D | 08-May-2024 | 6.4 KiB | 206 | 138 | |
README.cpia2 | D | 08-May-2024 | 5.6 KiB | 131 | 109 | |
README.cx88 | D | 08-May-2024 | 2.1 KiB | 68 | 51 | |
README.davinci-vpbe | D | 08-May-2024 | 3.9 KiB | 94 | 74 | |
README.ir | D | 08-May-2024 | 2.3 KiB | 73 | 49 | |
README.ivtv | D | 08-May-2024 | 6.1 KiB | 187 | 132 | |
README.pvrusb2 | D | 08-May-2024 | 9.6 KiB | 213 | 164 | |
README.saa7134 | D | 08-May-2024 | 1.9 KiB | 83 | 52 | |
README.tlg2300 | D | 08-May-2024 | 1.1 KiB | 48 | 31 | |
Zoran | D | 08-May-2024 | 19.8 KiB | 511 | 405 | |
cafe_ccic | D | 08-May-2024 | 2.4 KiB | 55 | 40 | |
cpia2_overview.txt | D | 08-May-2024 | 2.3 KiB | 38 | 33 | |
cx18.txt | D | 08-May-2024 | 811 | 31 | 19 | |
et61x251.txt | D | 08-May-2024 | 11.1 KiB | 316 | 255 | |
extract_xc3028.pl | D | 08-May-2024 | 44.6 KiB | 1,718 | 849 | |
fimc.txt | D | 08-May-2024 | 6.6 KiB | 179 | 134 | |
gspca.txt | D | 08-May-2024 | 15.9 KiB | 407 | 404 | |
hauppauge-wintv-cx88-ir.txt | D | 08-May-2024 | 1.9 KiB | 55 | 38 | |
ibmcam.txt | D | 08-May-2024 | 13.5 KiB | 324 | 259 | |
lifeview.txt | D | 08-May-2024 | 1.5 KiB | 43 | 38 | |
m5602.txt | D | 08-May-2024 | 549 | 13 | 10 | |
meye.txt | D | 08-May-2024 | 4.3 KiB | 124 | 89 | |
not-in-cx2388x-datasheet.txt | D | 08-May-2024 | 953 | 42 | 32 | |
omap3isp.txt | D | 08-May-2024 | 10.1 KiB | 280 | 209 | |
ov511.txt | D | 08-May-2024 | 10.7 KiB | 289 | 234 | |
pxa_camera.txt | D | 08-May-2024 | 8.7 KiB | 175 | 149 | |
radiotrack.txt | D | 08-May-2024 | 5.7 KiB | 148 | 118 | |
se401.txt | D | 08-May-2024 | 1.5 KiB | 55 | 35 | |
sh_mobile_ceu_camera.txt | D | 08-May-2024 | 3.7 KiB | 140 | 94 | |
si470x.txt | D | 08-May-2024 | 4.6 KiB | 125 | 94 | |
si4713.txt | D | 08-May-2024 | 6.5 KiB | 177 | 131 | |
sn9c102.txt | D | 08-May-2024 | 22.2 KiB | 593 | 501 | |
soc-camera.txt | D | 08-May-2024 | 6.9 KiB | 161 | 132 | |
stv680.txt | D | 08-May-2024 | 1.6 KiB | 53 | 35 | |
uvcvideo.txt | D | 08-May-2024 | 8.4 KiB | 240 | 180 | |
v4l2-controls.txt | D | 08-May-2024 | 24.4 KiB | 680 | 492 | |
v4l2-framework.txt | D | 08-May-2024 | 36.9 KiB | 983 | 698 | |
videobuf | D | 08-May-2024 | 16.1 KiB | 356 | 282 | |
w9966.txt | D | 08-May-2024 | 1.3 KiB | 34 | 24 | |
w9968cf.txt | D | 08-May-2024 | 17.6 KiB | 459 | 401 | |
zc0301.txt | D | 08-May-2024 | 8.4 KiB | 271 | 216 | |
zr364xx.txt | D | 08-May-2024 | 3.4 KiB | 70 | 64 |
README.cpia2
1$Id: README,v 1.7 2005/08/29 23:39:57 sbertin Exp $ 2 31. Introduction 4 5 This is a driver for STMicroelectronics's CPiA2 (second generation 6Colour Processor Interface ASIC) based cameras. This camera outputs an MJPEG 7stream at up to vga size. It implements the Video4Linux interface as much as 8possible. Since the V4L interface does not support compressed formats, only 9an mjpeg enabled application can be used with the camera. We have modified the 10gqcam application to view this stream. 11 12 The driver is implemented as two kernel modules. The cpia2 module 13contains the camera functions and the V4L interface. The cpia2_usb module 14contains usb specific functions. The main reason for this was the size of the 15module was getting out of hand, so I separted them. It is not likely that 16there will be a parallel port version. 17 18FEATURES: 19 - Supports cameras with the Vision stv6410 (CIF) and stv6500 (VGA) cmos 20 sensors. I only have the vga sensor, so can't test the other. 21 - Image formats: VGA, QVGA, CIF, QCIF, and a number of sizes in between. 22 VGA and QVGA are the native image sizes for the VGA camera. CIF is done 23 in the coprocessor by scaling QVGA. All other sizes are done by clipping. 24 - Palette: YCrCb, compressed with MJPEG. 25 - Some compression parameters are settable. 26 - Sensor framerate is adjustable (up to 30 fps CIF, 15 fps VGA). 27 - Adjust brightness, color, contrast while streaming. 28 - Flicker control settable for 50 or 60 Hz mains frequency. 29 302. Making and installing the stv672 driver modules: 31 32 Requirements: 33 ------------- 34 This should work with 2.4 (2.4.23 and later) and 2.6 kernels, but has 35only been tested on 2.6. Video4Linux must be either compiled into the kernel or 36available as a module. Video4Linux2 is automatically detected and made 37available at compile time. 38 39 Compiling: 40 ---------- 41 As root, do a make install. This will compile and install the modules 42into the media/video directory in the module tree. For 2.4 kernels, use 43Makefile_2.4 (aka do make -f Makefile_2.4 install). 44 45 Setup: 46 ------ 47 Use 'modprobe cpia2' to load and 'modprobe -r cpia2' to unload. This 48may be done automatically by your distribution. 49 503. Driver options 51 52 Option Description 53 ------ ----------- 54 video_nr video device to register (0=/dev/video0, etc) 55 range -1 to 64. default is -1 (first available) 56 If you have more than 1 camera, this MUST be -1. 57 buffer_size Size for each frame buffer in bytes (default 68k) 58 num_buffers Number of frame buffers (1-32, default 3) 59 alternate USB Alternate (2-7, default 7) 60 flicker_freq Frequency for flicker reduction(50 or 60, default 60) 61 flicker_mode 0 to disable, or 1 to enable flicker reduction. 62 (default 0). This is only effective if the camera 63 uses a stv0672 coprocessor. 64 65 Setting the options: 66 -------------------- 67 If you are using modules, edit /etc/modules.conf and add an options 68line like this: 69 options cpia2 num_buffers=3 buffer_size=65535 70 71 If the driver is compiled into the kernel, at boot time specify them 72like this: 73 cpia2.num_buffers=3 cpia2.buffer_size=65535 74 75 What buffer size should I use? 76 ------------------------------ 77 The maximum image size depends on the alternate you choose, and the 78frame rate achieved by the camera. If the compression engine is able to 79keep up with the frame rate, the maximum image size is given by the table 80below. 81 The compression engine starts out at maximum compression, and will 82increase image quality until it is close to the size in the table. As long 83as the compression engine can keep up with the frame rate, after a short time 84the images will all be about the size in the table, regardless of resolution. 85 At low alternate settings, the compression engine may not be able to 86compress the image enough and will reduce the frame rate by producing larger 87images. 88 The default of 68k should be good for most users. This will handle 89any alternate at frame rates down to 15fps. For lower frame rates, it may 90be necessary to increase the buffer size to avoid having frames dropped due 91to insufficient space. 92 93 Image size(bytes) 94 Alternate bytes/ms 15fps 30fps 95 2 128 8533 4267 96 3 384 25600 12800 97 4 640 42667 21333 98 5 768 51200 25600 99 6 896 59733 29867 100 7 1023 68200 34100 101 102 How many buffers should I use? 103 ------------------------------ 104 For normal streaming, 3 should give the best results. With only 2, 105it is possible for the camera to finish sending one image just after a 106program has started reading the other. If this happens, the driver must drop 107a frame. The exception to this is if you have a heavily loaded machine. In 108this case use 2 buffers. You are probably not reading at the full frame rate. 109If the camera can send multiple images before a read finishes, it could 110overwrite the third buffer before the read finishes, leading to a corrupt 111image. Single and double buffering have extra checks to avoid overwriting. 112 1134. Using the camera 114 115 We are providing a modified gqcam application to view the output. In 116order to avoid confusion, here it is called mview. There is also the qx5view 117program which can also control the lights on the qx5 microscope. MJPEG Tools 118(http://mjpeg.sourceforge.net) can also be used to record from the camera. 119 1205. Notes to developers: 121 122 - This is a driver version stripped of the 2.4 back compatibility 123 and old MJPEG ioctl API. See cpia2.sf.net for 2.4 support. 124 1256. Thanks: 126 127 - Peter Pregler <Peter_Pregler@email.com>, 128 Scott J. Bertin <scottbertin@yahoo.com>, and 129 Jarl Totland <Jarl.Totland@bdc.no> for the original cpia driver, which 130 this one was modelled from. 131
README.cx88
1cx8800 release notes 2==================== 3 4This is a v4l2 device driver for the cx2388x chip. 5 6 7current status 8============== 9 10video 11 - Basically works. 12 - For now, only capture and read(). Overlay isn't supported. 13 14audio 15 - The chip specs for the on-chip TV sound decoder are next 16 to useless :-/ 17 - Neverless the builtin TV sound decoder starts working now, 18 at least for some standards. 19 FOR ANY REPORTS ON THIS PLEASE MENTION THE TV NORM YOU ARE 20 USING. 21 - Most tuner chips do provide mono sound, which may or may not 22 be useable depending on the board design. With the Hauppauge 23 cards it works, so there is mono sound available as fallback. 24 - audio data dma (i.e. recording without loopback cable to the 25 sound card) is supported via cx88-alsa. 26 27vbi 28 - Code present. Works for NTSC closed caption. PAL and other 29 TV norms may or may not work. 30 31 32how to add support for new cards 33================================ 34 35The driver needs some config info for the TV cards. This stuff is in 36cx88-cards.c. If the driver doesn't work well you likely need a new 37entry for your card in that file. Check the kernel log (using dmesg) 38to see whenever the driver knows your card or not. There is a line 39like this one: 40 41 cx8800[0]: subsystem: 0070:3400, board: Hauppauge WinTV \ 42 34xxx models [card=1,autodetected] 43 44If your card is listed as "board: UNKNOWN/GENERIC" it is unknown to 45the driver. What to do then? 46 47 (1) Try upgrading to the latest snapshot, maybe it has been added 48 meanwhile. 49 (2) You can try to create a new entry yourself, have a look at 50 cx88-cards.c. If that worked, mail me your changes as unified 51 diff ("diff -u"). 52 (3) Or you can mail me the config information. I need at least the 53 following informations to add the card: 54 55 * the PCI Subsystem ID ("0070:3400" from the line above, 56 "lspci -v" output is fine too). 57 * the tuner type used by the card. You can try to find one by 58 trial-and-error using the tuner=<n> insmod option. If you 59 know which one the card has you can also have a look at the 60 list in CARDLIST.tuner 61 62Have fun, 63 64 Gerd 65 66-- 67Gerd Knorr <kraxel@bytesex.org> [SuSE Labs] 68
README.davinci-vpbe
1 2 VPBE V4L2 driver design 3 ====================================================================== 4 5 File partitioning 6 ----------------- 7 V4L2 display device driver 8 drivers/media/video/davinci/vpbe_display.c 9 drivers/media/video/davinci/vpbe_display.h 10 11 VPBE display controller 12 drivers/media/video/davinci/vpbe.c 13 drivers/media/video/davinci/vpbe.h 14 15 VPBE venc sub device driver 16 drivers/media/video/davinci/vpbe_venc.c 17 drivers/media/video/davinci/vpbe_venc.h 18 drivers/media/video/davinci/vpbe_venc_regs.h 19 20 VPBE osd driver 21 drivers/media/video/davinci/vpbe_osd.c 22 drivers/media/video/davinci/vpbe_osd.h 23 drivers/media/video/davinci/vpbe_osd_regs.h 24 25 Functional partitioning 26 ----------------------- 27 28 Consists of the following (in the same order as the list under file 29 partitioning):- 30 31 1. V4L2 display driver 32 Implements creation of video2 and video3 device nodes and 33 provides v4l2 device interface to manage VID0 and VID1 layers. 34 35 2. Display controller 36 Loads up VENC, OSD and external encoders such as ths8200. It provides 37 a set of API calls to V4L2 drivers to set the output/standards 38 in the VENC or external sub devices. It also provides 39 a device object to access the services from OSD subdevice 40 using sub device ops. The connection of external encoders to VENC LCD 41 controller port is done at init time based on default output and standard 42 selection or at run time when application change the output through 43 V4L2 IOCTLs. 44 45 When connected to an external encoder, vpbe controller is also responsible 46 for setting up the interface between VENC and external encoders based on 47 board specific settings (specified in board-xxx-evm.c). This allows 48 interfacing external encoders such as ths8200. The setup_if_config() 49 is implemented for this as well as configure_venc() (part of the next patch) 50 API to set timings in VENC for a specific display resolution. As of this 51 patch series, the interconnection and enabling and setting of the external 52 encoders is not present, and would be a part of the next patch series. 53 54 3. VENC subdevice module 55 Responsible for setting outputs provided through internal DACs and also 56 setting timings at LCD controller port when external encoders are connected 57 at the port or LCD panel timings required. When external encoder/LCD panel 58 is connected, the timings for a specific standard/preset is retrieved from 59 the board specific table and the values are used to set the timings in 60 venc using non-standard timing mode. 61 62 Support LCD Panel displays using the VENC. For example to support a Logic 63 PD display, it requires setting up the LCD controller port with a set of 64 timings for the resolution supported and setting the dot clock. So we could 65 add the available outputs as a board specific entry (i.e add the "LogicPD" 66 output name to board-xxx-evm.c). A table of timings for various LCDs 67 supported can be maintained in the board specific setup file to support 68 various LCD displays.As of this patch a basic driver is present, and this 69 support for external encoders and displays forms a part of the next 70 patch series. 71 72 4. OSD module 73 OSD module implements all OSD layer management and hardware specific 74 features. The VPBE module interacts with the OSD for enabling and 75 disabling appropriate features of the OSD. 76 77 Current status:- 78 79 A fully functional working version of the V4L2 driver is available. This 80 driver has been tested with NTSC and PAL standards and buffer streaming. 81 82 Following are TBDs. 83 84 vpbe display controller 85 - Add support for external encoders. 86 - add support for selecting external encoder as default at probe time. 87 88 vpbe venc sub device 89 - add timings for supporting ths8200 90 - add support for LogicPD LCD. 91 92 FB drivers 93 - Add support for fbdev drivers.- Ready and part of subsequent patches. 94
README.ir
1 2infrared remote control support in video4linux drivers 3====================================================== 4 5 6basics 7------ 8 9Current versions use the linux input layer to support infrared 10remote controls. I suggest to download my input layer tools 11from http://bytesex.org/snapshot/input-<date>.tar.gz 12 13Modules you have to load: 14 15 saa7134 statically built in, i.e. just the driver :) 16 bttv ir-kbd-gpio or ir-kbd-i2c depending on your 17 card. 18 19ir-kbd-gpio and ir-kbd-i2c don't support all cards lirc supports 20(yet), mainly for the reason that the code of lirc_i2c and lirc_gpio 21was very confusing and I decided to basically start over from scratch. 22Feel free to contact me in case of trouble. Note that the ir-kbd-* 23modules work on 2.6.x kernels only through ... 24 25 26how it works 27------------ 28 29The modules register the remote as keyboard within the linux input 30layer, i.e. you'll see the keys of the remote as normal key strokes 31(if CONFIG_INPUT_KEYBOARD is enabled). 32 33Using the event devices (CONFIG_INPUT_EVDEV) it is possible for 34applications to access the remote via /dev/input/event<n> devices. 35You might have to create the special files using "/sbin/MAKEDEV 36input". The input layer tools mentioned above use the event device. 37 38The input layer tools are nice for trouble shooting, i.e. to check 39whenever the input device is really present, which of the devices it 40is, check whenever pressing keys on the remote actually generates 41events and the like. You can also use the kbd utility to change the 42keymaps (2.6.x kernels only through). 43 44 45using with lircd 46================ 47 48The cvs version of the lircd daemon supports reading events from the 49linux input layer (via event device). The input layer tools tarball 50comes with a lircd config file. 51 52 53using without lircd 54=================== 55 56XFree86 likely can be configured to recognise the remote keys. Once I 57simply tried to configure one of the multimedia keyboards as input 58device, which had the effect that XFree86 recognised some of the keys 59of my remote control and passed volume up/down key presses as 60XF86AudioRaiseVolume and XF86AudioLowerVolume key events to the X11 61clients. 62 63It likely is possible to make that fly with a nice xkb config file, 64I know next to nothing about that through. 65 66 67Have fun, 68 69 Gerd 70 71-- 72Gerd Knorr <kraxel@bytesex.org> 73
README.ivtv
1 2ivtv release notes 3================== 4 5This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder. 6The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG 7encoding. Currently the only card featuring full decoding support is the 8Hauppauge PVR-350. 9 10NOTE: this driver requires the latest encoder firmware (version 2.06.039, size 11376836 bytes). Get the firmware from here: 12 13http://dl.ivtvdriver.org/ivtv/firmware/ 14 15NOTE: 'normal' TV applications do not work with this driver, you need 16an application that can handle MPEG input such as mplayer, xine, MythTV, 17etc. 18 19The primary goal of the IVTV project is to provide a "clean room" Linux 20Open Source driver implementation for video capture cards based on the 21iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec. 22 23Features: 24 * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or 25 S-Video/Composite and audio line-in. 26 * Hardware mpeg2 capture of FM radio where hardware support exists 27 * Supports NTSC, PAL, SECAM with stereo sound 28 * Supports SAP and bilingual transmissions. 29 * Supports raw VBI (closed captions and teletext). 30 * Supports sliced VBI (closed captions and teletext) and is able to insert 31 this into the captured MPEG stream. 32 * Supports raw YUV and PCM input. 33 34Additional features for the PVR-350 (CX23415 based): 35 * Provides hardware mpeg2 playback 36 * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the 37 video signal) 38 * Provides a framebuffer (allowing X applications to appear on the video 39 device) 40 * Supports raw YUV output. 41 42IMPORTANT: In case of problems first read this page: 43 http://www.ivtvdriver.org/index.php/Troubleshooting 44 45See also: 46 47Homepage + Wiki 48http://www.ivtvdriver.org 49 50IRC 51irc://irc.freenode.net/ivtv-dev 52 53---------------------------------------------------------- 54 55Devices 56======= 57 58A maximum of 12 ivtv boards are allowed at the moment. 59 60Cards that don't have a video output capability (i.e. non PVR350 cards) 61lack the vbi8, vbi16, video16 and video48 devices. They also do not 62support the framebuffer device /dev/fbx for OSD. 63 64The radio0 device may or may not be present, depending on whether the 65card has a radio tuner or not. 66 67Here is a list of the base v4l devices: 68crw-rw---- 1 root video 81, 0 Jun 19 22:22 /dev/video0 69crw-rw---- 1 root video 81, 16 Jun 19 22:22 /dev/video16 70crw-rw---- 1 root video 81, 24 Jun 19 22:22 /dev/video24 71crw-rw---- 1 root video 81, 32 Jun 19 22:22 /dev/video32 72crw-rw---- 1 root video 81, 48 Jun 19 22:22 /dev/video48 73crw-rw---- 1 root video 81, 64 Jun 19 22:22 /dev/radio0 74crw-rw---- 1 root video 81, 224 Jun 19 22:22 /dev/vbi0 75crw-rw---- 1 root video 81, 228 Jun 19 22:22 /dev/vbi8 76crw-rw---- 1 root video 81, 232 Jun 19 22:22 /dev/vbi16 77 78Base devices 79============ 80 81For every extra card you have the numbers increased by one. For example, 82/dev/video0 is listed as the 'base' encoding capture device so we have: 83 84 /dev/video0 is the encoding capture device for the first card (card 0) 85 /dev/video1 is the encoding capture device for the second card (card 1) 86 /dev/video2 is the encoding capture device for the third card (card 2) 87 88Note that if the first card doesn't have a feature (eg no decoder, so no 89video16, the second card will still use video17. The simple rule is 'add 90the card number to the base device number'. If you have other capture 91cards (e.g. WinTV PCI) that are detected first, then you have to tell 92the ivtv module about it so that it will start counting at 1 (or 2, or 93whatever). Otherwise the device numbers can get confusing. The ivtv 94'ivtv_first_minor' module option can be used for that. 95 96 97/dev/video0 98The encoding capture device(s). 99Read-only. 100 101Reading from this device gets you the MPEG1/2 program stream. 102Example: 103 104cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit) 105 106 107/dev/video16 108The decoder output device(s) 109Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. 110 111An mpeg2 stream sent to this device will appear on the selected video 112display, audio will appear on the line-out/audio out. It is only 113available for cards that support video out. Example: 114 115cat my.mpg >/dev/video16 116 117 118/dev/video24 119The raw audio capture device(s). 120Read-only 121 122The raw audio PCM stereo stream from the currently selected 123tuner or audio line-in. Reading from this device results in a raw 124(signed 16 bit Little Endian, 48000 Hz, stereo pcm) capture. 125This device only captures audio. This should be replaced by an ALSA 126device in the future. 127Note that there is no corresponding raw audio output device, this is 128not supported in the decoder firmware. 129 130 131/dev/video32 132The raw video capture device(s) 133Read-only 134 135The raw YUV video output from the current video input. The YUV format 136is non-standard (V4L2_PIX_FMT_HM12). 137 138Note that the YUV and PCM streams are not synchronized, so they are of 139limited use. 140 141 142/dev/video48 143The raw video display device(s) 144Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. 145 146Writes a YUV stream to the decoder of the card. 147 148 149/dev/radio0 150The radio tuner device(s) 151Cannot be read or written. 152 153Used to enable the radio tuner and tune to a frequency. You cannot 154read or write audio streams with this device. Once you use this 155device to tune the radio, use /dev/video24 to read the raw pcm stream 156or /dev/video0 to get an mpeg2 stream with black video. 157 158 159/dev/vbi0 160The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s) 161Read-only 162 163Captures the raw (or sliced) video data sent during the Vertical Blank 164Interval. This data is used to encode teletext, closed captions, VPS, 165widescreen signalling, electronic program guide information, and other 166services. 167 168 169/dev/vbi8 170Processed vbi feedback device(s) 171Read-only. Only present if the MPEG decoder (i.e. CX23415) exists. 172 173The sliced VBI data embedded in an MPEG stream is reproduced on this 174device. So while playing back a recording on /dev/video16, you can 175read the embedded VBI data from /dev/vbi8. 176 177 178/dev/vbi16 179The vbi 'display' device(s) 180Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. 181 182Can be used to send sliced VBI data to the video-out connector. 183 184--------------------------------- 185 186Hans Verkuil <hverkuil@xs4all.nl> 187
README.pvrusb2
1 2$Id$ 3Mike Isely <isely@pobox.com> 4 5 pvrusb2 driver 6 7Background: 8 9 This driver is intended for the "Hauppauge WinTV PVR USB 2.0", which 10 is a USB 2.0 hosted TV Tuner. This driver is a work in progress. 11 Its history started with the reverse-engineering effort by Björn 12 Danielsson <pvrusb2@dax.nu> whose web page can be found here: 13 14 http://pvrusb2.dax.nu/ 15 16 From there Aurelien Alleaume <slts@free.fr> began an effort to 17 create a video4linux compatible driver. I began with Aurelien's 18 last known snapshot and evolved the driver to the state it is in 19 here. 20 21 More information on this driver can be found at: 22 23 http://www.isely.net/pvrusb2.html 24 25 26 This driver has a strong separation of layers. They are very 27 roughly: 28 29 1a. Low level wire-protocol implementation with the device. 30 31 1b. I2C adaptor implementation and corresponding I2C client drivers 32 implemented elsewhere in V4L. 33 34 1c. High level hardware driver implementation which coordinates all 35 activities that ensure correct operation of the device. 36 37 2. A "context" layer which manages instancing of driver, setup, 38 tear-down, arbitration, and interaction with high level 39 interfaces appropriately as devices are hotplugged in the 40 system. 41 42 3. High level interfaces which glue the driver to various published 43 Linux APIs (V4L, sysfs, maybe DVB in the future). 44 45 The most important shearing layer is between the top 2 layers. A 46 lot of work went into the driver to ensure that any kind of 47 conceivable API can be laid on top of the core driver. (Yes, the 48 driver internally leverages V4L to do its work but that really has 49 nothing to do with the API published by the driver to the outside 50 world.) The architecture allows for different APIs to 51 simultaneously access the driver. I have a strong sense of fairness 52 about APIs and also feel that it is a good design principle to keep 53 implementation and interface isolated from each other. Thus while 54 right now the V4L high level interface is the most complete, the 55 sysfs high level interface will work equally well for similar 56 functions, and there's no reason I see right now why it shouldn't be 57 possible to produce a DVB high level interface that can sit right 58 alongside V4L. 59 60 NOTE: Complete documentation on the pvrusb2 driver is contained in 61 the html files within the doc directory; these are exactly the same 62 as what is on the web site at the time. Browse those files 63 (especially the FAQ) before asking questions. 64 65 66Building 67 68 To build these modules essentially amounts to just running "Make", 69 but you need the kernel source tree nearby and you will likely also 70 want to set a few controlling environment variables first in order 71 to link things up with that source tree. Please see the Makefile 72 here for comments that explain how to do that. 73 74 75Source file list / functional overview: 76 77 (Note: The term "module" used below generally refers to loosely 78 defined functional units within the pvrusb2 driver and bears no 79 relation to the Linux kernel's concept of a loadable module.) 80 81 pvrusb2-audio.[ch] - This is glue logic that resides between this 82 driver and the msp3400.ko I2C client driver (which is found 83 elsewhere in V4L). 84 85 pvrusb2-context.[ch] - This module implements the context for an 86 instance of the driver. Everything else eventually ties back to 87 or is otherwise instanced within the data structures implemented 88 here. Hotplugging is ultimately coordinated here. All high level 89 interfaces tie into the driver through this module. This module 90 helps arbitrate each interface's access to the actual driver core, 91 and is designed to allow concurrent access through multiple 92 instances of multiple interfaces (thus you can for example change 93 the tuner's frequency through sysfs while simultaneously streaming 94 video through V4L out to an instance of mplayer). 95 96 pvrusb2-debug.h - This header defines a printk() wrapper and a mask 97 of debugging bit definitions for the various kinds of debug 98 messages that can be enabled within the driver. 99 100 pvrusb2-debugifc.[ch] - This module implements a crude command line 101 oriented debug interface into the driver. Aside from being part 102 of the process for implementing manual firmware extraction (see 103 the pvrusb2 web site mentioned earlier), probably I'm the only one 104 who has ever used this. It is mainly a debugging aid. 105 106 pvrusb2-eeprom.[ch] - This is glue logic that resides between this 107 driver the tveeprom.ko module, which is itself implemented 108 elsewhere in V4L. 109 110 pvrusb2-encoder.[ch] - This module implements all protocol needed to 111 interact with the Conexant mpeg2 encoder chip within the pvrusb2 112 device. It is a crude echo of corresponding logic in ivtv, 113 however the design goals (strict isolation) and physical layer 114 (proxy through USB instead of PCI) are enough different that this 115 implementation had to be completely different. 116 117 pvrusb2-hdw-internal.h - This header defines the core data structure 118 in the driver used to track ALL internal state related to control 119 of the hardware. Nobody outside of the core hardware-handling 120 modules should have any business using this header. All external 121 access to the driver should be through one of the high level 122 interfaces (e.g. V4L, sysfs, etc), and in fact even those high 123 level interfaces are restricted to the API defined in 124 pvrusb2-hdw.h and NOT this header. 125 126 pvrusb2-hdw.h - This header defines the full internal API for 127 controlling the hardware. High level interfaces (e.g. V4L, sysfs) 128 will work through here. 129 130 pvrusb2-hdw.c - This module implements all the various bits of logic 131 that handle overall control of a specific pvrusb2 device. 132 (Policy, instantiation, and arbitration of pvrusb2 devices fall 133 within the jurisdiction of pvrusb-context not here). 134 135 pvrusb2-i2c-chips-*.c - These modules implement the glue logic to 136 tie together and configure various I2C modules as they attach to 137 the I2C bus. There are two versions of this file. The "v4l2" 138 version is intended to be used in-tree alongside V4L, where we 139 implement just the logic that makes sense for a pure V4L 140 environment. The "all" version is intended for use outside of 141 V4L, where we might encounter other possibly "challenging" modules 142 from ivtv or older kernel snapshots (or even the support modules 143 in the standalone snapshot). 144 145 pvrusb2-i2c-cmd-v4l1.[ch] - This module implements generic V4L1 146 compatible commands to the I2C modules. It is here where state 147 changes inside the pvrusb2 driver are translated into V4L1 148 commands that are in turn send to the various I2C modules. 149 150 pvrusb2-i2c-cmd-v4l2.[ch] - This module implements generic V4L2 151 compatible commands to the I2C modules. It is here where state 152 changes inside the pvrusb2 driver are translated into V4L2 153 commands that are in turn send to the various I2C modules. 154 155 pvrusb2-i2c-core.[ch] - This module provides an implementation of a 156 kernel-friendly I2C adaptor driver, through which other external 157 I2C client drivers (e.g. msp3400, tuner, lirc) may connect and 158 operate corresponding chips within the pvrusb2 device. It is 159 through here that other V4L modules can reach into this driver to 160 operate specific pieces (and those modules are in turn driven by 161 glue logic which is coordinated by pvrusb2-hdw, doled out by 162 pvrusb2-context, and then ultimately made available to users 163 through one of the high level interfaces). 164 165 pvrusb2-io.[ch] - This module implements a very low level ring of 166 transfer buffers, required in order to stream data from the 167 device. This module is *very* low level. It only operates the 168 buffers and makes no attempt to define any policy or mechanism for 169 how such buffers might be used. 170 171 pvrusb2-ioread.[ch] - This module layers on top of pvrusb2-io.[ch] 172 to provide a streaming API usable by a read() system call style of 173 I/O. Right now this is the only layer on top of pvrusb2-io.[ch], 174 however the underlying architecture here was intended to allow for 175 other styles of I/O to be implemented with additional modules, like 176 mmap()'ed buffers or something even more exotic. 177 178 pvrusb2-main.c - This is the top level of the driver. Module level 179 and USB core entry points are here. This is our "main". 180 181 pvrusb2-sysfs.[ch] - This is the high level interface which ties the 182 pvrusb2 driver into sysfs. Through this interface you can do 183 everything with the driver except actually stream data. 184 185 pvrusb2-tuner.[ch] - This is glue logic that resides between this 186 driver and the tuner.ko I2C client driver (which is found 187 elsewhere in V4L). 188 189 pvrusb2-util.h - This header defines some common macros used 190 throughout the driver. These macros are not really specific to 191 the driver, but they had to go somewhere. 192 193 pvrusb2-v4l2.[ch] - This is the high level interface which ties the 194 pvrusb2 driver into video4linux. It is through here that V4L 195 applications can open and operate the driver in the usual V4L 196 ways. Note that **ALL** V4L functionality is published only 197 through here and nowhere else. 198 199 pvrusb2-video-*.[ch] - This is glue logic that resides between this 200 driver and the saa711x.ko I2C client driver (which is found 201 elsewhere in V4L). Note that saa711x.ko used to be known as 202 saa7115.ko in ivtv. There are two versions of this; one is 203 selected depending on the particular saa711[5x].ko that is found. 204 205 pvrusb2.h - This header contains compile time tunable parameters 206 (and at the moment the driver has very little that needs to be 207 tuned). 208 209 210 -Mike Isely 211 isely@pobox.com 212 213
README.saa7134
1 2 3What is it? 4=========== 5 6This is a v4l2/oss device driver for saa7130/33/34/35 based capture / TV 7boards. See http://www.semiconductors.philips.com/pip/saa7134hl for a 8description. 9 10 11Status 12====== 13 14Almost everything is working. video, sound, tuner, radio, mpeg ts, ... 15 16As with bttv, card-specific tweaks are needed. Check CARDLIST for a 17list of known TV cards and saa7134-cards.c for the drivers card 18configuration info. 19 20 21Build 22===== 23 24Pick up videodev + v4l2 patches from http://bytesex.org/patches/. 25Configure, build, install + boot the new kernel. You'll need at least 26these config options: 27 28 CONFIG_I2C=m 29 CONFIG_VIDEO_DEV=m 30 31Type "make" to build the driver now. "make install" installs the 32driver. "modprobe saa7134" should load it. Depending on the card you 33might have to pass card=<nr> as insmod option, check CARDLIST for 34valid choices. 35 36 37Changes / Fixes 38=============== 39 40Please mail me unified diffs ("diff -u") with your changes, and don't 41forget to tell me what it changes / which problem it fixes / whatever 42it is good for ... 43 44 45Known Problems 46============== 47 48* The tuner for the flyvideos isn't detected automatically and the 49 default might not work for you depending on which version you have. 50 There is a tuner= insmod option to override the driver's default. 51 52Card Variations: 53================ 54 55Cards can use either of these two crystals (xtal): 56 - 32.11 MHz -> .audio_clock=0x187de7 57 - 24.576MHz -> .audio_clock=0x200000 58(xtal * .audio_clock = 51539600) 59 60Some details about 30/34/35: 61 62 - saa7130 - low-price chip, doesn't have mute, that is why all those 63 cards should have .mute field defined in their tuner structure. 64 65 - saa7134 - usual chip 66 67 - saa7133/35 - saa7135 is probably a marketing decision, since all those 68 chips identifies itself as 33 on pci. 69 70Credits 71======= 72 73andrew.stevens@philips.com + werner.leeb@philips.com for providing 74saa7134 hardware specs and sample board. 75 76 77Have fun, 78 79 Gerd 80 81-- 82Gerd Knorr <kraxel@bytesex.org> [SuSE Labs] 83
README.tlg2300
1tlg2300 release notes 2==================== 3 4This is a v4l2/dvb device driver for the tlg2300 chip. 5 6 7current status 8============== 9 10video 11 - support mmap and read().(no overlay) 12 13audio 14 - The driver will register a ALSA card for the audio input. 15 16vbi 17 - Works for almost TV norms. 18 19dvb-t 20 - works for DVB-T 21 22FM 23 - Works for radio. 24 25--------------------------------------------------------------------------- 26TESTED APPLICATIONS: 27 28-VLC1.0.4 test the video and dvb. The GUI is friendly to use. 29 30-Mplayer test the video. 31 32-Mplayer test the FM. The mplayer should be compiled with --enable-radio and 33 --enable-radio-capture. 34 The command runs as this(The alsa audio registers to card 1): 35 #mplayer radio://103.7/capture/ -radio adevice=hw=1,0:arate=48000 \ 36 -rawaudio rate=48000:channels=2 37 38--------------------------------------------------------------------------- 39KNOWN PROBLEMS: 40about preemphasis: 41 You can set the preemphasis for radio by the following command: 42 #v4l2-ctl -d /dev/radio0 --set-ctrl=pre_emphasis_settings=1 43 44 "pre_emphasis_settings=1" means that you select the 50us. If you want 45 to select the 75us, please use "pre_emphasis_settings=2" 46 47 48