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