diff options
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r-- | Documentation/video4linux/API.html | 415 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.bttv | 16 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.cx88 | 32 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.saa7134 | 41 | ||||
-rw-r--r-- | Documentation/video4linux/CARDLIST.tuner | 20 | ||||
-rw-r--r-- | Documentation/video4linux/README.saa7134 | 9 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/Cards | 74 | ||||
-rw-r--r-- | Documentation/video4linux/bttv/Insmod-options | 3 | ||||
-rw-r--r-- | Documentation/video4linux/hauppauge-wintv-cx88-ir.txt | 54 | ||||
-rw-r--r-- | Documentation/video4linux/lifeview.txt | 42 | ||||
-rw-r--r-- | Documentation/video4linux/not-in-cx2388x-datasheet.txt | 41 |
11 files changed, 304 insertions, 443 deletions
diff --git a/Documentation/video4linux/API.html b/Documentation/video4linux/API.html index 4b3d8f640a4a..441407b12a9f 100644 --- a/Documentation/video4linux/API.html +++ b/Documentation/video4linux/API.html | |||
@@ -1,399 +1,16 @@ | |||
1 | <HTML><HEAD> | 1 | <TITLE>V4L API</TITLE> |
2 | <TITLE>Video4Linux Kernel API Reference v0.1:19990430</TITLE> | 2 | <H1>Video For Linux APIs</H1> |
3 | </HEAD> | 3 | <table border=0> |
4 | <! Revision History: > | 4 | <tr> |
5 | <! 4/30/1999 - Fred Gleason (fredg@wava.com)> | 5 | <td> |
6 | <! Documented extensions for the Radio Data System (RDS) extensions > | 6 | <A HREF=http://www.linuxtv.org/downloads/video4linux/API/V4L1_API.html> |
7 | <BODY bgcolor="#ffffff"> | 7 | V4L original API</a> |
8 | <H3>Devices</H3> | 8 | </td><td> |
9 | Video4Linux provides the following sets of device files. These live on the | 9 | Obsoleted by V4L2 API |
10 | character device formerly known as "/dev/bttv". /dev/bttv should be a | 10 | </td></tr><tr><td> |
11 | symlink to /dev/video0 for most people. | 11 | <A HREF=http://www.linuxtv.org/downloads/video4linux/API/V4L2_API.html> |
12 | <P> | 12 | V4L2 API</a> |
13 | <TABLE> | 13 | </td><td> |
14 | <TR><TH>Device Name</TH><TH>Minor Range</TH><TH>Function</TH> | 14 | Should be used for new projects |
15 | <TR><TD>/dev/video</TD><TD>0-63</TD><TD>Video Capture Interface</TD> | 15 | </td></tr> |
16 | <TR><TD>/dev/radio</TD><TD>64-127</TD><TD>AM/FM Radio Devices</TD> | 16 | </table> |
17 | <TR><TD>/dev/vtx</TD><TD>192-223</TD><TD>Teletext Interface Chips</TD> | ||
18 | <TR><TD>/dev/vbi</TD><TD>224-239</TD><TD>Raw VBI Data (Intercast/teletext)</TD> | ||
19 | </TABLE> | ||
20 | <P> | ||
21 | Video4Linux programs open and scan the devices to find what they are looking | ||
22 | for. Capability queries define what each interface supports. The | ||
23 | described API is only defined for video capture cards. The relevant subset | ||
24 | applies to radio cards. Teletext interfaces talk the existing VTX API. | ||
25 | <P> | ||
26 | <H3>Capability Query Ioctl</H3> | ||
27 | The <B>VIDIOCGCAP</B> ioctl call is used to obtain the capability | ||
28 | information for a video device. The <b>struct video_capability</b> object | ||
29 | passed to the ioctl is completed and returned. It contains the following | ||
30 | information | ||
31 | <P> | ||
32 | <TABLE> | ||
33 | <TR><TD><b>name[32]</b><TD>Canonical name for this interface</TD> | ||
34 | <TR><TD><b>type</b><TD>Type of interface</TD> | ||
35 | <TR><TD><b>channels</b><TD>Number of radio/tv channels if appropriate</TD> | ||
36 | <TR><TD><b>audios</b><TD>Number of audio devices if appropriate</TD> | ||
37 | <TR><TD><b>maxwidth</b><TD>Maximum capture width in pixels</TD> | ||
38 | <TR><TD><b>maxheight</b><TD>Maximum capture height in pixels</TD> | ||
39 | <TR><TD><b>minwidth</b><TD>Minimum capture width in pixels</TD> | ||
40 | <TR><TD><b>minheight</b><TD>Minimum capture height in pixels</TD> | ||
41 | </TABLE> | ||
42 | <P> | ||
43 | The type field lists the capability flags for the device. These are | ||
44 | as follows | ||
45 | <P> | ||
46 | <TABLE> | ||
47 | <TR><TH>Name</TH><TH>Description</TH> | ||
48 | <TR><TD><b>VID_TYPE_CAPTURE</b><TD>Can capture to memory</TD> | ||
49 | <TR><TD><b>VID_TYPE_TUNER</b><TD>Has a tuner of some form</TD> | ||
50 | <TR><TD><b>VID_TYPE_TELETEXT</b><TD>Has teletext capability</TD> | ||
51 | <TR><TD><b>VID_TYPE_OVERLAY</b><TD>Can overlay its image onto the frame buffer</TD> | ||
52 | <TR><TD><b>VID_TYPE_CHROMAKEY</b><TD>Overlay is Chromakeyed</TD> | ||
53 | <TR><TD><b>VID_TYPE_CLIPPING</b><TD>Overlay clipping is supported</TD> | ||
54 | <TR><TD><b>VID_TYPE_FRAMERAM</b><TD>Overlay overwrites frame buffer memory</TD> | ||
55 | <TR><TD><b>VID_TYPE_SCALES</b><TD>The hardware supports image scaling</TD> | ||
56 | <TR><TD><b>VID_TYPE_MONOCHROME</b><TD>Image capture is grey scale only</TD> | ||
57 | <TR><TD><b>VID_TYPE_SUBCAPTURE</b><TD>Capture can be of only part of the image</TD> | ||
58 | </TABLE> | ||
59 | <P> | ||
60 | The minimum and maximum sizes listed for a capture device do not imply all | ||
61 | that all height/width ratios or sizes within the range are possible. A | ||
62 | request to set a size will be honoured by the largest available capture | ||
63 | size whose capture is no large than the requested rectangle in either | ||
64 | direction. For example the quickcam has 3 fixed settings. | ||
65 | <P> | ||
66 | <H3>Frame Buffer</H3> | ||
67 | Capture cards that drop data directly onto the frame buffer must be told the | ||
68 | base address of the frame buffer, its size and organisation. This is a | ||
69 | privileged ioctl and one that eventually X itself should set. | ||
70 | <P> | ||
71 | The <b>VIDIOCSFBUF</b> ioctl sets the frame buffer parameters for a capture | ||
72 | card. If the card does not do direct writes to the frame buffer then this | ||
73 | ioctl will be unsupported. The <b>VIDIOCGFBUF</b> ioctl returns the | ||
74 | currently used parameters. The structure used in both cases is a | ||
75 | <b>struct video_buffer</b>. | ||
76 | <P> | ||
77 | <TABLE> | ||
78 | <TR><TD><b>void *base</b></TD><TD>Base physical address of the buffer</TD> | ||
79 | <TR><TD><b>int height</b></TD><TD>Height of the frame buffer</TD> | ||
80 | <TR><TD><b>int width</b></TD><TD>Width of the frame buffer</TD> | ||
81 | <TR><TD><b>int depth</b></TD><TD>Depth of the frame buffer</TD> | ||
82 | <TR><TD><b>int bytesperline</b></TD><TD>Number of bytes of memory between the start of two adjacent lines</TD> | ||
83 | </TABLE> | ||
84 | <P> | ||
85 | Note that these values reflect the physical layout of the frame buffer. | ||
86 | The visible area may be smaller. In fact under XFree86 this is commonly the | ||
87 | case. XFree86 DGA can provide the parameters required to set up this ioctl. | ||
88 | Setting the base address to NULL indicates there is no physical frame buffer | ||
89 | access. | ||
90 | <P> | ||
91 | <H3>Capture Windows</H3> | ||
92 | The capture area is described by a <b>struct video_window</b>. This defines | ||
93 | a capture area and the clipping information if relevant. The | ||
94 | <b>VIDIOCGWIN</b> ioctl recovers the current settings and the | ||
95 | <b>VIDIOCSWIN</b> sets new values. A successful call to <b>VIDIOCSWIN</b> | ||
96 | indicates that a suitable set of parameters have been chosen. They do not | ||
97 | indicate that exactly what was requested was granted. The program should | ||
98 | call <b>VIDIOCGWIN</b> to check if the nearest match was suitable. The | ||
99 | <b>struct video_window</b> contains the following fields. | ||
100 | <P> | ||
101 | <TABLE> | ||
102 | <TR><TD><b>x</b><TD>The X co-ordinate specified in X windows format.</TD> | ||
103 | <TR><TD><b>y</b><TD>The Y co-ordinate specified in X windows format.</TD> | ||
104 | <TR><TD><b>width</b><TD>The width of the image capture.</TD> | ||
105 | <TR><TD><b>height</b><TD>The height of the image capture.</TD> | ||
106 | <TR><TD><b>chromakey</b><TD>A host order RGB32 value for the chroma key.</TD> | ||
107 | <TR><TD><b>flags</b><TD>Additional capture flags.</TD> | ||
108 | <TR><TD><b>clips</b><TD>A list of clipping rectangles. <em>(Set only)</em></TD> | ||
109 | <TR><TD><b>clipcount</b><TD>The number of clipping rectangles. <em>(Set only)</em></TD> | ||
110 | </TABLE> | ||
111 | <P> | ||
112 | Clipping rectangles are passed as an array. Each clip consists of the following | ||
113 | fields available to the user. | ||
114 | <P> | ||
115 | <TABLE> | ||
116 | <TR><TD><b>x</b></TD><TD>X co-ordinate of rectangle to skip</TD> | ||
117 | <TR><TD><b>y</b></TD><TD>Y co-ordinate of rectangle to skip</TD> | ||
118 | <TR><TD><b>width</b></TD><TD>Width of rectangle to skip</TD> | ||
119 | <TR><TD><b>height</b></TD><TD>Height of rectangle to skip</TD> | ||
120 | </TABLE> | ||
121 | <P> | ||
122 | Merely setting the window does not enable capturing. Overlay capturing | ||
123 | (i.e. PCI-PCI transfer to the frame buffer of the video card) | ||
124 | is activated by passing the <b>VIDIOCCAPTURE</b> ioctl a value of 1, and | ||
125 | disabled by passing it a value of 0. | ||
126 | <P> | ||
127 | Some capture devices can capture a subfield of the image they actually see. | ||
128 | This is indicated when VIDEO_TYPE_SUBCAPTURE is defined. | ||
129 | The video_capture describes the time and special subfields to capture. | ||
130 | The video_capture structure contains the following fields. | ||
131 | <P> | ||
132 | <TABLE> | ||
133 | <TR><TD><b>x</b></TD><TD>X co-ordinate of source rectangle to grab</TD> | ||
134 | <TR><TD><b>y</b></TD><TD>Y co-ordinate of source rectangle to grab</TD> | ||
135 | <TR><TD><b>width</b></TD><TD>Width of source rectangle to grab</TD> | ||
136 | <TR><TD><b>height</b></TD><TD>Height of source rectangle to grab</TD> | ||
137 | <TR><TD><b>decimation</b></TD><TD>Decimation to apply</TD> | ||
138 | <TR><TD><b>flags</b></TD><TD>Flag settings for grabbing</TD> | ||
139 | </TABLE> | ||
140 | The available flags are | ||
141 | <P> | ||
142 | <TABLE> | ||
143 | <TR><TH>Name</TH><TH>Description</TH> | ||
144 | <TR><TD><b>VIDEO_CAPTURE_ODD</b><TD>Capture only odd frames</TD> | ||
145 | <TR><TD><b>VIDEO_CAPTURE_EVEN</b><TD>Capture only even frames</TD> | ||
146 | </TABLE> | ||
147 | <P> | ||
148 | <H3>Video Sources</H3> | ||
149 | Each video4linux video or audio device captures from one or more | ||
150 | source <b>channels</b>. Each channel can be queries with the | ||
151 | <b>VDIOCGCHAN</b> ioctl call. Before invoking this function the caller | ||
152 | must set the channel field to the channel that is being queried. On return | ||
153 | the <b>struct video_channel</b> is filled in with information about the | ||
154 | nature of the channel itself. | ||
155 | <P> | ||
156 | The <b>VIDIOCSCHAN</b> ioctl takes an integer argument and switches the | ||
157 | capture to this input. It is not defined whether parameters such as colour | ||
158 | settings or tuning are maintained across a channel switch. The caller should | ||
159 | maintain settings as desired for each channel. (This is reasonable as | ||
160 | different video inputs may have different properties). | ||
161 | <P> | ||
162 | The <b>struct video_channel</b> consists of the following | ||
163 | <P> | ||
164 | <TABLE> | ||
165 | <TR><TD><b>channel</b></TD><TD>The channel number</TD> | ||
166 | <TR><TD><b>name</b></TD><TD>The input name - preferably reflecting the label | ||
167 | on the card input itself</TD> | ||
168 | <TR><TD><b>tuners</b></TD><TD>Number of tuners for this input</TD> | ||
169 | <TR><TD><b>flags</b></TD><TD>Properties the tuner has</TD> | ||
170 | <TR><TD><b>type</b></TD><TD>Input type (if known)</TD> | ||
171 | <TR><TD><b>norm</b><TD>The norm for this channel</TD> | ||
172 | </TABLE> | ||
173 | <P> | ||
174 | The flags defined are | ||
175 | <P> | ||
176 | <TABLE> | ||
177 | <TR><TD><b>VIDEO_VC_TUNER</b><TD>Channel has tuners.</TD> | ||
178 | <TR><TD><b>VIDEO_VC_AUDIO</b><TD>Channel has audio.</TD> | ||
179 | <TR><TD><b>VIDEO_VC_NORM</b><TD>Channel has norm setting.</TD> | ||
180 | </TABLE> | ||
181 | <P> | ||
182 | The types defined are | ||
183 | <P> | ||
184 | <TABLE> | ||
185 | <TR><TD><b>VIDEO_TYPE_TV</b><TD>The input is a TV input.</TD> | ||
186 | <TR><TD><b>VIDEO_TYPE_CAMERA</b><TD>The input is a camera.</TD> | ||
187 | </TABLE> | ||
188 | <P> | ||
189 | <H3>Image Properties</H3> | ||
190 | The image properties of the picture can be queried with the <b>VIDIOCGPICT</b> | ||
191 | ioctl which fills in a <b>struct video_picture</b>. The <b>VIDIOCSPICT</b> | ||
192 | ioctl allows values to be changed. All values except for the palette type | ||
193 | are scaled between 0-65535. | ||
194 | <P> | ||
195 | The <b>struct video_picture</b> consists of the following fields | ||
196 | <P> | ||
197 | <TABLE> | ||
198 | <TR><TD><b>brightness</b><TD>Picture brightness</TD> | ||
199 | <TR><TD><b>hue</b><TD>Picture hue (colour only)</TD> | ||
200 | <TR><TD><b>colour</b><TD>Picture colour (colour only)</TD> | ||
201 | <TR><TD><b>contrast</b><TD>Picture contrast</TD> | ||
202 | <TR><TD><b>whiteness</b><TD>The whiteness (greyscale only)</TD> | ||
203 | <TR><TD><b>depth</b><TD>The capture depth (may need to match the frame buffer depth)</TD> | ||
204 | <TR><TD><b>palette</b><TD>Reports the palette that should be used for this image</TD> | ||
205 | </TABLE> | ||
206 | <P> | ||
207 | The following palettes are defined | ||
208 | <P> | ||
209 | <TABLE> | ||
210 | <TR><TD><b>VIDEO_PALETTE_GREY</b><TD>Linear intensity grey scale (255 is brightest).</TD> | ||
211 | <TR><TD><b>VIDEO_PALETTE_HI240</b><TD>The BT848 8bit colour cube.</TD> | ||
212 | <TR><TD><b>VIDEO_PALETTE_RGB565</b><TD>RGB565 packed into 16 bit words.</TD> | ||
213 | <TR><TD><b>VIDEO_PALETTE_RGB555</b><TD>RGV555 packed into 16 bit words, top bit undefined.</TD> | ||
214 | <TR><TD><b>VIDEO_PALETTE_RGB24</b><TD>RGB888 packed into 24bit words.</TD> | ||
215 | <TR><TD><b>VIDEO_PALETTE_RGB32</b><TD>RGB888 packed into the low 3 bytes of 32bit words. The top 8bits are undefined.</TD> | ||
216 | <TR><TD><b>VIDEO_PALETTE_YUV422</b><TD>Video style YUV422 - 8bits packed 4bits Y 2bits U 2bits V</TD> | ||
217 | <TR><TD><b>VIDEO_PALETTE_YUYV</b><TD>Describe me</TD> | ||
218 | <TR><TD><b>VIDEO_PALETTE_UYVY</b><TD>Describe me</TD> | ||
219 | <TR><TD><b>VIDEO_PALETTE_YUV420</b><TD>YUV420 capture</TD> | ||
220 | <TR><TD><b>VIDEO_PALETTE_YUV411</b><TD>YUV411 capture</TD> | ||
221 | <TR><TD><b>VIDEO_PALETTE_RAW</b><TD>RAW capture (BT848)</TD> | ||
222 | <TR><TD><b>VIDEO_PALETTE_YUV422P</b><TD>YUV 4:2:2 Planar</TD> | ||
223 | <TR><TD><b>VIDEO_PALETTE_YUV411P</b><TD>YUV 4:1:1 Planar</TD> | ||
224 | </TABLE> | ||
225 | <P> | ||
226 | <H3>Tuning</H3> | ||
227 | Each video input channel can have one or more tuners associated with it. Many | ||
228 | devices will not have tuners. TV cards and radio cards will have one or more | ||
229 | tuners attached. | ||
230 | <P> | ||
231 | Tuners are described by a <b>struct video_tuner</b> which can be obtained by | ||
232 | the <b>VIDIOCGTUNER</b> ioctl. Fill in the tuner number in the structure | ||
233 | then pass the structure to the ioctl to have the data filled in. The | ||
234 | tuner can be switched using <b>VIDIOCSTUNER</b> which takes an integer argument | ||
235 | giving the tuner to use. A struct tuner has the following fields | ||
236 | <P> | ||
237 | <TABLE> | ||
238 | <TR><TD><b>tuner</b><TD>Number of the tuner</TD> | ||
239 | <TR><TD><b>name</b><TD>Canonical name for this tuner (eg FM/AM/TV)</TD> | ||
240 | <TR><TD><b>rangelow</b><TD>Lowest tunable frequency</TD> | ||
241 | <TR><TD><b>rangehigh</b><TD>Highest tunable frequency</TD> | ||
242 | <TR><TD><b>flags</b><TD>Flags describing the tuner</TD> | ||
243 | <TR><TD><b>mode</b><TD>The video signal mode if relevant</TD> | ||
244 | <TR><TD><b>signal</b><TD>Signal strength if known - between 0-65535</TD> | ||
245 | </TABLE> | ||
246 | <P> | ||
247 | The following flags exist | ||
248 | <P> | ||
249 | <TABLE> | ||
250 | <TR><TD><b>VIDEO_TUNER_PAL</b><TD>PAL tuning is supported</TD> | ||
251 | <TR><TD><b>VIDEO_TUNER_NTSC</b><TD>NTSC tuning is supported</TD> | ||
252 | <TR><TD><b>VIDEO_TUNER_SECAM</b><TD>SECAM tuning is supported</TD> | ||
253 | <TR><TD><b>VIDEO_TUNER_LOW</b><TD>Frequency is in a lower range</TD> | ||
254 | <TR><TD><b>VIDEO_TUNER_NORM</b><TD>The norm for this tuner is settable</TD> | ||
255 | <TR><TD><b>VIDEO_TUNER_STEREO_ON</b><TD>The tuner is seeing stereo audio</TD> | ||
256 | <TR><TD><b>VIDEO_TUNER_RDS_ON</b><TD>The tuner is seeing a RDS datastream</TD> | ||
257 | <TR><TD><b>VIDEO_TUNER_MBS_ON</b><TD>The tuner is seeing a MBS datastream</TD> | ||
258 | </TABLE> | ||
259 | <P> | ||
260 | The following modes are defined | ||
261 | <P> | ||
262 | <TABLE> | ||
263 | <TR><TD><b>VIDEO_MODE_PAL</b><TD>The tuner is in PAL mode</TD> | ||
264 | <TR><TD><b>VIDEO_MODE_NTSC</b><TD>The tuner is in NTSC mode</TD> | ||
265 | <TR><TD><b>VIDEO_MODE_SECAM</b><TD>The tuner is in SECAM mode</TD> | ||
266 | <TR><TD><b>VIDEO_MODE_AUTO</b><TD>The tuner auto switches, or mode does not apply</TD> | ||
267 | </TABLE> | ||
268 | <P> | ||
269 | Tuning frequencies are an unsigned 32bit value in 1/16th MHz or if the | ||
270 | <b>VIDEO_TUNER_LOW</b> flag is set they are in 1/16th KHz. The current | ||
271 | frequency is obtained as an unsigned long via the <b>VIDIOCGFREQ</b> ioctl and | ||
272 | set by the <b>VIDIOCSFREQ</b> ioctl. | ||
273 | <P> | ||
274 | <H3>Audio</H3> | ||
275 | TV and Radio devices have one or more audio inputs that may be selected. | ||
276 | The audio properties are queried by passing a <b>struct video_audio</b> to <b>VIDIOCGAUDIO</b> ioctl. The | ||
277 | <b>VIDIOCSAUDIO</b> ioctl sets audio properties. | ||
278 | <P> | ||
279 | The structure contains the following fields | ||
280 | <P> | ||
281 | <TABLE> | ||
282 | <TR><TD><b>audio</b><TD>The channel number</TD> | ||
283 | <TR><TD><b>volume</b><TD>The volume level</TD> | ||
284 | <TR><TD><b>bass</b><TD>The bass level</TD> | ||
285 | <TR><TD><b>treble</b><TD>The treble level</TD> | ||
286 | <TR><TD><b>flags</b><TD>Flags describing the audio channel</TD> | ||
287 | <TR><TD><b>name</b><TD>Canonical name for the audio input</TD> | ||
288 | <TR><TD><b>mode</b><TD>The mode the audio input is in</TD> | ||
289 | <TR><TD><b>balance</b><TD>The left/right balance</TD> | ||
290 | <TR><TD><b>step</b><TD>Actual step used by the hardware</TD> | ||
291 | </TABLE> | ||
292 | <P> | ||
293 | The following flags are defined | ||
294 | <P> | ||
295 | <TABLE> | ||
296 | <TR><TD><b>VIDEO_AUDIO_MUTE</b><TD>The audio is muted</TD> | ||
297 | <TR><TD><b>VIDEO_AUDIO_MUTABLE</b><TD>Audio muting is supported</TD> | ||
298 | <TR><TD><b>VIDEO_AUDIO_VOLUME</b><TD>The volume is controllable</TD> | ||
299 | <TR><TD><b>VIDEO_AUDIO_BASS</b><TD>The bass is controllable</TD> | ||
300 | <TR><TD><b>VIDEO_AUDIO_TREBLE</b><TD>The treble is controllable</TD> | ||
301 | <TR><TD><b>VIDEO_AUDIO_BALANCE</b><TD>The balance is controllable</TD> | ||
302 | </TABLE> | ||
303 | <P> | ||
304 | The following decoding modes are defined | ||
305 | <P> | ||
306 | <TABLE> | ||
307 | <TR><TD><b>VIDEO_SOUND_MONO</b><TD>Mono signal</TD> | ||
308 | <TR><TD><b>VIDEO_SOUND_STEREO</b><TD>Stereo signal (NICAM for TV)</TD> | ||
309 | <TR><TD><b>VIDEO_SOUND_LANG1</b><TD>European TV alternate language 1</TD> | ||
310 | <TR><TD><b>VIDEO_SOUND_LANG2</b><TD>European TV alternate language 2</TD> | ||
311 | </TABLE> | ||
312 | <P> | ||
313 | <H3>Reading Images</H3> | ||
314 | Each call to the <b>read</b> syscall returns the next available image | ||
315 | from the device. It is up to the caller to set format and size (using | ||
316 | the VIDIOCSPICT and VIDIOCSWIN ioctls) and then to pass a suitable | ||
317 | size buffer and length to the function. Not all devices will support | ||
318 | read operations. | ||
319 | <P> | ||
320 | A second way to handle image capture is via the mmap interface if supported. | ||
321 | To use the mmap interface a user first sets the desired image size and depth | ||
322 | properties. Next the VIDIOCGMBUF ioctl is issued. This reports the size | ||
323 | of buffer to mmap and the offset within the buffer for each frame. The | ||
324 | number of frames supported is device dependent and may only be one. | ||
325 | <P> | ||
326 | The video_mbuf structure contains the following fields | ||
327 | <P> | ||
328 | <TABLE> | ||
329 | <TR><TD><b>size</b><TD>The number of bytes to map</TD> | ||
330 | <TR><TD><b>frames</b><TD>The number of frames</TD> | ||
331 | <TR><TD><b>offsets</b><TD>The offset of each frame</TD> | ||
332 | </TABLE> | ||
333 | <P> | ||
334 | Once the mmap has been made the VIDIOCMCAPTURE ioctl starts the | ||
335 | capture to a frame using the format and image size specified in the | ||
336 | video_mmap (which should match or be below the initial query size). | ||
337 | When the VIDIOCMCAPTURE ioctl returns the frame is <em>not</em> | ||
338 | captured yet, the driver just instructed the hardware to start the | ||
339 | capture. The application has to use the VIDIOCSYNC ioctl to wait | ||
340 | until the capture of a frame is finished. VIDIOCSYNC takes the frame | ||
341 | number you want to wait for as argument. | ||
342 | <p> | ||
343 | It is allowed to call VIDIOCMCAPTURE multiple times (with different | ||
344 | frame numbers in video_mmap->frame of course) and thus have multiple | ||
345 | outstanding capture requests. A simple way do to double-buffering | ||
346 | using this feature looks like this: | ||
347 | <pre> | ||
348 | /* setup everything */ | ||
349 | VIDIOCMCAPTURE(0) | ||
350 | while (whatever) { | ||
351 | VIDIOCMCAPTURE(1) | ||
352 | VIDIOCSYNC(0) | ||
353 | /* process frame 0 while the hardware captures frame 1 */ | ||
354 | VIDIOCMCAPTURE(0) | ||
355 | VIDIOCSYNC(1) | ||
356 | /* process frame 1 while the hardware captures frame 0 */ | ||
357 | } | ||
358 | </pre> | ||
359 | Note that you are <em>not</em> limited to only two frames. The API | ||
360 | allows up to 32 frames, the VIDIOCGMBUF ioctl returns the number of | ||
361 | frames the driver granted. Thus it is possible to build deeper queues | ||
362 | to avoid loosing frames on load peaks. | ||
363 | <p> | ||
364 | While capturing to memory the driver will make a "best effort" attempt | ||
365 | to capture to screen as well if requested. This normally means all | ||
366 | frames that "miss" memory mapped capture will go to the display. | ||
367 | <P> | ||
368 | A final ioctl exists to allow a device to obtain related devices if a | ||
369 | driver has multiple components (for example video0 may not be associated | ||
370 | with vbi0 which would cause an intercast display program to make a bad | ||
371 | mistake). The VIDIOCGUNIT ioctl reports the unit numbers of the associated | ||
372 | devices if any exist. The video_unit structure has the following fields. | ||
373 | <P> | ||
374 | <TABLE> | ||
375 | <TR><TD><b>video</b><TD>Video capture device</TD> | ||
376 | <TR><TD><b>vbi</b><TD>VBI capture device</TD> | ||
377 | <TR><TD><b>radio</b><TD>Radio device</TD> | ||
378 | <TR><TD><b>audio</b><TD>Audio mixer</TD> | ||
379 | <TR><TD><b>teletext</b><TD>Teletext device</TD> | ||
380 | </TABLE> | ||
381 | <P> | ||
382 | <H3>RDS Datastreams</H3> | ||
383 | For radio devices that support it, it is possible to receive Radio Data | ||
384 | System (RDS) data by means of a read() on the device. The data is packed in | ||
385 | groups of three, as follows: | ||
386 | <TABLE> | ||
387 | <TR><TD>First Octet</TD><TD>Least Significant Byte of RDS Block</TD></TR> | ||
388 | <TR><TD>Second Octet</TD><TD>Most Significant Byte of RDS Block | ||
389 | <TR><TD>Third Octet</TD><TD>Bit 7:</TD><TD>Error bit. Indicates that | ||
390 | an uncorrectable error occurred during reception of this block.</TD></TR> | ||
391 | <TR><TD> </TD><TD>Bit 6:</TD><TD>Corrected bit. Indicates that | ||
392 | an error was corrected for this data block.</TD></TR> | ||
393 | <TR><TD> </TD><TD>Bits 5-3:</TD><TD>Received Offset. Indicates the | ||
394 | offset received by the sync system.</TD></TR> | ||
395 | <TR><TD> </TD><TD>Bits 2-0:</TD><TD>Offset Name. Indicates the | ||
396 | offset applied to this data.</TD></TR> | ||
397 | </TABLE> | ||
398 | </BODY> | ||
399 | </HTML> | ||
diff --git a/Documentation/video4linux/CARDLIST.bttv b/Documentation/video4linux/CARDLIST.bttv index e46761c39e3f..62a12a08e2ac 100644 --- a/Documentation/video4linux/CARDLIST.bttv +++ b/Documentation/video4linux/CARDLIST.bttv | |||
@@ -1,4 +1,4 @@ | |||
1 | card=0 - *** UNKNOWN/GENERIC *** | 1 | card=0 - *** UNKNOWN/GENERIC *** |
2 | card=1 - MIRO PCTV | 2 | card=1 - MIRO PCTV |
3 | card=2 - Hauppauge (bt848) | 3 | card=2 - Hauppauge (bt848) |
4 | card=3 - STB, Gateway P/N 6000699 (bt848) | 4 | card=3 - STB, Gateway P/N 6000699 (bt848) |
@@ -119,3 +119,17 @@ card=117 - NGS NGSTV+ | |||
119 | card=118 - LMLBT4 | 119 | card=118 - LMLBT4 |
120 | card=119 - Tekram M205 PRO | 120 | card=119 - Tekram M205 PRO |
121 | card=120 - Conceptronic CONTVFMi | 121 | card=120 - Conceptronic CONTVFMi |
122 | card=121 - Euresys Picolo Tetra | ||
123 | card=122 - Spirit TV Tuner | ||
124 | card=123 - AVerMedia AVerTV DVB-T 771 | ||
125 | card=124 - AverMedia AverTV DVB-T 761 | ||
126 | card=125 - MATRIX Vision Sigma-SQ | ||
127 | card=126 - MATRIX Vision Sigma-SLC | ||
128 | card=127 - APAC Viewcomp 878(AMAX) | ||
129 | card=128 - DVICO FusionHDTV DVB-T Lite | ||
130 | card=129 - V-Gear MyVCD | ||
131 | card=130 - Super TV Tuner | ||
132 | card=131 - Tibet Systems 'Progress DVR' CS16 | ||
133 | card=132 - Kodicom 4400R (master) | ||
134 | card=133 - Kodicom 4400R (slave) | ||
135 | card=134 - Adlink RTV24 | ||
diff --git a/Documentation/video4linux/CARDLIST.cx88 b/Documentation/video4linux/CARDLIST.cx88 new file mode 100644 index 000000000000..03deb0726aa4 --- /dev/null +++ b/Documentation/video4linux/CARDLIST.cx88 | |||
@@ -0,0 +1,32 @@ | |||
1 | card=0 - UNKNOWN/GENERIC | ||
2 | card=1 - Hauppauge WinTV 34xxx models | ||
3 | card=2 - GDI Black Gold | ||
4 | card=3 - PixelView | ||
5 | card=4 - ATI TV Wonder Pro | ||
6 | card=5 - Leadtek Winfast 2000XP Expert | ||
7 | card=6 - AverTV Studio 303 (M126) | ||
8 | card=7 - MSI TV-@nywhere Master | ||
9 | card=8 - Leadtek Winfast DV2000 | ||
10 | card=9 - Leadtek PVR 2000 | ||
11 | card=10 - IODATA GV-VCP3/PCI | ||
12 | card=11 - Prolink PlayTV PVR | ||
13 | card=12 - ASUS PVR-416 | ||
14 | card=13 - MSI TV-@nywhere | ||
15 | card=14 - KWorld/VStream XPert DVB-T | ||
16 | card=15 - DViCO FusionHDTV DVB-T1 | ||
17 | card=16 - KWorld LTV883RF | ||
18 | card=17 - DViCO FusionHDTV 3 Gold-Q | ||
19 | card=18 - Hauppauge Nova-T DVB-T | ||
20 | card=19 - Conexant DVB-T reference design | ||
21 | card=20 - Provideo PV259 | ||
22 | card=21 - DViCO FusionHDTV DVB-T Plus | ||
23 | card=22 - digitalnow DNTV Live! DVB-T | ||
24 | card=23 - pcHDTV HD3000 HDTV | ||
25 | card=24 - Hauppauge WinTV 28xxx (Roslyn) models | ||
26 | card=25 - Digital-Logic MICROSPACE Entertainment Center (MEC) | ||
27 | card=26 - IODATA GV/BCTV7E | ||
28 | card=27 - PixelView PlayTV Ultra Pro (Stereo) | ||
29 | card=28 - DViCO FusionHDTV 3 Gold-T | ||
30 | card=29 - ADS Tech Instant TV DVB-T PCI | ||
31 | card=30 - TerraTec Cinergy 1400 DVB-T | ||
32 | card=31 - DViCO FusionHDTV 5 Gold | ||
diff --git a/Documentation/video4linux/CARDLIST.saa7134 b/Documentation/video4linux/CARDLIST.saa7134 index a6c82fa4de02..1b5a3a9ffbe2 100644 --- a/Documentation/video4linux/CARDLIST.saa7134 +++ b/Documentation/video4linux/CARDLIST.saa7134 | |||
@@ -1,10 +1,10 @@ | |||
1 | 0 -> UNKNOWN/GENERIC | 1 | 0 -> UNKNOWN/GENERIC |
2 | 1 -> Proteus Pro [philips reference design] [1131:2001,1131:2001] | 2 | 1 -> Proteus Pro [philips reference design] [1131:2001,1131:2001] |
3 | 2 -> LifeView FlyVIDEO3000 [5168:0138,4e42:0138] | 3 | 2 -> LifeView FlyVIDEO3000 [5168:0138,4e42:0138] |
4 | 3 -> LifeView FlyVIDEO2000 [5168:0138] | 4 | 3 -> LifeView FlyVIDEO2000 [5168:0138] |
5 | 4 -> EMPRESS [1131:6752] | 5 | 4 -> EMPRESS [1131:6752] |
6 | 5 -> SKNet Monster TV [1131:4e85] | 6 | 5 -> SKNet Monster TV [1131:4e85] |
7 | 6 -> Tevion MD 9717 | 7 | 6 -> Tevion MD 9717 |
8 | 7 -> KNC One TV-Station RDS / Typhoon TV Tuner RDS [1131:fe01,1894:fe01] | 8 | 7 -> KNC One TV-Station RDS / Typhoon TV Tuner RDS [1131:fe01,1894:fe01] |
9 | 8 -> Terratec Cinergy 400 TV [153B:1142] | 9 | 8 -> Terratec Cinergy 400 TV [153B:1142] |
10 | 9 -> Medion 5044 | 10 | 9 -> Medion 5044 |
@@ -20,16 +20,45 @@ | |||
20 | 19 -> Compro VideoMate TV [185b:c100] | 20 | 19 -> Compro VideoMate TV [185b:c100] |
21 | 20 -> Matrox CronosPlus [102B:48d0] | 21 | 20 -> Matrox CronosPlus [102B:48d0] |
22 | 21 -> 10MOONS PCI TV CAPTURE CARD [1131:2001] | 22 | 21 -> 10MOONS PCI TV CAPTURE CARD [1131:2001] |
23 | 22 -> Medion 2819/ AverMedia M156 [1461:a70b,1461:2115] | 23 | 22 -> AverMedia M156 / Medion 2819 [1461:a70b] |
24 | 23 -> BMK MPEX Tuner | 24 | 23 -> BMK MPEX Tuner |
25 | 24 -> KNC One TV-Station DVR [1894:a006] | 25 | 24 -> KNC One TV-Station DVR [1894:a006] |
26 | 25 -> ASUS TV-FM 7133 [1043:4843] | 26 | 25 -> ASUS TV-FM 7133 [1043:4843] |
27 | 26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b] | 27 | 26 -> Pinnacle PCTV Stereo (saa7134) [11bd:002b] |
28 | 27 -> Manli MuchTV M-TV002 | 28 | 27 -> Manli MuchTV M-TV002/Behold TV 403 FM |
29 | 28 -> Manli MuchTV M-TV001 | 29 | 28 -> Manli MuchTV M-TV001/Behold TV 401 |
30 | 29 -> Nagase Sangyo TransGear 3000TV [1461:050c] | 30 | 29 -> Nagase Sangyo TransGear 3000TV [1461:050c] |
31 | 30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) [1019:4cb4] | 31 | 30 -> Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) [1019:4cb4] |
32 | 31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) [1019:4cb5] | 32 | 31 -> Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) [1019:4cb5] |
33 | 32 -> AVACS SmartTV | 33 | 32 -> AVACS SmartTV |
34 | 33 -> AVerMedia DVD EZMaker [1461:10ff] | 34 | 33 -> AVerMedia DVD EZMaker [1461:10ff] |
35 | 34 -> LifeView FlyTV Platinum33 mini [5168:0212] | 35 | 34 -> Noval Prime TV 7133 |
36 | 35 -> AverMedia AverTV Studio 305 [1461:2115] | ||
37 | 36 -> UPMOST PURPLE TV [12ab:0800] | ||
38 | 37 -> Items MuchTV Plus / IT-005 | ||
39 | 38 -> Terratec Cinergy 200 TV [153B:1152] | ||
40 | 39 -> LifeView FlyTV Platinum Mini [5168:0212] | ||
41 | 40 -> Compro VideoMate TV PVR/FM [185b:c100] | ||
42 | 41 -> Compro VideoMate TV Gold+ [185b:c100] | ||
43 | 42 -> Sabrent SBT-TVFM (saa7130) | ||
44 | 43 -> :Zolid Xpert TV7134 | ||
45 | 44 -> Empire PCI TV-Radio LE | ||
46 | 45 -> Avermedia AVerTV Studio 307 [1461:9715] | ||
47 | 46 -> AVerMedia Cardbus TV/Radio (E500) [1461:d6ee] | ||
48 | 47 -> Terratec Cinergy 400 mobile [153b:1162] | ||
49 | 48 -> Terratec Cinergy 600 TV MK3 [153B:1158] | ||
50 | 49 -> Compro VideoMate Gold+ Pal [185b:c200] | ||
51 | 50 -> Pinnacle PCTV 300i DVB-T + PAL [11bd:002d] | ||
52 | 51 -> ProVideo PV952 [1540:9524] | ||
53 | 52 -> AverMedia AverTV/305 [1461:2108] | ||
54 | 53 -> ASUS TV-FM 7135 [1043:4845] | ||
55 | 54 -> LifeView FlyTV Platinum FM [5168:0214,1489:0214] | ||
56 | 55 -> LifeView FlyDVB-T DUO [5168:0502,5168:0306] | ||
57 | 56 -> Avermedia AVerTV 307 [1461:a70a] | ||
58 | 57 -> Avermedia AVerTV GO 007 FM [1461:f31f] | ||
59 | 58 -> ADS Tech Instant TV (saa7135) [1421:0350,1421:0370] | ||
60 | 59 -> Kworld/Tevion V-Stream Xpert TV PVR7134 | ||
61 | 60 -> Typhoon DVB-T Duo Digital/Analog Cardbus [4e42:0502] | ||
62 | 61 -> Philips TOUGH DVB-T reference design [1131:2004] | ||
63 | 62 -> Compro VideoMate TV Gold+II | ||
64 | 63 -> Kworld Xpert TV PVR7134 | ||
diff --git a/Documentation/video4linux/CARDLIST.tuner b/Documentation/video4linux/CARDLIST.tuner index f7bafe862ba0..f3302e1b1b9c 100644 --- a/Documentation/video4linux/CARDLIST.tuner +++ b/Documentation/video4linux/CARDLIST.tuner | |||
@@ -44,3 +44,23 @@ tuner=42 - Philips 1236D ATSC/NTSC daul in | |||
44 | tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F) | 44 | tuner=43 - Philips NTSC MK3 (FM1236MK3 or FM1236/F) |
45 | tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant) | 45 | tuner=44 - Philips 4 in 1 (ATI TV Wonder Pro/Conexant) |
46 | tuner=45 - Microtune 4049 FM5 | 46 | tuner=45 - Microtune 4049 FM5 |
47 | tuner=46 - Panasonic VP27s/ENGE4324D | ||
48 | tuner=47 - LG NTSC (TAPE series) | ||
49 | tuner=48 - Tenna TNF 8831 BGFF) | ||
50 | tuner=49 - Microtune 4042 FI5 ATSC/NTSC dual in | ||
51 | tuner=50 - TCL 2002N | ||
52 | tuner=51 - Philips PAL/SECAM_D (FM 1256 I-H3) | ||
53 | tuner=52 - Thomson DDT 7610 (ATSC/NTSC) | ||
54 | tuner=53 - Philips FQ1286 | ||
55 | tuner=54 - tda8290+75 | ||
56 | tuner=55 - LG PAL (TAPE series) | ||
57 | tuner=56 - Philips PAL/SECAM multi (FQ1216AME MK4) | ||
58 | tuner=57 - Philips FQ1236A MK4 | ||
59 | tuner=58 - Ymec TVision TVF-8531MF/8831MF/8731MF | ||
60 | tuner=59 - Ymec TVision TVF-5533MF | ||
61 | tuner=60 - Thomson DDT 7611 (ATSC/NTSC) | ||
62 | tuner=61 - Tena TNF9533-D/IF/TNF9533-B/DF | ||
63 | tuner=62 - Philips TEA5767HN FM Radio | ||
64 | tuner=63 - Philips FMD1216ME MK3 Hybrid Tuner | ||
65 | tuner=64 - LG TDVS-H062F/TUA6034 | ||
66 | tuner=65 - Ymec TVF66T5-B/DFF | ||
diff --git a/Documentation/video4linux/README.saa7134 b/Documentation/video4linux/README.saa7134 index 1a446c65365e..1f788e498eff 100644 --- a/Documentation/video4linux/README.saa7134 +++ b/Documentation/video4linux/README.saa7134 | |||
@@ -57,6 +57,15 @@ Cards can use either of these two crystals (xtal): | |||
57 | - 24.576MHz -> .audio_clock=0x200000 | 57 | - 24.576MHz -> .audio_clock=0x200000 |
58 | (xtal * .audio_clock = 51539600) | 58 | (xtal * .audio_clock = 51539600) |
59 | 59 | ||
60 | Some 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. | ||
60 | 69 | ||
61 | Credits | 70 | Credits |
62 | ======= | 71 | ======= |
diff --git a/Documentation/video4linux/bttv/Cards b/Documentation/video4linux/bttv/Cards index 7f8c7eb70ab2..8f1941ede4da 100644 --- a/Documentation/video4linux/bttv/Cards +++ b/Documentation/video4linux/bttv/Cards | |||
@@ -20,7 +20,7 @@ All other cards only differ by additional components as tuners, sound | |||
20 | decoders, EEPROMs, teletext decoders ... | 20 | decoders, EEPROMs, teletext decoders ... |
21 | 21 | ||
22 | 22 | ||
23 | Unsupported Cards: | 23 | Unsupported Cards: |
24 | ------------------ | 24 | ------------------ |
25 | 25 | ||
26 | Cards with Zoran (ZR) or Philips (SAA) or ISA are not supported by | 26 | Cards with Zoran (ZR) or Philips (SAA) or ISA are not supported by |
@@ -50,11 +50,11 @@ Bt848a/Bt849 single crytal operation support possible!!! | |||
50 | Miro/Pinnacle PCTV | 50 | Miro/Pinnacle PCTV |
51 | ------------------ | 51 | ------------------ |
52 | 52 | ||
53 | - Bt848 | 53 | - Bt848 |
54 | some (all??) come with 2 crystals for PAL/SECAM and NTSC | 54 | some (all??) come with 2 crystals for PAL/SECAM and NTSC |
55 | - PAL, SECAM or NTSC TV tuner (Philips or TEMIC) | 55 | - PAL, SECAM or NTSC TV tuner (Philips or TEMIC) |
56 | - MSP34xx sound decoder on add on board | 56 | - MSP34xx sound decoder on add on board |
57 | decoder is supported but AFAIK does not yet work | 57 | decoder is supported but AFAIK does not yet work |
58 | (other sound MUX setting in GPIO port needed??? somebody who fixed this???) | 58 | (other sound MUX setting in GPIO port needed??? somebody who fixed this???) |
59 | - 1 tuner, 1 composite and 1 S-VHS input | 59 | - 1 tuner, 1 composite and 1 S-VHS input |
60 | - tuner type is autodetected | 60 | - tuner type is autodetected |
@@ -70,7 +70,7 @@ in 1997! | |||
70 | Hauppauge Win/TV pci | 70 | Hauppauge Win/TV pci |
71 | -------------------- | 71 | -------------------- |
72 | 72 | ||
73 | There are many different versions of the Hauppauge cards with different | 73 | There are many different versions of the Hauppauge cards with different |
74 | tuners (TV+Radio ...), teletext decoders. | 74 | tuners (TV+Radio ...), teletext decoders. |
75 | Note that even cards with same model numbers have (depending on the revision) | 75 | Note that even cards with same model numbers have (depending on the revision) |
76 | different chips on it. | 76 | different chips on it. |
@@ -80,22 +80,22 @@ different chips on it. | |||
80 | - PAL, SECAM, NTSC or tuner with or without Radio support | 80 | - PAL, SECAM, NTSC or tuner with or without Radio support |
81 | 81 | ||
82 | e.g.: | 82 | e.g.: |
83 | PAL: | 83 | PAL: |
84 | TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners | 84 | TDA5737: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners |
85 | TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3 | 85 | TSA5522: 1.4 GHz I2C-bus controlled synthesizer, I2C 0xc2-0xc3 |
86 | 86 | ||
87 | NTSC: | 87 | NTSC: |
88 | TDA5731: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners | 88 | TDA5731: VHF, hyperband and UHF mixer/oscillator for TV and VCR 3-band tuners |
89 | TSA5518: no datasheet available on Philips site | 89 | TSA5518: no datasheet available on Philips site |
90 | - Philips SAA5246 or SAA5284 ( or no) Teletext decoder chip | 90 | - Philips SAA5246 or SAA5284 ( or no) Teletext decoder chip |
91 | with buffer RAM (e.g. Winbond W24257AS-35: 32Kx8 CMOS static RAM) | 91 | with buffer RAM (e.g. Winbond W24257AS-35: 32Kx8 CMOS static RAM) |
92 | SAA5246 (I2C 0x22) is supported | 92 | SAA5246 (I2C 0x22) is supported |
93 | - 256 bytes EEPROM: Microchip 24LC02B or Philips 8582E2Y | 93 | - 256 bytes EEPROM: Microchip 24LC02B or Philips 8582E2Y |
94 | with configuration information | 94 | with configuration information |
95 | I2C address 0xa0 (24LC02B also responds to 0xa2-0xaf) | 95 | I2C address 0xa0 (24LC02B also responds to 0xa2-0xaf) |
96 | - 1 tuner, 1 composite and (depending on model) 1 S-VHS input | 96 | - 1 tuner, 1 composite and (depending on model) 1 S-VHS input |
97 | - 14052B: mux for selection of sound source | 97 | - 14052B: mux for selection of sound source |
98 | - sound decoder: TDA9800, MSP34xx (stereo cards) | 98 | - sound decoder: TDA9800, MSP34xx (stereo cards) |
99 | 99 | ||
100 | 100 | ||
101 | Askey CPH-Series | 101 | Askey CPH-Series |
@@ -108,17 +108,17 @@ Developed by TelSignal(?), OEMed by many vendors (Typhoon, Anubis, Dynalink) | |||
108 | CPH05x: BT878 with FM | 108 | CPH05x: BT878 with FM |
109 | CPH06x: BT878 (w/o FM) | 109 | CPH06x: BT878 (w/o FM) |
110 | CPH07x: BT878 capture only | 110 | CPH07x: BT878 capture only |
111 | 111 | ||
112 | TV standards: | 112 | TV standards: |
113 | CPH0x0: NTSC-M/M | 113 | CPH0x0: NTSC-M/M |
114 | CPH0x1: PAL-B/G | 114 | CPH0x1: PAL-B/G |
115 | CPH0x2: PAL-I/I | 115 | CPH0x2: PAL-I/I |
116 | CPH0x3: PAL-D/K | 116 | CPH0x3: PAL-D/K |
117 | CPH0x4: SECAM-L/L | 117 | CPH0x4: SECAM-L/L |
118 | CPH0x5: SECAM-B/G | 118 | CPH0x5: SECAM-B/G |
119 | CPH0x6: SECAM-D/K | 119 | CPH0x6: SECAM-D/K |
120 | CPH0x7: PAL-N/N | 120 | CPH0x7: PAL-N/N |
121 | CPH0x8: PAL-B/H | 121 | CPH0x8: PAL-B/H |
122 | CPH0x9: PAL-M/M | 122 | CPH0x9: PAL-M/M |
123 | 123 | ||
124 | CPH03x was often sold as "TV capturer". | 124 | CPH03x was often sold as "TV capturer". |
@@ -174,7 +174,7 @@ Lifeview Flyvideo Series: | |||
174 | "The FlyVideo2000 and FlyVideo2000s product name have renamed to FlyVideo98." | 174 | "The FlyVideo2000 and FlyVideo2000s product name have renamed to FlyVideo98." |
175 | Their Bt8x8 cards are listed as discontinued. | 175 | Their Bt8x8 cards are listed as discontinued. |
176 | Flyvideo 2000S was probably sold as Flyvideo 3000 in some contries(Europe?). | 176 | Flyvideo 2000S was probably sold as Flyvideo 3000 in some contries(Europe?). |
177 | The new Flyvideo 2000/3000 are SAA7130/SAA7134 based. | 177 | The new Flyvideo 2000/3000 are SAA7130/SAA7134 based. |
178 | 178 | ||
179 | "Flyvideo II" had been the name for the 848 cards, nowadays (in Germany) | 179 | "Flyvideo II" had been the name for the 848 cards, nowadays (in Germany) |
180 | this name is re-used for LR50 Rev.W. | 180 | this name is re-used for LR50 Rev.W. |
@@ -235,12 +235,12 @@ Prolink | |||
235 | Multimedia TV packages (card + software pack): | 235 | Multimedia TV packages (card + software pack): |
236 | PixelView Play TV Theater - (Model: PV-M4200) = PixelView Play TV pro + Software | 236 | PixelView Play TV Theater - (Model: PV-M4200) = PixelView Play TV pro + Software |
237 | PixelView Play TV PAK - (Model: PV-BT878P+ REV 4E) | 237 | PixelView Play TV PAK - (Model: PV-BT878P+ REV 4E) |
238 | PixelView Play TV/VCR - (Model: PV-M3200 REV 4C / 8D / 10A ) | 238 | PixelView Play TV/VCR - (Model: PV-M3200 REV 4C / 8D / 10A ) |
239 | PixelView Studio PAK - (Model: M2200 REV 4C / 8D / 10A ) | 239 | PixelView Studio PAK - (Model: M2200 REV 4C / 8D / 10A ) |
240 | PixelView PowerStudio PAK - (Model: PV-M3600 REV 4E) | 240 | PixelView PowerStudio PAK - (Model: PV-M3600 REV 4E) |
241 | PixelView DigitalVCR PAK - (Model: PV-M2400 REV 4C / 8D / 10A ) | 241 | PixelView DigitalVCR PAK - (Model: PV-M2400 REV 4C / 8D / 10A ) |
242 | 242 | ||
243 | PixelView PlayTV PAK II (TV/FM card + usb camera) PV-M3800 | 243 | PixelView PlayTV PAK II (TV/FM card + usb camera) PV-M3800 |
244 | PixelView PlayTV XP PV-M4700,PV-M4700(w/FM) | 244 | PixelView PlayTV XP PV-M4700,PV-M4700(w/FM) |
245 | PixelView PlayTV DVR PV-M4600 package contents:PixelView PlayTV pro, windvr & videoMail s/w | 245 | PixelView PlayTV DVR PV-M4600 package contents:PixelView PlayTV pro, windvr & videoMail s/w |
246 | 246 | ||
@@ -254,7 +254,7 @@ Prolink | |||
254 | 254 | ||
255 | DTV3000 PV-DTV3000P+ DVB-S CI = Twinhan VP-1030 | 255 | DTV3000 PV-DTV3000P+ DVB-S CI = Twinhan VP-1030 |
256 | DTV2000 DVB-S = Twinhan VP-1020 | 256 | DTV2000 DVB-S = Twinhan VP-1020 |
257 | 257 | ||
258 | Video Conferencing: | 258 | Video Conferencing: |
259 | PixelView Meeting PAK - (Model: PV-BT878P) | 259 | PixelView Meeting PAK - (Model: PV-BT878P) |
260 | PixelView Meeting PAK Lite - (Model: PV-BT878P) | 260 | PixelView Meeting PAK Lite - (Model: PV-BT878P) |
@@ -308,7 +308,7 @@ KNC One | |||
308 | 308 | ||
309 | newer Cards have saa7134, but model name stayed the same? | 309 | newer Cards have saa7134, but model name stayed the same? |
310 | 310 | ||
311 | Provideo | 311 | Provideo |
312 | -------- | 312 | -------- |
313 | PV951 or PV-951 (also are sold as: | 313 | PV951 or PV-951 (also are sold as: |
314 | Boeder TV-FM Video Capture Card | 314 | Boeder TV-FM Video Capture Card |
@@ -353,7 +353,7 @@ AVerMedia | |||
353 | AVerTV | 353 | AVerTV |
354 | AVerTV Stereo | 354 | AVerTV Stereo |
355 | AVerTV Studio (w/FM) | 355 | AVerTV Studio (w/FM) |
356 | AVerMedia TV98 with Remote | 356 | AVerMedia TV98 with Remote |
357 | AVerMedia TV/FM98 Stereo | 357 | AVerMedia TV/FM98 Stereo |
358 | AVerMedia TVCAM98 | 358 | AVerMedia TVCAM98 |
359 | TVCapture (Bt848) | 359 | TVCapture (Bt848) |
@@ -373,7 +373,7 @@ AVerMedia | |||
373 | (1) Daughterboard MB68-A with TDA9820T and TDA9840T | 373 | (1) Daughterboard MB68-A with TDA9820T and TDA9840T |
374 | (2) Sony NE41S soldered (stereo sound?) | 374 | (2) Sony NE41S soldered (stereo sound?) |
375 | (3) Daughterboard M118-A w/ pic 16c54 and 4 MHz quartz | 375 | (3) Daughterboard M118-A w/ pic 16c54 and 4 MHz quartz |
376 | 376 | ||
377 | US site has different drivers for (as of 09/2002): | 377 | US site has different drivers for (as of 09/2002): |
378 | EZ Capture/InterCam PCI (BT-848 chip) | 378 | EZ Capture/InterCam PCI (BT-848 chip) |
379 | EZ Capture/InterCam PCI (BT-878 chip) | 379 | EZ Capture/InterCam PCI (BT-878 chip) |
@@ -437,7 +437,7 @@ Terratec | |||
437 | Terra TValueRadio, "LR102 Rev.C" printed on the PCB | 437 | Terra TValueRadio, "LR102 Rev.C" printed on the PCB |
438 | Terra TV/Radio+ Version 1.0, "80-CP2830100-0" TTTV3 printed on the PCB, | 438 | Terra TV/Radio+ Version 1.0, "80-CP2830100-0" TTTV3 printed on the PCB, |
439 | "CPH010-E83" on the back, SAA6588T, TDA9873H | 439 | "CPH010-E83" on the back, SAA6588T, TDA9873H |
440 | Terra TValue Version BT878, "80-CP2830110-0 TTTV4" printed on the PCB, | 440 | Terra TValue Version BT878, "80-CP2830110-0 TTTV4" printed on the PCB, |
441 | "CPH011-D83" on back | 441 | "CPH011-D83" on back |
442 | Terra TValue Version 1.0 "ceb105.PCB" (really identical to Terra TV+ Version 1.0) | 442 | Terra TValue Version 1.0 "ceb105.PCB" (really identical to Terra TV+ Version 1.0) |
443 | Terra TValue New Revision "LR102 Rec.C" | 443 | Terra TValue New Revision "LR102 Rec.C" |
@@ -528,7 +528,7 @@ Koutech | |||
528 | KW-606RSF | 528 | KW-606RSF |
529 | KW-607A (capture only) | 529 | KW-607A (capture only) |
530 | KW-608 (Zoran capture only) | 530 | KW-608 (Zoran capture only) |
531 | 531 | ||
532 | IODATA (jp) | 532 | IODATA (jp) |
533 | ------ | 533 | ------ |
534 | GV-BCTV/PCI | 534 | GV-BCTV/PCI |
@@ -542,15 +542,15 @@ Canopus (jp) | |||
542 | ------- | 542 | ------- |
543 | WinDVR = Kworld "KW-TVL878RF" | 543 | WinDVR = Kworld "KW-TVL878RF" |
544 | 544 | ||
545 | www.sigmacom.co.kr | 545 | www.sigmacom.co.kr |
546 | ------------------ | 546 | ------------------ |
547 | Sigma Cyber TV II | 547 | Sigma Cyber TV II |
548 | 548 | ||
549 | www.sasem.co.kr | 549 | www.sasem.co.kr |
550 | --------------- | 550 | --------------- |
551 | Litte OnAir TV | 551 | Litte OnAir TV |
552 | 552 | ||
553 | hama | 553 | hama |
554 | ---- | 554 | ---- |
555 | TV/Radio-Tuner Card, PCI (Model 44677) = CPH051 | 555 | TV/Radio-Tuner Card, PCI (Model 44677) = CPH051 |
556 | 556 | ||
@@ -638,7 +638,7 @@ Media-Surfer (esc-kathrein.de) | |||
638 | 638 | ||
639 | Jetway (www.jetway.com.tw) | 639 | Jetway (www.jetway.com.tw) |
640 | -------------------------- | 640 | -------------------------- |
641 | JW-TV 878M | 641 | JW-TV 878M |
642 | JW-TV 878 = KWorld KW-TV878RF | 642 | JW-TV 878 = KWorld KW-TV878RF |
643 | 643 | ||
644 | Galaxis | 644 | Galaxis |
@@ -715,7 +715,7 @@ Hauppauge | |||
715 | 809 MyVideo | 715 | 809 MyVideo |
716 | 872 MyTV2Go FM | 716 | 872 MyTV2Go FM |
717 | 717 | ||
718 | 718 | ||
719 | 546 WinTV Nova-S CI | 719 | 546 WinTV Nova-S CI |
720 | 543 WinTV Nova | 720 | 543 WinTV Nova |
721 | 907 Nova-S USB | 721 | 907 Nova-S USB |
@@ -739,7 +739,7 @@ Hauppauge | |||
739 | 832 MyTV2Go | 739 | 832 MyTV2Go |
740 | 869 MyTV2Go-FM | 740 | 869 MyTV2Go-FM |
741 | 805 MyVideo (USB) | 741 | 805 MyVideo (USB) |
742 | 742 | ||
743 | 743 | ||
744 | Matrix-Vision | 744 | Matrix-Vision |
745 | ------------- | 745 | ------------- |
@@ -764,7 +764,7 @@ Gallant (www.gallantcom.com) www.minton.com.tw | |||
764 | Intervision IV-550 (bt8x8) | 764 | Intervision IV-550 (bt8x8) |
765 | Intervision IV-100 (zoran) | 765 | Intervision IV-100 (zoran) |
766 | Intervision IV-1000 (bt8x8) | 766 | Intervision IV-1000 (bt8x8) |
767 | 767 | ||
768 | Asonic (www.asonic.com.cn) (website down) | 768 | Asonic (www.asonic.com.cn) (website down) |
769 | ----------------------------------------- | 769 | ----------------------------------------- |
770 | SkyEye tv 878 | 770 | SkyEye tv 878 |
@@ -804,11 +804,11 @@ Kworld (www.kworld.com.tw) | |||
804 | 804 | ||
805 | JTT/ Justy Corp.http://www.justy.co.jp/ (www.jtt.com.jp website down) | 805 | JTT/ Justy Corp.http://www.justy.co.jp/ (www.jtt.com.jp website down) |
806 | --------------------------------------------------------------------- | 806 | --------------------------------------------------------------------- |
807 | JTT-02 (JTT TV) "TV watchmate pro" (bt848) | 807 | JTT-02 (JTT TV) "TV watchmate pro" (bt848) |
808 | 808 | ||
809 | ADS www.adstech.com | 809 | ADS www.adstech.com |
810 | ------------------- | 810 | ------------------- |
811 | Channel Surfer TV ( CHX-950 ) | 811 | Channel Surfer TV ( CHX-950 ) |
812 | Channel Surfer TV+FM ( CHX-960FM ) | 812 | Channel Surfer TV+FM ( CHX-960FM ) |
813 | 813 | ||
814 | AVEC www.prochips.com | 814 | AVEC www.prochips.com |
@@ -874,7 +874,7 @@ www.ids-imaging.de | |||
874 | ------------------ | 874 | ------------------ |
875 | Falcon Series (capture only) | 875 | Falcon Series (capture only) |
876 | In USA: http://www.theimagingsource.com/ | 876 | In USA: http://www.theimagingsource.com/ |
877 | DFG/LC1 | 877 | DFG/LC1 |
878 | 878 | ||
879 | www.sknet-web.co.jp | 879 | www.sknet-web.co.jp |
880 | ------------------- | 880 | ------------------- |
@@ -890,7 +890,7 @@ Cybertainment | |||
890 | CyberMail Xtreme | 890 | CyberMail Xtreme |
891 | These are Flyvideo | 891 | These are Flyvideo |
892 | 892 | ||
893 | VCR (http://www.vcrinc.com/) | 893 | VCR (http://www.vcrinc.com/) |
894 | --- | 894 | --- |
895 | Video Catcher 16 | 895 | Video Catcher 16 |
896 | 896 | ||
@@ -920,7 +920,7 @@ Sdisilk www.sdisilk.com/ | |||
920 | SDI Silk 200 SDI Input Card | 920 | SDI Silk 200 SDI Input Card |
921 | 921 | ||
922 | www.euresys.com | 922 | www.euresys.com |
923 | PICOLO series | 923 | PICOLO series |
924 | 924 | ||
925 | PMC/Pace | 925 | PMC/Pace |
926 | www.pacecom.co.uk website closed | 926 | www.pacecom.co.uk website closed |
diff --git a/Documentation/video4linux/bttv/Insmod-options b/Documentation/video4linux/bttv/Insmod-options index 7bb5a50b0779..fc94ff235ffa 100644 --- a/Documentation/video4linux/bttv/Insmod-options +++ b/Documentation/video4linux/bttv/Insmod-options | |||
@@ -44,6 +44,9 @@ bttv.o | |||
44 | push used by bttv. bttv will disable overlay | 44 | push used by bttv. bttv will disable overlay |
45 | by default on this hardware to avoid crashes. | 45 | by default on this hardware to avoid crashes. |
46 | With this insmod option you can override this. | 46 | With this insmod option you can override this. |
47 | no_overlay=1 Disable overlay. It should be used by broken | ||
48 | hardware that doesn't support PCI2PCI direct | ||
49 | transfers. | ||
47 | automute=0/1 Automatically mutes the sound if there is | 50 | automute=0/1 Automatically mutes the sound if there is |
48 | no TV signal, on by default. You might try | 51 | no TV signal, on by default. You might try |
49 | to disable this if you have bad input signal | 52 | to disable this if you have bad input signal |
diff --git a/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt b/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt new file mode 100644 index 000000000000..93fec32a1188 --- /dev/null +++ b/Documentation/video4linux/hauppauge-wintv-cx88-ir.txt | |||
@@ -0,0 +1,54 @@ | |||
1 | The controls for the mux are GPIO [0,1] for source, and GPIO 2 for muting. | ||
2 | |||
3 | GPIO0 GPIO1 | ||
4 | 0 0 TV Audio | ||
5 | 1 0 FM radio | ||
6 | 0 1 Line-In | ||
7 | 1 1 Mono tuner bypass or CD passthru (tuner specific) | ||
8 | |||
9 | GPIO 16(i believe) is tied to the IR port (if present). | ||
10 | |||
11 | ------------------------------------------------------------------------------------ | ||
12 | |||
13 | >From the data sheet: | ||
14 | Register 24'h20004 PCI Interrupt Status | ||
15 | bit [18] IR_SMP_INT Set when 32 input samples have been collected over | ||
16 | gpio[16] pin into GP_SAMPLE register. | ||
17 | |||
18 | What's missing from the data sheet: | ||
19 | |||
20 | Setup 4KHz sampling rate (roughly 2x oversampled; good enough for our RC5 | ||
21 | compat remote) | ||
22 | set register 0x35C050 to 0xa80a80 | ||
23 | |||
24 | enable sampling | ||
25 | set register 0x35C054 to 0x5 | ||
26 | |||
27 | Of course, enable the IRQ bit 18 in the interrupt mask register .(and | ||
28 | provide for a handler) | ||
29 | |||
30 | GP_SAMPLE register is at 0x35C058 | ||
31 | |||
32 | Bits are then right shifted into the GP_SAMPLE register at the specified | ||
33 | rate; you get an interrupt when a full DWORD is recieved. | ||
34 | You need to recover the actual RC5 bits out of the (oversampled) IR sensor | ||
35 | bits. (Hint: look for the 0/1and 1/0 crossings of the RC5 bi-phase data) An | ||
36 | actual raw RC5 code will span 2-3 DWORDS, depending on the actual alignment. | ||
37 | |||
38 | I'm pretty sure when no IR signal is present the receiver is always in a | ||
39 | marking state(1); but stray light, etc can cause intermittent noise values | ||
40 | as well. Remember, this is a free running sample of the IR receiver state | ||
41 | over time, so don't assume any sample starts at any particular place. | ||
42 | |||
43 | http://www.atmel.com/dyn/resources/prod_documents/doc2817.pdf | ||
44 | This data sheet (google search) seems to have a lovely description of the | ||
45 | RC5 basics | ||
46 | |||
47 | http://users.pandora.be/nenya/electronics/rc5/ and more data | ||
48 | |||
49 | http://www.ee.washington.edu/circuit_archive/text/ir_decode.txt | ||
50 | and even a reference to how to decode a bi-phase data stream. | ||
51 | |||
52 | http://www.xs4all.nl/~sbp/knowledge/ir/rc5.htm | ||
53 | still more info | ||
54 | |||
diff --git a/Documentation/video4linux/lifeview.txt b/Documentation/video4linux/lifeview.txt new file mode 100644 index 000000000000..b07ea79c2b7e --- /dev/null +++ b/Documentation/video4linux/lifeview.txt | |||
@@ -0,0 +1,42 @@ | |||
1 | collecting data about the lifeview models and the config coding on | ||
2 | gpio pins 0-9 ... | ||
3 | ================================================================== | ||
4 | |||
5 | bt878: | ||
6 | LR50 rev. Q ("PARTS: 7031505116), Tuner wurde als Nr. 5 erkannt, Eingänge | ||
7 | SVideo, TV, Composite, Audio, Remote. CP9..1=100001001 (1: 0-Ohm-Widerstand | ||
8 | gegen GND unbestückt; 0: bestückt) | ||
9 | |||
10 | ------------------------------------------------------------------------------ | ||
11 | |||
12 | saa7134: | ||
13 | /* LifeView FlyTV Platinum FM (LR214WF) */ | ||
14 | /* "Peter Missel <peter.missel@onlinehome.de> */ | ||
15 | .name = "LifeView FlyTV Platinum FM", | ||
16 | /* GP27 MDT2005 PB4 pin 10 */ | ||
17 | /* GP26 MDT2005 PB3 pin 9 */ | ||
18 | /* GP25 MDT2005 PB2 pin 8 */ | ||
19 | /* GP23 MDT2005 PB1 pin 7 */ | ||
20 | /* GP22 MDT2005 PB0 pin 6 */ | ||
21 | /* GP21 MDT2005 PB5 pin 11 */ | ||
22 | /* GP20 MDT2005 PB6 pin 12 */ | ||
23 | /* GP19 MDT2005 PB7 pin 13 */ | ||
24 | /* nc MDT2005 PA3 pin 2 */ | ||
25 | /* Remote MDT2005 PA2 pin 1 */ | ||
26 | /* GP18 MDT2005 PA1 pin 18 */ | ||
27 | /* nc MDT2005 PA0 pin 17 strap low */ | ||
28 | |||
29 | /* GP17 Strap "GP7"=High */ | ||
30 | /* GP16 Strap "GP6"=High | ||
31 | 0=Radio 1=TV | ||
32 | Drives SA630D ENCH1 and HEF4052 A1 pins | ||
33 | to do FM radio through SIF input */ | ||
34 | /* GP15 nc */ | ||
35 | /* GP14 nc */ | ||
36 | /* GP13 nc */ | ||
37 | /* GP12 Strap "GP5" = High */ | ||
38 | /* GP11 Strap "GP4" = High */ | ||
39 | /* GP10 Strap "GP3" = High */ | ||
40 | /* GP09 Strap "GP2" = Low */ | ||
41 | /* GP08 Strap "GP1" = Low */ | ||
42 | /* GP07.00 nc */ | ||
diff --git a/Documentation/video4linux/not-in-cx2388x-datasheet.txt b/Documentation/video4linux/not-in-cx2388x-datasheet.txt new file mode 100644 index 000000000000..edbfe744d21d --- /dev/null +++ b/Documentation/video4linux/not-in-cx2388x-datasheet.txt | |||
@@ -0,0 +1,41 @@ | |||
1 | ================================================================================= | ||
2 | MO_OUTPUT_FORMAT (0x310164) | ||
3 | |||
4 | Previous default from DScaler: 0x1c1f0008 | ||
5 | Digit 8: 31-28 | ||
6 | 28: PREVREMOD = 1 | ||
7 | |||
8 | Digit 7: 27-24 (0xc = 12 = b1100 ) | ||
9 | 27: COMBALT = 1 | ||
10 | 26: PAL_INV_PHASE | ||
11 | (DScaler apparently set this to 1, resulted in sucky picture) | ||
12 | |||
13 | Digits 6,5: 23-16 | ||
14 | 25-16: COMB_RANGE = 0x1f [default] (9 bits -> max 512) | ||
15 | |||
16 | Digit 4: 15-12 | ||
17 | 15: DISIFX = 0 | ||
18 | 14: INVCBF = 0 | ||
19 | 13: DISADAPT = 0 | ||
20 | 12: NARROWADAPT = 0 | ||
21 | |||
22 | Digit 3: 11-8 | ||
23 | 11: FORCE2H | ||
24 | 10: FORCEREMD | ||
25 | 9: NCHROMAEN | ||
26 | 8: NREMODEN | ||
27 | |||
28 | Digit 2: 7-4 | ||
29 | 7-6: YCORE | ||
30 | 5-4: CCORE | ||
31 | |||
32 | Digit 1: 3-0 | ||
33 | 3: RANGE = 1 | ||
34 | 2: HACTEXT | ||
35 | 1: HSFMT | ||
36 | |||
37 | 0x47 is the sync byte for MPEG-2 transport stream packets. | ||
38 | Datasheet incorrectly states to use 47 decimal. 188 is the length. | ||
39 | All DVB compliant frontends output packets with this start code. | ||
40 | |||
41 | ================================================================================= | ||