powerpc/powernv: Report size of OPAL memcons log
[linux/fpc-iii.git] / Documentation / media / v4l-drivers / ivtv.rst
blob3ba464c4f9bf7ed77c7dc42cde79ae599ed88dca
2 The ivtv driver
3 ===============
5 Author: Hans Verkuil <hverkuil@xs4all.nl>
7 This is a v4l2 device driver for the Conexant cx23415/6 MPEG encoder/decoder.
8 The cx23415 can do both encoding and decoding, the cx23416 can only do MPEG
9 encoding. Currently the only card featuring full decoding support is the
10 Hauppauge PVR-350.
12 .. note::
14    #) This driver requires the latest encoder firmware (version 2.06.039, size
15       376836 bytes). Get the firmware from here:
17       https://linuxtv.org/downloads/firmware/#conexant
19    #) 'normal' TV applications do not work with this driver, you need
20       an application that can handle MPEG input such as mplayer, xine, MythTV,
21       etc.
23 The primary goal of the IVTV project is to provide a "clean room" Linux
24 Open Source driver implementation for video capture cards based on the
25 iCompression iTVC15 or Conexant CX23415/CX23416 MPEG Codec.
27 Features
28 --------
30  * Hardware mpeg2 capture of broadcast video (and sound) via the tuner or
31    S-Video/Composite and audio line-in.
32  * Hardware mpeg2 capture of FM radio where hardware support exists
33  * Supports NTSC, PAL, SECAM with stereo sound
34  * Supports SAP and bilingual transmissions.
35  * Supports raw VBI (closed captions and teletext).
36  * Supports sliced VBI (closed captions and teletext) and is able to insert
37    this into the captured MPEG stream.
38  * Supports raw YUV and PCM input.
40 Additional features for the PVR-350 (CX23415 based)
41 ---------------------------------------------------
43  * Provides hardware mpeg2 playback
44  * Provides comprehensive OSD (On Screen Display: ie. graphics overlaying the
45    video signal)
46  * Provides a framebuffer (allowing X applications to appear on the video
47    device)
48  * Supports raw YUV output.
50 IMPORTANT: In case of problems first read this page:
51         https://help.ubuntu.com/community/Install_IVTV_Troubleshooting
53 See also
54 --------
56 https://linuxtv.org
58 IRC
59 ---
61 irc://irc.freenode.net/#v4l
63 ----------------------------------------------------------
65 Devices
66 -------
68 A maximum of 12 ivtv boards are allowed at the moment.
70 Cards that don't have a video output capability (i.e. non PVR350 cards)
71 lack the vbi8, vbi16, video16 and video48 devices. They also do not
72 support the framebuffer device /dev/fbx for OSD.
74 The radio0 device may or may not be present, depending on whether the
75 card has a radio tuner or not.
77 Here is a list of the base v4l devices:
79 .. code-block:: none
81         crw-rw----    1 root     video     81,   0 Jun 19 22:22 /dev/video0
82         crw-rw----    1 root     video     81,  16 Jun 19 22:22 /dev/video16
83         crw-rw----    1 root     video     81,  24 Jun 19 22:22 /dev/video24
84         crw-rw----    1 root     video     81,  32 Jun 19 22:22 /dev/video32
85         crw-rw----    1 root     video     81,  48 Jun 19 22:22 /dev/video48
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
91 Base devices
92 ------------
94 For every extra card you have the numbers increased by one. For example,
95 /dev/video0 is listed as the 'base' encoding capture device so we have:
97 - /dev/video0  is the encoding capture device for the first card (card 0)
98 - /dev/video1  is the encoding capture device for the second card (card 1)
99 - /dev/video2  is the encoding capture device for the third card (card 2)
101 Note that if the first card doesn't have a feature (eg no decoder, so no
102 video16, the second card will still use video17. The simple rule is 'add
103 the card number to the base device number'. If you have other capture
104 cards (e.g. WinTV PCI) that are detected first, then you have to tell
105 the ivtv module about it so that it will start counting at 1 (or 2, or
106 whatever). Otherwise the device numbers can get confusing. The ivtv
107 'ivtv_first_minor' module option can be used for that.
110 - /dev/video0
112   The encoding capture device(s).
114   Read-only.
116   Reading from this device gets you the MPEG1/2 program stream.
117   Example:
119   .. code-block:: none
121         cat /dev/video0 > my.mpg (you need to hit ctrl-c to exit)
124 - /dev/video16
126   The decoder output device(s)
128   Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
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:
134   .. code-block:: none
136         cat my.mpg >/dev/video16
139 - /dev/video24
141   The raw audio capture device(s).
143   Read-only
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.
154 - /dev/video32
156   The raw video capture device(s)
158   Read-only
160   The raw YUV video output from the current video input. The YUV format
161   is non-standard (V4L2_PIX_FMT_HM12).
163   Note that the YUV and PCM streams are not synchronized, so they are of
164   limited use.
167 - /dev/video48
169   The raw video display device(s)
171   Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
173   Writes a YUV stream to the decoder of the card.
176 - /dev/radio0
178   The radio tuner device(s)
180   Cannot be read or written.
182   Used to enable the radio tuner and tune to a frequency. You cannot
183   read or write audio streams with this device.  Once you use this
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.
188 - /dev/vbi0
190   The 'vertical blank interval' (Teletext, CC, WSS etc) capture device(s)
192   Read-only
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.
200 - /dev/vbi8
202   Processed vbi feedback device(s)
204   Read-only. Only present if the MPEG decoder (i.e. CX23415) exists.
206   The sliced VBI data embedded in an MPEG stream is reproduced on this
207   device. So while playing back a recording on /dev/video16, you can
208   read the embedded VBI data from /dev/vbi8.
211 - /dev/vbi16
213   The vbi 'display' device(s)
215   Write-only. Only present if the MPEG decoder (i.e. CX23415) exists.
217   Can be used to send sliced VBI data to the video-out connector.