diff options
author | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-17 17:13:46 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@s-opensource.com> | 2016-07-17 21:49:59 -0400 |
commit | 2a744b0d7b84063192231922bfc684fa459b7464 (patch) | |
tree | af0e918dcaa07a597b49a4255a2473704cc809c7 | |
parent | f0726e4275c169c17238328df9648bea95622879 (diff) |
[media] doc-rst: Add ivtv documentation
Convert ivtv documentation to rst, update the links there
and add to media/v4l-drivers book.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
-rw-r--r-- | Documentation/media/v4l-drivers/index.rst | 1 | ||||
-rw-r--r-- | Documentation/media/v4l-drivers/ivtv.rst | 209 |
2 files changed, 121 insertions, 89 deletions
diff --git a/Documentation/media/v4l-drivers/index.rst b/Documentation/media/v4l-drivers/index.rst index 333f84b9c17e..99409c6e2518 100644 --- a/Documentation/media/v4l-drivers/index.rst +++ b/Documentation/media/v4l-drivers/index.rst | |||
@@ -26,4 +26,5 @@ License". | |||
26 | cx88 | 26 | cx88 |
27 | davinci-vpbe | 27 | davinci-vpbe |
28 | fimc | 28 | fimc |
29 | ivtv | ||
29 | zr364xx | 30 | zr364xx |
diff --git a/Documentation/media/v4l-drivers/ivtv.rst b/Documentation/media/v4l-drivers/ivtv.rst index 2579b5b709ed..3ba464c4f9bf 100644 --- a/Documentation/media/v4l-drivers/ivtv.rst +++ b/Documentation/media/v4l-drivers/ivtv.rst | |||
@@ -1,26 +1,32 @@ | |||
1 | 1 | ||
2 | ivtv release notes | 2 | The ivtv driver |
3 | ================== | 3 | =============== |
4 | |||
5 | Author: Hans Verkuil <hverkuil@xs4all.nl> | ||
4 | 6 | ||
5 | This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder. | 7 | This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder. |
6 | The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG | 8 | The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG |
7 | encoding. Currently the only card featuring full decoding support is the | 9 | encoding. Currently the only card featuring full decoding support is the |
8 | Hauppauge PVR-350. | 10 | Hauppauge PVR-350. |
9 | 11 | ||
10 | NOTE: this driver requires the latest encoder firmware (version 2.06.039, size | 12 | .. note:: |
11 | 376836 bytes). Get the firmware from here: | 13 | |
14 | #) This driver requires the latest encoder firmware (version 2.06.039, size | ||
15 | 376836 bytes). Get the firmware from here: | ||
12 | 16 | ||
13 | http://dl.ivtvdriver.org/ivtv/firmware/ | 17 | https://linuxtv.org/downloads/firmware/#conexant |
14 | 18 | ||
15 | NOTE: 'normal' TV applications do not work with this driver, you need | 19 | #) 'normal' TV applications do not work with this driver, you need |
16 | an application that can handle MPEG input such as mplayer, xine, MythTV, | 20 | an application that can handle MPEG input such as mplayer, xine, MythTV, |
17 | etc. | 21 | etc. |
18 | 22 | ||
19 | The primary goal of the IVTV project is to provide a "clean room" Linux | 23 | The primary goal of the IVTV project is to provide a "clean room" Linux |
20 | Open Source driver implementation for video capture cards based on the | 24 | Open Source driver implementation for video capture cards based on the |
21 | iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec. | 25 | iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec. |
22 | 26 | ||
23 | Features: | 27 | Features |
28 | -------- | ||
29 | |||
24 | * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or | 30 | * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or |
25 | S-Video/Composite and audio line-in. | 31 | S-Video/Composite and audio line-in. |
26 | * Hardware mpeg2 capture of FM radio where hardware support exists | 32 | * Hardware mpeg2 capture of FM radio where hardware support exists |
@@ -31,7 +37,9 @@ Features: | |||
31 | this into the captured MPEG stream. | 37 | this into the captured MPEG stream. |
32 | * Supports raw YUV and PCM input. | 38 | * Supports raw YUV and PCM input. |
33 | 39 | ||
34 | Additional features for the PVR-350 (CX23415 based): | 40 | Additional features for the PVR-350 (CX23415 based) |
41 | --------------------------------------------------- | ||
42 | |||
35 | * Provides hardware mpeg2 playback | 43 | * Provides hardware mpeg2 playback |
36 | * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the | 44 | * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the |
37 | video signal) | 45 | video signal) |
@@ -40,20 +48,22 @@ Additional features for the PVR-350 (CX23415 based): | |||
40 | * Supports raw YUV output. | 48 | * Supports raw YUV output. |
41 | 49 | ||
42 | IMPORTANT: In case of problems first read this page: | 50 | IMPORTANT: In case of problems first read this page: |
43 | http://www.ivtvdriver.org/index.php/Troubleshooting | 51 | https://help.ubuntu.com/community/Install_IVTV_Troubleshooting |
44 | 52 | ||
45 | See also: | 53 | See also |
54 | -------- | ||
46 | 55 | ||
47 | Homepage + Wiki | 56 | https://linuxtv.org |
48 | http://www.ivtvdriver.org | ||
49 | 57 | ||
50 | IRC | 58 | IRC |
51 | irc://irc.freenode.net/ivtv-dev | 59 | --- |
60 | |||
61 | irc://irc.freenode.net/#v4l | ||
52 | 62 | ||
53 | ---------------------------------------------------------- | 63 | ---------------------------------------------------------- |
54 | 64 | ||
55 | Devices | 65 | Devices |
56 | ======= | 66 | ------- |
57 | 67 | ||
58 | A maximum of 12 ivtv boards are allowed at the moment. | 68 | A maximum of 12 ivtv boards are allowed at the moment. |
59 | 69 | ||
@@ -65,25 +75,28 @@ The radio0 device may or may not be present, depending on whether the | |||
65 | card has a radio tuner or not. | 75 | card has a radio tuner or not. |
66 | 76 | ||
67 | Here is a list of the base v4l devices: | 77 | Here is a list of the base v4l devices: |
68 | crw-rw---- 1 root video 81, 0 Jun 19 22:22 /dev/video0 | 78 | |
69 | crw-rw---- 1 root video 81, 16 Jun 19 22:22 /dev/video16 | 79 | .. code-block:: none |
70 | crw-rw---- 1 root video 81, 24 Jun 19 22:22 /dev/video24 | 80 | |
71 | crw-rw---- 1 root video 81, 32 Jun 19 22:22 /dev/video32 | 81 | crw-rw---- 1 root video 81, 0 Jun 19 22:22 /dev/video0 |
72 | crw-rw---- 1 root video 81, 48 Jun 19 22:22 /dev/video48 | 82 | crw-rw---- 1 root video 81, 16 Jun 19 22:22 /dev/video16 |
73 | crw-rw---- 1 root video 81, 64 Jun 19 22:22 /dev/radio0 | 83 | crw-rw---- 1 root video 81, 24 Jun 19 22:22 /dev/video24 |
74 | crw-rw---- 1 root video 81, 224 Jun 19 22:22 /dev/vbi0 | 84 | crw-rw---- 1 root video 81, 32 Jun 19 22:22 /dev/video32 |
75 | crw-rw---- 1 root video 81, 228 Jun 19 22:22 /dev/vbi8 | 85 | crw-rw---- 1 root video 81, 48 Jun 19 22:22 /dev/video48 |
76 | crw-rw---- 1 root video 81, 232 Jun 19 22:22 /dev/vbi16 | 86 | crw-rw---- 1 root video 81, 64 Jun 19 22:22 /dev/radio0 |
87 | crw-rw---- 1 root video 81, 224 Jun 19 22:22 /dev/vbi0 | ||
88 | crw-rw---- 1 root video 81, 228 Jun 19 22:22 /dev/vbi8 | ||
89 | crw-rw---- 1 root video 81, 232 Jun 19 22:22 /dev/vbi16 | ||
77 | 90 | ||
78 | Base devices | 91 | Base devices |
79 | ============ | 92 | ------------ |
80 | 93 | ||
81 | For every extra card you have the numbers increased by one. For example, | 94 | For 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: | 95 | /dev/video0 is listed as the 'base' encoding capture device so we have: |
83 | 96 | ||
84 | /dev/video0 is the encoding capture device for the first card (card 0) | 97 | - /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) | 98 | - /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) | 99 | - /dev/video2 is the encoding capture device for the third card (card 2) |
87 | 100 | ||
88 | Note that if the first card doesn't have a feature (eg no decoder, so no | 101 | Note that if the first card doesn't have a feature (eg no decoder, so no |
89 | video16, the second card will still use video17. The simple rule is 'add | 102 | video16, the second card will still use video17. The simple rule is 'add |
@@ -94,93 +107,111 @@ whatever). Otherwise the device numbers can get confusing. The ivtv | |||
94 | 'ivtv_first_minor' module option can be used for that. | 107 | 'ivtv_first_minor' module option can be used for that. |
95 | 108 | ||
96 | 109 | ||
97 | /dev/video0 | 110 | - /dev/video0 |
98 | The encoding capture device(s). | 111 | |
99 | Read-only. | 112 | The encoding capture device(s). |
113 | |||
114 | Read-only. | ||
115 | |||
116 | Reading from this device gets you the MPEG1/2 program stream. | ||
117 | Example: | ||
118 | |||
119 | .. code-block:: none | ||
120 | |||
121 | cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit) | ||
122 | |||
123 | |||
124 | - /dev/video16 | ||
125 | |||
126 | The decoder output device(s) | ||
127 | |||
128 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. | ||
129 | |||
130 | An mpeg2 stream sent to this device will appear on the selected video | ||
131 | display, audio will appear on the line-out/audio out. It is only | ||
132 | available for cards that support video out. Example: | ||
133 | |||
134 | .. code-block:: none | ||
135 | |||
136 | cat my.mpg >/dev/video16 | ||
137 | |||
138 | |||
139 | - /dev/video24 | ||
140 | |||
141 | The raw audio capture device(s). | ||
142 | |||
143 | Read-only | ||
144 | |||
145 | The raw audio PCM stereo stream from the currently selected | ||
146 | tuner or audio line-in. Reading from this device results in a raw | ||
147 | (signed 16 bit Little Endian, 48000 Hz, stereo pcm) capture. | ||
148 | This device only captures audio. This should be replaced by an ALSA | ||
149 | device in the future. | ||
150 | Note that there is no corresponding raw audio output device, this is | ||
151 | not supported in the decoder firmware. | ||
152 | |||
100 | 153 | ||
101 | Reading from this device gets you the MPEG1/2 program stream. | 154 | - /dev/video32 |
102 | Example: | ||
103 | 155 | ||
104 | cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit) | 156 | The raw video capture device(s) |
105 | 157 | ||
158 | Read-only | ||
106 | 159 | ||
107 | /dev/video16 | 160 | The raw YUV video output from the current video input. The YUV format |
108 | The decoder output device(s) | 161 | is non-standard (V4L2_PIX_FMT_HM12). |
109 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. | ||
110 | 162 | ||
111 | An mpeg2 stream sent to this device will appear on the selected video | 163 | Note that the YUV and PCM streams are not synchronized, so they are of |
112 | display, audio will appear on the line-out/audio out. It is only | 164 | limited use. |
113 | available for cards that support video out. Example: | ||
114 | 165 | ||
115 | cat my.mpg >/dev/video16 | ||
116 | 166 | ||
167 | - /dev/video48 | ||
117 | 168 | ||
118 | /dev/video24 | 169 | The raw video display device(s) |
119 | The raw audio capture device(s). | ||
120 | Read-only | ||
121 | 170 | ||
122 | The raw audio PCM stereo stream from the currently selected | 171 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. |
123 | tuner or audio line-in. Reading from this device results in a raw | ||
124 | (signed 16 bit Little Endian, 48000 Hz, stereo pcm) capture. | ||
125 | This device only captures audio. This should be replaced by an ALSA | ||
126 | device in the future. | ||
127 | Note that there is no corresponding raw audio output device, this is | ||
128 | not supported in the decoder firmware. | ||
129 | 172 | ||
173 | Writes a YUV stream to the decoder of the card. | ||
130 | 174 | ||
131 | /dev/video32 | ||
132 | The raw video capture device(s) | ||
133 | Read-only | ||
134 | 175 | ||
135 | The raw YUV video output from the current video input. The YUV format | 176 | - /dev/radio0 |
136 | is non-standard (V4L2_PIX_FMT_HM12). | ||
137 | 177 | ||
138 | Note that the YUV and PCM streams are not synchronized, so they are of | 178 | The radio tuner device(s) |
139 | limited use. | ||
140 | 179 | ||
180 | Cannot be read or written. | ||
141 | 181 | ||
142 | /dev/video48 | 182 | Used to enable the radio tuner and tune to a frequency. You cannot |
143 | The raw video display device(s) | 183 | read or write audio streams with this device. Once you use this |
144 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. | 184 | device to tune the radio, use /dev/video24 to read the raw pcm stream |
185 | or /dev/video0 to get an mpeg2 stream with black video. | ||
145 | 186 | ||
146 | Writes a YUV stream to the decoder of the card. | ||
147 | 187 | ||
188 | - /dev/vbi0 | ||
148 | 189 | ||
149 | /dev/radio0 | 190 | The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s) |
150 | The radio tuner device(s) | ||
151 | Cannot be read or written. | ||
152 | 191 | ||
153 | Used to enable the radio tuner and tune to a frequency. You cannot | 192 | Read-only |
154 | read or write audio streams with this device. Once you use this | ||
155 | device to tune the radio, use /dev/video24 to read the raw pcm stream | ||
156 | or /dev/video0 to get an mpeg2 stream with black video. | ||
157 | 193 | ||
194 | Captures the raw (or sliced) video data sent during the Vertical Blank | ||
195 | Interval. This data is used to encode teletext, closed captions, VPS, | ||
196 | widescreen signalling, electronic program guide information, and other | ||
197 | services. | ||
158 | 198 | ||
159 | /dev/vbi0 | ||
160 | The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s) | ||
161 | Read-only | ||
162 | 199 | ||
163 | Captures the raw (or sliced) video data sent during the Vertical Blank | 200 | - /dev/vbi8 |
164 | Interval. This data is used to encode teletext, closed captions, VPS, | ||
165 | widescreen signalling, electronic program guide information, and other | ||
166 | services. | ||
167 | 201 | ||
202 | Processed vbi feedback device(s) | ||
168 | 203 | ||
169 | /dev/vbi8 | 204 | Read-only. Only present if the MPEG decoder (i.e. CX23415) exists. |
170 | Processed vbi feedback device(s) | ||
171 | Read-only. Only present if the MPEG decoder (i.e. CX23415) exists. | ||
172 | 205 | ||
173 | The sliced VBI data embedded in an MPEG stream is reproduced on this | 206 | The sliced VBI data embedded in an MPEG stream is reproduced on this |
174 | device. So while playing back a recording on /dev/video16, you can | 207 | device. So while playing back a recording on /dev/video16, you can |
175 | read the embedded VBI data from /dev/vbi8. | 208 | read the embedded VBI data from /dev/vbi8. |
176 | 209 | ||
177 | 210 | ||
178 | /dev/vbi16 | 211 | - /dev/vbi16 |
179 | The vbi 'display' device(s) | ||
180 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. | ||
181 | 212 | ||
182 | Can be used to send sliced VBI data to the video-out connector. | 213 | The vbi 'display' device(s) |
183 | 214 | ||
184 | --------------------------------- | 215 | Write-only. Only present if the MPEG decoder (i.e. CX23415) exists. |
185 | 216 | ||
186 | Hans Verkuil <hverkuil@xs4all.nl> | 217 | Can be used to send sliced VBI data to the video-out connector. |